actor "AT4-CS" : RGUWeapon
{
  obituary "%k exploded %o with the AT4."
  inventory.pickupmessage "You got the AT4-CS. It's like a fucking missile!"
  +WEAPON.EXPLOSIVE
  +WEAPON.BFG
  weapon.selectionorder 21
  weapon.ammotype "AT4Clip"
  weapon.ammouse 1
  weapon.ammogive 0
  weapon.ammotype2 "AT4Ammo"
  weapon.ammouse2 0
  weapon.ammogive2 0
  states
  {
  Ready:
    M4CA C 0 A_JumpIfInventory("AltFireHeld",1,"PostReloadAlt")
    GRNA L 0 A_TakeInventory("weapondropper",2)
    AT4A A 0 A_JumpIfInventory("AT4Clip",1,4)
    AT4A A 0 A_JumpIfInventory("AT4Ammo",1,1)
	Goto Ready+7
    AT4A A 0 A_GiveInventory("Reloading",1)
    AT4A A 0 A_JumpIfInventory("Perk1_SOH",1,"ReloadCont_SOH")
	Goto ReloadCont
    AT4A A 0 A_PlaySoundEx("weapon/draw","SoundSlot5")
    AT4A BCDEFGHIJ 2 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWZOOM)
    AT4A K 0 A_JumpIfNoAmmo("Reload")
	M4CC F 0 A_JumpIfInventory("weapondropper",1,"DropWeapon")
    AT4A K 0 A_JumpIfInventory("Aiming",1,5)
    AT4A K 0 A_JumpIfInventory("Reloading",1,"Reload")
    AT4A K 0 A_JumpIfInventory("ThrowingGrenade",1,"FragGrenade")
    AT4A K 0 A_JumpIfInventory("KnifeAttack",1,"KnifeAttack")
    AT4A K 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
    Goto Ready+17
    AT4B I 0 A_JumpIfInventory("Reloading",1,"Reload")
  ReadyAim:
    AT4B I 0 A_JumpIfInventory("ThrowingGrenade",1,"FragGrenade")
    AT4B I 0 A_JumpIfInventory("KnifeAttack",1,"KnifeAttack")
	G18A I 0 A_JumpIfInventory("weapondropper",1,"AltFire3")
    AT4B I 1 A_WeaponReady(WRF_NOBOB|WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
    Goto Ready+23
  Deselect:
    AT4A K 1 A_JumpIfInventory("Reloading",1,"Deselect_Dry")
    AT4A K 0 A_PlaySoundEx("weapon/down","SoundSlot5")
    AT4A K 0 A_TakeInventory("Aiming",1)
    AT4A K 0 A_TakeInventory("Reloading",1)
    AT4A K 0 ACS_NamedExecuteAlways("RefSpeed",0,0,0,0)
    AT4A K 0 A_ZoomFactor(1.0)
    AT4A K 0 A_Lower
    AT4A K 1 A_Lower
    Goto Deselect+6
  Deselect_Dry:
    TNT1 A 0 A_PlaySoundEx("weapon/down","SoundSlot5")
    TNT1 A 0 A_TakeInventory("Aiming",1)
    TNT1 A 0 A_TakeInventory("Reloading",1)
    TNT1 A 0 ACS_NamedExecuteAlways("RefSpeed",0,0,0,0)
    TNT1 A 0 A_ZoomFactor(1.0)
    TNT1 AAA 0 A_Lower
    TNT1 A 1 A_Lower
    Goto Deselect_Dry+5
  Select:
    AT4A A 0 A_Raise
    Loop
  Fire:
    AT4A K 0
    AT4A K 0 A_JumpIfInventory("Aiming",1,"FireAim")
    AT4A K 1 A_JumpIfNoAmmo("ReloadStart")
    AT4B B 0 A_GiveInventory("Aiming",1)
    AT4B B 2 A_ZoomFactor(1.25)
    AT4B B 0 ACS_NamedExecuteAlways("RefSpeed",0,0,0,0)
    AT4B B 0 A_JumpIfInventory("Perk3_SteadyAim",1,"Fire_SteadyAim")
    AT4B CDEFGH 2
    AT4B H 0 A_FireCustomMissile("WeaponSmokePuffLong",0,0,0,6)
    AT4B H 0 A_FireCustomMissile("WeaponSmokePuffLong",0,0,-4,0)
    AT4B H 0 A_FireCustomMissile("WeaponSmokePuffLong",0,0,4,0)
    AT4B H 0 Radius_Quake(2,10,0,4,0)
	AT4B H 0 A_PlayWeaponSound("at4/fire")
    AT4B J 2 BRIGHT A_FireCustomMissile("AT4Missile",frandom(-6.00,6.00),1,0,6,0,frandom(-2.75,4.75))
    AT4B J 0 BRIGHT ACS_NamedExecuteAlways("RefKick",0,0,0,0)
    AT4B KL 2 BRIGHT A_GunFlash
    AT4B MNOP 2 BRIGHT
	AT4B Q 2 BRIGHT A_TakeInventory("Aiming",1)
    AT4B Q 0 ACS_NamedExecuteAlways("RefSpeed",0,0,0,0)
    AT4B Q 0 A_ZoomFactor(1.0)
    AT4B R 2 A_FireCustomMissile("AT4FireDebris",0,0,0,6)
    AT4B ST 2
    AT4B A 0 A_JumpIfInventory("AT4Ammo",1,1)
    Goto Ready+17
    AT4B A 0 A_JumpIfNoAmmo("ReloadStart2")
    Goto Ready+17
  FireAim:
    AT4B H 0 A_FireCustomMissile("WeaponSmokePuffLong",0,0,0,6)
    AT4B H 0 A_FireCustomMissile("WeaponSmokePuffLong",0,0,-4,0)
    AT4B H 0 A_FireCustomMissile("WeaponSmokePuffLong",0,0,4,0)
    AT4B H 0 Radius_Quake(2,10,0,4,0)
	AT4B H 0 A_PlayWeaponSound("at4/fire")
    AT4B J 2 BRIGHT A_FireCustomMissile("AT4Missile",0,1,0,6,0,1)
    AT4B J 0 BRIGHT ACS_NamedExecuteAlways("RefKick",0,0,0,0)
    AT4B KL 2 BRIGHT A_GunFlash
    AT4B MNOP 2 BRIGHT
	AT4B Q 2 BRIGHT A_TakeInventory("Aiming",1)
    AT4B Q 0 ACS_NamedExecuteAlways("RefSpeed",0,0,0,0)
    AT4B Q 0 A_ZoomFactor(1.0)
    AT4B R 2 A_FireCustomMissile("AT4FireDebris",0,0,0,6)
    AT4B ST 2
    AT4B A 0 A_JumpIfInventory("AT4Ammo",1,1)
    Goto Ready+17
    AT4B A 0 A_JumpIfNoAmmo("ReloadStart2")
    Goto Ready+17
  Reload: //AltFire:
    AT4A A 0 A_JumpIfInventory("AT4Clip",1,2)
    AT4A A 0 A_JumpIfInventory("AT4Ammo",1,"ReloadStart")
    AT4A A 0 A_TakeInventory("Reloading",1)
    AT4A A 0 A_JumpIfInventory("Aiming",1,"ReadyAim")
    Goto Ready+20
  ReloadContStart:
    AT4A A 0 A_JumpIfInventory("AT4Clip",1,2)
    AT4A A 0 A_JumpIfInventory("AT4Ammo",1,2)
    AT4A A 0
    Goto Ready+7
    AT4A A 0 A_GiveInventory("Reloading",1)
    AT4A A 0 A_JumpIfInventory("Perk1_SOH",1,"ReloadCont_SOH")
    Goto ReloadCont
  ReloadStart2:
    AT4A A 0 A_JumpIfInventory("Aiming",1,"ReloadStartAim")
	Goto ReloadStart+1
  ReloadStart:
    AT4A A 0 A_JumpIfInventory("Aiming",1,"ReloadStartAim2")
    AT4A A 0 A_GiveInventory("Reloading",1)
	AT4A A 0 A_JumpIfInventory("Perk1_SOH",1,"ReloadStart_SOH")
    AT4A KJI 3 A_JumpIfInventory("KnifeAttack",1,"KnifeAttack")
    AT4A A 0 A_PlaySoundEx("m79/deselect","SoundSlot5")
    AT4A HGFEDCBA 3 A_JumpIfInventory("KnifeAttack",1,"KnifeAttack")
  ReloadCont:
    TNT1 AAAAAAAAAAAAAAAAA 3 A_WeaponReady(WRF_NOBOB|WRF_NOFIRE)
    TNT1 AAAAAAAAAAAA 3 A_JumpIfInventory("KnifeAttack",1,"KnifeAttack")
    Goto ReloadAmmo
  ReloadStart_SOH:
    AT4A KJI 2 A_JumpIfInventory("KnifeAttack",1,"KnifeAttack")
    AT4A A 0 A_PlaySoundEx("m79/deselect","SoundSlot5")
    AT4A HGFEDCBA 2 A_JumpIfInventory("KnifeAttack",1,"KnifeAttack")
  ReloadCont_SOH:
    TNT1 AAAAAAAAAAAAAA 2 A_WeaponReady(WRF_NOBOB|WRF_NOFIRE)
    TNT1 AAAAAAAAAAA 2 A_JumpIfInventory("KnifeAttack",1,"KnifeAttack")
    Goto ReloadAmmo
  ReloadAmmo:
    TNT1 A 0 A_JumpIfInventory("AT4Clip",1,"ReloadEnd")
    TNT1 A 0 A_JumpIfInventory("AT4Ammo",1,1)
    Goto ReloadEnd
    TNT1 A 0 A_GiveInventory("AT4Clip",1)
    TNT1 A 0 A_TakeInventory("AT4Ammo",1)
    Goto ReloadAmmo
  ReloadEnd:
    TNT1 A 0 A_TakeInventory("Reloading",1)
    TNT1 A 2 A_PlayWeaponSound("m79/select")
    AT4A ABCDE 2 A_JumpIfInventory("KnifeAttack",1,"KnifeAttack")
    AT4A FGHIJ 2 //A_WeaponReady(WRF_NOBOB|WRF_NOPRIMARY|WRF_ALLOWZOOM)
    Goto Ready+20
  Zoom:
  PostReloadAlt:
    AT4B H 0 A_ZoomFactor(1.25)
    AT4B G 0 A_GiveInventory("Aiming",1)
	AT4B B 0 ACS_NamedExecuteAlways("RefSpeed",0,0,0,0)
    AT4B BCDEGH 2
    Goto AltHold
  ReloadBreak:
    AT4B H 0 A_ZoomFactor(1.0)
    AT4B HG 2
    AT4B G 0 A_TakeInventory("Aiming",1)
    AT4B FEDCB 2
    AT4B B 0 ACS_NamedExecuteAlways("RefSpeed",0,0,0,0)
	TNT1 A 0 A_ClearReFire
    Goto Reload
  ClearRefire: 
    AT4B I 1 A_ClearReFire
	Goto AltHold
  FireAimAltHold:
    "####" "#" 0 A_JumpIfInventory("AT4Clip",1,1)
	Goto ReloadBreak
    AT4B H 0 A_FireCustomMissile("WeaponSmokePuffLong",0,0,0,6)
    AT4B H 0 A_FireCustomMissile("WeaponSmokePuffLong",0,0,-4,0)
    AT4B H 0 A_FireCustomMissile("WeaponSmokePuffLong",0,0,4,0)
    AT4B H 0 Radius_Quake(2,10,0,4,0)
	AT4B H 0 A_PlayWeaponSound("at4/fire")
	M79C P 0 A_TakeInventory("AT4Clip",1)
    AT4B J 2 BRIGHT A_FireCustomMissile("AT4Missile",0,1,0,6,0,1)
    AT4B J 0 BRIGHT ACS_NamedExecuteAlways("RefKick",0,0,0,0)
    "####" "#" 0 A_JumpIfInventory("AT4Clip",1,1)
	Goto ReloadBreak
	TNT1 A 0
    Goto AltHold
  AltHold:
    A12C C 0 A_JumpIfInventory("FireHeld",1,"ClearRefire")
    AT4B I 1 A_WeaponReady(WRF_NOBOB|WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	A12C C 0 A_JumpIfInventory("FireHeld",1,"FireAimAltHold")
	A12C C 0 A_JumpIfInventory("Reloading",1,"ReloadBreak")
	U45A L 0 A_JumpIfInventory("ThrowingGrenade",1,"FragGrenade")
    U45A L 0 A_JumpIfInventory("KnifeAttack",1,"KnifeAttack")
	G18A I 0 A_JumpIfInventory("weapondropper",1,"AltFire3")
	A12C F 0 A_Refire("AltHold")
	A12C C 0 A_JumpIfInventory("Aiming",1,"AltFire2")
	Goto Ready+23
  AltFire:
    GRNA L 0 A_TakeInventory("weapondropper",2)
	M4CA C 0 A_JumpIfInventory("AltFireHeld",1,"AltHold")
    AT4B A 0 A_JumpIfInventory("AT4Clip",1,1)
    Goto AltFireEmpty
    AT4B B 0 A_ZoomFactor(1.25)
    AT4B B 0 A_JumpIfInventory("Aiming",1,"AltFire2")
    AT4B BC 3
    AT4B C 0 A_GiveInventory("Aiming",1)
    AT4B DEFGH 3
    AT4B H 0 ACS_NamedExecuteAlways("RefSpeed",0,0,0,0)
	A12C F 0 A_Refire("AltHold")
    Goto Ready+23
  AltFireEmpty:
    AT4B B 0 A_ZoomFactor(1.25)
    AT4B B 0 A_JumpIfInventory("Aiming",1,"AltFire2Empty")
	M4CA C 0 A_JumpIfInventory("AltFireHeld",1,"AltHold")
    AT4B BC 2
    AT4B C 0 A_GiveInventory("Aiming",1)
    AT4B DEFGH 2
    AT4B H 0 ACS_NamedExecuteAlways("RefSpeed",0,0,0,0)
	A12C F 0 A_Refire("AltHold")
    Goto Ready+23
  AltFire2:
    AT4B H 0 A_ZoomFactor(1.0)
    AT4B HG 2
    AT4B G 0 A_TakeInventory("Aiming",1)
    AT4B FEDCB 2
    AT4B B 0 ACS_NamedExecuteAlways("RefSpeed",0,0,0,0)
    Goto Ready+17
  AltFire3:
    AT4B H 0 A_ZoomFactor(1.0)
    AT4B HG 2
    AT4B G 0 A_TakeInventory("Aiming",1)
    AT4B FEDCB 2
    AT4B B 0 ACS_NamedExecuteAlways("RefSpeed",0,0,0,0)
	goto DropWeapon
  AltFire2Empty:
    AT4B H 0 A_ZoomFactor(1.0)
    AT4B HG 1
    AT4B G 0 A_TakeInventory("Aiming",1)
    AT4B FEDCB 1
    AT4B B 0 ACS_NamedExecuteAlways("RefSpeed",0,0,0,0)
    Goto Ready+17
  ReloadStartAim:
    AT4B H 0 A_ZoomFactor(1.0)
    AT4B HG 2
    AT4B G 0 A_TakeInventory("Aiming",1)
    AT4B FEDCB 2
    AT4B B 0 ACS_NamedExecuteAlways("RefSpeed",0,0,0,0)
    Goto ReloadStart+1
  ReloadStartAim2:
    AT4B H 0 A_ZoomFactor(1.0)
    AT4B HG 1
    AT4B G 0 A_TakeInventory("Aiming",1)
    AT4B FEDCB 1
    AT4B B 0 ACS_NamedExecuteAlways("RefSpeed",0,0,0,0)
    Goto ReloadStart+1
  Flash:
    TNT1 A 2 bright A_Light1
    TNT1 A 0 bright A_Light0
    Stop
  Spawn:
    WEAP D 0
    WEAP D 0 A_SpawnItem("AT4Drop")
    Stop
  Fire_SteadyAim:
    AT4B CDEFGH 2
    AT4B H 0 A_FireCustomMissile("WeaponSmokePuffLong",0,0,0,6)
    AT4B H 0 A_FireCustomMissile("WeaponSmokePuffLong",0,0,-4,0)
    AT4B H 0 A_FireCustomMissile("WeaponSmokePuffLong",0,0,4,0)
    AT4B H 0 Radius_Quake(2,10,0,4,0)
	AT4B H 0 A_PlayWeaponSound("at4/fire")
    AT4B J 2 BRIGHT A_FireCustomMissile("AT4Missile",frandom(-4.50,4.50),1,0,6,0,frandom(-1.75,3.75))
    AT4B J 0 BRIGHT ACS_NamedExecuteAlways("RefKick",0,0,0,0)
    AT4B KL 2 BRIGHT A_GunFlash
    AT4B MNOP 2 BRIGHT
	AT4B Q 2 BRIGHT A_TakeInventory("Aiming",1)
    AT4B Q 0 ACS_NamedExecuteAlways("RefSpeed",0,0,0,0)
    AT4B Q 0 A_ZoomFactor(1.0)
    AT4B R 2 A_FireCustomMissile("AT4FireDebris",0,0,0,6)
    AT4B ST 2
    AT4B A 0 A_JumpIfInventory("AT4Ammo",1,1)
    Goto Ready+17
    AT4B A 0 A_JumpIfNoAmmo("ReloadStart2")
    Goto Ready+17
  FragGrenade:
    U45F A 0 ACS_NamedExecuteAlways("RefSpeak",0,1,0,0)
    U45F A 0 A_ZoomFactor(1.0)
    U45A L 0 A_TakeInventory("Aiming",1)
    U45A L 0 A_TakeInventory("Reloading",1)
    U45F A 0 ACS_NamedExecuteAlways("RefSpeed",0,0,0,0)
	M4CA J 0 A_JumpIfInventory("ThrowingStun",1,"StunGrenade")
	M4CA J 0 A_JumpIfInventory("ThrowingIncd",1,"IncGrenade")
    U45A L 0 A_JumpIfInventory("Perk1_SOH_Pro",1,"FragGrenade_SOH")
    GRNA ABC 2
    GRNA D 2 A_PlaySound("grenade/pinpull")
    GRNA EFGH 2
    TNT1 A 15
    TNT1 A 0 A_PlaySound("grenade/throw")
    GRNA A 0 A_PlaySoundEx("us/grenades","Voice")
    GRNA IJK 2
    GRNA L 0 A_TakeInventory("GrenadeAmmo",1)
    GRNA L 0 A_TakeInventory("ThrowingGrenade",1)
    U45A L 0 A_TakeInventory("Aiming",1)
    GRNA L 0 A_TakeInventory("KnifeAttack",1)
    GRNA L 2 A_FireCustomMissile("FragGrenade",frandom(-2.00,2.00),0,0,16,0,frandom(-1.50,1.50))
    GRNA MN 2
	M4CA C 0 A_JumpIfInventory("AltFireHeld",1,"PostReloadAlt")
    Goto ReloadContStart
  FragGrenade_SOH:
    GRNA ABC 1
    GRNA D 1 A_PlaySound("grenade/pinpull")
    GRNA EFGH 1
    TNT1 A 10
    TNT1 A 0 A_PlaySound("grenade/throw")
    GRNA A 0 A_PlaySoundEx("us/grenades","Voice")
    GRNA IJK 1
    GRNA L 0 A_TakeInventory("GrenadeAmmo",1)
    GRNA L 0 A_TakeInventory("ThrowingGrenade",1)
    U45A L 0 A_TakeInventory("Aiming",1)
    GRNA L 0 A_TakeInventory("KnifeAttack",1)
    GRNA L 1 A_FireCustomMissile("FragGrenade",frandom(-2.00,2.00),0,0,16,0,frandom(-1.50,1.50))
    GRNA MN 1
	M4CA C 0 A_JumpIfInventory("AltFireHeld",1,"PostReloadAlt")
    Goto ReloadContStart
  KnifeAttack:
    GRNA L 0 A_TakeInventory("weapondropper",2)
    U45F A 0 A_ZoomFactor(1.0)
    U45A L 0 A_JumpIfInventory("ThrowingGrenade",1,"FragGrenade")
    U45A L 0 A_TakeInventory("Aiming",1)
    U45A L 0 A_TakeInventory("Reloading",1)
    U45F A 0 ACS_NamedExecuteAlways("RefSpeed",0,0,0,0)
    U45A L 0 A_JumpIfInventory("Perk1_SOH_Pro",1,"KnifeAttack_SOH")
    U45C A 0 A_JumpIfInventory("Perk3_Commando",1,"KnifeAttack_Commando")
    KNFA A 0 ACS_NamedExecuteAlways("RefSlash",0,0,0,0)
    KNFA AB 1
    KNFA B 0 A_PlaySound("knife/swing")
    KNFA C 1 A_CustomPunch(102,1,0,"KnifePuff",104)
    KNFA DEFGHIJKL 1
    TNT1 A 20
    GRNA L 0 A_TakeInventory("ThrowingGrenade",1)
    GRNA L 0 A_TakeInventory("KnifeAttack",1)
	M4CA C 0 A_JumpIfInventory("AltFireHeld",1,"PostReloadAlt")
    Goto ReloadContStart
  KnifeAttack_Commando:
    KNFA A 0 ACS_NamedExecuteAlways("RefSlash",0,0,0,0)
    KNFA AB 1
    KNFA B 0 A_PlaySound("knife/swing")
    KNFA C 1 A_CustomPunch(102,1,0,"KnifePuff",160)
    KNFA DEFGHIJKL 1
    TNT1 A 20
    GRNA L 0 A_TakeInventory("ThrowingGrenade",1)
    GRNA L 0 A_TakeInventory("KnifeAttack",1)
	M4CA C 0 A_JumpIfInventory("AltFireHeld",1,"PostReloadAlt")
    Goto ReloadContStart
  KnifeAttack_SOH:
    U45C A 0 A_JumpIfInventory("Perk3_Commando",1,"KnifeAttack_SOH_Commando")
    KNFA A 0 ACS_NamedExecuteAlways("RefSlash",0,0,0,0)
    KNFA AB 1
    KNFA B 0 A_PlaySound("knife/swing")
    KNFA C 1 A_CustomPunch(102,1,0,"KnifePuff",104)
    KNFA DEFGHIJKL 1
    TNT1 A 10
    GRNA L 0 A_TakeInventory("ThrowingGrenade",1)
    GRNA L 0 A_TakeInventory("KnifeAttack",1)
	M4CA C 0 A_JumpIfInventory("AltFireHeld",1,"PostReloadAlt")
    Goto ReloadContStart
  KnifeAttack_SOH_Commando:
    KNFA A 0 ACS_NamedExecuteAlways("RefSlash",0,0,0,0)
    KNFA AB 1
    KNFA B 0 A_PlaySound("knife/swing")
    KNFA C 1 A_CustomPunch(102,1,0,"KnifePuff",160)
    KNFA DEFGHIJKL 1
    TNT1 A 10
    GRNA L 0 A_TakeInventory("ThrowingGrenade",1)
    GRNA L 0 A_TakeInventory("KnifeAttack",1)
	M4CA C 0 A_JumpIfInventory("AltFireHeld",1,"PostReloadAlt")
    Goto ReloadContStart
  StunGrenade:
    U45A L 0 A_JumpIfInventory("Perk1_SOH_Pro",1,"StunGrenade_SOH")
    GRNA ABC 2
    GRNA D 2 A_PlaySound("grenade/pinpull")
    GRNA EFGH 2
    TNT1 A 15
    TNT1 A 0 A_PlaySound("grenade/throw")
    GRNA A 0 A_PlaySoundEx("us/grenades","Voice")
    GRNA IJK 2
    GRNA L 0 A_TakeInventory("StunAmmo",1)
    GRNA L 0 A_TakeInventory("ThrowingGrenade",1)
	GRNA L 0 A_TakeInventory("ThrowingStun",1)
	GRNA L 0 A_TakeInventory("ThrowingIncd",1)
    U45A L 0 A_TakeInventory("Aiming",1)
    GRNA L 0 A_TakeInventory("KnifeAttack",1)
    GRNA L 2 A_FireCustomMissile("StunGrenade",frandom(-2.00,2.00),0,0,16,0,frandom(-1.50,1.50))
    GRNA MN 2
	M4CA C 0 A_JumpIfInventory("AltFireHeld",1,"PostReloadAlt")
    Goto ReloadContStart
  IncGrenade:
    U45A L 0 A_JumpIfInventory("Perk1_SOH_Pro",1,"IncGrenade_SOH")
    GRNA ABC 2
    GRNA D 2 A_PlaySound("grenade/pinpull")
    GRNA EFGH 2
    TNT1 A 15
    TNT1 A 0 A_PlaySound("grenade/throw")
    GRNA A 0 A_PlaySoundEx("us/grenades","Voice")
    GRNA IJK 2
    GRNA L 0 A_TakeInventory("IncdAmmo",1)
    GRNA L 0 A_TakeInventory("ThrowingGrenade",1)
	GRNA L 0 A_TakeInventory("ThrowingStun",1)
	GRNA L 0 A_TakeInventory("ThrowingIncd",1)
    U45A L 0 A_TakeInventory("Aiming",1)
    GRNA L 0 A_TakeInventory("KnifeAttack",1)
    GRNA L 2 A_FireCustomMissile("IncGrenade",frandom(-2.00,2.00),0,0,16,0,frandom(-1.50,1.50))
    GRNA MN 2
	M4CA C 0 A_JumpIfInventory("AltFireHeld",1,"PostReloadAlt")
    Goto ReloadContStart
  StunGrenade_SOH:
    GRNA ABC 1
    GRNA D 1 A_PlaySound("grenade/pinpull")
    GRNA EFGH 1
    TNT1 A 10
    TNT1 A 0 A_PlaySound("grenade/throw")
    GRNA A 0 A_PlaySoundEx("us/grenades","Voice")
    GRNA IJK 1
    GRNA L 0 A_TakeInventory("StunAmmo",1)
    GRNA L 0 A_TakeInventory("ThrowingGrenade",1)
	GRNA L 0 A_TakeInventory("ThrowingStun",1)
	GRNA L 0 A_TakeInventory("ThrowingIncd",1)
    U45A L 0 A_TakeInventory("Aiming",1)
    GRNA L 0 A_TakeInventory("KnifeAttack",1)
    GRNA L 1 A_FireCustomMissile("StunGrenade",frandom(-2.00,2.00),0,0,16,0,frandom(-1.50,1.50))
    GRNA MN 1
	M4CA C 0 A_JumpIfInventory("AltFireHeld",1,"PostReloadAlt")
    Goto ReloadContStart
  IncGrenade_SOH:
    GRNA ABC 1
    GRNA D 1 A_PlaySound("grenade/pinpull")
    GRNA EFGH 1
    TNT1 A 10
    TNT1 A 0 A_PlaySound("grenade/throw")
    GRNA A 0 A_PlaySoundEx("us/grenades","Voice")
    GRNA IJK 1
    GRNA L 0 A_TakeInventory("IncdAmmo",1)
    GRNA L 0 A_TakeInventory("ThrowingGrenade",1)
	GRNA L 0 A_TakeInventory("ThrowingStun",1)
	GRNA L 0 A_TakeInventory("ThrowingIncd",1)
    U45A L 0 A_TakeInventory("Aiming",1)
    GRNA L 0 A_TakeInventory("KnifeAttack",1)
    GRNA L 1 A_FireCustomMissile("IncGrenade",frandom(-2.00,2.00),0,0,16,0,frandom(-1.50,1.50))
    GRNA MN 1
	M4CA C 0 A_JumpIfInventory("AltFireHeld",1,"PostReloadAlt")
    Goto ReloadContStart
  DropWeapon:
    AT4A JIHGFEDCB 2 A_WeaponReady(WRF_NOPRIMARY)
	AT4A A 2 A_JumpIfInventory("KnifeAttack",1,"KnifeAttack")
	M4CC F 0 A_JumpIfInventory("weapondropper",2,"ThrowWeapon")
    KNFA A 0 ACS_NamedExecuteAlways("RefDropW",0,0,0,0)
	GRNA L 0 A_TakeInventory("weapondropper",1)
	M4CB A 0 A_FireCustomMissile("AT4Dropped",0,0,7,2)
	stop
  ThrowWeapon:
    GRNA IKMN 1
	KNFA B 0 A_PlaySound("knife/swing")
    KNFA A 0 ACS_NamedExecuteAlways("RefDropW",0,0,0,0)
	GRNA L 0 A_TakeInventory("weapondropper",2)
	M4CB A 0 A_FireCustomMissile("AT4Thrown",0,0,7,2)
	stop
  }
}

actor AT4Clip : Ammo
{
    inventory.icon "CLIPA0"
    inventory.amount 0
    inventory.maxamount 1
    ammo.backpackamount 0
    ammo.backpackmaxamount 1
    +IGNORESKILL
}

actor AT4Ammo : Ammo
{
    inventory.icon "CLIPA0"
    inventory.amount 1
    inventory.maxamount 3
    ammo.backpackamount 1
    ammo.backpackmaxamount 5
}

actor AT4Missile
{
  obituary "%k exploded %o with the AT4."
  radius 5
  height 5
  speed 50
  damage (300)
  PROJECTILE
  -NOGRAVITY//
  +FORCERADIUSDMG
  +FORCEXYBILLBOARD
  +THRUSPECIES
  species "Player"
  Gravity 0.02//0.01//
  Scale 0.15
  decal Scorch
  damagetype "Explosion"
  ProjectileKickBack 35
  states
  {
  Spawn:
    G69X AA 1 A_SpawnItemEx("WeaponSmokePuffLong_Spawned",-20,0,0,0,0,0,0,128,0)
    G69X A 0 A_GiveInventory("M203Armed",1)
    G69X A 1 A_SpawnItemEx("WeaponSmokePuffLong_Spawned",-20,0,0,0,0,0,0,128,0)
    Wait
  Death:
    TNT1 A 0
    TNT1 A 0 A_JumpIfInventory("M203Armed",1,"DeathArmed")
    TNT1 A 0 Radius_Quake(3,9,0,12,0)
    TNT1 AA 0 A_Explode(40,160)
    TNT1 AAA 0 A_Explode(25,256,0)
    TNT1 A 0 A_SetDamageType("explosionc")
    TNT1 AA 0 A_Explode(70,64,0)
	TNT1 A 0 A_PlaySoundEx("generic/explosion","SoundSlot5")
    TNT1 A 0 A_PlaySoundEx("distant/explosion","SoundSlot6")
    TNT1 AA 0 A_SpawnItemEx("ExplosionMain2", random(-4,4), random(-4,4), 0)
    TNT1 AAAAAAAAAA 0 A_SpawnItemEx("ImpactSpark2", random(-24,24), random(-24,24), random(-12,18), random(-4,4), random(-4,4), random(-2,3), 0, 128, 0)
    TNT1 A 10
    TNT1 A 15 A_AlertMonsters(512)
    Stop
  XDeath:
    TNT1 A 0
    TNT1 A 0 A_GiveToTarget("HitIndicator",1)
    TNT1 A 0 A_JumpIfInventory("M203Armed",1,"DeathArmed")
    TNT1 A 0 Radius_Quake(3,9,0,12,0)
    TNT1 AA 0 A_Explode(40,160)
    TNT1 AAA 0 A_Explode(25,256,0)
    TNT1 A 0 A_SetDamageType("explosionc")
    TNT1 AA 0 A_Explode(70,64,0)
	TNT1 A 0 A_PlaySoundEx("generic/explosion","SoundSlot5")
    TNT1 A 0 A_PlaySoundEx("distant/explosion","SoundSlot6")
    TNT1 AA 0 A_SpawnItemEx("ExplosionMain2", random(-4,4), random(-4,4), 0)
    TNT1 AAAAAAAAAA 0 A_SpawnItemEx("ImpactSpark2", random(-24,24), random(-24,24), random(-2,18), random(-4,4), random(-4,4), random(-2,3), 0, 128, 0)
    TNT1 A 10
    TNT1 A 15 A_AlertMonsters(512)
    Stop
  DeathArmed:
    TNT1 A 0
    TNT1 A 0 Radius_Quake(5,15,0,20,0)
    TNT1 AA 0 A_Explode(100,160)
    TNT1 AAA 0 A_Explode(50,450,0)
    TNT1 A 0 A_SetDamageType("explosionc")
    TNT1 AA 0 A_Explode(250,96,0)
    TNT1 AAA 0 A_SpawnItemEx("ExplosionMain",random(-8,8),random(-8,8),0)
    TNT1 AAAAAAAAAA 0 A_SpawnItemEx("ImpactSpark2", random(-32,32), random(-32,32), random(-16,24), random(-5,5), random(-5,5), random(-3,4), 0, 128, 0)
    TNT1 AAAAAAAAAA 0 A_SpawnItemEx("ImpactSpark2", random(-32,32), random(-32,32), random(-16,24), random(-5,5), random(-5,5), random(-3,4), 0, 128, 0)
    TNT1 AAAAAAAAAA 0 A_SpawnItemEx("ImpactSpark2", random(-32,32), random(-32,32), random(-16,24), random(-5,5), random(-5,5), random(-3,4), 0, 128, 0)
    TNT1 A 10
    TNT1 A 15 A_AlertMonsters(900)
    Stop
  }
}

actor AT4FireDebris
{
  RenderStyle None
  +NOCLIP
  PROJECTILE
  -ACTIVATEIMPACT
  -ACTIVATEPCROSS
  +NOINTERACTION
  +CLIENTSIDEONLY
  Speed 16
  Damage 0
  states
  {
  Spawn:
    TNT1 A 1
    TNT1 A 15 A_SpawnItemEx("AT4FireDebris_Spawned", 0, 0, -6, 0, -5, 0, 5, 128, 0)
    Stop
  }
}

actor AT4FireDebris_Spawned
{
  PROJECTILE
  -NOGRAVITY
  -ACTIVATEIMPACT
  -ACTIVATEPCROSS
  Speed 0
  Damage 0
  Scale 0.1
  Gravity 0.5
  +CLIENTSIDEONLY
  states
  {
  Spawn:
    AT4X A 35
    Stop
  Death:
    TNT1 A 15
    Stop
  }
}

actor "AT4-CS Incendiary" : "AT4-CS"
{
  states
  {
  Fire:
    AT4A K 0
    AT4A K 0 A_JumpIfInventory("Aiming",1,"FireAim")
    AT4A K 1 A_JumpIfNoAmmo("ReloadStart")
    AT4B B 0 A_GiveInventory("Aiming",1)
    AT4B B 2 A_ZoomFactor(1.25)
    AT4B B 0 ACS_NamedExecuteAlways("RefSpeed",0,0,0,0)
    AT4B B 0 A_JumpIfInventory("Perk3_SteadyAim",1,"Fire_SteadyAim")
    AT4B CDEFGH 2
    AT4B H 0 A_FireCustomMissile("WeaponSmokePuffLong",0,0,0,6)
    AT4B H 0 A_FireCustomMissile("WeaponSmokePuffLong",0,0,-4,0)
    AT4B H 0 A_FireCustomMissile("WeaponSmokePuffLong",0,0,4,0)
    AT4B H 0 Radius_Quake(2,10,0,4,0)
	AT4B H 0 A_PlayWeaponSound("at4/fire")
    AT4B J 2 BRIGHT A_FireCustomMissile("IncAT4Missile",frandom(-6.00,6.00),1,0,6,0,frandom(-2.75,4.75))
    AT4B J 0 BRIGHT ACS_NamedExecuteAlways("RefKick",0,0,0,0)
    AT4B KL 2 BRIGHT A_GunFlash
    AT4B MNOP 2 BRIGHT
	AT4B Q 2 BRIGHT A_TakeInventory("Aiming",1)
    AT4B Q 0 ACS_NamedExecuteAlways("RefSpeed",0,0,0,0)
    AT4B Q 0 A_ZoomFactor(1.0)
    AT4B R 2 A_FireCustomMissile("AT4FireDebris",0,0,0,6)
    AT4B ST 2
    AT4B A 0 A_JumpIfInventory("AT4Ammo",1,1)
    Goto Ready+17
    AT4B A 0 A_JumpIfNoAmmo("ReloadStart2")
    Goto Ready+17
  FireAim:
    AT4B H 0 A_FireCustomMissile("WeaponSmokePuffLong",0,0,0,6)
    AT4B H 0 A_FireCustomMissile("WeaponSmokePuffLong",0,0,-4,0)
    AT4B H 0 A_FireCustomMissile("WeaponSmokePuffLong",0,0,4,0)
    AT4B H 0 Radius_Quake(2,10,0,4,0)
	AT4B H 0 A_PlayWeaponSound("at4/fire")
    AT4B J 2 BRIGHT A_FireCustomMissile("IncAT4Missile",0,1,0,6,0,1)
    AT4B J 0 BRIGHT ACS_NamedExecuteAlways("RefKick",0,0,0,0)
    AT4B KL 2 BRIGHT A_GunFlash
    AT4B MNOP 2 BRIGHT
	AT4B Q 2 BRIGHT A_TakeInventory("Aiming",1)
    AT4B Q 0 ACS_NamedExecuteAlways("RefSpeed",0,0,0,0)
    AT4B Q 0 A_ZoomFactor(1.0)
    AT4B R 2 A_FireCustomMissile("AT4FireDebris",0,0,0,6)
    AT4B ST 2
    AT4B A 0 A_JumpIfInventory("AT4Ammo",1,1)
    Goto Ready+17
    AT4B A 0 A_JumpIfNoAmmo("ReloadStart2")
    Goto Ready+17
  Fire_SteadyAim:
    AT4B CDEFGH 2
    AT4B H 0 A_FireCustomMissile("WeaponSmokePuffLong",0,0,0,6)
    AT4B H 0 A_FireCustomMissile("WeaponSmokePuffLong",0,0,-4,0)
    AT4B H 0 A_FireCustomMissile("WeaponSmokePuffLong",0,0,4,0)
    AT4B H 0 Radius_Quake(2,10,0,4,0)
	AT4B H 0 A_PlayWeaponSound("at4/fire")
    AT4B J 2 BRIGHT A_FireCustomMissile("IncAT4Missile",frandom(-4.50,4.50),1,0,6,0,frandom(-1.75,3.75))
    AT4B J 0 BRIGHT ACS_NamedExecuteAlways("RefKick",0,0,0,0)
    AT4B KL 2 BRIGHT A_GunFlash
    AT4B MNOP 2 BRIGHT
	AT4B Q 2 BRIGHT A_TakeInventory("Aiming",1)
    AT4B Q 0 ACS_NamedExecuteAlways("RefSpeed",0,0,0,0)
    AT4B Q 0 A_ZoomFactor(1.0)
    AT4B R 2 A_FireCustomMissile("AT4FireDebris",0,0,0,6)
    AT4B ST 2
    AT4B A 0 A_JumpIfInventory("AT4Ammo",1,1)
    Goto Ready+17
    AT4B A 0 A_JumpIfNoAmmo("ReloadStart2")
    Goto Ready+17
  FireAimAltHold:
    "####" "#" 0 A_JumpIfInventory("AT4Clip",1,1)
	Goto ReloadBreak
    AT4B H 0 A_FireCustomMissile("WeaponSmokePuffLong",0,0,0,6)
    AT4B H 0 A_FireCustomMissile("WeaponSmokePuffLong",0,0,-4,0)
    AT4B H 0 A_FireCustomMissile("WeaponSmokePuffLong",0,0,4,0)
    AT4B H 0 Radius_Quake(2,10,0,4,0)
	AT4B H 0 A_PlayWeaponSound("at4/fire")
	M79C P 0 A_TakeInventory("AT4Clip",1)
    AT4B J 2 BRIGHT A_FireCustomMissile("IncAT4Missile",0,1,0,6,0,1)
    AT4B J 0 BRIGHT ACS_NamedExecuteAlways("RefKick",0,0,0,0)
    "####" "#" 0 A_JumpIfInventory("AT4Clip",1,1)
	Goto ReloadBreak
	TNT1 A 0
    Goto AltHold
  }
}

actor AT4Inc : Inventory
{
    inventory.amount 0
    inventory.maxamount 1
}

actor IncAT4Missile : AT4Missile
{
  damage (200)
  states
  {
  Death:
    TNT1 A 0
    TNT1 A 0 A_JumpIfInventory("M203Armed",1,"DeathArmed")
    TNT1 A 0 Radius_Quake(3,8,0,10,0)
    TNT1 A 0 A_Explode(40,160)
    TNT1 A 0 A_Explode(25,256,0)
    TNT1 A 0 A_SetDamageType("explosionc")
    TNT1 AA 0 A_Explode(70,64,0)
	TNT1 A 0 A_PlaySoundEx("generic/explosionsmall","SoundSlot5")
    TNT1 A 0 A_PlaySoundEx("distant/explosionsmall","SoundSlot6")
    TNT1 AAA 0 A_SpawnItemEx("ExplosionSmall", random(-4,4), random(-4,4), 0, 0, 0, 0, 0, 128, 0)
    TNT1 AAAAAAAA 0 A_SpawnItemEx("IncGrenadeFire", random(-32,32), random(-32,32), random(0,16), random(-15,15)/10.0, random(-15,15)/10.0, random(4,5), 0, 0, 0)
    TNT1 AAAAAAAA 0 A_SpawnItemEx("IncGrenadeFireLight", random(-32,32), random(-32,32), random(0,16), random(-15,15)/10.0, random(-15,15)/10.0, random(4,5), 0, 128, 0)
    TNT1 AAAAAAAA 0 A_SpawnItemEx("IncGrenadeFireLight", random(-32,32), random(-32,32), random(0,16), random(-15,15)/10.0, random(-15,15)/10.0, random(4,5), 0, 128, 0)
    TNT1 A 10
    TNT1 A 15 A_AlertMonsters(512)
    Stop
  XDeath:
    TNT1 A 0
    TNT1 A 0 A_GiveToTarget("HitIndicator",1)
    TNT1 A 0 A_JumpIfInventory("M203Armed",1,"DeathArmed")
    TNT1 A 0 Radius_Quake(3,8,0,10,0)
    TNT1 A 0 A_Explode(40,160)
    TNT1 A 0 A_Explode(25,256,0)
    TNT1 A 0 A_SetDamageType("explosionc")
    TNT1 AA 0 A_Explode(70,64,0)
	TNT1 A 0 A_PlaySoundEx("generic/explosionsmall","SoundSlot5")
    TNT1 A 0 A_PlaySoundEx("distant/explosionsmall","SoundSlot6")
    TNT1 AAA 0 A_SpawnItemEx("ExplosionSmall", random(-4,4), random(-4,4), 0, 0, 0, 0, 0, 128, 0)
    TNT1 AAAAAAAA 0 A_SpawnItemEx("IncGrenadeFire", random(-32,32), random(-32,32), random(0,16), random(-15,15)/10.0, random(-15,15)/10.0, random(4,5), 0, 0, 0)
    TNT1 AAAAAAAA 0 A_SpawnItemEx("IncGrenadeFireLight", random(-32,32), random(-32,32), random(0,16), random(-15,15)/10.0, random(-15,15)/10.0, random(4,5), 0, 128, 0)
    TNT1 AAAAAAAA 0 A_SpawnItemEx("IncGrenadeFireLight", random(-32,32), random(-32,32), random(0,16), random(-15,15)/10.0, random(-15,15)/10.0, random(4,5), 0, 128, 0)
    TNT1 A 10
    TNT1 A 15 A_AlertMonsters(512)
    Stop
  DeathArmed:
    TNT1 A 0
    TNT1 A 0 Radius_Quake(4,13,0,18,0)
    TNT1 A 0 A_Explode(100,160)
    TNT1 A 0 A_Explode(50,450,0)
    TNT1 A 0 A_SetDamageType("explosionc")
    TNT1 AA 0 A_Explode(250,96,0)
    TNT1 AAA 0 A_SpawnItemEx("ExplosionMain2",random(-8,8),random(-8,8),0)
    TNT1 AAAAAAAAAAAAAAAA 0 A_SpawnItemEx("IncGrenadeFire", random(-32,32), random(-32,32), random(0,16), random(-25,25)/10.0, random(-25,25)/10.0, random(4,5), 0, 0, 0)
    TNT1 AAAAAAAAAAAAAAAA 0 A_SpawnItemEx("IncGrenadeFireLight", random(-32,32), random(-32,32), random(0,16), random(-25,25)/10.0, random(-25,25)/10.0, random(4,5), 0, 128, 0)
    TNT1 AAAAAAAAAAAAAAAA 0 A_SpawnItemEx("IncGrenadeFireLight", random(-32,32), random(-32,32), random(0,16), random(-25,25)/10.0, random(-25,25)/10.0, random(4,5), 0, 128, 0)
    TNT1 A 10
    TNT1 A 15 A_AlertMonsters(900)
    Stop
  }
}

actor "FowlT4-HS" : "AT4-CS"
{
  obituary "%k played fowl on %o."
  inventory.pickupmessage "You got the FowlT4-HS. BAKAAWK!"
  states
  {
  Fire:
    AT4A K 0
    AT4A K 0 A_JumpIfInventory("Aiming",1,"FireAim")
    AT4A K 1 A_JumpIfNoAmmo("ReloadStart")
    AT4B B 0 A_GiveInventory("Aiming",1)
    AT4B B 2 A_ZoomFactor(1.25)
    AT4B B 0 ACS_NamedExecuteAlways("RefSpeed",0,0,0,0)
    AT4B B 0 A_JumpIfInventory("Perk3_SteadyAim",1,"Fire_SteadyAim")
    AT4B CDEFGH 2
    AT4B H 0 A_FireCustomMissile("WeaponSmokePuffLong",0,0,0,6)
    AT4B H 0 A_FireCustomMissile("WeaponSmokePuffLong",0,0,-4,0)
    AT4B H 0 A_FireCustomMissile("WeaponSmokePuffLong",0,0,4,0)
	AT4B H 0 A_PlayWeaponSound("fowlt4/fire")
    AT4B J 2 BRIGHT A_FireCustomMissile("FowlT4Missile",frandom(-4.00,4.00),1,0,6,0,frandom(-2.50,2.50))
    AT4B J 0 BRIGHT ACS_NamedExecuteAlways("RefKick",0,0,0,0)
    AT4B KL 2 BRIGHT A_GunFlash
    AT4B MNOP 2 BRIGHT
	AT4B Q 2 BRIGHT A_TakeInventory("Aiming",1)
    AT4B Q 0 ACS_NamedExecuteAlways("RefSpeed",0,0,0,0)
    AT4B Q 0 A_ZoomFactor(1.0)
    AT4B R 2 A_FireCustomMissile("AT4FireDebris",0,0,0,6)
    AT4B ST 2
    AT4B A 0 A_JumpIfInventory("AT4Ammo",1,1)
    Goto Ready+14
    AT4B A 0 A_JumpIfNoAmmo("ReloadStart2")
    Goto Ready+14
  FireAim:
    AT4B H 0 A_FireCustomMissile("WeaponSmokePuffLong",0,0,0,6)
    AT4B H 0 A_FireCustomMissile("WeaponSmokePuffLong",0,0,-4,0)
    AT4B H 0 A_FireCustomMissile("WeaponSmokePuffLong",0,0,4,0)
	AT4B H 0 A_PlayWeaponSound("fowlt4/fire")
    AT4B J 2 BRIGHT A_FireCustomMissile("FowlT4Missile",0,1,0,6)
    AT4B J 0 BRIGHT ACS_NamedExecuteAlways("RefKick",0,0,0,0)
    AT4B KL 2 BRIGHT A_GunFlash
    AT4B MNOP 2 BRIGHT
	AT4B Q 2 BRIGHT A_TakeInventory("Aiming",1)
    AT4B Q 0 ACS_NamedExecuteAlways("RefSpeed",0,0,0,0)
    AT4B Q 0 A_ZoomFactor(1.0)
    AT4B R 2 A_FireCustomMissile("AT4FireDebris",0,0,0,6)
    AT4B ST 2
    AT4B A 0 A_JumpIfInventory("AT4Ammo",1,1)
    Goto Ready+14
    AT4B A 0 A_JumpIfNoAmmo("ReloadStart2")
    Goto Ready+14
  Fire_SteadyAim:
    AT4B CDEFGH 2
    AT4B H 0 A_FireCustomMissile("WeaponSmokePuffLong",0,0,0,6)
    AT4B H 0 A_FireCustomMissile("WeaponSmokePuffLong",0,0,-4,0)
    AT4B H 0 A_FireCustomMissile("WeaponSmokePuffLong",0,0,4,0)
	AT4B H 0 A_PlayWeaponSound("fowlt4/fire")
    AT4B J 2 BRIGHT A_FireCustomMissile("FowlT4Missile",frandom(-3.00,3.00),1,0,6,0,frandom(-2.00,2.00))
    AT4B J 0 BRIGHT ACS_NamedExecuteAlways("RefKick",0,0,0,0)
    AT4B KL 2 BRIGHT A_GunFlash
    AT4B MNOP 2 BRIGHT
	AT4B Q 2 BRIGHT A_TakeInventory("Aiming",1)
    AT4B Q 0 ACS_NamedExecuteAlways("RefSpeed",0,0,0,0)
    AT4B Q 0 A_ZoomFactor(1.0)
    AT4B R 2 A_FireCustomMissile("AT4FireDebris",0,0,0,6)
    AT4B ST 2
    AT4B A 0 A_JumpIfInventory("AT4Ammo",1,1)
    Goto Ready+14
    AT4B A 0 A_JumpIfNoAmmo("ReloadStart2")
    Goto Ready+14
  }
}

actor FowlT4Missile : AT4Missile
{
  obituary "%k played fowl on %o."
  speed 25
  damage (220)
  PROJECTILE
  +NOGRAVITY//
  +FORCERADIUSDMG
  +FORCEXYBILLBOARD
  +THRUSPECIES
  +SEEKERMISSILE
  +SCREENSEEKER
  +DONTSEEKINVISIBLE
  species "Player"
  Scale 1.50
  decal Scorch
  damagetype "Explosion"
  states
  {
  Spawn:
    CHKN A 0 BRIGHT
    CHKN A 0 BRIGHT A_PlaySoundEx("rpg/fly","Body",1)
    CHKN A 0 BRIGHT A_SpawnItemEx("MissileExhaust",-20,0,0,0,0,0,0,128,0)
    CHKN A 1 BRIGHT A_Tracer2
    CHKN A 0 BRIGHT A_SpawnItemEx("MissileExhaust",-20,0,0,0,0,0,0,128,0)
    CHKN A 1 BRIGHT A_Tracer2
    CHKN A 0 BRIGHT A_SpawnItemEx("WeaponSmokePuffLong_Spawned",-20,0,0,0,0,0,0,128,0)
    CHKN B 0 BRIGHT A_SpawnItemEx("MissileExhaust",-20,0,0,0,0,0,0,128,0)
    CHKN B 1 BRIGHT A_Tracer2
    CHKN B 0 BRIGHT A_SpawnItemEx("MissileExhaust",-20,0,0,0,0,0,0,128,0)
    CHKN B 1 BRIGHT A_Tracer2
    CHKN B 0 BRIGHT A_SpawnItemEx("WeaponSmokePuffLong_Spawned",-20,0,0,0,0,0,0,128,0)
    CHKN C 0 BRIGHT A_SpawnItemEx("MissileExhaust",-20,0,0,0,0,0,0,128,0)
    CHKN C 1 BRIGHT A_Tracer2
    CHKN C 0 BRIGHT A_SpawnItemEx("MissileExhaust",-20,0,0,0,0,0,0,128,0)
    CHKN C 1 BRIGHT A_Tracer2
    CHKN C 0 BRIGHT A_SpawnItemEx("WeaponSmokePuffLong_Spawned",-20,0,0,0,0,0,0,128,0)
    CHKN D 0 BRIGHT A_SpawnItemEx("MissileExhaust",-20,0,0,0,0,0,0,128,0)
    CHKN D 1 BRIGHT A_Tracer2
    CHKN D 0 BRIGHT A_SpawnItemEx("MissileExhaust",-20,0,0,0,0,0,0,128,0)
    CHKN D 1 BRIGHT A_Tracer2
    CHKN D 0 BRIGHT A_SpawnItemEx("WeaponSmokePuffLong_Spawned",-20,0,0,0,0,0,0,128,0)
    Goto Spawn+2
  XDeath:
    TNT1 A 0
    TNT1 A 0 A_GiveToTarget("HitIndicator",1)
  Death:
    TNT1 A 0
    TNT1 A 0 Radius_Quake(2,12,0,8,0)
    TNT1 AA 0 A_Explode(85,64,0)
    TNT1 AA 0 A_Explode(170,170)
    TNT1 AAA 0 A_Explode(85,340,0)
    TNT1 AA 0 A_SpawnItemEx("ExplosionMain2",random(-2,2),random(-2,2))
    TNT1 AAAAAAAAAA 0 A_SpawnItemEx("ImpactSpark2", random(-24,24), random(-24,24), random(-12,18), random(-4,4), random(-4,4), random(-2,3), 0, 128, 0)
    TNT1 AAAAAAAAAA 0 A_SpawnItemEx("ImpactSpark2", random(-24,24), random(-24,24), random(-12,18), random(-4,4), random(-4,4), random(-2,3), 0, 128, 0)
    TNT1 AAAAAAAAAA 0 A_SpawnItemEx("IncGrenadeFire", random(-32,32), random(-32,32), random(0,16), random(-20,20)/10.0, random(-20,20)/10.0, random(4,5), 0, 0, 0)
    TNT1 AAAAAAAAAA 0 A_SpawnItemEx("IncGrenadeFireLight", random(-32,32), random(-32,32), random(0,16), random(-20,20)/10.0, random(-20,20)/10.0, random(4,5), 0, 128, 0)
    TNT1 AAAAAAAAAA 0 A_SpawnItemEx("IncGrenadeFireLight", random(-32,32), random(-32,32), random(0,16), random(-20,20)/10.0, random(-20,20)/10.0, random(4,5), 0, 128, 0)
    TNT1 A 10
    TNT1 A 15 A_AlertMonsters(680)
    Stop
  }
}


actor AT4Pickup : CustomInventory
{
  inventory.pickupmessage "You got the AT4-CS. Blow'em up!"
  inventory.pickupsound "rpg/in"
  +INVENTORY.AUTOACTIVATE
  //inventory.respawntics 70
  scale 0.22
  States
  {
  Spawn:
    WEAP D -1
    Stop
  Pickup:
    WEAP D 0
    WEAP D 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",0,0,0)) == 1, "PickupStay")
    WEAP D 0 A_JumpIfInventory("AT4-CS",1,"AmmoPickup") // If the player already has this weapon, they get more ammo for it
    WEAP D 0 A_JumpIfInventory("AT4-CS Incendiary",1,"AmmoPickup")
    WEAP D 0 A_JumpIfInventory("FowlT4-HS",1,"AmmoPickup")
    WEAP D 0 A_JumpIfInventory("Perk1_OneManArmy",1,"OneManArmy")
    WEAP D 0 A_JumpIfInventory("MaxWeaponsFilled",71,"FailPickup2")
	WEAP D 0 A_GiveInventory("MaxWeaponsFilled",30)
    WEAP D 0 ACS_NamedExecuteWithResult("RefPickU",24,0,0)
    Stop
  PickupStay:
    WEAP D 0
    WEAP D 0 A_JumpIfInventory("AT4-CS",1,"FailPickup") // If the player already has this weapon, they get more ammo for it
    WEAP D 0 A_JumpIfInventory("AT4-CS Incendiary",1,"FailPickup")
    WEAP D 0 A_JumpIfInventory("FowlT4-HS",1,"FailPickup")
    WEAP D 0 A_JumpIfInventory("Perk1_OneManArmy",1,"OneManArmy")
    WEAP D 0 A_JumpIfInventory("MaxWeaponsFilled",71,"FailPickup2")
	WEAP D 0 A_GiveInventory("MaxWeaponsFilled",30)
    WEAP D 0 ACS_NamedExecuteWithResult("RefPickU",24,0,0)
    WEAP D 0 ACS_NamedExecuteWithResult("RefPickC",24,0,0)
    WEAP D 0 A_PlaySound("rpg/in")
    fail
  AmmoPickup:
    WEAP D 0
    WEAP D 0 A_JumpIfInventory("AT4Ammo",0,"FailPickup")
    WEAP D 0 A_GiveInventory("AT4Ammo",1)
    Stop
  OneManArmy:
    WEAP D 0
	WEAP D 0 A_JumpIfInventory("MaxWeaponsFilled",108,"FailPickup2")
	WEAP D 0 A_GiveInventory("MaxWeaponsFilled",30)
	WEAP D 0 ACS_NamedExecuteWithResult("RefPickU",24,0,0)
	stop
  FailPickup:
    WEAP D 1
    fail
  FailPickup2:
    WEAP D 1
    WEAP D 0 ACS_NamedExecuteAlways("RefSlots",0,36,0,0)
    fail
  }
}

actor AT4Drop : AT4Pickup
{
  States
  {
  Spawn:
    WEAP D -1
    Stop
  Pickup:
    WEAP D 0
    WEAP D 0 A_JumpIfInventory("AT4-CS",1,"AmmoPickup") // If the player already has this weapon, they get more ammo for it
    WEAP D 0 A_JumpIfInventory("AT4-CS Incendiary",1,"AmmoPickup")
    WEAP D 0 A_JumpIfInventory("FowlT4-HS",1,"AmmoPickup")
    WEAP D 0 A_JumpIfInventory("Perk1_OneManArmy",1,"OneManArmy")
    WEAP D 0 A_JumpIfInventory("MaxWeaponsFilled",71,"FailPickup2")
	WEAP D 0 A_GiveInventory("MaxWeaponsFilled",30)
    WEAP D 0 ACS_NamedExecuteWithResult("RefPickU",24,0,0)
    Stop
  }
}

actor AT4Drop2 : AT4Drop
{
  States
  {
  Spawn:
    WEAP D -1
    Stop
  Pickup:
    WEAP D 0
    WEAP D 0 A_JumpIfInventory("AT4-CS",1,"AmmoPickup") // If the player already has this weapon, they get more ammo for it
    WEAP D 0 A_JumpIfInventory("AT4-CS Incendiary",1,"AmmoPickup")
    WEAP D 0 A_JumpIfInventory("FowlT4-HS",1,"AmmoPickup")
    WEAP D 0 A_JumpIfInventory("Perk1_OneManArmy",1,"OneManArmy")
    WEAP D 0 A_JumpIfInventory("MaxWeaponsFilled",71,"FailPickup2")
	WEAP D 0 A_GiveInventory("MaxWeaponsFilled",30)
    WEAP D 0 ACS_NamedExecuteWithResult("RefPickU",24,0,0)
    Stop
  AmmoPickup:
    WEAP D 0
    Stop
  }
}