//// --------------------------------------------------------------------------
//
// M1 Garand
//
// --------------------------------------------------------------------------

ACTOR M1GARAND : Weapon
{
	Weapon.AmmoUse1 0
	Weapon.AmmoGive1 16
	Weapon.AmmoUse2 0
	Weapon.AmmoGive2 0
	Weapon.AmmoType1 "M1CLIP"
	Weapon.AmmoType2 "M1LOAD"
	Obituary "%o was shot down by %k's M1 Garand."
	Weapon.BobRangeX 0.75
	Weapon.BobRangeY 0.5
	Weapon.BobSpeed 1.5
	Weapon.BobStyle "InverseAlpha" //Denis Belmondo's Bobstyle
    AttackSound "None"
    Inventory.PickupSound "MP40_TAKE"
	Inventory.Pickupmessage "You got the M1 Garand"
	+WEAPON.WIMPY_WEAPON
    +WEAPON.NOAUTOAIM
    +WEAPON.NOALERT
    +WEAPON.NOAUTOFIRE
Inventory.Icon "M1BACK"
	States
	{
	Steady:
	TNT1 A 1
	Goto Ready
	
	Ready:
        M1GS AB 1 A_JumpIfInventory("GoFatality", 1, "Steady")
        M1GA A 0 A_PlaySound("WEAPONCHANGE")
        M1GA A 0
        M1GA A 0
        M1GA A 0

        M1GA A 0 A_JumpIfInventory("Kicking",1,"DoKick")
        M1GA A 0 A_JumpIfInventory("Taunting",1,"Taunt")

        M1GA A 0 A_JumpIfInventory("Reloading",1,"Orcodio")

	M1GA A  0 A_JumpIfInventory("Salute1", 1, "Salute")
	M1GA A 0 A_JumpIfInventory("Salute2", 1, "Salute")
	TNT1 A 0 A_JumpIfInventory("BWgrenade",1,"LaunchGrenade")
	TNT1 A 0 A_JumpIfInventory("Meleeattack",1,"KnifeAttack")
	M1GA A 4 A_WeaponReady
		Goto Ready+6

    TUAMADRE:
        TNT1 A 0 A_JumpIfInventory("Kicking",1,"DoKick")
        TNT1 A 0 A_JumpIfInventory("Taunting",1,"Taunt")
        M1GA A 0 A_JumpIfInventory("Reloading",1,"TUAMADRE_2")
	TNT1 A 0 A_JumpIfInventory("BWgrenade",1,"LaunchGrenade")
	TNT1 A 0 A_JumpIfInventory("Meleeattack",1,"KnifeAttack")
		TNT1 A 0 A_JumpIfInventory("Salute1", 1, "Salute")
		TNT1 A 0 A_JumpIfInventory("Salute2", 1, "Salute")
		M11A A 2 A_WeaponReady
		Loop

TUAMADRE_2:
M11A A 0 
TNT1 a 0 A_takeinventory("Reloading",1)
GOTO TUAMADRE

	Deselect:
TNT1 A 0 A_Takeinventory("Zoomed",1)
TNT1 A 0 A_Takeinventory("ADSmode",1)
TNT1 A 0 A_Takeinventory("Meleeattack",1)
TNT1 A 0 A_Takeinventory("BWgrenade",1)
TNT1 A 0 A_Takeinventory("Reloading",1)
        TNT1 A 0 A_ZoomFactor(1.0)
                M1GS BA 1
		TNT1 A 0 A_Lower
		Wait
	Select:
	
	TNT1 A 0 A_Takeinventory("FistsSelected",1)
	//TNT1 A 0 A_Takeinventory("SawSelected",1)
	TNT1 A 0 A_Takeinventory("ShotgunSelected",1)
	TNT1 A 0 A_Takeinventory("SSGSelected",1)
	TNT1 A 0 A_Takeinventory("MinigunSelected",1)
	TNT1 A 0 A_Takeinventory("PlasmaGunSelected",1)
	TNT1 A 0 A_Takeinventory("RocketLauncherSelected",1)
    TNT1 A 0 A_Takeinventory("GrenadeLauncherSelected",1)
	TNT1 A 0 A_Takeinventory("BFGSelected",1)
	TNT1 A 0 A_Takeinventory("BFG10kSelected",1)
	TNT1 A 0 A_Takeinventory("RailGunSelected",1)
	TNT1 A 0 A_Takeinventory("SubMachineGunSelected",1)
	TNT1 A 0 A_Takeinventory("RevenantLauncherSelected",1)
	//TNT1 A 0 A_Takeinventory("LostSoulSelected",1)
	TNT1 A 0 A_Takeinventory("FlameCannonSelected",1)
	TNT1 A 0 A_Takeinventory("HasBarrel",1)
	
		TNT1 A 0 A_Raise
		Wait
    Fire:
        TNT1 A 0 A_JumpIfInventory("M1LOAD",1,1)
        Goto FakeReload
        TNT1 AAAA 0
	TNT1 A 0 A_JumpIfInventory("Zoomed",1,"Fire2")
        TNT1 A 0 A_PlaySound("M1FIRE")
        M1GA B 1 BRIGHT A_AlertMonsters
	TNT1 A 0 A_FireCustomMissile("YellowFlareSpawn",0,0,0,0)
	M1GA C 1 BRIGHT A_FireBullets (0, 0, 0, 40, "RiflePuff")
        TNT1 A 0 A_SetPitch(pitch - 1.5)
        TNT1 A 0 A_Jump(140,2)
	TNT1 A 0 A_PlaySound("*taunt", CHAN_VOICE)
	TNT1 A 0 A_FireCustomMissile("ShakeYourAss", 0, 0, 0, 0)
	TNT1 A 0 A_FireCustomMissile("YellowFlareSpawn",0,0,0,0)
	TNT1 A 0 A_Takeinventory("M1LOAD",1)
	M1GA D 1 A_FireCustomMissile("RifleCaseSpawn",5,0,8,-9)
        M1GA A 1
        TNT1 A 0 A_SetPitch(pitch + 1.5)
	M1GA A 1  
        TNT1 A 0 A_JumpIfInventory("M1LOAD",1,1)
        Goto FakeReload
	M1GA A 7 A_WeaponReady(1)
	Goto Ready+6

    Fire2:
        TNT1 A 0 A_JumpIfInventory("M1LOAD",1,1)
        Goto FakeReload
        TNT1 AAAA 0
        TNT1 A 0 A_PlaySound("M1FIRE")
        M11A A 1 BRIGHT A_AlertMonsters
	TNT1 A 0 A_FireCustomMissile("YellowFlareSpawn",0,0,0,0)
	M11A B 1 BRIGHT A_FireBullets (0, 0, 0, 40, "RiflePuff")
        TNT1 A 0 A_SetPitch(pitch - 1.5)
        TNT1 A 0 A_Jump(140,2)
	TNT1 A 0 A_PlaySound("*taunt", CHAN_VOICE)
	TNT1 A 0 A_FireCustomMissile("ShakeYourAss", 0, 0, 0, 0)
	TNT1 A 0 A_FireCustomMissile("YellowFlareSpawn",0,0,0,0)
	TNT1 A 0 A_Takeinventory("M1LOAD",1)
	M11A C 1 A_FireCustomMissile("RifleCaseSpawn",5,0,8,-9)
        M11A D 1
        TNT1 A 0 A_SetPitch(pitch + 1.5)
	M11A C 1 
	M11A A 7 A_WeaponReady(1)
	Goto TUAMADRE


    AltFire:

        TNT1 A 0
	TNT1 A 0 A_JumpIfInventory("Zoomed",1,8)
	TNT1 A 0 A_Giveinventory("Zoomed",1)
	TNT1 A 0 A_Giveinventory("GoSpecial",1)
	TNT1 A 0 A_ZoomFactor(2.3)
	TNT1 A 0 A_Giveinventory("ADSmode",1)
        M11A A 2
        Goto TUAMADRE
        TNT1 AAAAAA 0
     m1ga A 2
	TNT1 A 0 A_Takeinventory("Zoomed",1)
        TNT1 A 0 A_ZoomFactor(1.0)
	TNT1 A 0 A_Takeinventory("ADSmode",1)
        Goto Ready+6

	NoAmmo:
	M1GA A 1 A_PlaySound("weapons/empty")
	TNT1 A 0 A_Takeinventory("Zoomed",1)
    TNT1 A 0 A_ZoomFactor(1.0)
	TNT1 A 0 A_Takeinventory("ADSmode",1)
	Goto Ready+12
	
       FakeReload:
	 M1GA A 4 A_WeaponReady
	TNT1 A 0 A_ZoomFactor(1.0)
	TNT1 A 0 A_Takeinventory("ADSmode",1)
	TNT1 A 0 A_Takeinventory("Zoomed",1)
	TNT1 A 0 A_JumpIfInventory("M1LOAD",8,"InsertBullets")
        TNT1 A 0 A_JumpIfInventory("M1CLIP",1,3)
        Goto NoAmmo
        TNT1 A 0 A_Jump(90,2)
	TNT1 A 0 A_PlaySound("*taunt", CHAN_VOICE)
        TNT1 AAA 0
	TNT1 A 0 A_Takeinventory("Zoomed",1)
	TNT1 A 0 A_GiveInventory ("Pumping", 1)
        TNT1 a 0 a_playsound("M1PING")
        M1GR ABCDEA 2 A_JumpIfInventory("Kicking",1,"DoKick")
        M1GR AA 2 A_JumpIfInventory("Kicking",1,"DoKick")
        M1GR FGH 2 A_JumpIfInventory("Kicking",1,"DoKick")
        TNT1 A 0 A_PLAYSOUND("M1LOAD")
	TNT1 A 0 A_Takeinventory("RELOADING",1)
        M1GR ILMNOA 2 A_JumpIfInventory("Kicking",1,"DoKick")
        
		
		InsertBullets:
		TNT1 AAAA 0
		TNT1 A 0 A_JumpIfInventory("M1LOAD",8,"ORCODIO")
		TNT1 A 0 A_JumpIfInventory("M1CLIP",1,3)
		Goto READY+2//HO DETTO READY+2,NON READY2 PORCO DIOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO
        TNT1 AAAAAA 0
		TNT1 A 0 A_Giveinventory("m1load",1)
		TNT1 A 0 A_Takeinventory("M1CLIP",1)
		Goto InsertBullets
		
		TNT1 AAAAAAAAAA 0
        Goto READY+2 //HO DETTO READY+2,NON READY2 PORCO DIOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO



 	Spawn:
		gapk A -1
		Stop

ORCODIO:

		 M1GA a 1 A_WeaponReady
	TNT1 A 0 A_ZoomFactor(1.0)
	TNT1 A 0 A_Takeinventory("ADSmode",1)
	TNT1 A 0 A_Takeinventory("Zoomed",1)
TNT1 a 0 a_takeinventory("Reloading",1)
		Goto Ready+13


 DoKick:
	    TNT1 A 0
		TNT1 A 0 A_Takeinventory("Zoomed",1)
        TNT1 A 0 A_ZoomFactor(1.0)
		TNT1 A 0 A_Takeinventory("ADSmode",1)
		NULL A 0 A_JumpIf (momZ > 0, "AirKick")
		NULL A 0 A_JumpIf (momZ < 0, "AirKick")
		
        TNT1 A 0 A_jumpifinventory("PowerStrength",1,"BerserkerKick")
		TNT1 A 0 A_PlaySound("KICK")
		TNT1 A 0 SetPlayerProperty(0,1,0)
		KICK BCD 1
		//TNT1 A 0 A_Custompunch(4,0,1,"KickPuff")
		RIFF A 0 A_FireCustomMissile("KickAttack", 0, 0, 0, -7)
        KICK H 4
		KICK A 0 A_Takeinventory("Kicking",1)
		KICK IGFEDCBA 1
		TNT1 A 0 A_JumpIfInventory("GoFatality", 1, "Steady")
		TNT1 A 0 SetPlayerProperty(0,0,0)
		Goto Ready+6
    BerserkerKick:
		TNT1 A 0 A_PlaySound("KICK")
		TNT1 A 0 SetPlayerProperty(0,1,0)
		KICK ABCDEFG 1
        RIFF A 0 A_FireCustomMissile("SuperKickAttack", 0, 0, 0, -7)
        KICK H 3
		KICK A 0 A_Takeinventory("Kicking",1)
		KICK IGFEDCBA 1
		TNT1 A 0 A_JumpIfInventory("GoFatality", 1, "Steady")
		TNT1 A 0 SetPlayerProperty(0,0,0)
		Goto Ready+6
	
	AirKick:
	    TNT1 A 0 A_jumpifinventory("PowerStrength",1,"SuperAirKick")
		TNT1 A 0 A_PlaySound("KICK")
		TNT1 A 0 A_Recoil (-6)
		KICK JKLMN 1
        RIFF A 0 A_FireCustomMissile("AirKickAttack", 0, 0, 0, -31)
        KICK O 3
		KICK A 0 A_Takeinventory("Kicking",1)
		KICK PQRST 2
		TNT1 A 0 A_JumpIfInventory("GoFatality", 1, "Steady")
		Goto Ready+6
		
	SuperAirKick:
		TNT1 A 0 A_PlaySound("KICK")
		TNT1 A 0 A_Recoil (-6)
		KICK JKLMN 1
        RIFF A 0 A_FireCustomMissile("SuperAirKickAttack", 0, 0, 0, -31)
        KICK O 3
		KICK A 0 A_Takeinventory("Kicking",1)
		KICK PQRST 2
		TNT1 A 0 A_JumpIfInventory("GoFatality", 1, "Steady")
		Goto Ready+6
    Taunt:
		TNT1 A 0 A_Takeinventory("Zoomed",1)
        TNT1 A 0 A_ZoomFactor(1.0)
        TNT1 A 5
		FUCK A 2
		TNT1 A 0 BRIGHT A_FireCustomMissile("Taunter", 0, 0, -1, 0)
		TNT1 A 0 BRIGHT A_FireCustomMissile("Taunter", -9, 0, -1, 0)
		TNT1 A 0 BRIGHT A_FireCustomMissile("Taunter", 9, 0, -1, 0)
        FUCK B 2 A_PlaySound("FUCK", 1)
        FUCK C 2 A_AlertMonsters
		FUCK D 15 A_Takeinventory("Taunting",1)
        FUCK CBA 5
        TNT1 A 5
		Goto Ready
	Salute:
	    TNT1 A 0 SetPlayerProperty(0,1,0)
		TNT1 A 0 A_ALertMonsters
		SALU ABCDEDCDEDCDEDCBA 4
		TNT1 A 0 A_TakeInventory("Salute1",1)
		TNT1 A 0 A_TakeInventory("Salute2",1)
		TNT1 A 0 SetPlayerProperty(0,0,0)
		Goto Ready


LaunchGrenade:	
		TNT1 A 0
		TNT1 A 0 A_Takeinventory("Zoomed",1)
                TNT1 A 0 A_ZoomFactor(1.0)
		TNT1 A 0 A_TakeInventory("LaunchGrenade", 1)
		TNT1 A 0 A_JumpIfInventory("GrenadeAmmo", 1, 1)
		Goto NoGrenade
                NGRA ABCD 2
                TNT1 A 0 A_playSound("Pick/granate")
                 NGRA DD 2
           TNT1 A 0 A_Jump(90,2)
		TNT1 A 0 A_PlaySound("*grenadecall", CHAN_VOICE)
                NGRA DEFG 2
		TNT1 A 0 A_PLaySound ("Launch/granate")
		TNT1 A 0 A_FireCustomMissile("HandGrenade2", random(-3,3), 1, 0, 0, 0, 0)
		GRWF STUVW 2 
		TNT1 A 0 A_TakeInventory("GrenadeAmmo", 1)
		TNT1 A 1 
		TNT1 A 0 A_TakeInventory("LaunchGrenade", 1)
                TNT1 A 0 A_Takeinventory("BWgrenade",1)
		Goto Ready
	
	NoGrenade:
		TNT1 A 0
		TNT1 A 0 A_Print("No Grenades Left!")
TNT1 A 0 A_Takeinventory("BWgrenade",1)
		Goto REady+6


KnifeAttack:
                TNT1 A 0 A_ZoomFactor(1.0)
             TNT1 A 0 A_Jump(90,2)
		TNT1 A 0 A_PlaySound("*taunt", CHAN_VOICE)
		KNIF ABCDE 1
        KNIF F 1 A_PlaySound("weapons/wknife")
		KNIF F 0 A_Custompunch(16,0,1,"KnifePuff")
                KNIF GHI 1 
TNT1 A 0 A_Takeinventory("Meleeattack",1)
		GOTO READY+6


	}
}



ACTOR m1load : Ammo
{
   Inventory.Amount 0
   Inventory.MaxAmount 8
   Ammo.BackpackAmount 0
   Ammo.BackpackMaxAmount 8
}

ACTOR m1clip : Ammo 
{
	Inventory.PickupSound "pickups/ammo"
	Inventory.PickupMessage "M1 Garand's clip"
	Inventory.Amount 8
	Inventory.MaxAmount 104
	Ammo.BackpackAmount 16
	Ammo.BackpackMaxAmount 104
	Mass 10000
        Inventory.Icon "MAUSB0"
	States
	{
	Spawn:
		KARM A -1
		Loop
	}
}