//Klade's RGA stuff go here

actor MaxWeaponsFilled : Ammo
{
    inventory.amount 0
    inventory.maxamount 100
    ammo.backpackamount 0
    ammo.backpackmaxamount 100
    +IGNORESKILL
}

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

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

actor TARAmmo : Ammo//Tar stuff is here just to stop the error message from showing up for now
{
inventory.amount 0
    inventory.maxamount 100
}
actor TARClip : Ammo
{
inventory.amount 0
    inventory.maxamount 100
}
actor TARClip2 : Ammo
{
inventory.amount 0
    inventory.maxamount 100
}

actor RandomKillstreak : Custominventory
{
  Radius 20
  Height 16
  Inventory.MaxAmount 9
  +INVENTORY.ALWAYSPICKUP

  States
  {
  Spawn:
    TOKN A -1
    Stop

  Pickup:
    TNT1 A 0 ACS_NamedExecuteAlways("BigDemonKillstreakChance",0)
    Stop
  }
}

actor RandomKillstreakRare : Custominventory
{
  Radius 20
  Height 16
  Inventory.MaxAmount 9
  +INVENTORY.ALWAYSPICKUP

  States
  {
  Spawn:
    TOKN A -1
    Stop

  Pickup:
    TNT1 A 0 ACS_NamedExecuteAlways("RareDemonKillstreakChance",0)
    Stop
  }
}

actor KladesM1887Pickup : CustomInventory 
{
  inventory.pickupmessage "You got the Model 1887 lever-action shotgun. Terminate them all!"
  inventory.pickupsound "spas/pump"
  +INVENTORY.AUTOACTIVATE
  //inventory.respawntics 70
  scale 0.17
  States
  {
  Spawn:
    WEP2 J -1
    stop
  Pickup:
    WEP2 J 0
    WEP2 J 0 A_GiveInventory("Model 1887 Fine Tuned",1)
    WEP2 J 0 A_GiveInventory("MaxWeaponsFilled", 19)
    WEP2 J 0 A_GiveInventory("M1887Ammo", 7)
    WEP2 J 0 A_GiveInventory("KladeMedallion", 1)
	WEP2 J 0 A_GiveInventory("Backpack", 1)
    stop
  }
}
actor DustonsM16Pickup : CustomInventory
{
  inventory.pickupmessage "You got the Colt M16A4 assault rifle. Hooah!"
  inventory.pickupsound "ak47/bolt"
  +INVENTORY.AUTOACTIVATE
  //inventory.respawntics 70
  scale 0.15
  States
  {
  Spawn:
    WEAP Y -1
    stop
  Pickup:
    WEAP Y 0
    WEAP Y 0 A_GiveInventory("Colt M16A4 Auto",1)
    WEAP Y 0 A_GiveInventory("MaxWeaponsFilled",30)
    WEAP Y 0 A_GiveInventory("M16Ammo",60)
    WEAP Y 0 A_GiveInventory("DustonMedallion",1)
	WEP2 J 0 A_GiveInventory("Backpack", 1)
    stop
  }
}
actor KladesStrikerPickup : CustomInventory
{
  inventory.pickupmessage "You got the Striker-12 semi-auto shotgun. Please the crowd."
  inventory.pickupsound "spas/pump"
  +INVENTORY.AUTOACTIVATE
  //inventory.respawntics 70
  scale 0.15
  States
  {
  Spawn:
    WEP2 A -1
    stop
  Pickup:
    WEP2 A 0
    WEP2 J 0 A_GiveInventory("Striker-12 Ex Mags",1)
    WEP2 J 0 A_GiveInventory("MaxWeaponsFilled", 25)
    WEP2 J 0 A_GiveInventory("StrikerAmmo", 30)
	WEA2 J 0 A_GiveInventory("TechMedallion",1)
	WEP2 J 0 A_GiveInventory("Backpack", 1)
    stop
  }
}
actor 44MagnumBuck : CustomInventory
{
  inventory.pickupmessage "You got the .44 Magnum. Do you feel lucky, Punk?"
  inventory.pickupsound "deagle/bolt"
  +INVENTORY.AUTOACTIVATE
  //inventory.respawntics 70
  scale 0.14
  States
  {
  Spawn:
    WEAP I -1
    stop
  Pickup:
    WEAP I 0
    WEAP I 0 A_GiveInventory(".44 Magnum Buckshot",1)
    WEAP I 0 A_GiveInventory("MaxWeaponsFilled", 8)
    WEAP I 0 A_GiveInventory("44MagnumAmmo", 6)
    WEAP I 0 A_GiveInventory("MagnumRapidFire", 1)
    stop
  }
}
actor BlackUzi : CustomInventory
{
  inventory.pickupmessage "You got the Mini-UZI. Akimbo anyone?"
  inventory.pickupsound "vector/bolt"
  +INVENTORY.AUTOACTIVATE
  //inventory.respawntics 70
  scale 0.15
  States
  {
  Spawn:
    WEAP K -1
    stop
  Pickup:
    WEAP K 0
    WEAP K 0 A_GiveInventory("Mini-UZI Akimbo",1)
    WEAP K 0 A_GiveInventory("MaxWeaponsFilled", 16)
    WEAP K 0 A_GiveInventory("MiniUziAmmo", 128)
    WEAP K 0 A_GiveInventory("MiniUziAkimbo", 1)
	WEAP K 0 A_GiveInventory("timeMedallion",1)
	WEAP K 0 A_GiveInventory("timeMedallionUsageLimit", 3)
    stop
  }
}
actor NavySealsIntervention : CustomInventory
{
  inventory.pickupmessage "You got the CheyTac Intervention sniper rifle."
  inventory.pickupsound "barrett/bolt"
  +INVENTORY.AUTOACTIVATE
  //inventory.respawntics 70
  scale 0.15
  States
  {
  Spawn:
    WEAP H -1
    stop
  Pickup:
    WEAP H 0
    WEAP H 0 A_GiveInventory("CheyTac Intervention Thermal",1)
    WEAP H 0 A_GiveInventory("MaxWeaponsFilled", 30)
    WEAP H 0 A_GiveInventory("InterventionThermal", 1)
	WEAP H 0 A_GiveInventory("BraceMedallion",1)
	WEP2 J 0 A_GiveInventory("Backpack", 1)
    stop
  }
}
actor NavysealsMP5 : CustomInventory //unused 
{
  inventory.pickupmessage "You got the H&K MP5K submachinegun."
  inventory.pickupsound "vector/bolt"
  +INVENTORY.AUTOACTIVATE
  //inventory.respawntics 70
  scale 0.15
  States
  {
  Spawn:
    WEAP W -1
    stop
  Pickup:
    WEAP W 0
    WEAP W 0 A_GiveInventory("H&K MP5K Ex Mags",1)
    WEAP W 0 A_GiveInventory("MaxWeaponsFilled", 18)
    WEAP W 0 A_GiveInventory("MP5Ammo", 90)
    WEAP W 0 A_GiveInventory("MP5ExMags", 1)
    stop
  }
}
actor YarrRPGPickup : CustomInventory
{
  inventory.pickupmessage "You got the RPG-7. For the motherland!"
  inventory.pickupsound "rpg/in"
  +INVENTORY.AUTOACTIVATE
  //inventory.respawntics 70
  scale 0.2
  States
  {
  Spawn:
    WEP2 I -1
    stop
  Pickup:
    WEP2 I 0
    WEAP W 0 A_GiveInventory("RPG-7 Incendiary",1)
    WEAP W 0 A_GiveInventory("MaxWeaponsFilled", 25)
    WEAP W 0 A_GiveInventory("RpgInc", 1)
	WEAP W 0 A_GiveInventory("rageMedallion",1)
	WEAP K 0 A_GiveInventory("rageMedallionUsageLimit", 2)
    stop
  }
}
actor ClonesSpas12 : CustomInventory
{
  inventory.pickupmessage "You got the Franchi SPAS-12 dual-mode shotgun."
  inventory.pickupsound "spas/pump"
  +INVENTORY.AUTOACTIVATE
  //inventory.respawntics 70
  scale 0.15
  States
  {
  Spawn:
    WEAP M -1
    stop
  Pickup:
    WEAP M 0
    WEAP M 0 A_GiveInventory("Franchi SPAS-12 Rapid Fire",1)
    WEAP M 0 A_GiveInventory("MaxWeaponsFilled", 20)
    WEAP M 0 A_GiveInventory("SPASRapidFire", 1)
	WEAP M 0 A_GiveInventory("BraceMedallion",1)
    stop
  }
}
actor FalconP90Pickup : CustomInventory
{
  inventory.pickupmessage "You got the FN P90. Shredding time."
  inventory.pickupsound "vector/bolt"
  +INVENTORY.AUTOACTIVATE
  //inventory.respawntics 70
  scale 0.15
  States
  {
  Spawn:
    WEAP L -1
    stop
  Pickup:
    WEAP L 0
    WEAP L 0 A_GiveInventory("FN P90 Rapid Fire",1)
    WEAP L 0 A_GiveInventory("MaxWeaponsFilled", 21)
    WEAP L 0 A_GiveInventory("P90RapidFire", 1)
	WEAP L 0 A_GiveInventory("TechMedallion",1)
    stop
  }
}

actor FuckyouMG4Pickup : CustomInventory
{
  inventory.pickupmessage "You got the H&K MG4 light machinegun. Tear them to pieces!!"
  inventory.pickupsound "hbar/bolt"
  inventory.pickupsound "biggrin"
  +INVENTORY.AUTOACTIVATE
  //inventory.respawntics 70
  scale 0.15
  States
  {
  Spawn:
    WEAP J -1
    stop
  Pickup:
    WEAP J 0
	WEAP J 0 A_GiveInventory("MaxWeaponsFilled",50)
	WEAP L 0 A_GiveInventory("H&K MG4",1)
    //WEAP L 0 A_GiveInventory("MG4Grip",1)
	WEAP L 0 A_GiveInventory("rageMedallion",1)
	WEAP K 0 A_GiveInventory("rageMedallionUsageLimit", 2)
    stop
  }
}

actor BIGGRINSound : CustomInventory
{
  //$Sprite MEDDA0
 +INVBAR
 +UNDROPPABLE
 +AUTOACTIVATE
  states
  {
  Spawn:
    TNT1 A -1 
    stop  
  Use:
    	TNT1 A 0 A_PlaySound("BIGGRIN", CHAN_AUTO|CHAN_NOPAUSE, 7.0, 0)
  }
}

ACTOR RandomMedallionPickup : CustomInventory
{
    Inventory.PickupMessage "What's this?"
    Inventory.MaxAmount 1
    +INVENTORY.ALWAYSPICKUP
    States
    {
    Spawn:
        MEDL A -1
        Stop
    Pickup:
        TNT1 A 0 A_Jump(37, "Klade")
        TNT1 A 0 A_Jump(37, "Duston")
        TNT1 A 0 A_Jump(37, "Time")
        TNT1 A 0 A_Jump(37, "Rage")
        TNT1 A 0 A_Jump(37, "Tech")
        TNT1 A 0 A_Jump(37, "Brace")
        TNT1 A 0 A_Jump(37, "Star")
        loop
    Klade:
        TNT1 A 0 A_GiveInventory("KladeMedallion", 1)
        Stop
    Duston:
        TNT1 A 0 A_GiveInventory("DustonMedallion", 1)
        Stop
    Time:
        TNT1 A 0 A_GiveInventory("TimeMedallion", 1)
        Stop
    Rage:
        TNT1 A 0 A_GiveInventory("RageMedallion", 1)
        Stop
    Tech:
        TNT1 A 0 A_GiveInventory("TechMedallion", 1)
        Stop
    Brace:
        TNT1 A 0 A_GiveInventory("BraceMedallion", 1)
        Stop
    Star:
        TNT1 A 0 A_GiveInventory("StarMedallion", 1)
        Stop
    }
}

actor KladeMedallion : CustomInventory
{
  //$Sprite MEDAA0
 +INVBAR
 +UNDROPPABLE
 -INVENTORY.INTERHUBSTRIP
  Inventory.DefMaxAmount 
  Inventory.MaxAmount 1
  Inventory.PickupFlash "PickupFlash"
  Inventory.icon "MEDAB0"
  Inventory.pickupmessage "You found Klade's Medallion"
  Inventory.RespawnTics 9999999999999999
  Scale 0.05
  states
  {
  Spawn:
    MEDA A -1 
    stop  
  Use:
    //TNT1 A 0 A_JumpIfInventory("KladeMedallionusageLimit", 2, "Bad2")
    //TNT1 A 0 A_JumpIfInventory("KladeMedallionusageLimit", 1, "Bad")
	//TNT1 A 0 A_JumpIfInventory("KladeMedallionusagelimit", 0, "Good")
	//TNT1 A 0 A_GiveInventory("NukeDesignator",1)
	//TNT1 A 0 A_Print("time Medallion is recharging until the next level")
	TNT1 A 0 A_GiveInventory("NukeDesignator",1)
	TNT1 A 0 ACS_NamedExecuteAlways("SetNukeDesignator",0,0,0,0) //Have to do this wacky workaround BS because A_Selectweapon is causing a desync online
	//TNT1 A 0 A_SelectWeapon("NukeDesignator")
	Fail
	Bad:
	TNT1 A 0 A_Print("Tactical Nuke is still rearming. (Exit one more level)")
	Fail
	Bad2:
	TNT1 A 0 A_Print("Tactical Nuke is still rearming. (Exit two more levels)")
	Fail
  }
}
actor DustonMedallion :key
{
  //$Sprite MEDBA0
 +INVBAR
 +UNDROPPABLE
 -INVENTORY.INTERHUBSTRIP
  Inventory.DefMaxAmount 
  Inventory.MaxAmount 1
  Inventory.PickupFlash "PickupFlash"
  Inventory.icon "MEDBB0"
  Inventory.pickupmessage "You found Duston's Medallion"
  Inventory.RespawnTics 9999999999999999
  Scale 0.05
  states
  {
  Spawn:
    MEDB A -1 
    stop  
  }
}

actor BraceMedallion : CustomInventory
{
  //$Sprite MEDCA0
 +INVBAR
 +UNDROPPABLE
 -INVENTORY.INTERHUBSTRIP
  Inventory.DefMaxAmount 
  Inventory.MaxAmount 1
  Inventory.PickupFlash "PickupFlash"
  Inventory.icon "MEDCB0"
  Inventory.pickupmessage "You found the Brace Medallion"
  Inventory.RespawnTics 9999999999999999
  Scale 0.05
  states
  {
  Spawn:
    MEDC A -1 
    stop  
  Use:
    //TNT1 A 0 A_JumpIfInventory("KladeMedallionusageLimit", 2, "Bad2")
    //TNT1 A 0 A_JumpIfInventory("KladeMedallionusageLimit", 1, "Bad")
	//TNT1 A 0 A_JumpIfInventory("KladeMedallionusagelimit", 0, "Good")
	//TNT1 A 0 A_GiveInventory("NukeDesignator",1)
	//TNT1 A 0 A_Print("time Medallion is recharging until the next level")
	TNT1 A 0 A_GiveInventory("AC130Designator",1)
	TNT1 A 0 ACS_NamedExecuteAlways("SetAC130Designator",0,0,0,0) //Have to do this wacky workaround BS because A_Selectweapon is causing a desync online
	//TNT1 A 0 A_SelectWeapon("NukeDesignator")
	Fail
	Bad:
	TNT1 A 0 A_Print("Tactical Nuke is still rearming. (Exit one more level)")
	Fail
	Bad2:
	TNT1 A 0 A_Print("Tactical Nuke is still rearming. (Exit two more levels)")
	Fail
  }
}

actor TimeMedallion : CustomInventory
{
  //$Sprite MEDDA0
 +INVBAR
 +UNDROPPABLE
 -INVENTORY.INTERHUBSTRIP
  Inventory.DefMaxAmount 
  Inventory.MaxAmount 1
  Inventory.PickupFlash "PickupFlash"
  Inventory.icon "MEDDB0"
  Inventory.pickupmessage "You found the Time Medallion"
  Inventory.RespawnTics 9999999999999999
  Scale 0.05
  states
  {
  Spawn:
    MEDD A -1 
    stop  
  Use:
    TNT1 A 0 A_JumpIfInventory("timeMedallionCooldownTime", 1, "Bad")
    TNT1 A 0 A_JumpIfInventory("PowertimeMedallionCooldown", 1, "Bad")
	TNT1 A 0 A_JumpIfInventory("timeMedallionusagelimit", 1, "Good")
	TNT1 A 0 A_Print("time Medallion is recharging until the next level")
	Fail
	Good:
	//TNT1 A 0 A_GiveInventory("PowerDoubleFiringSpeed",1)
	TNT1 A 0 A_TakeInventory("timeMedallionusagelimit",1)
	TNT1 A 0 A_GiveInventory("timeMedallionCooldown",1)
	//TNT1 A 0 A_JumpIfInventory("timeToken", 1, "Bad")
	TNT1 A 0 ACS_NamedExecuteAlways("time",0,0,0,0)
	//TNT1 A 0 A_PlaySound("time1", CHAN_AUTO|CHAN_NOPAUSE, 7.0, 0)

	Fail
	Bad:
	TNT1 A 0 
	Fail
  }
}

actor TechMedallion : CustomInventory
{
  //$Sprite MEDEA0
 +INVBAR
 +UNDROPPABLE
 -INVENTORY.INTERHUBSTRIP
  Inventory.DefMaxAmount 
  Inventory.MaxAmount 1
  Inventory.PickupFlash "PickupFlash"
  Inventory.icon "MEDEB0"
  Inventory.pickupmessage "You found the Tech Medallion"
  Inventory.RespawnTics 9999999999999999
  Scale 0.05
  states
  {
  Spawn:
    MEDE A -1 
    stop  
  Use:
    TNT1 A 0 A_JumpIfInventory("TechMedallionusagelimit", 1, "Good")
	TNT1 A 0 A_Print("Tech Medallion is recharging until the next level")
	Fail
  Good:
    TNT1 A 0 A_FireCustomMissile ("MarineBeaconThrown", 0, 0)
	TNT1 A 0 A_TakeInventory("TechMedallionusagelimit",1)
	Fail
  }
}

actor RageMedallion : CustomInventory
{
  //$Sprite MEDFA0
 +INVBAR
 +UNDROPPABLE
 -INVENTORY.INTERHUBSTRIP
  Inventory.DefMaxAmount 
  Inventory.MaxAmount 1
  Inventory.PickupFlash "PickupFlash"
  Inventory.icon "MEDFB0"
  Inventory.pickupmessage "You found the Rage Medallion"
  Inventory.RespawnTics 9999999999999999
  Scale 0.05
  states
  {
  Spawn:
    MEDF A -1 
    stop  
  Use:
    TNT1 A 0 A_JumpIfInventory("rageMedallionCooldownTime", 1, "Bad")
    TNT1 A 0 A_JumpIfInventory("PowerrageMedallionCooldown", 1, "Bad")
	TNT1 A 0 A_JumpIfInventory("rageMedallionusagelimit", 1, "Good")
	TNT1 A 0 A_Print("rage Medallion is recharging until the next level")
	Fail
	Good:
	TNT1 A 0 A_GiveInventory("PowerDoubleFiringSpeed",1)
	TNT1 A 0 A_GiveInventory("PowerHalfDamage",1)
	TNT1 A 0 A_TakeInventory("rageMedallionusagelimit",1)
	TNT1 A 0 A_GiveInventory("rageMedallionCooldown",1)
	TNT1 A 0 ACS_NamedExecuteAlways("rage",0,0,0,0)
	//TNT1 A 0 A_StartSound("purerage", CHAN_AUTO, CHANF_OVERLAP, 1.0, 600) //Zandronum incompatibl
	Fail
	Bad:
	TNT1 A 0
	Fail
	}
}

actor StarMedallion : Inventory
{
inventory.maxamount 1
}

ACTOR PowerHalfDamage : PowerProtection
{
  DamageFactor "Normal", 0.10
}

ACTOR HalfDamage : PowerupGiver
{
  Inventory.MaxAmount 1
  Powerup.Type "HalfDamage"
  Powerup.Duration 1050
  +INVENTORY.AUTOACTIVATE
}

actor RGARedScreen : PowerupGiver
{
  Tag ""
  powerup.type "RGABerserkPowerEffect"
  inventory.maxamount 0
  Powerup.Color 255, 0, 0, 0.1
  Powerup.Color RedMap
  powerup.duration -25
  +AUTOACTIVATE
  states
  {
  Spawn:
    TNT1 A -1
    stop
  }
}

actor timeSound : CustomInventory
{
  //$Sprite MEDDA0
 +INVBAR
 +UNDROPPABLE
 +AUTOACTIVATE
  states
  {
  Spawn:
    TNT1 A -1 
    stop  
  Use:
    	TNT1 A 0 A_PlaySound("time1", CHAN_AUTO|CHAN_NOPAUSE, 7.0, 0)
  }
}

actor rageSound : CustomInventory
{
  //$Sprite MEDDA0
 +INVBAR
 +UNDROPPABLE
 +AUTOACTIVATE
  states
  {
  Spawn:
    TNT1 A -1 
    stop  
  Use:
    	TNT1 A 0 A_PlaySound("PURERAGE", CHAN_AUTO|CHAN_NOPAUSE, 7.0, 0)
  }
}

actor RageSoundStop : rageSound {
	States {
	Pickup:
	Use:
		TNT1 A 0
		TNT1 A 0 A_StopSound (CHAN_AUTO)
		stop
	}
}

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

Actor KladeMedallionusagelimit : ammo
{
Inventory.MaxAmount 2 //Is actually one usage, but takes two maps to recharge
}
Actor KladeMedallionRailBeingFired : ammo
{
Inventory.MaxAmount 1
}
Actor KladeMedallionRailComplete : ammo
{
Inventory.MaxAmount 7
}
Actor KladeMedallionRailusagelimit : ammo
{
Inventory.MaxAmount 7
}
Actor KladeMedallionRailCooldownTime : ammo
{
Inventory.MaxAmount 50
}
Actor rageMedallionCooldownTime : ammo
{
Inventory.MaxAmount 224
}

Actor timeMedallionusagelimit : ammo
{
Inventory.MaxAmount 3
}
Actor timeMedallionCooldownTime : ammo
{
Inventory.MaxAmount 100
}
Actor BraceMedallionusagelimit : ammo
{
Inventory.MaxAmount 1
}
Actor BraceMedallionCounter : ammo
{
Inventory.MaxAmount 1
}
Actor TechMedallionusagelimit : ammo
{
Inventory.MaxAmount 1
}

ACTOR PowertimeMedallionCooldown : Powerup
{
	Powerup.Duration 4270
}

ACTOR timeMedallionCooldown : PowerupGiver
{
	Powerup.Type "PowertimeMedallionCooldown"
	+AUTOACTIVATE
}
ACTOR FreezeEvent : PowerupGiver
{
	Inventory.MaxAmount 1
	Powerup.Type TimeFreezer 
	Powerup.Duration -25 
	+AUTOACTIVATE
}

Actor rageMedallionusagelimit : ammo
{
Inventory.MaxAmount 2
}

ACTOR PowerrageMedallionCooldown : Powerup
{
	Powerup.Duration 9240
}

ACTOR rageMedallionCooldown : PowerupGiver
{
	Powerup.Type "PowerrageMedallionCooldown"
	+AUTOACTIVATE
}

ACTOR MissileTrail
{
RenderStyle Translucent
Alpha 0.75
Scale 0.2
+CLIENTSIDEONLY
+NOBLOCKMAP
+DONTSPLASH
+NOCLIP
+NOINTERACTION
+THRUACTORS
States
{
Spawn:
    TNT1 A 0
	TNT1 A 0
Standard:
    TNT1 A 1
	TNT1 A 0 A_SetScale(FRandom(0.1,0.3),FRandom(0.1,0.3))
    PDBA ABCDEFGHIJKL 1 A_FadeOut(0.1)
    Stop
Reduced:
    TNT1 A 1
	TNT1 A 0 A_SetScale(FRandom(0.1,0.3),FRandom(0.1,0.3))
    PDBA ABCDEFGHIJKL 1 A_FadeOut(0.2)
    Stop
Vanilla:
    TNT1 A 0
	Stop
    }
}

ACTOR CasingHitFloorToken : Inventory { Inventory.Amount 1 Inventory.MaxAmount 1 }

ACTOR BulletCasing
{
Radius 2
Height 2
Scale 0.18
+MISSILE
+CLIENTSIDEONLY
+NOTELEPORT	
+DOOMBOUNCE
+THRUACTORS
+DROPOFF
BounceFactor 0.5
WallBounceFactor 0.25
BounceCount 3
SeeSound "weapons/casing1"
States
{
Spawn:
	TNT1 A 0
	TNT1 A 0
Standard:
	TNT1 A 0 A_CheckSightOrRange(1000,"Reduced")
	TNT1 A 0 A_JumpIfInventory("CasingHitFloorToken",1,"HitFloor")
	CAS2 AABBCCDDEEFFGGHH 1 A_CustomMissile("CasingSmoke",FRandom(-1,1),FRandom(-1,1))
	Loop
Reduced:
	TNT1 A 0 A_CheckSightOrRange(1000,"Vanilla")
	TNT1 A 0 A_JumpIfInventory("CasingHitFloorToken",1,"HitFloor")
	CAS2 ABCDEFGH 2 A_CustomMissile("CasingSmoke",FRandom(-1,1),FRandom(-1,1))
	Loop
Death:
	TNT1 A 0 A_GiveInventory("CasingHitFloorToken",1)
HitFloor:
	TNT1 A 0 A_Jump(128,"Alt")
	TNT1 A 0 A_Jump(128,2)
	TNT1 A 0 A_SpawnItemEx("CasingSmoke2",0,0,0,0,0,0,0,128) 
	TNT1 A 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0)) >= 2,"FadeLoop")
	CAS2 C -1
FadeLoop:
	CAS2 C 8 A_FadeOut(0.1)
	Loop
Alt:
	TNT1 A 0 A_Jump(128,2)
	TNT1 A 0 A_SpawnItemEx("CasingSmoke2",0,0,0,0,0,0,0,128)
	TNT1 A 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0)) >= 2,"FadeLoop2")
	CAS2 G -1
FadeLoop2:
	CAS2 G 8 A_FadeOut(0.1)
	Loop
Vanilla:
	TNT1 A 0
	Stop
	}
}

ACTOR BulletCasing50AE : BulletCasing { Scale 0.28 }

ACTOR BulletCasing45 : BulletCasing { Scale 0.23 }

ACTOR RifleCasingAK47 : BulletCasing
{
Scale 0.22
SeeSound "weapons/casing1"
States
{
Spawn:
	TNT1 A 0
	TNT1 A 0
Standard:
	TNT1 A 0 A_CheckSightOrRange(1000,"Reduced")
	TNT1 A 0 A_JumpIfInventory("CasingHitFloorToken",1,"HitFloor")
	CAS9 GGHHAABBCCDDEEFF 1 A_CustomMissile("CasingSmoke",FRandom(-1,1),FRandom(-1,1))
	Loop
Reduced:
	TNT1 A 0 A_CheckSightOrRange(1000,"Vanilla")
	TNT1 A 0 A_JumpIfInventory("CasingHitFloorToken",1,"HitFloor")
	CAS9 GHABCDEF 2 A_CustomMissile("CasingSmoke",FRandom(-1,1),FRandom(-1,1))
	Loop
Death:
	TNT1 A 0 A_GiveInventory("CasingHitFloorToken",1)
HitFloor:
	TNT1 A 0 A_Jump(128,"Alt")
	TNT1 A 0 A_Jump(128,2)
	TNT1 A 0 A_SpawnItemEx("CasingSmoke2",0,0,0,0,0,0,0,128) 
	TNT1 A 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0)) >= 2,"FadeLoop")
	CAS9 A -1
FadeLoop:
	CAS9 A 8 A_FadeOut(0.1)
	Loop
Alt:
	TNT1 A 0 A_Jump(128,2)
	TNT1 A 0 A_SpawnItemEx("CasingSmoke2",0,0,0,0,0,0,0,128) 
	TNT1 A 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0)) >= 2,"FadeLoop2")
	CAS9 E -1
FadeLoop2:
	CAS9 E 8 A_FadeOut(0.1)
	Loop
	}
}

ACTOR RifleCasingSCAR : BulletCasing
{
Scale 0.25
SeeSound "weapons/casing1"
States
{
Spawn:
	TNT1 A 0
	TNT1 A 0
Standard:
	TNT1 A 0 A_CheckSightOrRange(1000,"Reduced")
	TNT1 A 0 A_JumpIfInventory("CasingHitFloorToken",1,"HitFloor")
	CAS7 GGHHAABBCCDDEEFF 1 A_CustomMissile("CasingSmoke",FRandom(-1,1),FRandom(-1,1))
	Loop
Reduced:
	TNT1 A 0 A_CheckSightOrRange(1000,"Vanilla")
	TNT1 A 0 A_JumpIfInventory("CasingHitFloorToken",1,"HitFloor")
	CAS7 GHABCDEF 2 A_CustomMissile("CasingSmoke",FRandom(-1,1),FRandom(-1,1))
	Loop
Death:
	TNT1 A 0 A_GiveInventory("CasingHitFloorToken",1)
HitFloor:
	TNT1 A 0 A_Jump(128,"Alt")
	TNT1 A 0 A_Jump(128,2)
	TNT1 A 0 A_SpawnItemEx("CasingSmoke2",0,0,0,0,0,0,0,128) 
	TNT1 A 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0)) >= 2,"FadeLoop")
	CAS7 A -1
FadeLoop:
	CAS7 A 8 A_FadeOut(0.1)
	Loop
Alt:
	TNT1 A 0 A_Jump(128,2)
	TNT1 A 0 A_SpawnItemEx("CasingSmoke2",0,0,0,0,0,0,0,128) 
	TNT1 A 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0)) >= 2,"FadeLoop2")
	CAS7 E -1
FadeLoop2:
	CAS7 E 8 A_FadeOut(0.1)
	Loop
	}
}

ACTOR CasingSmoke : MissileTrail
{
Alpha 0.6
States
{
Standard:
    TNT1 A 1
	TNT1 A 0 A_SetScale(FRandom(0.03,0.06),FRandom(0.03,0.06))
    PDBA ABCDEFGHIJKL 1 A_FadeOut(0.1)
    Stop
Reduced:
    TNT1 A 1
	TNT1 A 0 A_SetScale(FRandom(0.03,0.06),FRandom(0.03,0.06))
    PDBA ABCDEFGHIJKL 1 A_FadeOut(0.2)
    Stop
	}
}

ACTOR ShrapnelSmoke : CasingSmoke { Alpha 0.6 }

ACTOR CasingSmoke2 : CasingSmoke
{
Alpha 0.8
States
{
Standard:
	TNT1 A 0 A_SetScale(FRandom(0.08,0.24),FRandom(0.1,0.15))
FadeLoop:
    CASM ABCDEFGH 4 A_FadeOut(0.025)
    Loop
Reduced:
	TNT1 A 0 A_SetScale(FRandom(0.08,0.24),FRandom(0.1,0.15))
FadeLoop2:
    CASM ABCDEFGH 4 A_FadeOut(0.075)
    Loop
	}
}

ACTOR ShellCasing : BulletCasing
{
Scale 0.22
SeeSound "weapons/casing2"
States
{
Spawn:
	TNT1 A 0
	TNT1 A 0
Standard:
	TNT1 A 0 A_CheckSightOrRange(1000,"Reduced")
	TNT1 A 0 A_JumpIfInventory("CasingHitFloorToken",1,"HitFloor")
	REDC AABBCCDDEEFFGGHH 1 A_CustomMissile("CasingSmoke",FRandom(-1,1),FRandom(-1,1))
	Loop
Reduced:
	TNT1 A 0 A_CheckSightOrRange(1000,"Vanilla")
	TNT1 A 0 A_JumpIfInventory("CasingHitFloorToken",1,"HitFloor")
	REDC ABCDEFGH 2 A_CustomMissile("CasingSmoke",FRandom(-1,1),FRandom(-1,1))
	Loop
Death:
	TNT1 A 0 A_GiveInventory("CasingHitFloorToken",1)
HitFloor:
	TNT1 A 0 A_Jump(128,"Alt")
	TNT1 A 0 A_Jump(128,2)
	TNT1 A 0 A_SpawnItemEx("CasingSmoke2",0,0,0,0,0,0,0,128) 
	TNT1 A 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0)) >= 2,"FadeLoop")
	REDC C -1
FadeLoop:
	REDC C 8 A_FadeOut(0.1)
	Loop
Alt:
	TNT1 A 0 A_Jump(128,2)
	TNT1 A 0 A_SpawnItemEx("CasingSmoke2",0,0,0,0,0,0,0,128) 
	TNT1 A 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0)) >= 2,"FadeLoop2")
	REDC G -1
FadeLoop2:
	REDC G 8 A_FadeOut(0.1)
	Loop
	}
}

ACTOR ShellCasing410 : BulletCasing
{
Scale 0.13
SeeSound "weapons/casing2"
States
{
Spawn:
	TNT1 A 0
	TNT1 A 0
Standard:
	TNT1 A 0 A_CheckSightOrRange(1000,"Reduced")
	TNT1 A 0 A_JumpIfInventory("CasingHitFloorToken",1,"HitFloor")
	REDC AABBCCDDEEFFGGHH 1 A_CustomMissile("CasingSmoke",FRandom(-1,1),FRandom(-1,1))
	Loop
Reduced:
	TNT1 A 0 A_CheckSightOrRange(1000,"Vanilla")
	TNT1 A 0 A_JumpIfInventory("CasingHitFloorToken",1,"HitFloor")
	REDC ABCDEFGH 2 A_CustomMissile("CasingSmoke",FRandom(-1,1),FRandom(-1,1))
	Loop
Death:
	TNT1 A 0 A_GiveInventory("CasingHitFloorToken",1)
HitFloor:
	TNT1 A 0 A_Jump(128,"Alt")
	TNT1 A 0 A_Jump(128,2)
	TNT1 A 0 A_SpawnItemEx("CasingSmoke2",0,0,0,0,0,0,0,128) 
	TNT1 A 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0)) >= 2,"FadeLoop")
	REDC C -1
FadeLoop:
	REDC C 8 A_FadeOut(0.1)
	Loop
Alt:
	TNT1 A 0 A_Jump(128,2)
	TNT1 A 0 A_SpawnItemEx("CasingSmoke2",0,0,0,0,0,0,0,128) 
	TNT1 A 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0)) >= 2,"FadeLoop2")
	REDC G -1
FadeLoop2:
	REDC G 8 A_FadeOut(0.1)
	Loop
	}
}

ACTOR BlueShellCasing : ShellCasing
{
Scale 0.24
SeeSound "weapons/casing2"
States
{
Spawn:
	TNT1 A 0
	TNT1 A 0
Standard:
	TNT1 A 0 A_CheckSightOrRange(1000,"Reduced")
	TNT1 A 0 A_JumpIfInventory("CasingHitFloorToken",1,"HitFloor")
	BLEC AABBCCDDEEFFGGHH 1 A_CustomMissile("CasingSmoke",FRandom(-1,1),FRandom(-1,1))
	Loop
Reduced:
	TNT1 A 0 A_CheckSightOrRange(1000,"Vanilla")
	TNT1 A 0 A_JumpIfInventory("CasingHitFloorToken",1,"HitFloor")
	BLEC ABCDEFGH 2 A_CustomMissile("CasingSmoke",FRandom(-1,1),FRandom(-1,1))
	Loop
Death:
	TNT1 A 0 A_GiveInventory("CasingHitFloorToken",1)
HitFloor:
	TNT1 A 0 A_Jump(128,"Alt")
	TNT1 A 0 A_Jump(128,2)
	TNT1 A 0 A_SpawnItemEx("CasingSmoke2",0,0,0,0,0,0,0,128) 
	TNT1 A 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0)) >= 2,"FadeLoop")
	BLEC C -1
FadeLoop:
	BLEC C 8 A_FadeOut(0.1)
	Loop
Alt:
	TNT1 A 0 A_Jump(128,2)
	TNT1 A 0 A_SpawnItemEx("CasingSmoke2",0,0,0,0,0,0,0,128) 
	TNT1 A 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0)) >= 2,"FadeLoop2")
	BLEC G -1
FadeLoop2:
	BLEC G 8 A_FadeOut(0.1)
	Loop
	}
}

ACTOR SSGShellCasing : ShellCasing
{
States
{
Spawn:
	TNT1 A 0
	TNT1 A 0
Standard:
	TNT1 A 0 A_CheckSightOrRange(1000,"Reduced")
	TNT1 A 0 A_JumpIfInventory("CasingHitFloorToken",1,"HitFloor")
	REDC DDCCBBAAHHGGFFEE 1 A_CustomMissile("CasingSmoke",FRandom(-1,1),FRandom(-1,1))
	Loop
Reduced:
	TNT1 A 0 A_CheckSightOrRange(1000,"Vanilla")
	TNT1 A 0 A_JumpIfInventory("CasingHitFloorToken",1,"HitFloor")
	REDC DCBAHGFE 2 A_CustomMissile("CasingSmoke",FRandom(-1,1),FRandom(-1,1))
	Loop
	}
}

ACTOR OrangeShellCasing : ShellCasing
{
States
{
Spawn:
	TNT1 A 0
	TNT1 A 0
Standard:
	TNT1 A 0 A_CheckSightOrRange(1000,"Reduced")
	TNT1 A 0 A_JumpIfInventory("CasingHitFloorToken",1,"HitFloor")
	ORNC DDCCBBAAHHGGFFEE 1 A_CustomMissile("CasingSmoke",FRandom(-1,1),FRandom(-1,1))
	Loop
Reduced:
	TNT1 A 0 A_CheckSightOrRange(1000,"Vanilla")
	TNT1 A 0 A_JumpIfInventory("CasingHitFloorToken",1,"HitFloor")
	ORNC DCBAHGFE 2 A_CustomMissile("CasingSmoke",FRandom(-1,1),FRandom(-1,1))
	Loop
Death:
	TNT1 A 0 A_GiveInventory("CasingHitFloorToken",1)
HitFloor:
	TNT1 A 0 A_Jump(128,"Alt")
	TNT1 A 0 A_Jump(128,2)
	TNT1 A 0 A_SpawnItemEx("CasingSmoke2",0,0,0,0,0,0,0,128) 
	TNT1 A 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0)) >= 2,"FadeLoop")
	ORNC C -1
FadeLoop:
	ORNC C 8 A_FadeOut(0.1)
	Loop
Alt:
	TNT1 A 0 A_Jump(128,2)
	TNT1 A 0 A_SpawnItemEx("CasingSmoke2",0,0,0,0,0,0,0,128) 
	TNT1 A 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0)) >= 2,"FadeLoop2")
	ORNC G -1
FadeLoop2:
	ORNC G 8 A_FadeOut(0.1)
	Loop
	}
}

ACTOR RifleCasing : BulletCasing
{
Scale 0.18
SeeSound "weapons/casing1"
States
{
Spawn:
	TNT1 A 0
	TNT1 A 0
Standard:
	TNT1 A 0 A_CheckSightOrRange(1000,"Reduced")
	TNT1 A 0 A_JumpIfInventory("CasingHitFloorToken",1,"HitFloor")
	CAS7 GGHHAABBCCDDEEFF 1 A_CustomMissile("CasingSmoke",FRandom(-1,1),FRandom(-1,1))
	Loop
Reduced:
	TNT1 A 0 A_CheckSightOrRange(1000,"Vanilla")
	TNT1 A 0 A_JumpIfInventory("CasingHitFloorToken",1,"HitFloor")
	CAS7 GHABCDEF 2 A_CustomMissile("CasingSmoke",FRandom(-1,1),FRandom(-1,1))
	Loop
Death:
	TNT1 A 0 A_GiveInventory("CasingHitFloorToken",1)
HitFloor:
	TNT1 A 0 A_Jump(128,"Alt")
	TNT1 A 0 A_Jump(128,2)
	TNT1 A 0 A_SpawnItemEx("CasingSmoke2",0,0,0,0,0,0,0,128) 
	TNT1 A 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0)) >= 2,"FadeLoop")
	CAS7 A -1
FadeLoop:
	CAS7 A 8 A_FadeOut(0.1)
	Loop
Alt:
	TNT1 A 0 A_Jump(128,2)
	TNT1 A 0 A_SpawnItemEx("CasingSmoke2",0,0,0,0,0,0,0,128) 
	TNT1 A 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0)) >= 2,"FadeLoop2")
	CAS7 E -1
FadeLoop2:
	CAS7 E 8 A_FadeOut(0.1)
	Loop
	}
}

ACTOR RifleCasingP90 : BulletCasing
{
Scale 0.25
SeeSound "weapons/casing1"
States
{
Spawn:
	TNT1 A 0
	TNT1 A 0
Standard:
	TNT1 A 0 A_CheckSightOrRange(1000,"Reduced")
	TNT1 A 0 A_JumpIfInventory("CasingHitFloorToken",1,"HitFloor")
	CAS3 AABBCCDDEEFFGG 1 A_CustomMissile("CasingSmoke",FRandom(-1,1),FRandom(-1,1))
	Loop
Reduced:
	TNT1 A 0 A_CheckSightOrRange(1000,"Vanilla")
	TNT1 A 0 A_JumpIfInventory("CasingHitFloorToken",1,"HitFloor")
	CAS3 ABCDEFG 2 A_CustomMissile("CasingSmoke",FRandom(-1,1),FRandom(-1,1))
	Loop
Death:
	TNT1 A 0 A_GiveInventory("CasingHitFloorToken",1)
HitFloor:
	TNT1 A 0 A_Jump(128,"Alt")
	TNT1 A 0 A_Jump(128,2)
	TNT1 A 0 A_SpawnItemEx("CasingSmoke2",0,0,0,0,0,0,0,128) 
	TNT1 A 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0)) >= 2,"FadeLoop")
	CAS3 C -1
FadeLoop:
	CAS3 C 8 A_FadeOut(0.1)
	Loop
Alt:
	TNT1 A 0 A_Jump(128,2)
	TNT1 A 0 A_SpawnItemEx("CasingSmoke2",0,0,0,0,0,0,0,128) 
	TNT1 A 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0)) >= 2,"FadeLoop2")
	CAS3 G -1
FadeLoop2:
	CAS3 G 8 A_FadeOut(0.1)
	Loop
	}
}

ACTOR RifleCasing50Cal : BulletCasing
{
Scale 0.16
SeeSound "weapons/casing1"
States
{
Spawn:
	TNT1 A 0
	TNT1 A 0
Standard:
	TNT1 A 0 A_CheckSightOrRange(1000,"Reduced")
	TNT1 A 0 A_JumpIfInventory("CasingHitFloorToken",1,"HitFloor")
	CAS3 OONNMMLLKKTTSSRRQQPP 1 A_CustomMissile("CasingSmoke",FRandom(-1,1),FRandom(-1,1))
	Loop
Reduced:
	TNT1 A 0 A_CheckSightOrRange(1000,"Vanilla")
	TNT1 A 0 A_JumpIfInventory("CasingHitFloorToken",1,"HitFloor")
	CAS3 ONMLKTSRQP 2 A_CustomMissile("CasingSmoke",FRandom(-1,1),FRandom(-1,1))
	Loop
Death:
	TNT1 A 0 A_GiveInventory("CasingHitFloorToken",1)
HitFloor:
	TNT1 A 0 A_Jump(128,"Alt")
	TNT1 A 0 A_Jump(128,2)
	TNT1 A 0 A_SpawnItemEx("CasingSmoke2",0,0,0,0,0,0,0,128) 
	TNT1 A 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0)) >= 2,"FadeLoop")
	CAS3 M -1
FadeLoop:
	CAS3 M 8 A_FadeOut(0.1)
	Loop
Alt:
	TNT1 A 0 A_Jump(128,2)
	TNT1 A 0 A_SpawnItemEx("CasingSmoke2",0,0,0,0,0,0,0,128) 
	TNT1 A 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0)) >= 2,"FadeLoop2")
	CAS3 R -1
FadeLoop2:
	CAS3 R 8 A_FadeOut(0.1)
	Loop
	}
}

ACTOR RifleCasing50CalEXP : BulletCasing
{
Scale 0.14
SeeSound "weapons/casing1"
States
{
Spawn:
	TNT1 A 0
	TNT1 A 0
Standard:
	TNT1 A 0 A_CheckSightOrRange(1000,"Reduced")
	TNT1 A 0 A_JumpIfInventory("CasingHitFloorToken",1,"HitFloor")
	CSL3 GGFFEEDDCCBBAAQQPPOONNMMLLKK 1 A_CustomMissile("CasingSmoke",FRandom(-1,1),FRandom(-1,1))
	Loop
Reduced:
	TNT1 A 0 A_CheckSightOrRange(1000,"Vanilla")
	TNT1 A 0 A_JumpIfInventory("CasingHitFloorToken",1,"HitFloor")
	CSL3 GFEDCBAQPONMLK 2 A_CustomMissile("CasingSmoke",FRandom(-1,1),FRandom(-1,1))
	Loop
Death:
	TNT1 A 0 A_GiveInventory("CasingHitFloorToken",1)
HitFloor:
	TNT1 A 0 A_Jump(128,"Alt")
	TNT1 A 0 A_Jump(128,2)
	TNT1 A 0 A_SpawnItemEx("CasingSmoke2",0,0,0,0,0,0,0,128) 
	TNT1 A 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0)) >= 2,"FadeLoop")
	CSL3 N -1
FadeLoop:
	CSL3 N 8 A_FadeOut(0.1)
	Loop
Alt:
	TNT1 A 0 A_Jump(128,2)
	TNT1 A 0 A_SpawnItemEx("CasingSmoke2",0,0,0,0,0,0,0,128) 
	TNT1 A 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0)) >= 2,"FadeLoop2")
	CSL3 D -1
FadeLoop2:
	CSL3 D 8 A_FadeOut(0.1)
	Loop
	}
}

ACTOR RifleCasingCheyTac : BulletCasing
{
Scale 0.13
SeeSound "weapons/casing1"
States
{
Spawn:
	TNT1 A 0
	TNT1 A 0
Standard:
	TNT1 A 0 A_CheckSightOrRange(1000,"Reduced")
	TNT1 A 0 A_JumpIfInventory("CasingHitFloorToken",1,"HitFloor")
	CAS3 OONNMMLLKKTTSSRRQQPP 1 A_CustomMissile("CasingSmoke",FRandom(-1,1),FRandom(-1,1))
	Loop
Reduced:
	TNT1 A 0 A_CheckSightOrRange(1000,"Vanilla")
	TNT1 A 0 A_JumpIfInventory("CasingHitFloorToken",1,"HitFloor")
	CAS3 ONMLKTSRQP 2 A_CustomMissile("CasingSmoke",FRandom(-1,1),FRandom(-1,1))
	Loop
Death:
	TNT1 A 0 A_GiveInventory("CasingHitFloorToken",1)
HitFloor:
	TNT1 A 0 A_Jump(128,"Alt")
	TNT1 A 0 A_Jump(128,2)
	TNT1 A 0 A_SpawnItemEx("CasingSmoke2",0,0,0,0,0,0,0,128) 
	TNT1 A 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0)) >= 2,"FadeLoop")
	CAS3 M -1
FadeLoop:
	CAS3 M 8 A_FadeOut(0.1)
	Loop
Alt:
	TNT1 A 0 A_Jump(128,2)
	TNT1 A 0 A_SpawnItemEx("CasingSmoke2",0,0,0,0,0,0,0,128) 
	TNT1 A 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0)) >= 2,"FadeLoop2")
	CAS3 R -1
FadeLoop2:
	CAS3 R 8 A_FadeOut(0.1)
	Loop
	}
}

ACTOR RifleCasingCheyTacEXP : BulletCasing
{
Scale 0.11
SeeSound "weapons/casing1"
States
{
Spawn:
	TNT1 A 0
	TNT1 A 0
Standard:
	TNT1 A 0 A_CheckSightOrRange(1000,"Reduced")
	TNT1 A 0 A_JumpIfInventory("CasingHitFloorToken",1,"HitFloor")
	CSL3 GGFFEEDDCCBBAAQQPPOONNMMLLKK 1 A_CustomMissile("CasingSmoke",FRandom(-1,1),FRandom(-1,1))
	Loop
Reduced:
	TNT1 A 0 A_CheckSightOrRange(1000,"Vanilla")
	TNT1 A 0 A_JumpIfInventory("CasingHitFloorToken",1,"HitFloor")
	CSL3 GFEDCBAQPONMLK 2 A_CustomMissile("CasingSmoke",FRandom(-1,1),FRandom(-1,1))
	Loop
Death:
	TNT1 A 0 A_GiveInventory("CasingHitFloorToken",1)
HitFloor:
	TNT1 A 0 A_Jump(128,"Alt")
	TNT1 A 0 A_Jump(128,2)
	TNT1 A 0 A_SpawnItemEx("CasingSmoke2",0,0,0,0,0,0,0,128) 
	TNT1 A 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0)) >= 2,"FadeLoop")
	CSL3 N -1
FadeLoop:
	CSL3 N 8 A_FadeOut(0.1)
	Loop
Alt:
	TNT1 A 0 A_Jump(128,2)
	TNT1 A 0 A_SpawnItemEx("CasingSmoke2",0,0,0,0,0,0,0,128) 
	TNT1 A 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0)) >= 2,"FadeLoop2")
	CSL3 D -1
FadeLoop2:
	CSL3 D 8 A_FadeOut(0.1)
	Loop
	}
}

ACTOR RifleCasingMK14 : BulletCasing
{
Scale 0.11
SeeSound "weapons/casing1"
States
{
Spawn:
	TNT1 A 0
	TNT1 A 0
Standard:
	TNT1 A 0 A_CheckSightOrRange(1000,"Reduced")
	TNT1 A 0 A_JumpIfInventory("CasingHitFloorToken",1,"HitFloor")
	CAS3 OONNMMLLKKTTSSRRQQPP 1 A_CustomMissile("CasingSmoke",FRandom(-1,1),FRandom(-1,1))
	Loop
Reduced:
	TNT1 A 0 A_CheckSightOrRange(1000,"Vanilla")
	TNT1 A 0 A_JumpIfInventory("CasingHitFloorToken",1,"HitFloor")
	CAS3 ONMLKTSRQP 2 A_CustomMissile("CasingSmoke",FRandom(-1,1),FRandom(-1,1))
	Loop
Death:
	TNT1 A 0 A_GiveInventory("CasingHitFloorToken",1)
HitFloor:
	TNT1 A 0 A_Jump(128,"Alt")
	TNT1 A 0 A_Jump(128,2)
	TNT1 A 0 A_SpawnItemEx("CasingSmoke2",0,0,0,0,0,0,0,128) 
	TNT1 A 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0)) >= 2,"FadeLoop")
	CAS3 M -1
FadeLoop:
	CAS3 M 8 A_FadeOut(0.1)
	Loop
Alt:
	TNT1 A 0 A_Jump(128,2)
	TNT1 A 0 A_SpawnItemEx("CasingSmoke2",0,0,0,0,0,0,0,128) 
	TNT1 A 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0)) >= 2,"FadeLoop2")
	CAS3 R -1
FadeLoop2:
	CAS3 R 8 A_FadeOut(0.1)
	Loop
	}
}

ACTOR RifleCasingMK14EXP : BulletCasing
{
Scale 0.09
SeeSound "weapons/casing1"
States
{
Spawn:
	TNT1 A 0
	TNT1 A 0
Standard:
	TNT1 A 0 A_CheckSightOrRange(1000,"Reduced")
	TNT1 A 0 A_JumpIfInventory("CasingHitFloorToken",1,"HitFloor")
	CSL3 GGFFEEDDCCBBAAQQPPOONNMMLLKK 1 A_CustomMissile("CasingSmoke",FRandom(-1,1),FRandom(-1,1))
	Loop
Reduced:
	TNT1 A 0 A_CheckSightOrRange(1000,"Vanilla")
	TNT1 A 0 A_JumpIfInventory("CasingHitFloorToken",1,"HitFloor")
	CSL3 GFEDCBAQPONMLK 2 A_CustomMissile("CasingSmoke",FRandom(-1,1),FRandom(-1,1))
	Loop
Death:
	TNT1 A 0 A_GiveInventory("CasingHitFloorToken",1)
HitFloor:
	TNT1 A 0 A_Jump(128,"Alt")
	TNT1 A 0 A_Jump(128,2)
	TNT1 A 0 A_SpawnItemEx("CasingSmoke2",0,0,0,0,0,0,0,128) 
	TNT1 A 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0)) >= 2,"FadeLoop")
	CSL3 N -1
FadeLoop:
	CSL3 N 8 A_FadeOut(0.1)
	Loop
Alt:
	TNT1 A 0 A_Jump(128,2)
	TNT1 A 0 A_SpawnItemEx("CasingSmoke2",0,0,0,0,0,0,0,128) 
	TNT1 A 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0)) >= 2,"FadeLoop2")
	CSL3 D -1
FadeLoop2:
	CSL3 D 8 A_FadeOut(0.1)
	Loop
	}
}

ACTOR EmptyLMGMag : BulletCasing
{
Scale 0.20
SeeSound "weapons/emptydrum"
States
{
Spawn:
	TNT1 A 0
	TNT1 A 0
Standard:
Reduced:
	TNT1 A 0 A_CheckSightOrRange(1000,"Vanilla")
	DRM9 C 3  
	Loop
Death:
    TNT1 A 0 A_Jump(128,"Alt")
	TNT1 A 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0)) >= 2,"FadeLoop")
    DRM9 C -1
FadeLoop:
    DRM9 C 8 A_FadeOut(0.1)
    Loop
Alt:
	TNT1 A 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0)) >= 2,"FadeLoop2")
    DRM9 C -1
FadeLoop2:
	DRM9 C 8 A_FadeOut(0.1)
	Loop
	}
}

ACTOR EmptyLMGMagExt : BulletCasing
{
Scale 0.20
SeeSound "weapons/emptydrum"
States
{
Spawn:
	TNT1 A 0
	TNT1 A 0
Standard:
Reduced:
	TNT1 A 0 A_CheckSightOrRange(1000,"Vanilla")
	LDR1 C 3  
	Loop
Death:
    TNT1 A 0 A_Jump(128,"Alt")
	TNT1 A 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0)) >= 2,"FadeLoop")
    LDR1 C -1
FadeLoop:
    LDR1 C 8 A_FadeOut(0.1)
	Loop
Alt:
	TNT1 A 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0)) >= 2,"FadeLoop2")
    LDR1 C -1
FadeLoop2:
	LDR1 C 8 A_FadeOut(0.1)
	Loop
	}
}

ACTOR RifleLink : BulletCasing
{
Scale 0.08
SeeSound "weapons/casing1"
States
{
Spawn:
	TNT1 A 0
	TNT1 A 0
Standard:
Reduced:
	TNT1 A 0 A_CheckSightOrRange(1000,"Vanilla")
	TNT1 A 0 A_JumpIfInventory("CasingHitFloorToken",1,"HitFloor")
	BULN ABCDE 2
	Loop
Death:
	TNT1 A 0 A_GiveInventory("CasingHitFloorToken",1)
HitFloor:
	TNT1 A 0 A_Jump(128,"Alt")
	TNT1 A 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0)) >= 2,"FadeLoop")
	BULN B -1
FadeLoop:
	BULN B 8 A_FadeOut(0.1)
	Loop
Alt:
	TNT1 A 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0)) >= 2,"FadeLoop2")
	BULN E -1
FadeLoop2:
	BULN E 8 A_FadeOut(0.1)
	Loop
	}
}

ACTOR ShellLink : RifleLink { Scale 0.1 }

ACTOR PistolEmptyMag : BulletCasing
{
Scale 0.65
SeeSound "MP40/EmptyMagazine"
States
{
Spawn:
	TNT1 A 0
	TNT1 A 0
Standard:
Reduced:
	TNT1 A 0 A_CheckSightOrRange(1000,"Vanilla")
	CLP1 ABCDEFGH 3  
	Loop
Death:
    TNT1 A 0 A_Jump(128,"Alt")
	TNT1 A 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0)) >= 2,"FadeLoop")
    CLP1 C -1
FadeLoop:
    CLP1 C 8 A_FadeOut(0.1)
    Loop
Alt:
	TNT1 A 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0)) >= 2,"FadeLoop2")
    CLP1 G -1
FadeLoop2:
	CLP1 G 8 A_FadeOut(0.1)
	Loop
	}
}

ACTOR PistolExtEmptyMag : BulletCasing
{
Scale 0.65
SeeSound "MP40/EmptyMagazine"
States
{
Spawn:
	TNT1 A 0
	TNT1 A 0
Standard:
Reduced:
	TNT1 A 0 A_CheckSightOrRange(1000,"Vanilla")
	CLP3 ABCDEFGH 3  
	Loop
Death:
    TNT1 A 0 A_Jump(128,"Alt")
	TNT1 A 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0)) >= 2,"FadeLoop")
    CLP3 C -1
FadeLoop:
    CLP3 C 8 A_FadeOut(0.1)
    Loop
Alt:
	TNT1 A 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0)) >= 2,"FadeLoop2")
    CLP3 G -1
FadeLoop2:
	CLP3 G 8 A_FadeOut(0.1)
	Loop
	}
}

ACTOR G18EmptyMag : BulletCasing
{
Scale 0.65
SeeSound "MP40/EmptyMagazine"
States
{
Spawn:
	TNT1 A 0
	TNT1 A 0
Standard:
Reduced:
	TNT1 A 0 A_CheckSightOrRange(1000,"Vanilla")
	CLP4 ABCDEFGH 3  
	Loop
Death:
    TNT1 A 0 A_Jump(128,"Alt")
	TNT1 A 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0)) >= 2,"FadeLoop")
    CLP4 C -1
FadeLoop:
    CLP4 C 8 A_FadeOut(0.1)
    Loop
Alt:
	TNT1 A 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0)) >= 2,"FadeLoop2")
    CLP4 G -1
FadeLoop2:
	CLP4 G 8 A_FadeOut(0.1)
	Loop
	}
}

ACTOR SMGEmptyMag : BulletCasing
{
Scale 0.65
SeeSound "MP40/EmptyMagazine"
States
{
Spawn:
	TNT1 A 0
	TNT1 A 0
Standard:
Reduced:
	TNT1 A 0 A_CheckSightOrRange(1000,"Vanilla")
	CLP2 ABCDEFGH 3  
	Loop
Death:
    TNT1 A 0 A_Jump(128,"Alt")
	TNT1 A 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0)) >= 2,"FadeLoop")
    CLP2 C -1
FadeLoop:
    CLP2 C 8 A_FadeOut(0.1)
    Loop
Alt:
	TNT1 A 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0)) >= 2,"FadeLoop2")
    CLP2 G -1
FadeLoop2:
	CLP2 G 8 A_FadeOut(0.1)
	Loop
	}
}
ACTOR SMGEmptyMagExt : BulletCasing
{
Scale 0.65
SeeSound "MP40/EmptyMagazine"
States
{
Spawn:
	TNT1 A 0
	TNT1 A 0
Standard:
Reduced:
	TNT1 A 0 A_CheckSightOrRange(1000,"Vanilla")
	C2EX ABCDEFGH 3  
	Loop
Death:
    TNT1 A 0 A_Jump(128,"Alt")
	TNT1 A 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0)) >= 2,"FadeLoop")
    C2EX C -1
FadeLoop:
    C2EX C 8 A_FadeOut(0.1)
    Loop
Alt:
	TNT1 A 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0)) >= 2,"FadeLoop2")
    C2EX G -1
FadeLoop2:
	C2EX G 8 A_FadeOut(0.1)
	Loop
	}
}

ACTOR P90EmptyMag : BulletCasing
{
Scale 0.72
SeeSound "MP40/EmptyMagazine"
States
{
Spawn:
	TNT1 A 0
	TNT1 A 0
Standard:
Reduced:
	TNT1 A 0 A_CheckSightOrRange(1000,"Vanilla")
	CLP5 ABCDEFGH 3  
	Loop
Death:
    TNT1 A 0 A_Jump(128,"Alt")
	TNT1 A 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0)) >= 2,"FadeLoop")
    CLP5 C -1
FadeLoop:
    CLP5 C 8 A_FadeOut(0.1)
    Loop
Alt:
	TNT1 A 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0)) >= 2,"FadeLoop2")
    CLP5 G -1
FadeLoop2:
	CLP5 G 8 A_FadeOut(0.1)
	Loop
	}
}

ACTOR MP5EmptyMag : BulletCasing
{
Scale 0.65
SeeSound "MP40/EmptyMagazine"
States
{
Spawn:
	TNT1 A 0
	TNT1 A 0
Standard:
Reduced:
	TNT1 A 0 A_CheckSightOrRange(1000,"Vanilla")
	MAGC ABCDEFGH 3
	Loop
Death:
    TNT1 A 0 A_Jump(128,"Alt")
	TNT1 A 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0)) >= 2,"FadeLoop")
    MAGC C -1
FadeLoop:
    MAGC C 8 A_FadeOut(0.1)
    Loop
Alt:
	TNT1 A 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0)) >= 2,"FadeLoop2")
    MAGC G -1
FadeLoop2:
	MAGC G 8 A_FadeOut(0.1)
	Loop
	}
}
ACTOR MP5EmptyMagExt : BulletCasing
{
Scale 0.65
SeeSound "MP40/EmptyMagazine"
States
{
Spawn:
	TNT1 A 0
	TNT1 A 0
Standard:
Reduced:
	TNT1 A 0 A_CheckSightOrRange(1000,"Vanilla")
	MPEX ABCDEFGH 3 
	Loop
Death:
    TNT1 A 0 A_Jump(128,"Alt")
	TNT1 A 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0)) >= 2,"FadeLoop")
    MPEX C -1
FadeLoop:
    MPEX C 8 A_FadeOut(0.1)
    Loop
Alt:
	TNT1 A 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0)) >= 2,"FadeLoop2")
    MPEX G -1
FadeLoop2:
	MPEX G 8 A_FadeOut(0.1)
	Loop
	}
}
ACTOR MP5EmptyMagSOH : BulletCasing
{
Scale 0.65
SeeSound "MP40/EmptyMagazine"
States
{
Spawn:
	TNT1 A 0
	TNT1 A 0
Standard:
Reduced:
	TNT1 A 0 A_CheckSightOrRange(1000,"Vanilla")
	MAGC ABCDEFGH 1
	Loop
Death:
    TNT1 A 0 A_Jump(128,"Alt")
	TNT1 A 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0)) >= 2,"FadeLoop")
    MAGC C -1
FadeLoop:
    MAGC C 8 A_FadeOut(0.1)
    Loop
Alt:
	TNT1 A 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0)) >= 2,"FadeLoop2")
    MAGC G -1
FadeLoop2:
	MAGC G 8 A_FadeOut(0.1)
	Loop
	}
}

ACTOR EmptyBoxMag : BulletCasing
{
Scale 0.58
SeeSound "weapons/emptydrum"
States
{
Spawn:
	TNT1 A 0
	TNT1 A 0
Standard:
Reduced:
	TNT1 A 0 A_CheckSightOrRange(1000,"Vanilla")
	ESBX ABCDEFGH 3 
	Loop
Death:
    TNT1 A 0 A_Jump(128,"Alt")
	TNT1 A 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0)) >= 2,"FadeLoop")
    ESBX C -1
FadeLoop:
    ESBX C 8 A_FadeOut(0.1)
    Loop
Alt:
	TNT1 A 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0)) >= 2,"FadeLoop2")
    ESBX G -1
FadeLoop2:
	ESBX G 8 A_FadeOut(0.1)
	Loop
	}
}
ACTOR ACREmptyMagExtended : BulletCasing
{
Scale 0.58
SeeSound "weapons/emptydrum"
States
{
Spawn:
	TNT1 A 0
	TNT1 A 0
Standard:
Reduced:
	TNT1 A 0 A_CheckSightOrRange(1000,"Vanilla")
	ACRE ABCDEFGH 3 
	Loop
Death:
    TNT1 A 0 A_Jump(128,"Alt")
	TNT1 A 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0)) >= 2,"FadeLoop")
    ACRE C -1
FadeLoop:
    ACRE C 8 A_FadeOut(0.1)
    Loop
Alt:
	TNT1 A 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0)) >= 2,"FadeLoop2")
    ACRE G -1
FadeLoop2:
	ACRE G 8 A_FadeOut(0.1)
	Loop
	}
}
ACTOR ACREmptyMag : BulletCasing
{
Scale 0.58
SeeSound "weapons/emptydrum"
States
{
Spawn:
	TNT1 A 0
	TNT1 A 0
Standard:
Reduced:
	TNT1 A 0 A_CheckSightOrRange(1000,"Vanilla")
	ACRX ABCDEFGH 3 
	Loop
Death:
    TNT1 A 0 A_Jump(128,"Alt")
	TNT1 A 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0)) >= 2,"FadeLoop")
    ACRX C -1
FadeLoop:
    ACRX C 8 A_FadeOut(0.1)
    Loop
Alt:
	TNT1 A 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0)) >= 2,"FadeLoop2")
    ACRX G -1
FadeLoop2:
	ACRX G 8 A_FadeOut(0.1)
	Loop
	}
}
ACTOR F2000EmptyMagExtended : BulletCasing
{
Scale 0.58
SeeSound "weapons/emptydrum"
States
{
Spawn:
	TNT1 A 0
	TNT1 A 0
Standard:
Reduced:
	TNT1 A 0 A_CheckSightOrRange(1000,"Vanilla")
	ESBX ABCDEFGH 3 
	Loop
Death:
    TNT1 A 0 A_Jump(128,"Alt")
	TNT1 A 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0)) >= 2,"FadeLoop")
    FFFE C -1
FadeLoop:
    FFFE C 8 A_FadeOut(0.1)
    Loop
Alt:
	TNT1 A 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0)) >= 2,"FadeLoop2")
    FFFE G -1
FadeLoop2:
	FFFE G 8 A_FadeOut(0.1)
	Loop
	}
}
ACTOR M16EmptyMagExtended : BulletCasing
{
Scale 0.58
SeeSound "weapons/emptydrum"
States
{
Spawn:
	TNT1 A 0
	TNT1 A 0
Standard:
Reduced:
	TNT1 A 0 A_CheckSightOrRange(1000,"Vanilla")
	ESBX ABCDEFGH 3 
	Loop
Death:
    TNT1 A 0 A_Jump(128,"Alt")
	TNT1 A 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0)) >= 2,"FadeLoop")
    MM16 C -1
FadeLoop:
    MM16 C 8 A_FadeOut(0.1)
    Loop
Alt:
	TNT1 A 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0)) >= 2,"FadeLoop2")
    MM16 G -1
FadeLoop2:
	MM16 G 8 A_FadeOut(0.1)
	Loop
	}
}
ACTOR SCAREmptyMag : BulletCasing
{
Scale 0.58
SeeSound "weapons/emptydrum"
States
{
Spawn:
	TNT1 A 0
	TNT1 A 0
Standard:
Reduced:
	TNT1 A 0 A_CheckSightOrRange(1000,"Vanilla")
	SCAX ABCDEFGH 3 
	Loop
Death:
    TNT1 A 0 A_Jump(128,"Alt")
	TNT1 A 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0)) >= 2,"FadeLoop")
    SCAX C -1
FadeLoop:
    SCAX C 8 A_FadeOut(0.1)
    Loop
Alt:
	TNT1 A 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0)) >= 2,"FadeLoop2")
    SCAX G -1
FadeLoop2:
	SCAX G 8 A_FadeOut(0.1)
	Loop
	}
}
ACTOR SCAREmptyMagExt : BulletCasing
{
Scale 0.58
SeeSound "weapons/emptydrum"
States
{
Spawn:
	TNT1 A 0
	TNT1 A 0
Standard:
Reduced:
	TNT1 A 0 A_CheckSightOrRange(1000,"Vanilla")
	SCEX ABCDEFGH 3 
	Loop
Death:
    TNT1 A 0 A_Jump(128,"Alt")
	TNT1 A 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0)) >= 2,"FadeLoop")
    SCEX C -1
FadeLoop:
    SCEX C 8 A_FadeOut(0.1)
    Loop
Alt:
	TNT1 A 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0)) >= 2,"FadeLoop2")
    SCEX G -1
FadeLoop2:
	SCEX G 8 A_FadeOut(0.1)
	Loop
	}
}
ACTOR AA12EmptyMag : BulletCasing
{
Scale 0.58
SeeSound "weapons/emptydrum"
States
{
Spawn:
	TNT1 A 0
	TNT1 A 0
Standard:
Reduced:
	TNT1 A 0 A_CheckSightOrRange(1000,"Vanilla")
	AAMA ABCDEFGH 3 
	Loop
Death:
    TNT1 A 0 A_Jump(128,"Alt")
	TNT1 A 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0)) >= 2,"FadeLoop")
    AAMA C -1
FadeLoop:
    AAMA C 8 A_FadeOut(0.1)
    Loop
Alt:
	TNT1 A 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0)) >= 2,"FadeLoop2")
    AAMA G -1
FadeLoop2:
	AAMA G 8 A_FadeOut(0.1)
	Loop
	}
}
ACTOR AA12EmptyMagExt : BulletCasing
{
Scale 0.58
SeeSound "weapons/emptydrum"
States
{
Spawn:
	TNT1 A 0
	TNT1 A 0
Standard:
Reduced:
	TNT1 A 0 A_CheckSightOrRange(1000,"Vanilla")
	AAEX ABCDEFGH 3 
	Loop
Death:
    TNT1 A 0 A_Jump(128,"Alt")
	TNT1 A 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0)) >= 2,"FadeLoop")
    AAEX C -1
FadeLoop:
    AAEX C 8 A_FadeOut(0.1)
    Loop
Alt:
	TNT1 A 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0)) >= 2,"FadeLoop2")
    AAEX G -1
FadeLoop2:
	AAEX G 8 A_FadeOut(0.1)
	Loop
	}
}
ACTOR M14EmptyMag : BulletCasing
{
Scale 0.58
SeeSound "weapons/emptydrum"
States
{
Spawn:
	TNT1 A 0
	TNT1 A 0
Standard:
Reduced:
	TNT1 A 0 A_CheckSightOrRange(1000,"Vanilla")
	MM14 ABCDEFGH 3 
	Loop
Death:
    TNT1 A 0 A_Jump(128,"Alt")
	TNT1 A 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0)) >= 2,"FadeLoop")
    MM14 C -1
FadeLoop:
    MM14 C 8 A_FadeOut(0.1)
    Loop
Alt:
	TNT1 A 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0)) >= 2,"FadeLoop2")
    MM14 G -1
FadeLoop2:
	MM14 G 8 A_FadeOut(0.1)
	Loop
	}
}
ACTOR M14EmptyMagExt : BulletCasing
{
Scale 0.58
SeeSound "weapons/emptydrum"
States
{
Spawn:
	TNT1 A 0
	TNT1 A 0
Standard:
Reduced:
	TNT1 A 0 A_CheckSightOrRange(1000,"Vanilla")
	14EX ABCDEFGH 3 
	Loop
Death:
    TNT1 A 0 A_Jump(128,"Alt")
	TNT1 A 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0)) >= 2,"FadeLoop")
    14EX C -1
FadeLoop:
    14EX C 8 A_FadeOut(0.1)
    Loop
Alt:
	TNT1 A 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0)) >= 2,"FadeLoop2")
    14EX G -1
FadeLoop2:
	14EX G 8 A_FadeOut(0.1)
	Loop
	}
}
ACTOR M4A1EmptyMag : BulletCasing
{
Scale 0.58
SeeSound "weapons/emptydrum"
States
{
Spawn:
	TNT1 A 0
	TNT1 A 0
Standard:
Reduced:
	TNT1 A 0 A_CheckSightOrRange(1000,"Vanilla")
	M4M4 ABCDEFGH 3 
	Loop
Death:
    TNT1 A 0 A_Jump(128,"Alt")
	TNT1 A 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0)) >= 2,"FadeLoop")
    M4M4 C -1
FadeLoop:
    M4M4 C 8 A_FadeOut(0.1)
    Loop
Alt:
	TNT1 A 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0)) >= 2,"FadeLoop2")
    M4M4 G -1
FadeLoop2:
	M4M4 G 8 A_FadeOut(0.1)
	Loop
	}
}
ACTOR M4A1EmptyMagExtended : BulletCasing
{
Scale 0.58
SeeSound "weapons/emptydrum"
States
{
Spawn:
	TNT1 A 0
	TNT1 A 0
Standard:
Reduced:
	TNT1 A 0 A_CheckSightOrRange(1000,"Vanilla")
	M4ME ABCDEFGH 3 
	Loop
Death:
    TNT1 A 0 A_Jump(128,"Alt")
	TNT1 A 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0)) >= 2,"FadeLoop")
    M4ME C -1
FadeLoop:
    M4ME C 8 A_FadeOut(0.1)
    Loop
Alt:
	TNT1 A 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0)) >= 2,"FadeLoop2")
    M4ME G -1
FadeLoop2:
	M4ME G 8 A_FadeOut(0.1)
	Loop
	}
}

ACTOR EmptyBoxMag2 : BulletCasing
{
Scale 0.58
SeeSound "weapons/emptydrum"
States
{
Spawn:
	TNT1 A 0
	TNT1 A 0
Standard:
Reduced:
	TNT1 A 0 A_CheckSightOrRange(1000,"Vanilla")
	MAGB ABCDEFGH 3 
	Loop
Death:
    TNT1 A 0 A_Jump(128,"Alt")
	TNT1 A 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0)) >= 2,"FadeLoop")
    MAGB C -1
FadeLoop:
    MAGB C 8 A_FadeOut(0.1)
    Loop
Alt:
	TNT1 A 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0)) >= 2,"FadeLoop2")
    MAGB G -1
FadeLoop2:
	MAGB G 8 A_FadeOut(0.1)
	Loop
	}
}
ACTOR EmptyBoxMagExt2 : BulletCasing
{
Scale 0.58
SeeSound "weapons/emptydrum"
States
{
Spawn:
	TNT1 A 0
	TNT1 A 0
Standard:
Reduced:
	TNT1 A 0 A_CheckSightOrRange(1000,"Vanilla")
	MAEX ABCDEFGH 3 
	Loop
Death:
    TNT1 A 0 A_Jump(128,"Alt")
	TNT1 A 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0)) >= 2,"FadeLoop")
    MAEX C -1
FadeLoop:
    MAEX C 8 A_FadeOut(0.1)
    Loop
Alt:
	TNT1 A 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0)) >= 2,"FadeLoop2")
    MAEX G -1
FadeLoop2:
	MAEX G 8 A_FadeOut(0.1)
	Loop
	}
}

ACTOR EmptyBoxMagFAL : BulletCasing
{
Scale 0.58
SeeSound "weapons/emptydrum"
States
{
Spawn:
	TNT1 A 0
	TNT1 A 0
Standard:
Reduced:
	TNT1 A 0 A_CheckSightOrRange(1000,"Vanilla")
	MAGD ABCDEFGH 3 
	Loop
Death:
    TNT1 A 0 A_Jump(128,"Alt")
	TNT1 A 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0)) >= 2,"FadeLoop")
    MAGD C -1
FadeLoop:
    MAGD C 8 A_FadeOut(0.1)
    Loop
Alt:
	TNT1 A 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0)) >= 2,"FadeLoop2")
    MAGD G -1
FadeLoop2:
	MAGD G 8 A_FadeOut(0.1)
	Loop
	}
}
ACTOR EmptyBoxMagFALSOH : BulletCasing
{
Scale 0.58
SeeSound "weapons/emptydrum"
States
{
Spawn:
	TNT1 A 0
	TNT1 A 0
Standard:
Reduced:
	TNT1 A 0 A_CheckSightOrRange(1000,"Vanilla")
	MAGD ABCDEFGH 1 
	Loop
Death:
    TNT1 A 0 A_Jump(128,"Alt")
	TNT1 A 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0)) >= 2,"FadeLoop")
    MAGD C -1
FadeLoop:
    MAGD C 8 A_FadeOut(0.1)
    Loop
Alt:
	TNT1 A 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0)) >= 2,"FadeLoop2")
    MAGD G -1
FadeLoop2:
	MAGD G 8 A_FadeOut(0.1)
	Loop
	}
}

ACTOR BarrettEmptyMag : BulletCasing
{
Scale 0.63
SeeSound "weapons/emptydrum"
States
{
Spawn:
	TNT1 A 0
	TNT1 A 0
Standard:
Reduced:
	TNT1 A 0 A_CheckSightOrRange(1000,"Vanilla")
	MAGA ABCDEFGH 3 
	Loop
Death:
    TNT1 A 0 A_Jump(128,"Alt")
	TNT1 A 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0)) >= 2,"FadeLoop")
    MAGA C -1
FadeLoop:
    MAGA C 8 A_FadeOut(0.1)
    Loop
Alt:
	TNT1 A 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0)) >= 2,"FadeLoop2")
    MAGA G -1
FadeLoop2:
	MAGA G 8 A_FadeOut(0.1)
	Loop
	}
}

ACTOR EmptyDrum : BulletCasing
{
Scale 0.67
SeeSound "weapons/emptydrum"
States
{
Spawn:
	TNT1 A 0
	TNT1 A 0
Standard:
Reduced:
	TNT1 A 0 A_CheckSightOrRange(1000,"Vanilla")
	EDRM ABCDEFGH 3 
	Loop
Death:
    TNT1 A 0 A_Jump(128,"Alt")
	TNT1 A 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0)) >= 2,"FadeLoop")
    EDRM A -1
FadeLoop:
    EDRM A 8 A_FadeOut(0.1)
    Loop
Alt:
	TNT1 A 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0)) >= 2,"FadeLoop2")
    EDRM E -1
FadeLoop2:
	EDRM E 8 A_FadeOut(0.1)
	Loop
	}
}

ACTOR AREmptyMag : BulletCasing
{
Scale 0.85
SeeSound "MP40/EmptyMagazine"
States
{
Spawn:
	TNT1 A 0
	TNT1 A 0
Standard:
Reduced:
	TNT1 A 0 A_CheckSightOrRange(1000,"Vanilla")
	ECLI ABCDEFGH 3  
	Loop
Death:
    TNT1 A 0 A_Jump(128,"Alt")
	TNT1 A 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0)) >= 2,"FadeLoop")
    ECLI C -1
FadeLoop:
    ECLI C 8 A_FadeOut(0.1)
    Loop
Alt:
	TNT1 A 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0)) >= 2,"FadeLoop2")
    ECLI G -1
FadeLoop2:
	ECLI G 8 A_FadeOut(0.1)
	Loop
	}
}

ACTOR ARGrenadeCasing : BulletCasing
{
Scale 0.25
SeeSound "weapons/casing2"
States
{
Spawn:
	TNT1 A 0
	TNT1 A 0
Standard:
	TNT1 A 0 A_CheckSightOrRange(1000,"Reduced")
	TNT1 A 0 A_JumpIfInventory("CasingHitFloorToken",1,"HitFloor")
	CAS8 AAABBBCCCDDDEEEFFFGGGHHH 1 A_CustomMissile("CasingSmoke",FRandom(-1,1),FRandom(-1,1))
	Loop
Reduced:
	TNT1 A 0 A_CheckSightOrRange(1000,"Vanilla")
	TNT1 A 0 A_JumpIfInventory("CasingHitFloorToken",1,"HitFloor")
	CAS8 ABCDEFGH 3 A_CustomMissile("CasingSmoke",FRandom(-1,1),FRandom(-1,1))
	Loop
Death:
	TNT1 A 0 A_GiveInventory("CasingHitFloorToken",1)
HitFloor:
	TNT1 A 0 A_Jump(128,"Alt")
	TNT1 A 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0)) >= 2,"FadeLoop")
	TNT1 A 0 A_Jump(128,2)
	TNT1 A 0 A_SpawnItemEx("CasingSmoke2",0,0,0,0,0,0,0,128) 
    CAS8 C -1
FadeLoop:
    CAS8 C 8 A_FadeOut(0.1)
    Loop
Alt:
	TNT1 A 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0)) >= 2,"FadeLoop2")
	TNT1 A 0 A_Jump(128,2)
	TNT1 A 0 A_SpawnItemEx("CasingSmoke2",0,0,0,0,0,0,0,128) 
    CAS8 G -1
FadeLoop2:
	CAS8 G 8 A_FadeOut(0.1)
	Loop
	}
}
ACTOR DEEmptyMagExtended : BulletCasing
{
Scale 0.6
SeeSound "MP40/EmptyMagazine"
States
{
Spawn:
	TNT1 A 0
	TNT1 A 0
Standard:
Reduced:
	TNT1 A 0 A_CheckSightOrRange(1000,"Vanilla")
	DEEE ABCDEFGH 3  
	Loop
Death:
    TNT1 A 0 A_Jump(128,"Alt")
	TNT1 A 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0)) >= 2,"FadeLoop")
    DEEE C -1
FadeLoop:
    DEEE C 8 A_FadeOut(0.1)
    Loop
Alt:
	TNT1 A 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0)) >= 2,"FadeLoop2")
    DEEE G -1
FadeLoop2:
	DEEE G 8 A_FadeOut(0.1)
	Loop
	}
}

ACTOR MP40EmptyMag : BulletCasing
{
Scale 0.6
SeeSound "MP40/EmptyMagazine"
States
{
Spawn:
	TNT1 A 0
	TNT1 A 0
Standard:
Reduced:
	TNT1 A 0 A_CheckSightOrRange(1000,"Vanilla")
	SMEC ABCDEFGH 3  
	Loop
Death:
    TNT1 A 0 A_Jump(128,"Alt")
	TNT1 A 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0)) >= 2,"FadeLoop")
    SMEC C -1
FadeLoop:
    SMEC C 8 A_FadeOut(0.1)
    Loop
Alt:
	TNT1 A 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0)) >= 2,"FadeLoop2")
    SMEC G -1
FadeLoop2:
	SMEC G 8 A_FadeOut(0.1)
	Loop
	}
}

ACTOR RocketEmptyDrum : BulletCasing
{
Scale 0.85
SeeSound "weapons/rocketdrumbounce"
States
{
Spawn:
	TNT1 A 0
	TNT1 A 0
Standard:
Reduced:
	TNT1 A 0 A_CheckSightOrRange(1000,"Vanilla")
	RCSE ABCDEFGH 3  
	Loop
Death:
    TNT1 A 0 A_Jump(128,"Alt")
	TNT1 A 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0)) >= 2,"FadeLoop")
    RCSE C -1
FadeLoop:
    RCSE C 8 A_FadeOut(0.1)
    Loop
Alt:
	TNT1 A 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0)) >= 2,"FadeLoop2")
    RCSE G -1
FadeLoop2:
	RCSE G 8 A_FadeOut(0.1)
	Loop
	}
}

ACTOR GrenadeEmptyDrum : RocketEmptyDrum
{
Scale 0.65
States
{
Spawn:
	TNT1 A 0
	TNT1 A 0
Standard:
Reduced:
	TNT1 A 0 A_CheckSightOrRange(1000,"Vanilla")
	GCSE ABCDEFGH 3  
	Loop
Death:
    TNT1 A 0 A_Jump(128,"Alt")
	TNT1 A 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0)) >= 2,"FadeLoop")
    GCSE C -1
FadeLoop:
    GCSE C 8 A_FadeOut(0.1)
    Loop
Alt:
	TNT1 A 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0)) >= 2,"FadeLoop2")
    GCSE G -1
FadeLoop2:
	GCSE G 8 A_FadeOut(0.1)
	Loop
	}
}

ACTOR CellCasing : BulletCasing
{
Scale 0.8
SeeSound "weapons/cellcasing"
States
{
Spawn:
	TNT1 A 0
	TNT1 A 0
Standard:
Reduced:
	TNT1 A 0 A_CheckSightOrRange(1000,"Vanilla")
	ECEL ABCDEFGH 3 
	Loop
Death:
    TNT1 A 0 A_Jump(128,"Alt")
	TNT1 A 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0)) >= 2,"FadeLoop")
    ECEL A -1
FadeLoop:
    ECEL A 8 A_FadeOut(0.1)
    Loop
Alt:
	TNT1 A 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0)) >= 2,"FadeLoop2")
    ECEL E -1
FadeLoop2:
	ECEL E 8 A_FadeOut(0.1)
	Loop
	}
}

ACTOR CellPackCasing : BulletCasing
{
Scale 0.6
SeeSound "weapons/cellcasing"
States
{
Spawn:
	TNT1 A 0
	TNT1 A 0
Standard:
Reduced:
	TNT1 A 0 A_CheckSightOrRange(1000,"Vanilla")
	ECPK ABCDEFGH 3 
	Loop
Death:
    TNT1 A 0 A_Jump(128,"Alt")
	TNT1 A 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0)) >= 2,"FadeLoop")
    ECPK A -1
FadeLoop:
    ECPK A 8 A_FadeOut(0.1)
    Loop
Alt:
	TNT1 A 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0)) >= 2,"FadeLoop2")
    ECPK E -1
FadeLoop2:
	ECPK E 8 A_FadeOut(0.1)
	Loop
	}
}

ACTOR DemonTechEmptyMag : BulletCasing
{
Scale 0.58
SeeSound "weapons/emptydrum"
States
{
Spawn:
	TNT1 A 0
	TNT1 A 0
Standard:
Reduced:
	TNT1 A 0 A_CheckSightOrRange(1000,"Vanilla")
	EDTM ABCDEFGH 3  
	Loop
Death:
    TNT1 A 0 A_Jump(128,"Alt")
	TNT1 A 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0)) >= 2,"FadeLoop")
	EDTM A -1
FadeLoop:
	EDTM A 8 A_FadeOut(0.1)
	Loop
Alt:
	TNT1 A 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0)) >= 2,"FadeLoop2")
	EDTM E -1
FadeLoop2:
	EDTM E 8 A_FadeOut(0.1)
	Loop
	}
}
ACTOR AKMEmptyMag : BulletCasing
{
Scale 0.58
SeeSound "weapons/emptydrum"
States
{
Spawn:
	TNT1 A 0
	TNT1 A 0
Standard:
Reduced:
	TNT1 A 0 A_CheckSightOrRange(1000,"Vanilla")
	AKKM ABCDEFGH 3  
	Loop
Death:
    TNT1 A 0 A_Jump(128,"Alt")
	TNT1 A 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0)) >= 2,"FadeLoop")
	AKKM A -1
FadeLoop:
	AKKM A 8 A_FadeOut(0.1)
	Loop
Alt:
	TNT1 A 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0)) >= 2,"FadeLoop2")
	AKKM E -1
FadeLoop2:
	AKKM E 8 A_FadeOut(0.1)
	Loop
	}
}
ACTOR AKMEmptyMagExt : BulletCasing
{
Scale 0.58
SeeSound "weapons/emptydrum"
States
{
Spawn:
	TNT1 A 0
	TNT1 A 0
Standard:
Reduced:
	TNT1 A 0 A_CheckSightOrRange(1000,"Vanilla")
	AKEX ABCDEFGH 3  
	Loop
Death:
    TNT1 A 0 A_Jump(128,"Alt")
	TNT1 A 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0)) >= 2,"FadeLoop")
	AKEX A -1
FadeLoop:
	AKEX A 8 A_FadeOut(0.1)
	Loop
Alt:
	TNT1 A 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0)) >= 2,"FadeLoop2")
	AKEX E -1
FadeLoop2:
	AKEX E 8 A_FadeOut(0.1)
	Loop
	}
}

ACTOR TerminatorMGCasing : BulletCasing
{
Scale 0.15
SeeSound "weapons/casing2"
States
{
Spawn:
	TNT1 A 0
	TNT1 A 0
Standard:
	TNT1 A 0 A_CheckSightOrRange(1000,"Reduced")
	TNT1 A 0 A_JumpIfInventory("CasingHitFloorToken",1,"HitFloor")
	CAS6 AAABBBCCCDDDEEEFFFGGGHHH 1 A_CustomMissile("CasingSmoke",FRandom(-1,1),FRandom(-1,1))
	Loop
Reduced:
	TNT1 A 0 A_CheckSightOrRange(1000,"Vanilla")
	TNT1 A 0 A_JumpIfInventory("CasingHitFloorToken",1,"HitFloor")
	CAS6 ABCDEFGH 3 A_CustomMissile("CasingSmoke",FRandom(-1,1),FRandom(-1,1))
	Loop
Death:
	TNT1 A 0 A_GiveInventory("CasingHitFloorToken",1)
HitFloor:
	TNT1 A 0 A_Jump(128,"Alt")
	TNT1 A 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0)) >= 2,"FadeLoop")
	TNT1 A 0 A_Jump(128,2)
	TNT1 A 0 A_SpawnItemEx("CasingSmoke2",0,0,0,0,0,0,0,128) 
    CAS6 C -1
FadeLoop:
    CAS6 C 8 A_FadeOut(0.1)
    Loop
Alt:
	TNT1 A 0 A_JumpIf((ACS_NamedExecuteWithResult("RefCheckVar",3,0,0)) >= 2,"FadeLoop2")
	TNT1 A 0 A_Jump(128,2)
	TNT1 A 0 A_SpawnItemEx("CasingSmoke2",0,0,0,0,0,0,0,128) 
    CAS6 G -1
FadeLoop2:
	CAS6 G 8 A_FadeOut(0.1)
	Loop
	}
}

//=================
// Casing Spawners
//=================

ACTOR CasingSpawner { Radius 2 Height 2 +CLIENTSIDEONLY +NOINTERACTION +NOGRAVITY +NOBLOCKMAP }

ACTOR PistolEmptyMagSpawner : CasingSpawner
{
States
{
Spawn:
    TNT1 A 0
    TNT1 A 1 A_SpawnItemEx("PistolEmptyMag",2,0,-12,1,0,0,FRandom(-100,-110),128)
    Stop
    }
}

ACTOR G18EmptyMagSpawner : CasingSpawner
{
States
{
Spawn:
    TNT1 A 0
    TNT1 A 1 A_SpawnItemEx("G18EmptyMag",2,0,-12,1,0,0,FRandom(-100,-110),128)
    Stop
    }
}

ACTOR PistolExtEmptyMagSpawner : CasingSpawner
{
States
{
Spawn:
    TNT1 A 0
    TNT1 A 1 A_SpawnItemEx("PistolExtEmptyMag",2,0,-12,1,0,0,FRandom(-100,-110),128)
    Stop
    }
}

ACTOR FALEmptyMagSpawnerSOH : CasingSpawner
{
States
{
Spawn:
    TNT1 A 0
    TNT1 A 1 A_SpawnItemEx("EmptyBoxMagFALSOH",2,18,-12,1,FRandom(4,14),FRandom(7,15),FRandom(65,100),128)
    Stop
    }
}
ACTOR FALEmptyMagSpawner : CasingSpawner
{
States
{
Spawn:
    TNT1 A 0
    TNT1 A 1 A_SpawnItemEx("EmptyBoxMagFAL",2,18,-12,1,FRandom(4,7),FRandom(5,7),FRandom(65,100),128)
    Stop
    }
}

ACTOR SMGEmptyMagSpawner : CasingSpawner
{
States
{
Spawn:
    TNT1 A 0
    TNT1 A 1 A_SpawnItemEx("SMGEmptyMag",2,0,-12,1,0,0,FRandom(-100,-110),128)
    Stop
    }
}
ACTOR SMGEmptyMagExtSpawner : CasingSpawner
{
States
{
Spawn:
    TNT1 A 0
    TNT1 A 1 A_SpawnItemEx("SMGEmptyMagExt",2,0,-12,1,0,0,FRandom(-100,-110),128)
    Stop
    }
}

ACTOR P90EmptyMagSpawner : CasingSpawner
{
States
{
Spawn:
    TNT1 A 0
    TNT1 A 1 A_SpawnItemEx("P90EmptyMag",-3,0,-10,FRandom(-2,-6),0,0,FRandom(-80,-90),128)
    Stop
    }
}

ACTOR MP5EmptyMagSpawner : CasingSpawner
{
States
{
Spawn:
    TNT1 A 0
    TNT1 A 1 A_SpawnItemEx("MP5EmptyMag",-2,0,-6,FRandom(-2,-6),2,FRandom(2,4),FRandom(220,275),128)
    Stop
    }
}
ACTOR MP5EmptyMagSpawnerSOH : CasingSpawner
{
States
{
Spawn:
    TNT1 A 0
    TNT1 A 1 A_SpawnItemEx("MP5EmptyMagSOH",-2,0,-6,FRandom(-6,-18),2,FRandom(3,6),FRandom(220,275),128)
    Stop
    }
}
ACTOR MP5EmptyMagExtSpawner : CasingSpawner
{
States
{
Spawn:
    TNT1 A 0
    TNT1 A 1 A_SpawnItemEx("MP5EmptyMagExt",-2,0,-6,FRandom(-2,-6),2,FRandom(2,4),FRandom(220,275),128)
    Stop
    }
}
ACTOR MP5EmptyMagExtSpawnerSOH : CasingSpawner
{
States
{
Spawn:
    TNT1 A 0
    TNT1 A 1 A_SpawnItemEx("MP5EmptyMagExt",-2,0,-6,FRandom(-6,-18),2,FRandom(3,6),FRandom(220,275),128)
    Stop
    }
}

ACTOR EmptyBoxMagSpawner : CasingSpawner
{
States
{
Spawn:
    TNT1 A 0
    TNT1 A 1 A_SpawnItemEx("EmptyBoxMag",-3,0,-10,FRandom(-2,-6),0,0,FRandom(-80,-90),128)
    Stop
    }
}
ACTOR AA12EmptyMagSpawner : CasingSpawner
{
States
{
Spawn:
    TNT1 A 0
    TNT1 A 1 A_SpawnItemEx("AA12EmptyMag",-3,0,-10,FRandom(-2,-6),0,0,FRandom(-80,-90),128)
    Stop
    }
}
ACTOR AA12EmptyMagExtSpawner : CasingSpawner
{
States
{
Spawn:
    TNT1 A 0
    TNT1 A 1 A_SpawnItemEx("AA12EmptyMagExt",-3,0,-10,FRandom(-2,-6),0,0,FRandom(-80,-90),128)
    Stop
    }
}
ACTOR M14EmptyMagSpawner : CasingSpawner
{
States
{
Spawn:
    TNT1 A 0
    TNT1 A 1 A_SpawnItemEx("M14EmptyMag",-3,0,-10,FRandom(-2,-6),0,0,FRandom(-80,-90),128)
    Stop
    }
}
ACTOR M14EmptyMagExtSpawner : CasingSpawner
{
States
{
Spawn:
    TNT1 A 0
    TNT1 A 1 A_SpawnItemEx("M14EmptyMagExt",-3,0,-10,FRandom(-2,-6),0,0,FRandom(-80,-90),128)
    Stop
    }
}
ACTOR M4A1EmptyMagSpawner : CasingSpawner
{
States
{
Spawn:
    TNT1 A 0
    TNT1 A 1 A_SpawnItemEx("M4A1EmptyMag",-3,0,-10,FRandom(-2,-6),0,0,FRandom(-80,-90),128)
    Stop
    }
}
ACTOR M4A1EmptyMagExtendedSpawner : CasingSpawner
{
States
{
Spawn:
    TNT1 A 0
    TNT1 A 1 A_SpawnItemEx("M4A1EmptyMagExtended",-3,0,-10,FRandom(-2,-6),0,0,FRandom(-80,-90),128)
    Stop
    }
}
ACTOR M16EmptyMagExtendedSpawner : CasingSpawner
{
States
{
Spawn:
    TNT1 A 0
    TNT1 A 1 A_SpawnItemEx("M16EmptyMagExtended",-3,0,-10,FRandom(-2,-6),0,0,FRandom(-80,-90),128)
    Stop
    }
}
ACTOR F2000EmptyMagExtendedSpawner : CasingSpawner
{
States
{
Spawn:
    TNT1 A 0
    TNT1 A 1 A_SpawnItemEx("F2000EmptyMagExtended",-3,0,-10,FRandom(-2,-6),0,0,FRandom(-80,-90),128)
    Stop
    }
}
ACTOR ACREmptyMagSpawner : CasingSpawner
{
States
{
Spawn:
    TNT1 A 0
    TNT1 A 1 A_SpawnItemEx("ACREmptyMag",-3,0,-10,FRandom(-2,-6),0,0,FRandom(-80,-90),128)
    Stop
    }
}
ACTOR ACREmptyMagExtendedSpawner : CasingSpawner
{
States
{
Spawn:
    TNT1 A 0
    TNT1 A 1 A_SpawnItemEx("ACREmptyMagExtended",-3,0,-10,FRandom(-2,-6),0,0,FRandom(-80,-90),128)
    Stop
    }
}

ACTOR BarrettEmptyMagSpawner : CasingSpawner
{
States
{
Spawn:
    TNT1 A 0
    TNT1 A 1 A_SpawnItemEx("BarrettEmptyMag",-3,0,-10,FRandom(-2,-6),0,0,FRandom(-80,-90),128)
    Stop
    }
}

ACTOR EmptyBoxMagSpawner2 : CasingSpawner
{
States
{
Spawn:
    TNT1 A 0
    TNT1 A 1 A_SpawnItemEx("EmptyBoxMag2",-3,0,-10,FRandom(-2,-6),0,0,FRandom(-80,-90),128)
    Stop
    }
}
ACTOR EmptyBoxMagExtSpawner2 : CasingSpawner
{
States
{
Spawn:
    TNT1 A 0
    TNT1 A 1 A_SpawnItemEx("EmptyBoxMagExt2",-3,0,-10,FRandom(-2,-6),0,0,FRandom(-80,-90),128)
    Stop
    }
}

ACTOR EmptyLMGMagSpawner : CasingSpawner
{
States
{
Spawn:
    TNT1 A 0
    TNT1 A 1 A_SpawnItemEx("EmptyLMGMag",-3,0,-10,FRandom(-2,-6),0,0,FRandom(-80,-90),128)
    Stop
    }
}

ACTOR EmptyLMGMagExtSpawner : CasingSpawner
{
States
{
Spawn:
    TNT1 A 0
    TNT1 A 1 A_SpawnItemEx("EmptyLMGMagExt",-3,0,-10,FRandom(-2,-6),0,0,FRandom(-80,-90),128)
    Stop
    }
}

ACTOR EmptyDrumSpawner : CasingSpawner
{
States
{
Spawn:
    TNT1 A 0
    TNT1 A 1 A_SpawnItemEx("EmptyDrum",-3,0,-10,FRandom(2,6),0,0,FRandom(-80,-90),128)
    Stop
    }
}
ACTOR DEEmptyMagExtendedSpawner : CasingSpawner
{
States
{
Spawn:
    TNT1 A 0
    TNT1 A 1 A_SpawnItemEx("DEEmptyMagExtended",-2,0,-14,1,0,0,FRandom(80,90),128)
    Stop
    }
}
ACTOR MP40EmptyMagSpawner : CasingSpawner
{
States
{
Spawn:
    TNT1 A 0
    TNT1 A 1 A_SpawnItemEx("MP40EmptyMag",-2,0,-14,1,0,0,FRandom(80,90),128)
    Stop
    }
}

ACTOR AREmptyMagSpawner : CasingSpawner
{
States
{
Spawn:
    TNT1 A 0
    TNT1 A 1 A_SpawnItemEx("AREmptyMag",2,0,-12,1,0,0,FRandom(100,110),128)
    Stop
    }
}
ACTOR SCAREmptyMagSpawner : CasingSpawner
{
States
{
Spawn:
    TNT1 A 0
    TNT1 A 1 A_SpawnItemEx("SCAREmptyMag",2,0,-12,1,0,0,FRandom(100,110),128)
    Stop
    }
}
ACTOR SCAREmptyMagExtSpawner : CasingSpawner
{
States
{
Spawn:
    TNT1 A 0
    TNT1 A 1 A_SpawnItemEx("SCAREmptyMagExt",2,0,-12,1,0,0,FRandom(100,110),128)
    Stop
    }
}

ACTOR RocketEmptyDrumSpawner : CasingSpawner
{
States
{
Spawn:
    TNT1 A 0
    TNT1 A 1 A_SpawnItemEx("RocketEmptyDrum",2,0,-12,1,0,0,FRandom(-100,-110),128)
    Stop
    }
}

ACTOR GrenadeEmptyDrumSpawner : CasingSpawner
{
States
{
Spawn:
    TNT1 A 0
    TNT1 A 1 A_SpawnItemEx("GrenadeEmptyDrum",2,0,-12,1,0,0,FRandom(-100,-110),128)
    Stop
    }
}

ACTOR PlasmaCellCasingSpawner : CasingSpawner
{
States
{
Spawn:
    TNT1 A 0
    TNT1 A 1 A_SpawnItemEx("CellCasing",2,0,-8,1,0,0,FRandom(-100,-110),128)
    Stop
    }
}

ACTOR CellCasingSpawner : CasingSpawner
{
States
{
Spawn:
    TNT1 A 0
    TNT1 A 1 A_SpawnItemEx("CellCasing",-3,0,-10,FRandom(2,6),0,0,FRandom(-80,-90),128)
    Stop
    }
}

ACTOR BFG9500CellCasingSpawner : CasingSpawner
{
States
{
Spawn:
    TNT1 A 0
    TNT1 A 1 A_SpawnItemEx("CellPackCasing",3,0,-3,FRandom(-2,-6),0,0,FRandom(-80,-90),128)
    Stop
    }
}

ACTOR DemonTechEmptyMagSpawner : CasingSpawner
{
States
{
Spawn:
    TNT1 A 0
    TNT1 A 1 A_SpawnItemEx("DemonTechEmptyMag",6,0,-12,1,0,0,FRandom(-100,-110),128)
    Stop
    }
}
ACTOR AKMEmptyMagSpawner : CasingSpawner
{
States
{
Spawn:
    TNT1 A 0
    TNT1 A 1 A_SpawnItemEx("AKMEmptyMag",-2,0,-2,-4,2,FRandom(4,8),FRandom(165,205),128)
    Stop
    }
}
ACTOR AKMEmptyMagSpawnerSOH : CasingSpawner
{
States
{
Spawn:
    TNT1 A 0
    TNT1 A 1 A_SpawnItemEx("AKMEmptyMag",-2,0,-2,-4,FRandom(2,5),FRandom(4,13),FRandom(165,205),128)
    Stop
    }
}
ACTOR AKMEmptyMagExtSpawner : CasingSpawner
{
States
{
Spawn:
    TNT1 A 0
    TNT1 A 1 A_SpawnItemEx("AKMEmptyMagExt",-2,0,-2,-4,2,FRandom(4,8),FRandom(165,205),128)
    Stop
    }
}
ACTOR AKMEmptyMagExtSpawnerSOH : CasingSpawner
{
States
{
Spawn:
    TNT1 A 0
    TNT1 A 1 A_SpawnItemEx("AKMEmptyMagExt",-2,0,-2,-4,FRandom(2,5),FRandom(4,13),FRandom(165,205),128)
    Stop
    }
}

ACTOR DemonTech10KEmptyMagSpawner : CasingSpawner
{
States
{
Spawn:
    TNT1 A 0
    TNT1 A 1 A_SpawnItemEx("DemonTechEmptyMag",3,0,-3,FRandom(-2,-6),0,0,FRandom(-80,-90),128)
    Stop
    }
}
//Reloading stuff
actor M4Token : Inventory
{
    inventory.amount 0
    inventory.maxamount 1
}
actor M16Token : Inventory
{
    inventory.amount 0
    inventory.maxamount 1
}
actor F2000Token : Inventory
{
    inventory.amount 0
    inventory.maxamount 1
}
actor ACRToken : Inventory
{
    inventory.amount 0
    inventory.maxamount 1
}
actor DEToken : Inventory
{
    inventory.amount 0
    inventory.maxamount 1
}
actor RangerToken : Inventory
{
    inventory.amount 0
    inventory.maxamount 1
}
actor RangerToken2 : Inventory
{
    inventory.amount 0
    inventory.maxamount 1
}
actor RangerToken3 : Inventory
{
    inventory.amount 0
    inventory.maxamount 1
}
actor M14Token : Inventory
{
    inventory.amount 0
    inventory.maxamount 1
}
actor L86Token : Inventory
{
    inventory.amount 0
    inventory.maxamount 1
}
actor M240Token : Inventory
{
    inventory.amount 0
    inventory.maxamount 1
}
actor M9Token : Inventory
{
    inventory.amount 0
    inventory.maxamount 1
}
actor WA2000Token : Inventory
{
    inventory.amount 0
    inventory.maxamount 1
}
actor AUGToken : Inventory
{
    inventory.amount 0
    inventory.maxamount 1
}
actor AKMToken : Inventory
{
    inventory.amount 0
    inventory.maxamount 1
}
actor ThumperToken : Inventory
{
    inventory.amount 0
    inventory.maxamount 1
}
actor M93RToken : Inventory
{
    inventory.amount 0
    inventory.maxamount 1
}
actor MP5Token : Inventory
{
    inventory.amount 0
    inventory.maxamount 1
}
actor PP2000Token : Inventory
{
    inventory.amount 0
    inventory.maxamount 1
}
actor G18Token : Inventory
{
    inventory.amount 0
    inventory.maxamount 1
}
actor MG4Token : Inventory
{
    inventory.amount 0
    inventory.maxamount 1
}
actor P90Token : Inventory
{
    inventory.amount 0
    inventory.maxamount 1
}
actor UZIToken : Inventory
{
    inventory.amount 0
    inventory.maxamount 1
}
actor VectorToken : Inventory
{
    inventory.amount 0
    inventory.maxamount 1
}
actor UMP45Token : Inventory
{
    inventory.amount 0
    inventory.maxamount 1
}
actor AA12Token : Inventory
{
    inventory.amount 0
    inventory.maxamount 1
}
actor FALToken : Inventory
{
    inventory.amount 0
    inventory.maxamount 1
}
actor FAMASToken : Inventory
{
    inventory.amount 0
    inventory.maxamount 1
}
actor FAMASGRToken : Inventory
{
    inventory.amount 0
    inventory.maxamount 1
}
actor 44MAGToken : Inventory
{
    inventory.amount 0
    inventory.maxamount 1
}
actor USP45Token : Inventory
{
    inventory.amount 0
    inventory.maxamount 1
}
actor SCARToken : Inventory
{
    inventory.amount 0
    inventory.maxamount 1
}
actor BarrettToken : Inventory
{
    inventory.amount 0
    inventory.maxamount 1
}
actor InterToken : Inventory
{
    inventory.amount 0
    inventory.maxamount 1
}
actor M1887Token : Inventory
{
    inventory.amount 0
    inventory.maxamount 1
}
///////////////////////////////////////////////////////////////////////
//Weapon Dropping Stuff
actor weapondropper : Inventory
{
    inventory.amount 0
    inventory.maxamount 2
}
ACTOR RGA_BaseDroppedWeapon : CustomInventory
{
	PROJECTILE
	-NOGRAVITY
	Radius 4
	Height 8
	Speed 10
	Scale 0.15
	DeathSound "dsempty"
	BounceSound "weapons/drop"
	Bouncetype Doom
	BounceFactor 0.3
	Damage (11)
	+EXPLODEONWATER
	+SKYEXPLODE
	//+THRUGHOST
	States
	{
	Spawn:
		PLAY A 1
		Loop
	Death:
		PLAY A 35
		Stop
	}
}
Actor BarrettDropped : RGA_BaseDroppedWeapon
{
	Scale 0.16
 States
 {
   Spawn:
	WEAP E 1
	Wait

   Use:
	WEAP E 1 
	Stop
	Death:
	WEAP E 1 
	WEAP E 1 A_SpawnItemEx("BarrettPickup",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERPITCH)
	Stop
 }
}
Actor BarrettThrown : RGA_BaseDroppedWeapon
{
	Speed 24
	BounceFactor 0.1
	Damage (24)
	Scale 0.16
 States
 {
   Spawn:
	WEAP E 1
	Wait

   Use:
	WEAP E 1 
	Stop
	Death:
	WEAP E 1 
	WEAP E 1 A_SpawnItemEx("BarrettPickup",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERPITCH)
	Stop
 }
}
Actor USP45Dropped : RGA_BaseDroppedWeapon
{
	scale 0.11
 States
 {
   Spawn:
	WEAP P 1
	Wait

   Use:
	WEAP P 1 
	Stop
	Death:
	WEAP P 1 
	WEAP P 1 A_SpawnItemEx("USP45Pickup",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERPITCH)
	Stop
 }
}
Actor USP45Thrown : RGA_BaseDroppedWeapon
{
	Speed 41
	BounceFactor 0.2
	Damage (14)
	scale 0.11
 States
 {
   Spawn:
	WEAP P 1
	Wait

   Use:
	WEAP P 1 
	Stop
	Death:
	WEAP P 1 
	WEAP P 1 A_SpawnItemEx("USP45Pickup",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERPITCH)
	Stop
 }
}
Actor 44MAGDropped : RGA_BaseDroppedWeapon
{
	scale 0.11
 States
 {
   Spawn:
	WEAP I 1
	Wait

   Use:
	WEAP I 1 
	Stop
	Death:
	WEAP I 1 
	WEAP I 1 A_SpawnItemEx("44MagnumPickup",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERPITCH)
	Stop
 }
}
Actor 44MAGThrown : RGA_BaseDroppedWeapon
{
	Speed 38
	BounceFactor 0.2
	Damage (14)
	scale 0.11
 States
 {
   Spawn:
	WEAP I 1
	Wait

   Use:
	WEAP I 1 
	Stop
	Death:
	WEAP I 1 
	WEAP I 1 A_SpawnItemEx("44MagnumPickup",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERPITCH)
	Stop
 }
}
Actor FAMASDropped : RGA_BaseDroppedWeapon
{
 States
 {
   Spawn:
	WEAP G 1
	Wait

   Use:
	WEAP G 1 
	Stop
	Death:
	WEAP G 1 
	WEAP G 1 A_SpawnItemEx("FAMASPickup",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERPITCH)
	Stop
 }
}
Actor FAMASThrown : RGA_BaseDroppedWeapon
{
	Speed 30
	BounceFactor 0.1
	Damage (19)
 States
 {
   Spawn:
	WEAP G 1
	Wait

   Use:
	WEAP G 1 
	Stop
	Death:
	WEAP G 1 
	WEAP G 1 A_SpawnItemEx("FAMASPickup",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERPITCH)
	Stop
 }
}
Actor FALDropped : RGA_BaseDroppedWeapon
{
 States
 {
   Spawn:
	WEAP F 1
	Wait

   Use:
	WEAP F 1 
	Stop
	Death:
	WEAP F 1 
	WEAP F 1 A_SpawnItemEx("FALPickup",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERPITCH)
	Stop
 }
}
Actor FALThrown : RGA_BaseDroppedWeapon
{
	Speed 29
	BounceFactor 0.1
	Damage (19)
 States
 {
   Spawn:
	WEAP F 1
	Wait

   Use:
	WEAP F 1 
	Stop
	Death:
	WEAP F 1 
	WEAP F 1 A_SpawnItemEx("FALPickup",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERPITCH)
	Stop
 }
}
Actor SpasDropped : RGA_BaseDroppedWeapon
{
	Scale 0.12
 States
 {
   Spawn:
	WEAP M 1
	Wait

   Use:
	WEAP M 1 
	Stop
	Death:
	WEAP M 1 
	WEAP M 1 A_SpawnItemEx("SpasPickup",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERPITCH)
	Stop
 }
}
Actor SpasThrown : RGA_BaseDroppedWeapon
{
	Speed 34
	BounceFactor 0.2
	Damage (17)
	Scale 0.12
 States
 {
   Spawn:
	WEAP M 1
	Wait

   Use:
	WEAP M 1 
	Stop
	Death:
	WEAP M 1 
	WEAP M 1 A_SpawnItemEx("SpasPickup",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERPITCH)
	Stop
 }
}
Actor AA12Dropped : RGA_BaseDroppedWeapon
{
	Scale 0.13
 States
 {
   Spawn:
	WEAP B 1
	Wait

   Use:
	WEAP B 1 
	Stop
	Death:
	WEAP B 1 
	WEAP B 1 A_SpawnItemEx("AA12Pickup",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERPITCH)
	Stop
 }
}
Actor AA12Thrown : RGA_BaseDroppedWeapon
{
	Speed 33
	BounceFactor 0.2
	Damage (17)
	Scale 0.13
 States
 {
   Spawn:
	WEAP B 1
	Wait

   Use:
	WEAP B 1 
	Stop
	Death:
	WEAP B 1 
	WEAP B 1 A_SpawnItemEx("AA12Pickup",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERPITCH)
	Stop
 }
}
Actor UMP45Dropped : RGA_BaseDroppedWeapon
{
	Scale 0.13
 States
 {
   Spawn:
	WEAP O 1
	Wait

   Use:
	WEAP O 1 
	Stop
	Death:
	WEAP O 1 
	WEAP O 1 A_SpawnItemEx("UMP45Pickup",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERPITCH)
	Stop
 }
}
Actor UMP45Thrown : RGA_BaseDroppedWeapon
{
	Speed 33
	BounceFactor 0.2
	Damage (14)
	Scale 0.13
 States
 {
   Spawn:
	WEAP O 1
	Wait

   Use:
	WEAP O 1 
	Stop
	Death:
	WEAP O 1 
	WEAP O 1 A_SpawnItemEx("UMP45Pickup",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERPITCH)
	Stop
 }
}
Actor VectorDropped : RGA_BaseDroppedWeapon
{
	Scale 0.12
 States
 {
   Spawn:
	WEAP A 1
	Wait

   Use:
	WEAP A 1 
	Stop
	Death:
	WEAP A 1 
	WEAP A 1 A_SpawnItemEx("VectorPickup",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERPITCH)
	Stop
 }
}
Actor VectorThrown : RGA_BaseDroppedWeapon
{
	Speed 34
	BounceFactor 0.2
	Damage (14)
	Scale 0.12
 States
 {
   Spawn:
	WEAP A 1
	Wait

   Use:
	WEAP A 1 
	Stop
	Death:
	WEAP A 1 
	WEAP A 1 A_SpawnItemEx("VectorPickup",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERPITCH)
	Stop
 }
}
Actor UZIDropped : RGA_BaseDroppedWeapon
{
	Scale 0.12
 States
 {
   Spawn:
	WEAP K 1
	Wait

   Use:
	WEAP K 1 
	Stop
	Death:
	WEAP K 1 
	WEAP K 1 A_SpawnItemEx("MiniUziPickup",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERPITCH)
	Stop
 }
}
Actor UZIThrown : RGA_BaseDroppedWeapon
{
	Speed 36
	BounceFactor 0.2
	Damage (12)
	Scale 0.12
 States
 {
   Spawn:
	WEAP K 1
	Wait

   Use:
	WEAP K 1 
	Stop
	Death:
	WEAP K 1 
	WEAP K 1 A_SpawnItemEx("MiniUziPickup",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERPITCH)
	Stop
 }
}
Actor P90Dropped : RGA_BaseDroppedWeapon
{
	Scale 0.13
 States
 {
   Spawn:
	WEAP L 1
	Wait

   Use:
	WEAP L 1 
	Stop
	Death:
	WEAP L 1 
	WEAP L 1 A_SpawnItemEx("P90Pickup",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERPITCH)
	Stop
 }
}
Actor P90Thrown : RGA_BaseDroppedWeapon
{
	Speed 32
	BounceFactor 0.2
	Damage (14)
	Scale 0.13
 States
 {
   Spawn:
	WEAP L 1
	Wait

   Use:
	WEAP L 1 
	Stop
	Death:
	WEAP L 1 
	WEAP L 1 A_SpawnItemEx("P90Pickup",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERPITCH)
	Stop
 }
}
Actor ACRDropped : RGA_BaseDroppedWeapon
{
 States
 {
   Spawn:
	WEAP C 1
	Wait

   Use:
	WEAP C 1 
	Stop
	Death:
	WEAP C 1 
	WEAP C 1 A_SpawnItemEx("ACRPickup",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERPITCH)
	Stop
 }
}
Actor ACRThrown : RGA_BaseDroppedWeapon
{
	Speed 30
	BounceFactor 0.1
	Damage (19)
 States
 {
   Spawn:
	WEAP C 1
	Wait

   Use:
	WEAP C 1 
	Stop
	Death:
	WEAP C 1 
	WEAP C 1 A_SpawnItemEx("ACRPickup",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERPITCH)
	Stop
 }
}
Actor MG4Dropped : RGA_BaseDroppedWeapon
{
	Scale 0.17
 States
 {
   Spawn:
	WEAP J 1
	Wait

   Use:
	WEAP J 1 
	Stop
	Death:
	WEAP J 1 
	WEAP J 1 A_SpawnItemEx("MG4Pickup",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERPITCH)
	Stop
 }
}
Actor MG4Thrown : RGA_BaseDroppedWeapon
{
	Speed 20
	BounceFactor 0.1
	Damage (26)
	Scale 0.17
 States
 {
   Spawn:
	WEAP J 1
	Wait

   Use:
	WEAP J 1 
	Stop
	Death:
	WEAP J 1 
	WEAP J 1 A_SpawnItemEx("MG4Pickup",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERPITCH)
	Stop
 }
}
Actor PP2000Dropped : RGA_BaseDroppedWeapon
{
	scale 0.1
 States
 {
   Spawn:
	WEAP R 1
	Wait

   Use:
	WEAP R 1 
	Stop
	Death:
	WEAP R 1 
	WEAP R 1 A_SpawnItemEx("PP2000Pickup",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERPITCH)
	Stop
 }
}
Actor PP2000Thrown : RGA_BaseDroppedWeapon
{
	Speed 40
	BounceFactor 0.2
	Damage (14)
	scale 0.1
 States
 {
   Spawn:
	WEAP R 1
	Wait

   Use:
	WEAP R 1 
	Stop
	Death:
	WEAP R 1 
	WEAP R 1 A_SpawnItemEx("PP2000Pickup",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERPITCH)
	Stop
 }
}
Actor SCARDropped : RGA_BaseDroppedWeapon
{
 States
 {
   Spawn:
	WEAP S 1
	Wait

   Use:
	WEAP S 1 
	Stop
	Death:
	WEAP S 1 
	WEAP S 1 A_SpawnItemEx("SCARHPickup",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERPITCH)
	Stop
 }
}
Actor SCARThrown : RGA_BaseDroppedWeapon
{
	Speed 30
	BounceFactor 0.1
	Damage (19)
 States
 {
   Spawn:
	WEAP S 1
	Wait

   Use:
	WEAP S 1 
	Stop
	Death:
	WEAP S 1 
	WEAP S 1 A_SpawnItemEx("SCARHPickup",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERPITCH)
	Stop
 }
}
Actor RangerDropped : RGA_BaseDroppedWeapon
{
	scale 0.12
 States
 {
   Spawn:
	WEAP U 1
	Wait

   Use:
	WEAP U 1 
	Stop
	Death:
	WEAP U 1 
	WEAP U 1 A_SpawnItemEx("RangerPickup",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERPITCH)
	Stop
 }
}
Actor RangerThrown : RGA_BaseDroppedWeapon
{
	Speed 36
	BounceFactor 0.2
	Damage (17)
	scale 0.12
 States
 {
   Spawn:
	WEAP U 1
	Wait

   Use:
	WEAP U 1 
	Stop
	Death:
	WEAP U 1 
	WEAP U 1 A_SpawnItemEx("RangerPickup",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERPITCH)
	Stop
 }
}
Actor F2000Dropped : RGA_BaseDroppedWeapon
{
 States
 {
   Spawn:
	WEAP V 1
	Wait

   Use:
	WEAP V 1 
	Stop
	Death:
	WEAP V 1 
	WEAP V 1 A_SpawnItemEx("F2000Pickup",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERPITCH)
	Stop
 }
}
Actor F2000Thrown : RGA_BaseDroppedWeapon
{
	Speed 30
	BounceFactor 0.1
	Damage (19)
 States
 {
   Spawn:
	WEAP V 1
	Wait

   Use:
	WEAP V 1 
	Stop
	Death:
	WEAP V 1 
	WEAP V 1 A_SpawnItemEx("F2000Pickup",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERPITCH)
	Stop
 }
}
Actor MP5Dropped : RGA_BaseDroppedWeapon
{
	Scale 0.13
 States
 {
   Spawn:
	WEAP W 1
	Wait

   Use:
	WEAP W 1 
	Stop
	Death:
	WEAP W 1 
	WEAP W 1 A_SpawnItemEx("MP5Pickup",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERPITCH)
	Stop
 }
}
Actor MP5Thrown : RGA_BaseDroppedWeapon
{
	Speed 34
	BounceFactor 0.2
	Damage (14)
	Scale 0.13
 States
 {
   Spawn:
	WEAP W 1
	Wait

   Use:
	WEAP W 1 
	Stop
	Death:
	WEAP W 1 
	WEAP W 1 A_SpawnItemEx("MP5Pickup",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERPITCH)
	Stop
 }
}
Actor M93RDropped : RGA_BaseDroppedWeapon
{
	scale 0.14
 States
 {
   Spawn:
	WEAP X 1
	Wait

   Use:
	WEAP X 1 
	Stop
	Death:
	WEAP X 1 
	WEAP X 1 A_SpawnItemEx("M93RPickup",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERPITCH)
	Stop
 }
}
Actor M93RThrown : RGA_BaseDroppedWeapon
{
	Speed 40
	BounceFactor 0.2
	Damage (14)
	scale 0.14
 States
 {
   Spawn:
	WEAP X 1
	Wait

   Use:
	WEAP X 1 
	Stop
	Death:
	WEAP X 1 
	WEAP X 1 A_SpawnItemEx("M93RPickup",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERPITCH)
	Stop
 }
}
Actor ThumperDropped : RGA_BaseDroppedWeapon
{
	Scale 0.13
 States
 {
   Spawn:
	WEAP N 1
	Wait

   Use:
	WEAP N 1 
	Stop
	Death:
	WEAP N 1 
	WEAP N 1 A_SpawnItemEx("ThumperPickup",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERPITCH)
	Stop
 }
}
Actor ThumperThrown : RGA_BaseDroppedWeapon
{
	Speed 30
	BounceFactor 0.2
	Damage (17)
	Scale 0.13
 States
 {
   Spawn:
	WEAP N 1
	Wait

   Use:
	WEAP N 1 
	Stop
	Death:
	WEAP N 1 
	WEAP N 1 A_SpawnItemEx("ThumperPickup",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERPITCH)
	Stop
 }
}
Actor AT4Dropped : RGA_BaseDroppedWeapon
{
	scale 0.22
 States
 {
   Spawn:
	WEAP D 1
	Wait

   Use:
	WEAP D 1 
	Stop
	Death:
	WEAP D 1 
	WEAP D 1 A_SpawnItemEx("AT4Pickup",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERPITCH)
	Stop
 }
}
Actor AT4Thrown : RGA_BaseDroppedWeapon
{
	Speed 23
	BounceFactor 0.2
	Damage (25)
	scale 0.22
 States
 {
   Spawn:
	WEAP D 1
	Wait

   Use:
	WEAP D 1 
	Stop
	Death:
	WEAP D 1 
	WEAP D 1 A_SpawnItemEx("AT4Pickup",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERPITCH)
	Stop
 }
}
Actor M16Dropped : RGA_BaseDroppedWeapon
{
 States
 {
   Spawn:
	WEAP Y 1
	Wait

   Use:
	WEAP Y 1 
	Stop
	Death:
	WEAP Y 1 
	WEAP Y 1 A_SpawnItemEx("M16Pickup",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERPITCH)
	Stop
 }
}
Actor M16Thrown : RGA_BaseDroppedWeapon
{
	Speed 30
	BounceFactor 0.1
	Damage (19)
 States
 {
   Spawn:
	WEAP Y 1
	Wait

   Use:
	WEAP Y 1 
	Stop
	Death:
	WEAP Y 1 
	WEAP Y 1 A_SpawnItemEx("M16Pickup",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERPITCH)
	Stop
 }
}
Actor AKMDropped : RGA_BaseDroppedWeapon
{
 States
 {
   Spawn:
	WEAP Z 1
	Wait

   Use:
	WEAP Z 1 
	Stop
	Death:
	WEAP Z 1 
	WEAP Z 1 A_SpawnItemEx("AKMPickup",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERPITCH)
	Stop
 }
}
Actor AKMThrown : RGA_BaseDroppedWeapon
{
	Speed 30
	BounceFactor 0.1
	Damage (19)
 States
 {
   Spawn:
	WEAP Z 1
	Wait

   Use:
	WEAP Z 1 
	Stop
	Death:
	WEAP Z 1 
	WEAP Z 1 A_SpawnItemEx("AKMPickup",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERPITCH)
	Stop
 }
}
Actor StrikerDropped : RGA_BaseDroppedWeapon
{
	Scale 0.12
 States
 {
   Spawn:
	WEP2 A 1
	Wait

   Use:
	WEP2 A 1 
	Stop
	Death:
	WEP2 A 1 
	WEP2 A 1 A_SpawnItemEx("StrikerPickup",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERPITCH)
	Stop
 }
}
Actor StrikerThrown : RGA_BaseDroppedWeapon
{
	Speed 33
	BounceFactor 0.2
	Damage (17)
	Scale 0.12
 States
 {
   Spawn:
	WEP2 A 1
	Wait

   Use:
	WEP2 A 1 
	Stop
	Death:
	WEP2 A 1 
	WEP2 A 1 A_SpawnItemEx("StrikerPickup",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERPITCH)
	Stop
 }
}
Actor AUGDropped : RGA_BaseDroppedWeapon
{
 States
 {
   Spawn:
	WEP2 B 1
	Wait

   Use:
	WEP2 B 1 
	Stop
	Death:
	WEP2 B 1 
	WEP2 B 1 A_SpawnItemEx("AUGHBARPickup",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERPITCH)
	Stop
 }
}
Actor AUGThrown : RGA_BaseDroppedWeapon
{
	Speed 28
	BounceFactor 0.2
	Damage (20)
 States
 {
   Spawn:
	WEP2 B 1
	Wait

   Use:
	WEP2 B 1 
	Stop
	Death:
	WEP2 B 1 
	WEP2 B 1 A_SpawnItemEx("AUGHBARPickup",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERPITCH)
	Stop
 }
}
Actor DeagleDropped : RGA_BaseDroppedWeapon
{
	Scale 0.11
 States
 {
   Spawn:
	WEP2 D 1
	Wait

   Use:
	WEP2 D 1 
	Stop
	Death:
	WEP2 D 1 
	WEP2 D 1 A_SpawnItemEx("DeaglePickup",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERPITCH)
	Stop
 }
}
Actor DeagleThrown : RGA_BaseDroppedWeapon
{
	Speed 38
	BounceFactor 0.2
	Damage (19)
	Scale 0.11
 States
 {
   Spawn:
	WEP2 D 1
	Wait

   Use:
	WEP2 D 1 
	Stop
	Death:
	WEP2 D 1 
	WEP2 D 1 A_SpawnItemEx("DeaglePickup",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERPITCH)
	Stop
 }
}
Actor M9Dropped : RGA_BaseDroppedWeapon
{
	Scale 0.1
 States
 {
   Spawn:
	WEP2 E 1
	Wait

   Use:
	WEP2 E 1 
	Stop
	Death:
	WEP2 E 1 
	WEP2 E 1 A_SpawnItemEx("M9Pickup",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERPITCH)
	Stop
 }
}
Actor M9Thrown : RGA_BaseDroppedWeapon
{
	Speed 42
	BounceFactor 0.2
	Damage (14)
	Scale 0.1
 States
 {
   Spawn:
	WEP2 E 1
	Wait

   Use:
	WEP2 E 1 
	Stop
	Death:
	WEP2 E 1 
	WEP2 E 1 A_SpawnItemEx("M9Pickup",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERPITCH)
	Stop
 }
}
Actor M1014Dropped : RGA_BaseDroppedWeapon
{
	Scale 0.12
 States
 {
   Spawn:
	WEP2 F 1
	Wait

   Use:
	WEP2 F 1 
	Stop
	Death:
	WEP2 F 1 
	WEP2 F 1 A_SpawnItemEx("M1014Pickup",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERPITCH)
	Stop
 }
}
Actor M1014Thrown : RGA_BaseDroppedWeapon
{
	Speed 34
	BounceFactor 0.2
	Damage (17)
	Scale 0.12
 States
 {
   Spawn:
	WEP2 F 1
	Wait

   Use:
	WEP2 F 1 
	Stop
	Death:
	WEP2 F 1 
	WEP2 F 1 A_SpawnItemEx("M1014Pickup",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERPITCH)
	Stop
 }
}
Actor M240Dropped : RGA_BaseDroppedWeapon
{
	Scale 0.17
 States
 {
   Spawn:
	WEP2 G 1
	Wait

   Use:
	WEP2 G 1 
	Stop
	Death:
	WEP2 G 1 
	WEP2 G 1 A_SpawnItemEx("M240Pickup",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERPITCH)
	Stop
 }
}
Actor M240Thrown : RGA_BaseDroppedWeapon
{
	Speed 20
	BounceFactor 0.1
	Damage (26)
	Scale 0.17
 States
 {
   Spawn:
	WEP2 G 1
	Wait

   Use:
	WEP2 G 1 
	Stop
	Death:
	WEP2 G 1 
	WEP2 G 1 A_SpawnItemEx("M240Pickup",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERPITCH)
	Stop
 }
}
Actor L86Dropped : RGA_BaseDroppedWeapon
{
 States
 {
   Spawn:
	WEP2 H 1
	Wait

   Use:
	WEP2 H 1 
	Stop
	Death:
	WEP2 H 1 
	WEP2 H 1 A_SpawnItemEx("L86Pickup",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERPITCH)
	Stop
 }
}
Actor L86Thrown : RGA_BaseDroppedWeapon
{
	Speed 23
	BounceFactor 0.1
	Damage (24)
 States
 {
   Spawn:
	WEP2 H 1
	Wait

   Use:
	WEP2 H 1 
	Stop
	Death:
	WEP2 H 1 
	WEP2 H 1 A_SpawnItemEx("L86Pickup",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERPITCH)
	Stop
 }
}
Actor RPGDropped : RGA_BaseDroppedWeapon
{
	scale 0.2
 States
 {
   Spawn:
	WEP2 I 1
	Wait

   Use:
	WEP2 I 1 
	Stop
	Death:
	WEP2 I 1 
	WEP2 I 1 A_SpawnItemEx("RPGPickup",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERPITCH)
	Stop
 }
}
Actor RPGThrown : RGA_BaseDroppedWeapon
{
	Speed 28
	BounceFactor 0.2
	Damage (19)
	scale 0.2
 States
 {
   Spawn:
	WEP2 I 1
	Wait

   Use:
	WEP2 I 1 
	Stop
	Death:
	WEP2 I 1 
	WEP2 I 1 A_SpawnItemEx("RPGPickup",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERPITCH)
	Stop
 }
}
Actor WA2000Dropped : RGA_BaseDroppedWeapon
{
 States
 {
   Spawn:
	WEP2 C 1
	Wait

   Use:
	WEP2 C 1 
	Stop
	Death:
	WEP2 C 1 
	WEP2 C 1 A_SpawnItemEx("WA2000Pickup",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERPITCH)
	Stop
 }
}
Actor WA2000Thrown : RGA_BaseDroppedWeapon
{
	Speed 30
	BounceFactor 0.1
	Damage (19)
 States
 {
   Spawn:
	WEP2 C 1
	Wait

   Use:
	WEP2 C 1 
	Stop
	Death:
	WEP2 C 1 
	WEP2 C 1 A_SpawnItemEx("WA2000Pickup",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERPITCH)
	Stop
 }
}
Actor M14Thrown : RGA_BaseDroppedWeapon
{
	Speed 30
	BounceFactor 0.1
	Damage (19)
 States
 {
   Spawn:
	WEP2 K 1
	Wait

   Use:
	WEP2 K 1 
	Stop
	Death:
	WEP2 K 1 
	WEP2 K 1 A_SpawnItemEx("M14Pickup",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERPITCH)
	Stop
 }
}
Actor M14Dropped : RGA_BaseDroppedWeapon
{
 States
 {
   Spawn:
	WEP2 K 1
	Wait

   Use:
	WEP2 K 1 
	Stop
	Death:
	WEP2 K 1 
	WEP2 K 1 A_SpawnItemEx("M14Pickup",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERPITCH)
	Stop
 }
}
Actor M4A1Dropped : RGA_BaseDroppedWeapon
{
 States
 {
   Spawn:
	WEAP T 1
	Wait

   Use:
	WEAP T 1 
	Stop
	Death:
	WEAP T 1 
	WEAP T 1 A_SpawnItemEx("M4A1Pickup",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERPITCH)
	Stop
 }
}
Actor M4A1Thrown : RGA_BaseDroppedWeapon
{
	Speed 30
	BounceFactor 0.1
	Damage (19)
 States
 {
   Spawn:
	WEAP T 1
	Wait

   Use:
	WEAP T 1 
	Stop
	Death:
	WEAP T 1 
	WEAP T 1 A_SpawnItemEx("M4A1Pickup",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERPITCH)
	Stop
 }
}
Actor G18Dropped : RGA_BaseDroppedWeapon
{
	scale 0.09
 States
 {
   Spawn:
	WEAP Q 1
	Wait

   Use:
	WEAP Q 1 
	Stop
	Death:
	WEAP Q 1 
	WEAP Q 1 A_SpawnItemEx("G18Pickup",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERPITCH)
	Stop
 }
}
Actor G18Thrown : RGA_BaseDroppedWeapon
{
	Speed 40
	BounceFactor 0.2
	Damage (14)
	scale 0.09
 States
 {
   Spawn:
	WEAP Q 1
	Wait

   Use:
	WEAP Q 1 
	Stop
	Death:
	WEAP Q 1 
	WEAP Q 1 A_SpawnItemEx("G18Pickup",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERPITCH)
	Stop
 }
}
Actor M1887Dropped : RGA_BaseDroppedWeapon
{
	scale 0.12
 States
 {
   Spawn:
	WEP2 J 1
	Wait

   Use:
	WEP2 J 1 
	Stop
	Death:
	WEP2 J 1 
	WEP2 J 1 A_SpawnItemEx("M1887Pickup",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERPITCH)
	Stop
 }
}
Actor M1887Thrown : RGA_BaseDroppedWeapon
{
	Speed 36
	BounceFactor 0.2
	Damage (17)
	scale 0.12
 States
 {
   Spawn:
	WEP2 J 1
	Wait

   Use:
	WEP2 J 1 
	Stop
	Death:
	WEP2 J 1 
	WEP2 J 1 A_SpawnItemEx("M1887Pickup",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERPITCH)
	Stop
 }
}
Actor IntervDropped : RGA_BaseDroppedWeapon
{
 States
 {
   Spawn:
	WEAP H 1
	Wait

   Use:
	WEAP H 1 
	Stop
	Death:
	WEAP H 1 
	WEAP H 1 A_SpawnItemEx("InterventionPickup",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERPITCH)
	Stop
 }
}
Actor IntervThrown : RGA_BaseDroppedWeapon
{
	Speed 25
	BounceFactor 0.1
	Damage (19)
 States
 {
   Spawn:
	WEAP H 1
	Wait

   Use:
	WEAP H 1 
	Stop
	Death:
	WEAP H 1 
	WEAP H 1 A_SpawnItemEx("InterventionPickup",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERPITCH)
	Stop
 }
}
Actor MinigunThrown : RGA_BaseDroppedWeapon
{
	Radius 14
	Height 18
	Speed 24
	BounceFactor 0.1
	Damage (64)
	Scale 0.30
 States
 {
   Spawn:
	MINP A 1
	TNT1 A 0 A_PlaySoundEx("MINISTOP","SoundSlot5")
	Goto Spawn2
   Spawn2:
   MINP A 1
   Wait

   Use:
	MINP A 1 
	Stop
	Death:
	MINP A 1 
	MINP A 1 A_SpawnItemEx("MinigunEmpty",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_TRANSFERPITCH)
	Stop
 }
}
ACTOR RGULastStandPlayer_NoHandgun : RGULastStandPlayer
{
  Player.MorphWeapon "Unarmed"
  Player.WeaponSlot 1, "Unarmed"
  }
  actor StunAmmo : Ammo
{
    inventory.icon "CLIPA0"
    inventory.amount 0
    inventory.maxamount 0
    ammo.backpackamount 2
    ammo.backpackmaxamount 0
    inventory.pickupmessage "Picked up some stun grenades!"
    States
    {
    Spawn:
      CLIP A -1
      Stop
    }
}
actor ThrowingStun : Firing
{
}
  actor IncdAmmo : Ammo
{
    inventory.icon "CLIPA0"
    inventory.amount 0
    inventory.maxamount 0
    ammo.backpackamount 1
    ammo.backpackmaxamount 0
    inventory.pickupmessage "Picked up some incedinary grenades!"
    States
    {
    Spawn:
      CLIP A -1
      Stop
    }
}
actor ThrowingIncd : Firing
{
}

Actor ItemSparks 
{
  Radius 4
  Height 18
  Bouncetype Doom
  Bouncefactor 0.2
  +NOGRAVITY
    +RANDOMIZE
    -SOLID
    +NOBLOCKMAP
    +DONTSPLASH
	+NOCLIP
  RenderStyle Add
  Alpha 0.85
  scale .005
  States
  {
  Spawn:
    TELZ ABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCDABCD 2 A_Fadeout(.02)
    goto death
    death:
  TNT1 A 1 
    Stop  
  }
}

actor TimeSparks
{
  Radius 13
  Height 8
  Speed 25
  +RANDOMIZE
  -SOLID
  RenderStyle Add
  Alpha 0.55
  States
  {
  Spawn:
  goto death
  Death:
  PLSE A 0  A_SpawnItemEx("Itemsparks", 0, 0, 30, Random(-5, 5), Random(-5, 5), Random(-5, 5), 0, 0)
  PLSE A 0  A_SpawnItemEx("Itemsparks", 0, 0, 30, Random(-5, 5), Random(-5, 5), Random(-5, 5), 0, 0)
  PLSE A 0  A_SpawnItemEx("Itemsparks", 0, 0, 30, Random(-5, 5), Random(-5, 5), Random(-5, 5), 0, 0)
  PLSE A 0  A_SpawnItemEx("Itemsparks", 0, 0, 30, Random(-5, 5), Random(-5, 5), Random(-5, 5), 0, 0)
  PLSE A 0  A_SpawnItemEx("Itemsparks", 0, 0, 30, Random(-5, 5), Random(-5, 5), Random(-5, 5), 0, 0)
  PLSE A 0  A_SpawnItemEx("Itemsparks", 0, 0, 30, Random(-5, 5), Random(-5, 5), Random(-5, 5), 0, 0)
  PLSE A 0  A_SpawnItemEx("Itemsparks", 0, 0, 30, Random(-5, 5), Random(-5, 5), Random(-5, 5), 0, 0)
  PLSE A 0  A_SpawnItemEx("Itemsparks", 0, 0, 30, Random(-5, 5), Random(-5, 5), Random(-5, 5), 0, 0)
  PLSE A 0  A_SpawnItemEx("Itemsparks", 0, 0, 30, Random(-5, 5), Random(-5, 5), Random(-5, 5), 0, 0)
  PLSE A 0  A_SpawnItemEx("Itemsparks", 0, 0, 30, Random(-5, 5), Random(-5, 5), Random(-5, 5), 0, 0)
  PLSE A 0  A_SpawnItemEx("Itemsparks", 0, 0, 30, Random(-5, 5), Random(-5, 5), Random(-5, 5), 0, 0)
  PLSE A 0  A_SpawnItemEx("Itemsparks", 0, 0, 30, Random(-5, 5), Random(-5, 5), Random(-5, 5), 0, 0)
  PLSE A 0  A_SpawnItemEx("Itemsparks", 0, 0, 30, Random(-5, 5), Random(-5, 5), Random(-5, 5), 0, 0)
  PLSE A 0  A_SpawnItemEx("Itemsparks", 0, 0, 30, Random(-5, 5), Random(-5, 5), Random(-5, 5), 0, 0)
  PLSE A 0  A_SpawnItemEx("Itemsparks", 0, 0, 30, Random(-5, 5), Random(-5, 5), Random(-5, 5), 0, 0)
  PLSE A 0  A_SpawnItemEx("Itemsparks", 0, 0, 30, Random(-5, 5), Random(-5, 5), Random(-5, 5), 0, 0)
  PLSE A 0  A_SpawnItemEx("Itemsparks", 0, 0, 30, Random(-5, 5), Random(-5, 5), Random(-5, 5), 0, 0)
  PLSE A 0  A_SpawnItemEx("Itemsparks", 0, 0, 30, Random(-5, 5), Random(-5, 5), Random(-5, 5), 0, 0)
  PLSE A 0  A_SpawnItemEx("Itemsparks", 0, 0, 30, Random(-5, 5), Random(-5, 5), Random(-5, 5), 0, 0)
  PLSE A 0  A_SpawnItemEx("Itemsparks", 0, 0, 30, Random(-5, 5), Random(-5, 5), Random(-5, 5), 0, 0)
  PLSE A 0  A_SpawnItemEx("Itemsparks", 0, 0, 30, Random(-5, 5), Random(-5, 5), Random(-5, 5), 0, 0)
  PLSE A 0  A_SpawnItemEx("Itemsparks", 0, 0, 30, Random(-5, 5), Random(-5, 5), Random(-5, 5), 0, 0)
  PLSE A 0  A_SpawnItemEx("Itemsparks", 0, 0, 30, Random(-5, 5), Random(-5, 5), Random(-5, 5), 0, 0)
  PLSE A 0  A_SpawnItemEx("Itemsparks", 0, 0, 30, Random(-5, 5), Random(-5, 5), Random(-5, 5), 0, 0)
  PLSE A 0  A_SpawnItemEx("Itemsparks", 0, 0, 30, Random(-5, 5), Random(-5, 5), Random(-5, 5), 0, 0)
  PLSE A 0  A_SpawnItemEx("Itemsparks", 0, 0, 30, Random(-5, 5), Random(-5, 5), Random(-5, 5), 0, 0)
  PLSE A 0  A_SpawnItemEx("Itemsparks", 0, 0, 30, Random(-5, 5), Random(-5, 5), Random(-5, 5), 0, 0)
  PLSE A 0  A_SpawnItemEx("Itemsparks", 0, 0, 30, Random(-5, 5), Random(-5, 5), Random(-5, 5), 0, 0)
  PLSE A 0  A_SpawnItemEx("Itemsparks", 0, 0, 30, Random(-5, 5), Random(-5, 5), Random(-5, 5), 0, 0)
  PLSE A 0  A_SpawnItemEx("Itemsparks", 0, 0, 30, Random(-5, 5), Random(-5, 5), Random(-5, 5), 0, 0)
  PLSE A 0  A_SpawnItemEx("Itemsparks", 0, 0, 30, Random(-5, 5), Random(-5, 5), Random(-5, 5), 0, 0)
  PLSE A 0  A_SpawnItemEx("Itemsparks", 0, 0, 30, Random(-5, 5), Random(-5, 5), Random(-5, 5), 0, 0)
  PLSE A 0  A_SpawnItemEx("Itemsparks", 0, 0, 30, Random(-5, 5), Random(-5, 5), Random(-5, 5), 0, 0)
  PLSE A 0  A_SpawnItemEx("Itemsparks", 0, 0, 30, Random(-5, 5), Random(-5, 5), Random(-5, 5), 0, 0)
  PLSE A 0  A_SpawnItemEx("Itemsparks", 0, 0, 30, Random(-5, 5), Random(-5, 5), Random(-5, 5), 0, 0)
  PLSE A 0  A_SpawnItemEx("Itemsparks", 0, 0, 30, Random(-5, 5), Random(-5, 5), Random(-5, 5), 0, 0)
  PLSE A 0  A_SpawnItemEx("Itemsparks", 0, 0, 30, Random(-5, 5), Random(-5, 5), Random(-5, 5), 0, 0)
  PLSE A 0  A_SpawnItemEx("Itemsparks", 0, 0, 30, Random(-5, 5), Random(-5, 5), Random(-5, 5), 0, 0)
  PLSE A 0  A_SpawnItemEx("Itemsparks", 0, 0, 30, Random(-5, 5), Random(-5, 5), Random(-5, 5), 0, 0)
  PLSE A 0  A_SpawnItemEx("Itemsparks", 0, 0, 30, Random(-5, 5), Random(-5, 5), Random(-5, 5), 0, 0)
  PLSE A 0  A_SpawnItemEx("Itemsparks", 0, 0, 30, Random(-5, 5), Random(-5, 5), Random(-5, 5), 0, 0)
  PLSE A 0  A_SpawnItemEx("Itemsparks", 0, 0, 30, Random(-5, 5), Random(-5, 5), Random(-5, 5), 0, 0)
  PLSE A 0  A_SpawnItemEx("Itemsparks", 0, 0, 30, Random(-5, 5), Random(-5, 5), Random(-5, 5), 0, 0)
  PLSE A 0  A_SpawnItemEx("Itemsparks", 0, 0, 30, Random(-5, 5), Random(-5, 5), Random(-5, 5), 0, 0)
  PLSE A 0  A_SpawnItemEx("Itemsparks", 0, 0, 30, Random(-5, 5), Random(-5, 5), Random(-5, 5), 0, 0)
  PLSE A 0  A_SpawnItemEx("Itemsparks", 0, 0, 30, Random(-5, 5), Random(-5, 5), Random(-5, 5), 0, 0)
  PLSE A 0  A_SpawnItemEx("Itemsparks", 0, 0, 30, Random(-5, 5), Random(-5, 5), Random(-5, 5), 0, 0)
  PLSE A 0  A_SpawnItemEx("Itemsparks", 0, 0, 30, Random(-5, 5), Random(-5, 5), Random(-5, 5), 0, 0)
  PLSE A 0  A_SpawnItemEx("Itemsparks", 0, 0, 30, Random(-5, 5), Random(-5, 5), Random(-5, 5), 0, 0)
  PLSE A 0  A_SpawnItemEx("Itemsparks", 0, 0, 30, Random(-5, 5), Random(-5, 5), Random(-5, 5), 0, 0)
  PLSE A 0  A_SpawnItemEx("Itemsparks", 0, 0, 30, Random(-5, 5), Random(-5, 5), Random(-5, 5), 0, 0)
  PLSE A 0  A_SpawnItemEx("Itemsparks", 0, 0, 30, Random(-5, 5), Random(-5, 5), Random(-5, 5), 0, 0)
  PLSE A 0  A_SpawnItemEx("Itemsparks", 0, 0, 30, Random(-5, 5), Random(-5, 5), Random(-5, 5), 0, 0)
  PLSE A 0  A_SpawnItemEx("Itemsparks", 0, 0, 30, Random(-5, 5), Random(-5, 5), Random(-5, 5), 0, 0)
  PLSE A 0  A_SpawnItemEx("Itemsparks", 0, 0, 30, Random(-5, 5), Random(-5, 5), Random(-5, 5), 0, 0)
  PLSE A 0  A_SpawnItemEx("Itemsparks", 0, 0, 30, Random(-5, 5), Random(-5, 5), Random(-5, 5), 0, 0)
  PLSE A 0  A_SpawnItemEx("Itemsparks", 0, 0, 30, Random(-5, 5), Random(-5, 5), Random(-5, 5), 0, 0)
  PLSE A 0  A_SpawnItemEx("Itemsparks", 0, 0, 30, Random(-5, 5), Random(-5, 5), Random(-5, 5), 0, 0)
  PLSE A 0  A_SpawnItemEx("Itemsparks", 0, 0, 30, Random(-5, 5), Random(-5, 5), Random(-5, 5), 0, 0)
  PLSE A 0  A_SpawnItemEx("Itemsparks", 0, 0, 30, Random(-5, 5), Random(-5, 5), Random(-5, 5), 0, 0)
  PLSE A 0  A_SpawnItemEx("Itemsparks", 0, 0, 30, Random(-5, 5), Random(-5, 5), Random(-5, 5), 0, 0)
  PLSE A 0  A_SpawnItemEx("Itemsparks", 0, 0, 30, Random(-5, 5), Random(-5, 5), Random(-5, 5), 0, 0)
  PLSE A 0  A_SpawnItemEx("Itemsparks", 0, 0, 30, Random(-5, 5), Random(-5, 5), Random(-5, 5), 0, 0)
  PLSE A 0  A_SpawnItemEx("Itemsparks", 0, 0, 30, Random(-5, 5), Random(-5, 5), Random(-5, 5), 0, 0)
  PLSE A 0  A_SpawnItemEx("Itemsparks", 0, 0, 30, Random(-5, 5), Random(-5, 5), Random(-5, 5), 0, 0)
  PLSE A 0  A_SpawnItemEx("Itemsparks", 0, 0, 30, Random(-5, 5), Random(-5, 5), Random(-5, 5), 0, 0)
  PLSE A 0  A_SpawnItemEx("Itemsparks", 0, 0, 30, Random(-5, 5), Random(-5, 5), Random(-5, 5), 0, 0)
  PLSE A 0  A_SpawnItemEx("Itemsparks", 0, 0, 30, Random(-5, 5), Random(-5, 5), Random(-5, 5), 0, 0)
  PLSE A 0  A_SpawnItemEx("Itemsparks", 0, 0, 30, Random(-5, 5), Random(-5, 5), Random(-5, 5), 0, 0)
  PLSE A 0  A_SpawnItemEx("Itemsparks", 0, 0, 30, Random(-5, 5), Random(-5, 5), Random(-5, 5), 0, 0)
  PLSE A 0  A_SpawnItemEx("Itemsparks", 0, 0, 30, Random(-5, 5), Random(-5, 5), Random(-5, 5), 0, 0)
  PLSE A 0  A_SpawnItemEx("Itemsparks", 0, 0, 30, Random(-5, 5), Random(-5, 5), Random(-5, 5), 0, 0)
  PLSE A 0  A_SpawnItemEx("Itemsparks", 0, 0, 30, Random(-5, 5), Random(-5, 5), Random(-5, 5), 0, 0)
  PLSE A 0  A_SpawnItemEx("Itemsparks", 0, 0, 30, Random(-5, 5), Random(-5, 5), Random(-5, 5), 0, 0)
  PLSE A 0  A_SpawnItemEx("Itemsparks", 0, 0, 30, Random(-5, 5), Random(-5, 5), Random(-5, 5), 0, 0)
  PLSE A 0  A_SpawnItemEx("Itemsparks", 0, 0, 30, Random(-5, 5), Random(-5, 5), Random(-5, 5), 0, 0)
  PLSE A 0  A_SpawnItemEx("Itemsparks", 0, 0, 30, Random(-5, 5), Random(-5, 5), Random(-5, 5), 0, 0)
  PLSE A 0  A_SpawnItemEx("Itemsparks", 0, 0, 30, Random(-5, 5), Random(-5, 5), Random(-5, 5), 0, 0)
  PLSE A 0  A_SpawnItemEx("Itemsparks", 0, 0, 30, Random(-5, 5), Random(-5, 5), Random(-5, 5), 0, 0)
  PLSE A 0  A_SpawnItemEx("Itemsparks", 0, 0, 30, Random(-5, 5), Random(-5, 5), Random(-5, 5), 0, 0)
  PLSE A 0  A_SpawnItemEx("Itemsparks", 0, 0, 30, Random(-5, 5), Random(-5, 5), Random(-5, 5), 0, 0)
  PLSE A 0  A_SpawnItemEx("Itemsparks", 0, 0, 30, Random(-5, 5), Random(-5, 5), Random(-5, 5), 0, 0)
  PLSE A 0  A_SpawnItemEx("Itemsparks", 0, 0, 30, Random(-5, 5), Random(-5, 5), Random(-5, 5), 0, 0)
  PLSE A 0  A_SpawnItemEx("Itemsparks", 0, 0, 30, Random(-5, 5), Random(-5, 5), Random(-5, 5), 0, 0)
  PLSE A 0  A_SpawnItemEx("Itemsparks", 0, 0, 30, Random(-5, 5), Random(-5, 5), Random(-5, 5), 0, 0)
  PLSE A 0  A_SpawnItemEx("Itemsparks", 0, 0, 30, Random(-5, 5), Random(-5, 5), Random(-5, 5), 0, 0)
  PLSE A 0  A_SpawnItemEx("Itemsparks", 0, 0, 30, Random(-5, 5), Random(-5, 5), Random(-5, 5), 0, 0)
  PLSE A 0  A_SpawnItemEx("Itemsparks", 0, 0, 30, Random(-5, 5), Random(-5, 5), Random(-5, 5), 0, 0)
  PLSE A 0  A_SpawnItemEx("Itemsparks", 0, 0, 30, Random(-5, 5), Random(-5, 5), Random(-5, 5), 0, 0)
  PLSE A 0  A_SpawnItemEx("Itemsparks", 0, 0, 30, Random(-5, 5), Random(-5, 5), Random(-5, 5), 0, 0)
  PLSE A 0  A_SpawnItemEx("Itemsparks", 0, 0, 30, Random(-5, 5), Random(-5, 5), Random(-5, 5), 0, 0)
  PLSE A 0  A_SpawnItemEx("Itemsparks", 0, 0, 30, Random(-5, 5), Random(-5, 5), Random(-5, 5), 0, 0)
  PLSE A 0  A_SpawnItemEx("Itemsparks", 0, 0, 30, Random(-5, 5), Random(-5, 5), Random(-5, 5), 0, 0)
  PLSE A 0  A_SpawnItemEx("Itemsparks", 0, 0, 30, Random(-5, 5), Random(-5, 5), Random(-5, 5), 0, 0)
  PLSE A 0  A_SpawnItemEx("Itemsparks", 0, 0, 30, Random(-5, 5), Random(-5, 5), Random(-5, 5), 0, 0)
  PLSE A 0  A_SpawnItemEx("Itemsparks", 0, 0, 30, Random(-5, 5), Random(-5, 5), Random(-5, 5), 0, 0)
  PLSE A 0  A_SpawnItemEx("Itemsparks", 0, 0, 30, Random(-5, 5), Random(-5, 5), Random(-5, 5), 0, 0)
  PLSE A 0  A_SpawnItemEx("Itemsparks", 0, 0, 30, Random(-5, 5), Random(-5, 5), Random(-5, 5), 0, 0)
  PLSE A 0  A_SpawnItemEx("Itemsparks", 0, 0, 30, Random(-5, 5), Random(-5, 5), Random(-5, 5), 0, 0)
  PLSE A 0  A_SpawnItemEx("Itemsparks", 0, 0, 30, Random(-5, 5), Random(-5, 5), Random(-5, 5), 0, 0)
  PLSE A 0  A_SpawnItemEx("Itemsparks", 0, 0, 30, Random(-5, 5), Random(-5, 5), Random(-5, 5), 0, 0)
  PLSE A 0  A_SpawnItemEx("Itemsparks", 0, 0, 30, Random(-5, 5), Random(-5, 5), Random(-5, 5), 0, 0)
  PLSE A 0  A_SpawnItemEx("Itemsparks", 0, 0, 30, Random(-5, 5), Random(-5, 5), Random(-5, 5), 0, 0)
  PLSE A 0  A_SpawnItemEx("Itemsparks", 0, 0, 30, Random(-5, 5), Random(-5, 5), Random(-5, 5), 0, 0)
  PLSE A 0  A_SpawnItemEx("Itemsparks", 0, 0, 30, Random(-5, 5), Random(-5, 5), Random(-5, 5), 0, 0)
  PLSE A 0  A_SpawnItemEx("Itemsparks", 0, 0, 30, Random(-5, 5), Random(-5, 5), Random(-5, 5), 0, 0)
  PLSE A 0  A_SpawnItemEx("Itemsparks", 0, 0, 30, Random(-5, 5), Random(-5, 5), Random(-5, 5), 0, 0)
  PLSE A 0  A_SpawnItemEx("Itemsparks", 0, 0, 30, Random(-5, 5), Random(-5, 5), Random(-5, 5), 0, 0)
  PLSE A 0  A_SpawnItemEx("Itemsparks", 0, 0, 30, Random(-5, 5), Random(-5, 5), Random(-5, 5), 0, 0)
  PLSE A 0  A_SpawnItemEx("Itemsparks", 0, 0, 30, Random(-5, 5), Random(-5, 5), Random(-5, 5), 0, 0)
  PLSE A 0  A_SpawnItemEx("Itemsparks", 0, 0, 30, Random(-5, 5), Random(-5, 5), Random(-5, 5), 0, 0)
  PLSE A 0  A_SpawnItemEx("Itemsparks", 0, 0, 30, Random(-5, 5), Random(-5, 5), Random(-5, 5), 0, 0)
  PLSE A 0  A_SpawnItemEx("Itemsparks", 0, 0, 30, Random(-5, 5), Random(-5, 5), Random(-5, 5), 0, 0)
  PLSE A 0  A_SpawnItemEx("Itemsparks", 0, 0, 30, Random(-5, 5), Random(-5, 5), Random(-5, 5), 0, 0)
  PLSE A 0  A_SpawnItemEx("Itemsparks", 0, 0, 30, Random(-5, 5), Random(-5, 5), Random(-5, 5), 0, 0)
  PLSE A 0  A_SpawnItemEx("Itemsparks", 0, 0, 30, Random(-5, 5), Random(-5, 5), Random(-5, 5), 0, 0)
  PLSE A 0  A_SpawnItemEx("Itemsparks", 0, 0, 30, Random(-5, 5), Random(-5, 5), Random(-5, 5), 0, 0)
  PLSE A 0  A_SpawnItemEx("Itemsparks", 0, 0, 30, Random(-5, 5), Random(-5, 5), Random(-5, 5), 0, 0)
  PLSE A 0  A_SpawnItemEx("Itemsparks", 0, 0, 30, Random(-5, 5), Random(-5, 5), Random(-5, 5), 0, 0)
  PLSE A 0  A_SpawnItemEx("Itemsparks", 0, 0, 30, Random(-5, 5), Random(-5, 5), Random(-5, 5), 0, 0)
    stop
  }
}

Actor ItemMist
{
  Radius 4
  Height 18
  Bouncetype Doom
  Bouncefactor 0.2
  +NOGRAVITY
    +RANDOMIZE
    -SOLID
    +NOBLOCKMAP
    +DONTSPLASH
	+NOCLIP
  RenderStyle Add
  Alpha 0.45
  scale .05
  States
  {
  Spawn:
    MIST ABCDEFGHIJKLMNOPQR 1 A_Fadeout(.03)
    goto death
    death:
  TNT1 A 1 
    Stop  
  }
}

actor TimeMist
{
  Radius 13
  Height 8
  Speed 195
  +RANDOMIZE
  -SOLID
  RenderStyle Add
  Alpha 0.55
  States
  {
  Spawn:
  goto death
  Death:
  PLSE A 0  A_SpawnItemEx("ItemMist", 0, 0, 40, Random(-25, 25), Random(-55, 55), Random(-55, 55), 0, 0)
  PLSE A 0  A_SpawnItemEx("ItemMist", 0, 0, 40, Random(-25, 25), Random(-55, 55), Random(-55, 55), 0, 0)
  PLSE A 0  A_SpawnItemEx("ItemMist", 0, 0, 40, Random(-25, 25), Random(-55, 55), Random(-55, 55), 0, 0)
  PLSE A 0  A_SpawnItemEx("ItemMist", 0, 0, 40, Random(-25, 25), Random(-55, 55), Random(-55, 55), 0, 0)
  PLSE A 0  A_SpawnItemEx("ItemMist", 0, 0, 40, Random(-25, 25), Random(-55, 55), Random(-55, 55), 0, 0)
  PLSE A 0  A_SpawnItemEx("ItemMist", 0, 0, 40, Random(-25, 25), Random(-55, 55), Random(-55, 55), 0, 0)
  PLSE A 0  A_SpawnItemEx("ItemMist", 0, 0, 40, Random(-25, 25), Random(-55, 55), Random(-55, 55), 0, 0)
  PLSE A 0  A_SpawnItemEx("ItemMist", 0, 0, 40, Random(-25, 25), Random(-55, 55), Random(-55, 55), 0, 0)
  PLSE A 0  A_SpawnItemEx("ItemMist", 0, 0, 40, Random(-25, 25), Random(-55, 55), Random(-55, 55), 0, 0)
  PLSE A 0  A_SpawnItemEx("ItemMist", 0, 0, 40, Random(-25, 25), Random(-55, 55), Random(-55, 55), 0, 0)
  PLSE A 0  A_SpawnItemEx("ItemMist", 0, 0, 40, Random(-25, 25), Random(-55, 55), Random(-55, 55), 0, 0)
  PLSE A 0  A_SpawnItemEx("ItemMist", 0, 0, 40, Random(-25, 25), Random(-55, 55), Random(-55, 55), 0, 0)
  PLSE A 0  A_SpawnItemEx("ItemMist", 0, 0, 40, Random(-25, 25), Random(-55, 55), Random(-55, 55), 0, 0)
  PLSE A 0  A_SpawnItemEx("ItemMist", 0, 0, 40, Random(-25, 25), Random(-55, 55), Random(-55, 55), 0, 0)
    stop
  }
}

Actor HyperFlare
{
 Scale 16
 +NoInteraction
 States
 {
  Spawn:
   FLAR A 1 Bright A_FadeOut(0.05)
   Wait
 }
}

Actor SuperHyperFlare
{
  Radius 4
  Height 18
 Scale 30
 +NoInteraction
 +Noclip
 +DONTSPLASH
 -Solid
 +Noblockmap
 
 States
 {
  Spawn:
   FLAR A 1 Bright A_FadeOut(0.05)
   Wait
 }
}
Actor NuclearHyperFlare
{
  Radius 4
  Height 18
 Scale 188
 +NoInteraction
 +Noclip
 +DONTSPLASH
 -Solid
 +Noblockmap
 
 States
 {
  Spawn:
   FLAR A 1 Bright A_FadeOut(0.01)
   Wait
 }
}

Actor SuperShockwaveEffect
{
  Radius 13
  Height 8
  Speed 195
  +RANDOMIZE
  -SOLID
  RenderStyle Add
  Alpha 0.55
 States
 {
  Spawn:
   FLAR A 0 Bright A_SpawnItemEx("SuperHyperFlare",0,0,0,111,0,0,15,0,0,0)
   FLAR A 0 Bright A_SpawnItemEx("SuperHyperFlare",0,0,0,111,0,0,30,0,0,0)
   FLAR A 0 Bright A_SpawnItemEx("SuperHyperFlare",0,0,0,111,0,0,45,0,0,0)
   FLAR A 0 Bright A_SpawnItemEx("SuperHyperFlare",0,0,0,111,0,0,60,0,0,0)
   FLAR A 0 Bright A_SpawnItemEx("SuperHyperFlare",0,0,0,111,0,0,75,0,0,0)
   FLAR A 0 Bright A_SpawnItemEx("SuperHyperFlare",0,0,0,111,0,0,90,0,0,0)
   FLAR A 0 Bright A_SpawnItemEx("SuperHyperFlare",0,0,0,111,0,0,105,0,0,0)
   FLAR A 0 Bright A_SpawnItemEx("SuperHyperFlare",0,0,0,111,0,0,120,0,0,0)
   FLAR A 0 Bright A_SpawnItemEx("SuperHyperFlare",0,0,0,111,0,0,135,0,0,0)
   FLAR A 0 Bright A_SpawnItemEx("SuperHyperFlare",0,0,0,111,0,0,150,0,0,0)
   FLAR A 0 Bright A_SpawnItemEx("SuperHyperFlare",0,0,0,111,0,0,165,0,0,0)
   FLAR A 0 Bright A_SpawnItemEx("SuperHyperFlare",0,0,0,111,0,0,180,0,0,0)
   FLAR A 0 Bright A_SpawnItemEx("SuperHyperFlare",0,0,0,111,0,0,195,0,0,0)
   FLAR A 0 Bright A_SpawnItemEx("SuperHyperFlare",0,0,0,111,0,0,210,0,0,0)
   FLAR A 0 Bright A_SpawnItemEx("SuperHyperFlare",0,0,0,111,0,0,225,0,0,0)
   FLAR A 0 Bright A_SpawnItemEx("SuperHyperFlare",0,0,0,111,0,0,240,0,0,0)
   FLAR A 0 Bright A_SpawnItemEx("SuperHyperFlare",0,0,0,111,0,0,255,0,0,0)
   FLAR A 0 Bright A_SpawnItemEx("SuperHyperFlare",0,0,0,111,0,0,270,0,0,0)
   FLAR A 0 Bright A_SpawnItemEx("SuperHyperFlare",0,0,0,111,0,0,285,0,0,0)
   FLAR A 0 Bright A_SpawnItemEx("SuperHyperFlare",0,0,0,111,0,0,300,0,0,0)
   FLAR A 0 Bright A_SpawnItemEx("SuperHyperFlare",0,0,0,111,0,0,315,0,0,0)
   FLAR A 0 Bright A_SpawnItemEx("SuperHyperFlare",0,0,0,111,0,0,330,0,0,0)
   FLAR A 0 Bright A_SpawnItemEx("SuperHyperFlare",0,0,0,111,0,0,345,0,0,0)
   FLAR A 0 Bright A_SpawnItemEx("SuperHyperFlare",0,0,0,111,0,0,360,0,0,0)
   Stop
 }
}

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

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

actor NukeDesignator : Weapon
{
  obituary "%o somehow died by the phone."
  weapon.selectionorder 999
  weapon.kickback 25
  //+WEAPON.WIMPY_WEAPON
  +WEAPON.MELEEWEAPON
  +WEAPON.NOALERT
  +CHEATNOTWEAPON
  states
  {
  Ready:
    GRNA L 0 A_TakeInventory("Reloading",1)
    U45A L 0 A_JumpIfInventory("ThrowingGrenade",1,"FragGrenade")
    U45A L 0 A_JumpIfInventory("KnifeAttack",1,"KnifeAttack")
	U45A L 0 A_JumpIfInventory("Reloading",1,"Altfiretest")
    //TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
    //PHNN ABCDEFGHIJKLMNOP 2 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	PHNR A 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotRail",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNR A 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotRail",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNR A 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotRail",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNR A 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotRail",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNR A 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	U45A L 0 A_JumpIfInventory("ThrowingGrenade",1,"FragGrenade")
    U45A L 0 A_JumpIfInventory("KnifeAttack",1,"KnifeAttack")
	U45A L 0 A_JumpIfInventory("Reloading",1,"Altfiretest")
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotRail",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNR A 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotRail",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNR A 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotRail",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNR A 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotRail",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNR A 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotRail",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNR A 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotRail",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNR A 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotRail",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNR A 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotRail",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNR A 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	U45A L 0 A_JumpIfInventory("ThrowingGrenade",1,"FragGrenade")
    U45A L 0 A_JumpIfInventory("KnifeAttack",1,"KnifeAttack")
	U45A L 0 A_JumpIfInventory("Reloading",1,"Altfiretest")
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotRail",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNR A 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotRail",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNR A 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotRail",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNR A 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotRail",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNR A 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotRail",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNR A 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotRail",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNR A 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotRail",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNR A 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotRail",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNR A 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotRail",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNR A 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotRail",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNR A 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	U45A L 0 A_JumpIfInventory("ThrowingGrenade",1,"FragGrenade")
    U45A L 0 A_JumpIfInventory("KnifeAttack",1,"KnifeAttack")
	U45A L 0 A_JumpIfInventory("Reloading",1,"Altfiretest")
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotRail",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNR A 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotRail",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNR A 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotRail",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNR A 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotRail",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNR A 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotRail",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNR A 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotRail",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNR A 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	U45A L 0 A_JumpIfInventory("ThrowingGrenade",1,"FragGrenade")
    U45A L 0 A_JumpIfInventory("KnifeAttack",1,"KnifeAttack")
	U45A L 0 A_JumpIfInventory("Reloading",1,"Altfiretest")
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotRail",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNR A 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotRail",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNR A 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotRail",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNR A 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotRail",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNR A 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotRail",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNR A 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotRail",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNR A 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotRail",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNR A 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotRail",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNR A 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotRail",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNR B 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotRail",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNR B 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	U45A L 0 A_JumpIfInventory("ThrowingGrenade",1,"FragGrenade")
    U45A L 0 A_JumpIfInventory("KnifeAttack",1,"KnifeAttack")
	U45A L 0 A_JumpIfInventory("Reloading",1,"Altfiretest")
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotRail",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNR C 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotRail",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNR C 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotRail",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNR D 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotRail",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNR D 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotRail",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNR E 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	U45A L 0 A_JumpIfInventory("ThrowingGrenade",1,"FragGrenade")
    U45A L 0 A_JumpIfInventory("KnifeAttack",1,"KnifeAttack")
	U45A L 0 A_JumpIfInventory("Reloading",1,"Altfiretest")
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotRail",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNR E 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotRail",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNR F 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotRail",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNR F 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotRail",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNR G 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotRail",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNR G 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	U45A L 0 A_JumpIfInventory("ThrowingGrenade",1,"FragGrenade")
    U45A L 0 A_JumpIfInventory("KnifeAttack",1,"KnifeAttack")
	U45A L 0 A_JumpIfInventory("Reloading",1,"Altfiretest")
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotRail",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNR H 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotRail",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNR H 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotRail",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNR I 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotRail",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNR I 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	U45A L 0 A_JumpIfInventory("ThrowingGrenade",1,"FragGrenade")
    U45A L 0 A_JumpIfInventory("KnifeAttack",1,"KnifeAttack")
	U45A L 0 A_JumpIfInventory("Reloading",1,"Altfiretest")
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotRail",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNR J 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotRail",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNR J 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotRail",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNR K 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotRail",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNR K 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	U45A L 0 A_JumpIfInventory("ThrowingGrenade",1,"FragGrenade")
    U45A L 0 A_JumpIfInventory("KnifeAttack",1,"KnifeAttack")
	U45A L 0 A_JumpIfInventory("Reloading",1,"Altfiretest")
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotRail",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNR J 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotRail",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNR J 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotRail",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNR I 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotRail",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNR I 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	U45A L 0 A_JumpIfInventory("ThrowingGrenade",1,"FragGrenade")
    U45A L 0 A_JumpIfInventory("KnifeAttack",1,"KnifeAttack")
	U45A L 0 A_JumpIfInventory("Reloading",1,"Altfiretest")
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotRail",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNR H 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotRail",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNR H 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotRail",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNR G 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	U45A L 0 A_JumpIfInventory("ThrowingGrenade",1,"FragGrenade")
    U45A L 0 A_JumpIfInventory("KnifeAttack",1,"KnifeAttack")
	U45A L 0 A_JumpIfInventory("Reloading",1,"Altfiretest")
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotRail",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNR G 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotRail",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNR F 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotRail",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNR F 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotRail",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNR E 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotRail",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNR E 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	U45A L 0 A_JumpIfInventory("ThrowingGrenade",1,"FragGrenade")
    U45A L 0 A_JumpIfInventory("KnifeAttack",1,"KnifeAttack")
	U45A L 0 A_JumpIfInventory("Reloading",1,"Altfiretest")
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotRail",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNR D 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotRail",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNR D 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotRail",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNR C 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotRail",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNR C 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotRail",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNR B 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	U45A L 0 A_JumpIfInventory("ThrowingGrenade",1,"FragGrenade")
    U45A L 0 A_JumpIfInventory("KnifeAttack",1,"KnifeAttack")
	U45A L 0 A_JumpIfInventory("Reloading",1,"Altfiretest")
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotRail",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNR B 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotRail",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
    goto Ready+1
  Zoom:
  Altfiretest:
    TNT1 A 0 A_JumpIfInventory("NoNuke", 1, "Bad3")
    TNT1 A 0 A_JumpIfInventory("KladeMedallionusageLimit", 2, "Bad2")
    TNT1 A 0 A_JumpIfInventory("KladeMedallionusageLimit", 1, "Bad")
	U45F A 0 A_JumpIfInventory("NukeToken",1,"ReadyNuke2")
    GRNA L 0 A_GiveInventory("NukeToken",1)
	GRNA L 0 A_TakeInventory("Reloading",1)
	PHNB A 4 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
    //PHNK A 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	Goto ReadyNuke
	Bad:
	TNT1 A 0 A_Print("Tactical Nuke is still rearming. (Exit one more level)")
	Goto Ready
	Bad2:
	TNT1 A 0 A_Print("Tactical Nuke is still rearming. (Exit two more levels)")
    Goto Ready
	Bad3:
	TNT1 A 0 A_Print("The server host has disabled the tactical nuke. It's illegal!")
    Goto Ready
  ReadyNuke:
    U45A L 0 A_JumpIfInventory("ThrowingGrenade",1,"FragGrenade")
    U45A L 0 A_JumpIfInventory("KnifeAttack",1,"KnifeAttack")
    U45F A 0 A_JumpIfInventory("Reloading",1,"ReadyNuke2")
	PHNN A 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNN A 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNN B 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNN B 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	U45A L 0 A_JumpIfInventory("ThrowingGrenade",1,"FragGrenade")
    U45A L 0 A_JumpIfInventory("KnifeAttack",1,"KnifeAttack")
	U45F A 0 A_JumpIfInventory("Reloading",1,"ReadyNuke2")
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNN C 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNN C 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNN D 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNN D 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNN E 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	U45A L 0 A_JumpIfInventory("ThrowingGrenade",1,"FragGrenade")
    U45A L 0 A_JumpIfInventory("KnifeAttack",1,"KnifeAttack")
	U45F A 0 A_JumpIfInventory("Reloading",1,"ReadyNuke2")
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNN E 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNN F 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNN F 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNN G 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNN G 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	U45A L 0 A_JumpIfInventory("ThrowingGrenade",1,"FragGrenade")
    U45A L 0 A_JumpIfInventory("KnifeAttack",1,"KnifeAttack")
	U45F A 0 A_JumpIfInventory("Reloading",1,"ReadyNuke2")
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNN H 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNN H 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNN I 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNN I 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	U45A L 0 A_JumpIfInventory("ThrowingGrenade",1,"FragGrenade")
    U45A L 0 A_JumpIfInventory("KnifeAttack",1,"KnifeAttack")
	U45F A 0 A_JumpIfInventory("Reloading",1,"ReadyNuke2")
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNN J 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNN J 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNN K 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNN K 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	U45A L 0 A_JumpIfInventory("ThrowingGrenade",1,"FragGrenade")
    U45A L 0 A_JumpIfInventory("KnifeAttack",1,"KnifeAttack")
	U45F A 0 A_JumpIfInventory("Reloading",1,"ReadyNuke2")
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNN L 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNN L 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNN M 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNN M 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	U45A L 0 A_JumpIfInventory("ThrowingGrenade",1,"FragGrenade")
    U45A L 0 A_JumpIfInventory("KnifeAttack",1,"KnifeAttack")
	U45F A 0 A_JumpIfInventory("Reloading",1,"ReadyNuke2")
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNN N 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNN N 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNN O 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	U45A L 0 A_JumpIfInventory("ThrowingGrenade",1,"FragGrenade")
    U45A L 0 A_JumpIfInventory("KnifeAttack",1,"KnifeAttack")
	U45F A 0 A_JumpIfInventory("Reloading",1,"ReadyNuke2")
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNN O 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNN P 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNN P 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	loop
  ReadyNuke2:
    GRNA L 0 A_TakeInventory("NukeToken",1)
    PHNB A 4 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	goto Ready
  Deselect:
    TNT1 AA 0 A_Lower
    TNT1 A 1 A_Lower
	GRNA L 0 A_TakeInventory("NukeToken",1)
	TNT1 A 0 A_TakeInventory("NukeDesignator",1)
    stop
  Select: 
    PHNN A 0 A_Raise
    loop
  Fire:
    U45A L 0 A_JumpIfInventory("NukeToken",1,"FireNuke") 
	U45A L 0 A_JumpIfInventory("KladeMedallionRailBeingFired",1,"RailIsFiring")
	U45A L 0 A_JumpIfInventory("KladeMedallionRailComplete",7,"RailCooldown2")
	U45A L 0 A_JumpIfInventory("KladeMedallionRailCooldownTime",1,"RailCooldown")
    RLGG E 1 A_JumpIfTargetInLOS("FireRailHoming", 0, JLOSF_NOAUTOAIM)
    TNT1 A 0 A_TakeInventory("NukeToken",1)
	KNFA B 0 A_PlaySound("Desbeeps")
	MSLB A 0 A_FireCustomMissile ("RailgunDamage") //Firebullets is more accurate but no EXP for some reason
	TNT1 A 1 A_FireBullets(0,0,1,0,"RailgunDamageSoundOnly",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	//TNT1 A 1 A_FireBullets(0,0,1,0,"RailgunDamage",FBF_NOFLASH|FBF_NORANDOMPUFFZ) 
	TNT1 A 0 A_TakeInventory("KladeMedallionRailUsageLimit",1)
	TNT1 A 0 A_GiveInventory("KladeMedallionRailBeingFired",1)
	TNT1 A 0 A_GiveInventory("KladeMedallionRailComplete",1)
	TNT1 A 0 ACS_NamedExecuteAlways("Railgun Fire",0,0,0,0)
	TNT1 A 0 A_TakeInventory("NukeDesignator",1)
    goto Ready
  RailCooldown:
    TNT1 A 0 A_Print("Railgun is currently recharging.")
	Goto Ready
  RailCooldown2:
    TNT1 A 0 A_Print("Railgun is currently recharging. (Exit the level)")
	Goto Ready
  RailIsFiring:
    TNT1 A 0 A_Print("Railgun is already firing.")
	Goto Ready
  FireNuke:
    //TNT1 A 0 A_CustomMissile("TacticalNukeDamage",0,0,0,0,0,0)
    TNT1 A 1 A_FireBullets(0,0,1,0,"TacticalNukeDamage",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	TNT1 A 0 A_TakeInventory("NukeToken",1)
	TNT1 A 0 ACS_Namedexecute("Nuke Designator",0,0,0,0)
	//TNT1 A 0 A_GiveInventory("KladeMedallionUsageLimit",2)
	//TNT1 A 0 A_TakeInventory("NukeDesignator",1)
	stop
  FireRailHoming:
    MSLB A 0 A_FireCustomMissile ("RailgunDamageHoming")
	TNT1 A 1 A_FireBullets(0,0,1,0,"RailgunDamageSoundOnly",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	TNT1 A 0 A_Print("Target acquired - locking on.")
	KNFA B 0 A_PlaySound("Desbeeps")
	TNT1 A 0 A_TakeInventory("KladeMedallionRailUsageLimit",1)
	TNT1 A 0 A_GiveInventory("KladeMedallionRailBeingFired",1)
	TNT1 A 0 A_GiveInventory("KladeMedallionRailComplete",1)
	TNT1 A 0 ACS_NamedExecuteAlways("Railgun Fire",0,0,0,0)
	TNT1 A 0 A_TakeInventory("NukeToken",1)
	TNT1 A 0 A_TakeInventory("NukeDesignator",1)
	stop
  FragGrenade:
    U45F A 0 ACS_NamedExecuteAlways("RefSpeak",0,1,0,0)
    U45F A 0 A_ZoomFactor(1.0)
    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
	U45F A 0 A_JumpIfInventory("NukeToken",1,"ReadyNuke")
    Goto Ready+2
  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
	U45F A 0 A_JumpIfInventory("NukeToken",1,"ReadyNuke")
    Goto Ready+2
  KnifeAttack:
    GRNA L 0 A_TakeInventory("weapondropper",2)
    U45F A 0 A_ZoomFactor(1.0)
    U45A L 0 A_JumpIfInventory("ThrowingGrenade",1,"FragGrenade")
    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)
	U45F A 0 A_JumpIfInventory("NukeToken",1,"ReadyNuke")
    Goto Ready+2
  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)
	U45F A 0 A_JumpIfInventory("NukeToken",1,"ReadyNuke")
    Goto Ready+2
  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)
	U45F A 0 A_JumpIfInventory("NukeToken",1,"ReadyNuke")
    Goto Ready+2
  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)
	U45F A 0 A_JumpIfInventory("NukeToken",1,"ReadyNuke")
    Goto Ready+2
  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
	U45F A 0 A_JumpIfInventory("NukeToken",1,"ReadyNuke")
    Goto Ready+2
  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
	U45F A 0 A_JumpIfInventory("NukeToken",1,"ReadyNuke")
    Goto Ready+2
  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
	U45F A 0 A_JumpIfInventory("NukeToken",1,"ReadyNuke")
    Goto Ready+2
  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
	U45F A 0 A_JumpIfInventory("NukeToken",1,"ReadyNuke")
    Goto Ready+2
  }
}

ACTOR Nukedot: BulletPuff
{ 
	Decal "None"
    Mass 0
    Scale 0.10
    Radius 1
    Height 2
	Projectile
	Speed 999
	VSpeed 0
    +NOBLOCKMAP
    +NOGRAVITY
    +BLOODLESSIMPACT
    +ALWAYSPUFF
	+FIXMAPTHINGPOS
    +PUFFONACTORS
    +DONTSPLASH
    +FORCEXYBILLBOARD
	-ALLOWPARTICLES
    Renderstyle Add
    Alpha 0.75
    States
    {
	Melee:
	Spawn:
		LEYS A 1 BRIGHT //A_AlertMonsters(500)
	Death:
	XDeath:
	Crash:
		LEYS A 1 
		TNT1 A 0 A_SpawnItemEx("TacticalNukeDamage",0,0,0,0,0,0,0,0)
		LEYS A 1 BRIGHT
		Stop
	}
}

ACTOR Laserdot: BulletPuff
{ 
	Decal "None"
    Mass 0
    Scale 0.10
    Radius 1
    Height 2
	Projectile
	Speed 999
	VSpeed 0
    +NOBLOCKMAP
    +NOGRAVITY
    +BLOODLESSIMPACT
    +ALWAYSPUFF
	+FIXMAPTHINGPOS
    +PUFFONACTORS
    +DONTSPLASH
    +FORCEXYBILLBOARD
	-ALLOWPARTICLES
    Renderstyle Add
    Alpha 0.75
    States
    {
	Melee:
	Spawn:
		LEYS A 1 BRIGHT //A_AlertMonsters(500)
	Death:
	XDeath:
	Crash:
		LEYS A 1 
		TNT1 A 0 A_SpawnItemEx("LaserAlertNearbyMonsters",0,0,0,0,0,0,0,288)
		LEYS A 1 BRIGHT
		Stop
	}
}

ACTOR LaserdotRail: BulletPuff
{ 
	Decal "None"
    Mass 0
    Scale 0.10
    Radius 1
    Height 2
	Projectile
	Speed 999
	VSpeed 0
    +NOBLOCKMAP
    +NOGRAVITY
    +BLOODLESSIMPACT
    +ALWAYSPUFF
	+FIXMAPTHINGPOS
    +PUFFONACTORS
    +DONTSPLASH
    +FORCEXYBILLBOARD
	-ALLOWPARTICLES
    Renderstyle Add
    Alpha 0.75
    States
    {
	Melee:
	Spawn:
		LEYS C 1 BRIGHT //A_AlertMonsters(500)
	Death:
	XDeath:
	Crash:
		LEYS C 1 
		TNT1 A 0 A_SpawnItemEx("LaserAlertNearbyMonsters",0,0,0,0,0,0,0,288)
		LEYS C 1 BRIGHT
		Stop
	}
}

ACTOR LaserdotAC130: BulletPuff
{ 
	Decal "None"
    Mass 0
    Scale 0.10
    Radius 1
    Height 2
	Projectile
	Speed 999
	VSpeed 0
    +NOBLOCKMAP
    +NOGRAVITY
    +BLOODLESSIMPACT
    +ALWAYSPUFF
	+FIXMAPTHINGPOS
    +PUFFONACTORS
    +DONTSPLASH
    +FORCEXYBILLBOARD
	-ALLOWPARTICLES
    Renderstyle Add
    Alpha 0.75
    States
    {
	Melee:
	Spawn:
		LEYS G 1 BRIGHT //A_AlertMonsters(500)
	Death:
	XDeath:
	Crash:
		LEYS G 1 
		TNT1 A 0 A_SpawnItemEx("LaserAlertNearbyMonsters",0,0,0,0,0,0,0,288)
		LEYS G 1 BRIGHT
		Stop
	}
}

ACTOR LaserdotRed: BulletPuff
{ 
	Decal "None"
    Mass 0
    Scale 0.10
    Radius 1
    Height 2
	Projectile
	Speed 999
	VSpeed 0
    +NOBLOCKMAP
    +NOGRAVITY
    +BLOODLESSIMPACT
    +ALWAYSPUFF
	+FIXMAPTHINGPOS
    +PUFFONACTORS
    +DONTSPLASH
    +FORCEXYBILLBOARD
	-ALLOWPARTICLES
    Renderstyle Add
    Alpha 0.75
    States
    {
	Melee:
	Spawn:
		LEYS G 1 BRIGHT //A_AlertMonsters(500)
	Death:
	XDeath:
	Crash:
		LEYS R 1 
		TNT1 A 0 A_SpawnItemEx("LaserAlertNearbyMonsters",0,0,0,0,0,0,0,288)
		LEYS R 1 BRIGHT
		Stop
	}
}

Actor LaserDotPerma : LaserDot
{
	States
	{
	Melee:
	Spawn:
		LEYS A 2 BRIGHT
		//TNT1 A 0 A_SpawnItemEx("LaserAlertNearbyMonsters",0,0,0,0,0,0,0,288)
		Stop
	}
}
ACTOR LaserAlertNearbyMonsters : CustomInventory
{	
	Radius 600
    +DONTSPLASH
	+INVENTORY.QUIET
	Inventory.MaxAmount 1
	States
	{
	Spawn:
		TNT1 A 0 A_ALERTMONSTERS(750)
		TNT1 A 5
		Stop
	Pickup:
		TNT1 A 0 A_ALERTMONSTERS(750)
		TNT1 A 0 A_TakeInventory("LaserAlertNearbyMonsters", 1)
		Stop
	}
}

Actor RadiationExplosion
{
  Radius 4
  Height 18
 Scale 188
 +NoInteraction
 +Noclip
 +DONTSPLASH
 -Solid
 +Noblockmap
 
 States
 {
  Spawn:
   FLAR A 1 Bright A_FadeOut(0.01)
   TNT1 A 0 A_SpawnItemEx("RadiationSpawner",0,0,0,0,0,0,0,0)
   TNT1 A 0 A_SpawnItemEx("RadiationSpawner",0,0,0,0,0,0,0,0)
   TNT1 A 2
   TNT1 A 0 A_SpawnItemEx("RadiationSpawner",0,0,0,0,0,0,0,0)
   TNT1 A 3
   TNT1 A 0 A_SpawnItemEx("RadiationSpawner",0,0,0,0,0,0,0,0)
   TNT1 A 4
   TNT1 A 0 A_SpawnItemEx("RadiationSpawner",0,0,0,0,0,0,0,0)
   TNT1 A 5
   Wait
 }
}

Actor RadiationSpawner
{
	Radius 12
	Height 12
	Mass 10
	Speed 25
	DamageType "Gas"
	PROJECTILE
	-NOGRAVITY
    +NODAMAGETHRUST
	+NOBLOOD
	-BLOODSPLATTER
	Renderstyle translucent
	Alpha 0.7
	+DONTSPLASH
	+FORCEXYBILLBOARD
	+SKYEXPLODE
	+EXPLODEONWATER
	+THRUACTORS
	BounceType Hexen
	BounceFactor 0.3
	WallBounceFactor 0.2
	ReactionTime 35
    States
	{
	Spawn:
		PSBG A 1 A_CountDown
		loop
	
	Death:
		PSBG A 0 A_Scream
		TNT1 A 0 ThrustThingZ(0,8,0,0)
		PSBG BC 3 A_Explode(10,312)
		TNT1 AAAA 0 A_SpawnItemEx ("Radiation", 0, 0, 0, random(-4,4), random(-4,4), random(-1, 1), random(0, 360), SXF_ABSOLUTEMOMENTUM|SXF_ABSOLUTEANGLE|SXF_NOCHECKPOSITION, 0)	
		TNT1 AAAA 0 A_SpawnItemEx ("Radiation", 0, 0, 0, random(-6,6), random(-6,6), random(-1, 2), random(0, 360), SXF_ABSOLUTEMOMENTUM|SXF_ABSOLUTEANGLE|SXF_NOCHECKPOSITION, 0)
		TNT1 AAAAAAAAA 0 A_SpawnItemEx ("Radiation", 0, 0, 0, random(-15.0,15.0), random(-15.0,15.0), random(-5.0, 5.0), random(0, 360), SXF_ABSOLUTEMOMENTUM|SXF_ABSOLUTEANGLE|SXF_NOCHECKPOSITION, 0)
		stop	
	}	
}

ACTOR Radiation : Custominventory
{
	Radius 10
	Height 12
	DamageType "Gas"
	PoisonDamage 1
	Mass 0x7fffffff
	ReactionTime 120
	BounceFactor 0.15
	MaxStepHeight 64
	Gravity 0.0001
	BounceType "Hexen"
	BounceFactor 0.4
	WallBounceFactor 0.15
	RenderStyle Add
	Alpha 0.01
	Scale 2
	Activesound "Radiate"
	Obituary "%o got too impatient with the radiation from a tactical nuke."
	+CANNOTPUSH +CANBLAST
	+NOEXPLODEFLOOR +DONTSPLASH
	+DROPOFF +NOBLOCKMAP
	+NODAMAGETHRUST +BLOODLESSIMPACT
	+SLIDESONWALLS +FORCEXYBILLBOARD +NOCLIP
	Speed 2
	States
	{
	Spawn:
		LEYS B 1 NODELAY
		LEYS BBBB 4
		LEYS B 1 A_Explode(4, 128)
		Goto Float
	Float:
		LEYS BB 11 A_Explode(4, 128)
		TNT1 A 0 A_Activesound
		LEYS B 0 A_Countdown	
		loop
	Death:
		LEYS B 1 A_FadeOut(0.001)
		loop
  }
}

ACTOR RailgunDamageHomingClone
{
	-EXPLODEONWATER
	-NOEXTREMEDEATH
	+MOVEWITHSECTOR
    +DONTSPLASH
	+HITTRACER
	Damage 0
	Projectile
	Radius 0
    Height 0
	speed 150
	Scale .77
	Damagetype ExplosionF
	DeathSound ""
	States
	{
		Spawn:
			TNT1 A 0
			Goto Stuck
			
		Bounce:
		Death:
		Stuck:
			TNT1 A 0 A_SpawnItemEx("RailgunDamageSoundOnly",0,0,0,0,0,0,0,0,0,0)
			TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAA 1 BRIGHT Light("SGL_STICKY") 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT A_Stop
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			Goto Detonate
	
		XDeath:
		Bounce.Creature:
			Goto Stuck
			
		Detonate:
		FLAR A 0 Bright A_SpawnItemEx("NukeRail",0,0,0,0,0,0,0,0,0,0)
		TNT1 A 1
		"----" A 0 A_PlaySound ("Railgun3", CHAN_BODY, 1.0, 0, 1) //Why sound works here but not in spawn state?
		TNT1 A 0 A_PlaySoundEx("generic/explosionsmall","SoundSlot5")
		TNT1 A 0 A_PlaySoundEx("distant/explosionsmall","SoundSlot6")
		TNT1 AAA 0 A_SpawnItemEx("ExplosionMain",random(-8,8),random(-8,8),0)
		TNT1 A 0 A_SpawnItemEx("RailHyperSmokeFloor", random(-32,32), random(-32,32), random(-16,24), random(-5,5), random(-5,5), random(-3,4), 0, 128, 0)
		TNT1 A 0 A_SpawnItemEx("RailHyperSmokeFloor", random(-32,32), random(-32,32), random(-16,24), random(-5,5), random(-5,5), random(-3,4), 0, 128, 0)
		TNT1 A 0 A_SpawnItemEx("RailHyperSmokeFloor", random(-32,32), random(-32,32), random(-16,24), random(-5,5), random(-5,5), random(-3,4), 0, 128, 0)
		TNT1 AAA 1 A_Explode (99999, 70,0,1)
		TNT1 AAA 1 A_Explode (40, 150)
		TNT1 AAA 1 A_Explode (20, 175)
		TNT1 AAAAAA 1 A_Explode (10, 190)
		TNT1 A 0 A_SpawnItemEx("RailBombClone", random(-32,32), random(-32,32), random(-16,24), random(-5,5), random(-5,5), random(-3,4), 0, 128, 0)
		TNT1 A 0 A_SpawnItemEx("RailBombClone", random(-32,32), random(-32,32), random(-16,24), random(-5,5), random(-5,5), random(-3,4), 0, 128, 0)
		TNT1 A 0 A_SpawnItemEx("RailBombClone", random(-32,32), random(-32,32), random(-16,24), random(-5,5), random(-5,5), random(-3,4), 0, 128, 0)
		TNT1 A 5
		Stop
	}
}

Actor RailBombClone
{
	Radius 11
	Height 11
	Speed 1
	PROJECTILE
	-SHOOTABLE
	+RANDOMIZE
	-NOGRAVITY
	states
	{
	Spawn:
		NBMR A 1 A_Countdown	
		Loop
	Death:
		WSMK E 0 A_CustomMissile("Rail2", 4, 2, 0)
		WSMK E 0 A_CustomMissile("Rail2", 4, 2, 40)
		WSMK E 0 A_CustomMissile("Rail2", 4, 2, 80)
		WSMK E 0 A_CustomMissile("Rail2", 4, 2, 120)
		WSMK E 0 A_CustomMissile("Rail2", 4, 2, 160)
		WSMK E 0 A_CustomMissile("Rail2", 4, 2, 200)
		WSMK E 0 A_CustomMissile("Rail2", 4, 2, 240)
		WSMK E 0 A_CustomMissile("Rail2", 4, 2, 280)
		WSMK E 0 A_CustomMissile("Rail2", 4, 2, 320)
		WSMK E 0 A_CustomMissile("Rail2", 4, 2, 350)
		WSMK ABCDE 5
		Stop
	}
}

Actor Rail2
{
        Projectile
        Radius 5
        Height 8
        Speed 32
        Damage (999)
        Scale 0.6
        +BLOODSPLATTER
		+RIPPER
        seeSound ""
        DeathSound ""
        DamageType ExplosionF
        Decal Bulletchip
        States
        {
        Spawn:
            TNT1 A 10
            Stop
        Crash:
        	TNT1 BCDEFG 2
        	Stop
        XDeath:
        	TNT1 BCDEFG 2
        	Stop
        Death:
        	TNT1 BCDEFG 2
        	Stop
        }
}

ACTOR RailgunDamageHoming 
{
	-EXPLODEONWATER
	-NOEXTREMEDEATH
	+MOVEWITHSECTOR
    +DONTSPLASH
	+HITTRACER
	Damage 0
	Projectile
	Radius 0
    Height 0
	speed 150
	Scale .77
	Damagetype ExplosiveImpact
	DeathSound ""
	States
	{
		Spawn:
			TNT1 A 0
			Goto Stuck
			
		Bounce:
		Death:
		Stuck:
			//TNT1 A 0 A_SpawnItemEx("RailgunDamageSoundOnly",0,0,0,0,0,0,0,0,0,0)
			TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAA 1 BRIGHT
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT A_Stop
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			Goto Detonate
	
		XDeath:
		Bounce.Creature:
			Goto Stuck
			
		Detonate:
		FLAR A 0 Bright A_SpawnItemEx("NukeRail",0,0,0,0,0,0,0,0,0,0)
		TNT1 A 1
		"----" A 0 A_PlaySound ("Railgun3", CHAN_BODY, 1.0, 0, 1) //Why sound works here but not in spawn state?
		TNT1 A 0 A_PlaySoundEx("generic/explosionsmall","SoundSlot5")
		TNT1 A 0 A_PlaySoundEx("distant/explosionsmall","SoundSlot6")
		TNT1 AAA 0 A_SpawnItemEx("ExplosionMain",random(-8,8),random(-8,8),0)
		TNT1 A 0 A_SpawnItemEx("RailHyperSmokeFloor", random(-32,32), random(-32,32), random(-16,24), random(-5,5), random(-5,5), random(-3,4), 0, 128, 0)
		TNT1 A 0 A_SpawnItemEx("RailHyperSmokeFloor", random(-32,32), random(-32,32), random(-16,24), random(-5,5), random(-5,5), random(-3,4), 0, 128, 0)
		TNT1 A 0 A_SpawnItemEx("RailHyperSmokeFloor", random(-32,32), random(-32,32), random(-16,24), random(-5,5), random(-5,5), random(-3,4), 0, 128, 0)
		TNT1 A 0 A_CustomMissile ("RailgunShockwave", 0, 0,   0, (CMF_TRACKOWNER))
		TNT1 A 0 A_CustomMissile ("RailgunShockwave", 0, 0,  22, (CMF_TRACKOWNER))
		TNT1 A 0 A_CustomMissile ("RailgunShockwave", 0, 0,  45, (CMF_TRACKOWNER))
		TNT1 A 0 A_CustomMissile ("RailgunShockwave", 0, 0,  67, (CMF_TRACKOWNER))
		TNT1 A 0 A_CustomMissile ("RailgunShockwave", 0, 0,  90, (CMF_TRACKOWNER))
		TNT1 A 0 A_CustomMissile ("RailgunShockwave", 0, 0, 112, (CMF_TRACKOWNER))
		TNT1 A 0 A_CustomMissile ("RailgunShockwave", 0, 0, 135, (CMF_TRACKOWNER))
		TNT1 A 0 A_CustomMissile ("RailgunShockwave", 0, 0, 157, (CMF_TRACKOWNER))
		TNT1 A 0 A_CustomMissile ("RailgunShockwave", 0, 0, 180, (CMF_TRACKOWNER))
		TNT1 A 0 A_CustomMissile ("RailgunShockwave", 0, 0, 202, (CMF_TRACKOWNER))
		TNT1 A 0 A_CustomMissile ("RailgunShockwave", 0, 0, 225, (CMF_TRACKOWNER))
		TNT1 A 0 A_CustomMissile ("RailgunShockwave", 0, 0, 247, (CMF_TRACKOWNER))
		TNT1 A 0 A_CustomMissile ("RailgunShockwave", 0, 0, 270, (CMF_TRACKOWNER))
		TNT1 A 0 A_CustomMissile ("RailgunShockwave", 0, 0, 292, (CMF_TRACKOWNER))
		TNT1 A 0 A_CustomMissile ("RailgunShockwave", 0, 0, 315, (CMF_TRACKOWNER))
		TNT1 A 0 A_CustomMissile ("RailgunShockwave", 0, 0, 327, (CMF_TRACKOWNER))
		TNT1 A 0 A_SpawnItemEx("RailBomb", random(-32,32), random(-32,32), random(-16,24), random(-5,5), random(-5,5), random(-3,4), 0, 128, 0)
		TNT1 A 0 A_SpawnItemEx("RailBomb", random(-32,32), random(-32,32), random(-16,24), random(-5,5), random(-5,5), random(-3,4), 0, 128, 0)
		TNT1 A 0 A_SpawnItemEx("RailBomb", random(-32,32), random(-32,32), random(-16,24), random(-5,5), random(-5,5), random(-3,4), 0, 128, 0)
		TNT1 A 5
		Stop
	}
}

ACTOR RailgunDamage 
{
	-EXPLODEONWATER
	-NOEXTREMEDEATH
	+MOVEWITHSECTOR
    +DONTSPLASH
	+HITTRACER
	Damage 0
	Projectile
	speed 200 //Slower speed = more accurate at longer range
	Radius 2
    Height 2
	Damagetype ExplosiveImpact
	DeathSound ""
	var int user_stickycounter;
	var int user_stuckEnemy;
	States
	{
		Spawn:
			TNT1 A 0
			Goto Stuck
			
		Bounce:
		Death:
		Stuck: 
			//TNT1 A 0 A_SpawnItemEx("RailgunDamageSoundOnly",0,0,0,0,0,0,0,0,0,0)
			TNT1 AAAAAAAAAAAAAAAAAAAAAAAAABB 1 BRIGHT Light("SGL_STICKY") 
				TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
				TNT1 AAAAAAAAAAAAAAAAAAAAAAAAABB 1 BRIGHT Light("SGL_STICKY") 
				TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
				TNT1 AAAAAAAAAAAAAAAAAAAAAAAAABB 1 BRIGHT Light("SGL_STICKY") 
				TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
				TNT1 AAAAAAAAAAAAAAAAAAAAAAAAABB 1 BRIGHT Light("SGL_STICKY") 
				TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
				TNT1 AAAAAAAAAAAAAAAAAAAAAAAAABB 1 BRIGHT Light("SGL_STICKY") 
				TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
				TNT1 AAAAAAAAAAAAAAAAAAAAAAAAABB 1 BRIGHT Light("SGL_STICKY") 
				TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
				TNT1 AAAAAAAAAAAAAAAAAAAAAAAAABB 1 BRIGHT Light("SGL_STICKY") 
				TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
				TNT1 AAAAAAAAAAAAAAAAAAAAAAAAABB 1 BRIGHT Light("SGL_STICKY") 
				TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
				TNT1 AAAAAAAAAAAAAAAAAAAAAAAAABB 1 BRIGHT Light("SGL_STICKY") 
				TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
				TNT1 AAAAAAAAAAAAAAAAAAAAAAAAABB 1 BRIGHT Light("SGL_STICKY") 
				TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
				TNT1 AAAAAAAAAAAAAAAAAAAAAAAAABB 1 BRIGHT Light("SGL_STICKY") 
				TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION) 
			Goto Detonate
	
		XDeath:
		Bounce.Creature:
			Goto Stuck
			
		Detonate:
		FLAR A 0 Bright A_SpawnItemEx("NukeRail",0,0,0,0,0,0,0,0,0,0)
		TNT1 A 1
		"----" A 0 A_PlaySound ("Railgun3", CHAN_BODY, 1.0, 0, 1) //Why sound works here but not in spawn state?
		TNT1 A 0 A_PlaySoundEx("generic/explosionsmall","SoundSlot5")
		TNT1 A 0 A_PlaySoundEx("distant/explosionsmall","SoundSlot6")
		TNT1 AAA 0 A_SpawnItemEx("ExplosionMain",random(-8,8),random(-8,8),0)
		TNT1 A 0 A_SpawnItemEx("RailHyperSmokeFloor", random(-32,32), random(-32,32), random(-16,24), random(-5,5), random(-5,5), random(-3,4), 0, 128, 0)
		TNT1 A 0 A_SpawnItemEx("RailHyperSmokeFloor", random(-32,32), random(-32,32), random(-16,24), random(-5,5), random(-5,5), random(-3,4), 0, 128, 0)
		TNT1 A 0 A_SpawnItemEx("RailHyperSmokeFloor", random(-32,32), random(-32,32), random(-16,24), random(-5,5), random(-5,5), random(-3,4), 0, 128, 0)
		TNT1 A 0 A_CustomMissile ("RailgunShockwave", 0, 0,   0, (CMF_TRACKOWNER))
		TNT1 A 0 A_CustomMissile ("RailgunShockwave", 0, 0,  22, (CMF_TRACKOWNER))
		TNT1 A 0 A_CustomMissile ("RailgunShockwave", 0, 0,  45, (CMF_TRACKOWNER))
		TNT1 A 0 A_CustomMissile ("RailgunShockwave", 0, 0,  67, (CMF_TRACKOWNER))
		TNT1 A 0 A_CustomMissile ("RailgunShockwave", 0, 0,  90, (CMF_TRACKOWNER))
		TNT1 A 0 A_CustomMissile ("RailgunShockwave", 0, 0, 112, (CMF_TRACKOWNER))
		TNT1 A 0 A_CustomMissile ("RailgunShockwave", 0, 0, 135, (CMF_TRACKOWNER))
		TNT1 A 0 A_CustomMissile ("RailgunShockwave", 0, 0, 157, (CMF_TRACKOWNER))
		TNT1 A 0 A_CustomMissile ("RailgunShockwave", 0, 0, 180, (CMF_TRACKOWNER))
		TNT1 A 0 A_CustomMissile ("RailgunShockwave", 0, 0, 202, (CMF_TRACKOWNER))
		TNT1 A 0 A_CustomMissile ("RailgunShockwave", 0, 0, 225, (CMF_TRACKOWNER))
		TNT1 A 0 A_CustomMissile ("RailgunShockwave", 0, 0, 247, (CMF_TRACKOWNER))
		TNT1 A 0 A_CustomMissile ("RailgunShockwave", 0, 0, 270, (CMF_TRACKOWNER))
		TNT1 A 0 A_CustomMissile ("RailgunShockwave", 0, 0, 292, (CMF_TRACKOWNER))
		TNT1 A 0 A_CustomMissile ("RailgunShockwave", 0, 0, 315, (CMF_TRACKOWNER))
		TNT1 A 0 A_CustomMissile ("RailgunShockwave", 0, 0, 327, (CMF_TRACKOWNER))
		TNT1 A 0 A_SpawnItemEx("RailBomb", random(-32,32), random(-32,32), random(-16,24), random(-5,5), random(-5,5), random(-3,4), 0, 128, 0)
		TNT1 A 0 A_SpawnItemEx("RailBomb", random(-32,32), random(-32,32), random(-16,24), random(-5,5), random(-5,5), random(-3,4), 0, 128, 0)
		TNT1 A 0 A_SpawnItemEx("RailBomb", random(-32,32), random(-32,32), random(-16,24), random(-5,5), random(-5,5), random(-3,4), 0, 128, 0)
		TNT1 A 5
		Stop
	}
}


Actor RailBomb 
{
	Radius 11
	Height 11
	Speed 1
	PROJECTILE
	-SHOOTABLE
	+RANDOMIZE
	-NOGRAVITY
	states
	{
	Spawn:
		NBMR A 1 A_Countdown	
		Loop
	Death:
		WSMK E 0 A_CustomMissile("Rail1", 4, 2, 0)
		WSMK E 0 A_CustomMissile("Rail1", 4, 2, 40)
		WSMK E 0 A_CustomMissile("Rail1", 4, 2, 80)
		WSMK E 0 A_CustomMissile("Rail1", 4, 2, 120)
		WSMK E 0 A_CustomMissile("Rail1", 4, 2, 160)
		WSMK E 0 A_CustomMissile("Rail1", 4, 2, 200)
		WSMK E 0 A_CustomMissile("Rail1", 4, 2, 240)
		WSMK E 0 A_CustomMissile("Rail1", 4, 2, 280)
		WSMK E 0 A_CustomMissile("Rail1", 4, 2, 320)
		WSMK E 0 A_CustomMissile("Rail1", 4, 2, 350)
		WSMK ABCDE 5
		Stop
	}
}

Actor Rail1
{
        Projectile
        Radius 5
        Height 8
        Speed 32
        Damage (999)
        Scale 0.6
        +BLOODSPLATTER
		+RIPPER
        seeSound ""
        DeathSound ""
        DamageType "Bullet"
        Decal Bulletchip
        States
        {
        Spawn:
            TNT1 A 10
            Stop
        Crash:
        	TNT1 BCDEFG 2
        	Stop
        XDeath:
        	TNT1 BCDEFG 2
        	Stop
        Death:
        	TNT1 BCDEFG 2
        	Stop
        }
}

actor RailgunShockwave {
	PROJECTILE
	+NOCLIP
	//+FLOORHUGGER
	Radius 1
	Height 1
	Speed 60
	DamageType "Sniper"
	Obituary "$OB_NUKE"
	species "Player"
	States {
	Spawn:
		TNT1 A 0
		TNT1 AAA 1 A_Explode (99999, 70,0,1)
		TNT1 AAA 1 A_Explode (40, 150)
		TNT1 AAA 1 A_Explode (20, 175)
		TNT1 AAAAAA 1 A_Explode (10, 190)
		stop
	}
}

actor RailgunDamageSoundOnly //For homing. Such a stupid way of doing this, but the sound wasn't working otherwise for some godforsaken reason
{
	Obituary "%o fucking died by the railgun."
	species "Player"
	DamageType "Sniper"
	+NOBLOCKMAP
    +NOGRAVITY
    +BLOODLESSIMPACT
    +ALWAYSPUFF
	+FIXMAPTHINGPOS
    +PUFFONACTORS
    +DONTSPLASH
    +FORCEXYBILLBOARD
	-ALLOWPARTICLES
	States {
	Spawn:
	    TNT1 A 55
	    "----" A 0 A_PlaySound ("Railgun1", CHAN_BODY, 1.0, 0, ATTN_NONE)
	    TNT1 A 200
		"----" A 0 A_PlaySound ("Railgun2", CHAN_BODY, 1.0, 0, 0.5)
		TNT1 A 46
		//FLAR A 0 Bright A_SpawnItemEx("NukeRail",0,0,0,0,0,0,0,0,0,0)
		//TNT1 A 1
		//FLAR A 0 Bright A_SpawnItemEx("NukeShockwaveDamageSpawner",0,0,0,0,0,0,0,0,0,0)
		//FLAR A 0 Bright A_SpawnItemEx("NuclearShockwaveEffect",0,0,0,0,0,0,0,0,0,0)
		//FLAR A 0 Bright A_SpawnItemEx("RadiationExplosion",0,0,0,0,0,0,0,0,0,0)
		//FLAR A 0 Bright A_SpawnItemEx("HyperNuke",0,0,0,0,0,0,0,0,0,0)
		//TNT1 A 5
		//"----" A 0 A_PlaySound ("Railgun1", CHAN_BODY, 1.0, 0, ATTN_NONE)
		//TNT1 A 20
		stop
	Death:
		TNT1 A 0
	}
} 

actor TacticalNukeDamage //pukename "nuke countdown";pukename "nuke symbol";pukename "nuke beeps"
{
	Obituary "%o fucking evaporated into dust and ashes by a nuclear explosion."
	species "Player"
	DamageType "Sniper"
	+NOBLOCKMAP
    +NOGRAVITY
    +BLOODLESSIMPACT
    +ALWAYSPUFF
	+FIXMAPTHINGPOS
    +PUFFONACTORS
    +DONTSPLASH
    +FORCEXYBILLBOARD
	-ALLOWPARTICLES
	States {
	Spawn:
	    TNT1 A 352
		//FLAR A 0 Bright A_SpawnItemEx("NukeRail",0,0,0,0,0,0,0,0,0,0)
		TNT1 A 1
		//FLAR A 0 Bright A_SpawnItemEx("NukeShockwaveDamageSpawner",0,0,0,0,0,0,0,0,0,0)
		FLAR A 0 Bright A_SpawnItemEx("NuclearShockwaveEffect",0,0,0,0,0,0,0,0,0,0)
		FLAR A 0 Bright A_SpawnItemEx("RadiationExplosion",0,0,0,0,0,0,0,0,0,0)
		FLAR A 0 Bright A_SpawnItemEx("HyperNuke",0,0,0,0,0,0,0,0,0,0)
		TNT1 A 5
		"----" A 0 A_PlaySound ("TACNUKEX", CHAN_BODY, 1.0, 0, ATTN_NONE)
		TNT1 A 20
		TNT1 A 0 A_CustomMissile ("NuclearShockwave", 0, 0,   0, (CMF_TRACKOWNER | CMF_AIMDIRECTION))
		TNT1 A 0 A_CustomMissile ("NuclearShockwave", 0, 0,  22, (CMF_TRACKOWNER | CMF_AIMDIRECTION))
		TNT1 A 0 A_CustomMissile ("NuclearShockwave", 0, 0,  45, (CMF_TRACKOWNER | CMF_AIMDIRECTION))
		TNT1 A 0 A_CustomMissile ("NuclearShockwave", 0, 0,  67, (CMF_TRACKOWNER | CMF_AIMDIRECTION))
		TNT1 A 0 A_CustomMissile ("NuclearShockwave", 0, 0,  90, (CMF_TRACKOWNER | CMF_AIMDIRECTION))
		TNT1 A 0 A_CustomMissile ("NuclearShockwave", 0, 0, 112, (CMF_TRACKOWNER | CMF_AIMDIRECTION))
		TNT1 A 0 A_CustomMissile ("NuclearShockwave", 0, 0, 135, (CMF_TRACKOWNER | CMF_AIMDIRECTION))
		TNT1 A 0 A_CustomMissile ("NuclearShockwave", 0, 0, 157, (CMF_TRACKOWNER | CMF_AIMDIRECTION))
		TNT1 A 0 A_CustomMissile ("NuclearShockwave", 0, 0, 180, (CMF_TRACKOWNER | CMF_AIMDIRECTION))
		TNT1 A 0 A_CustomMissile ("NuclearShockwave", 0, 0, 202, (CMF_TRACKOWNER | CMF_AIMDIRECTION))
		TNT1 A 0 A_CustomMissile ("NuclearShockwave", 0, 0, 225, (CMF_TRACKOWNER | CMF_AIMDIRECTION))
		TNT1 A 0 A_CustomMissile ("NuclearShockwave", 0, 0, 247, (CMF_TRACKOWNER | CMF_AIMDIRECTION))
		TNT1 A 0 A_CustomMissile ("NuclearShockwave", 0, 0, 270, (CMF_TRACKOWNER | CMF_AIMDIRECTION))
		TNT1 A 0 A_CustomMissile ("NuclearShockwave", 0, 0, 292, (CMF_TRACKOWNER | CMF_AIMDIRECTION))
		TNT1 A 0 A_CustomMissile ("NuclearShockwave", 0, 0, 315, (CMF_TRACKOWNER | CMF_AIMDIRECTION))
		TNT1 A 0 A_CustomMissile ("NuclearShockwave", 0, 0, 327, (CMF_TRACKOWNER | CMF_AIMDIRECTION))
		TNT1 A 5
		stop
	Death:
		TNT1 A 0
	}
} 
actor NuclearShockwave {
	PROJECTILE
	+NOCLIP
	+FLOORHUGGER
	Radius 1
	Height 1
	Speed 60
	DamageType "Sniper"
	Obituary "$OB_NUKE"
	species "Player"
	States {
	Spawn:
		TNT1 A 0
		TNT1 AAA 1 A_Explode (40000, 512)
		TNT1 AAA 1 A_Explode (30000, 512)
		TNT1 AAA 1 A_Explode (20000, 512)
		TNT1 AAA 1 A_Explode (10000, 512)
		TNT1 AAA 1 A_Explode (5000, 512)
		TNT1 AAA 1 A_Explode (2500, 512)
		TNT1 AAA 1 A_Explode (1000, 512)
		TNT1 AAA 1 A_Explode (500, 512)
		TNT1 AAAAAAAAAA 1 A_Explode (250, 512) // Light shockwave
		TNT1 AAAAAAAAAA 1 A_Explode (125, 512)
		TNT1 AAAAAAAAAA 1 A_Explode (75, 512)
		TNT1 AAAAAAAAAA 1 A_Explode (25, 512)
		stop
	}
}

Actor NuclearShockwaveEffect
{
  Radius 13
  Height 8
  Speed 195
  +RANDOMIZE
  -SOLID
  RenderStyle Add
  Alpha 0.55
 States
 {
  Spawn:
   FLAR A 0 Bright A_SpawnItemEx("NuclearHyperFlare",0,0,0,111,0,0,15,0,0,0)
   FLAR A 0 Bright A_SpawnItemEx("NuclearHyperFlare",0,0,0,111,0,0,30,0,0,0)
   FLAR A 0 Bright A_SpawnItemEx("NuclearHyperFlare",0,0,0,111,0,0,45,0,0,0)
   FLAR A 0 Bright A_SpawnItemEx("NuclearHyperFlare",0,0,0,111,0,0,60,0,0,0)
   FLAR A 0 Bright A_SpawnItemEx("NuclearHyperFlare",0,0,0,111,0,0,75,0,0,0)
   FLAR A 0 Bright A_SpawnItemEx("NuclearHyperFlare",0,0,0,111,0,0,90,0,0,0)
   FLAR A 0 Bright A_SpawnItemEx("NuclearHyperFlare",0,0,0,111,0,0,105,0,0,0)
   FLAR A 0 Bright A_SpawnItemEx("NuclearHyperFlare",0,0,0,111,0,0,120,0,0,0)
   FLAR A 0 Bright A_SpawnItemEx("NuclearHyperFlare",0,0,0,111,0,0,135,0,0,0)
   FLAR A 0 Bright A_SpawnItemEx("NuclearHyperFlare",0,0,0,111,0,0,150,0,0,0)
   FLAR A 0 Bright A_SpawnItemEx("NuclearHyperFlare",0,0,0,111,0,0,165,0,0,0)
   FLAR A 0 Bright A_SpawnItemEx("NuclearHyperFlare",0,0,0,111,0,0,180,0,0,0)
   FLAR A 0 Bright A_SpawnItemEx("NuclearHyperFlare",0,0,0,111,0,0,195,0,0,0)
   FLAR A 0 Bright A_SpawnItemEx("NuclearHyperFlare",0,0,0,111,0,0,210,0,0,0)
   FLAR A 0 Bright A_SpawnItemEx("NuclearHyperFlare",0,0,0,111,0,0,225,0,0,0)
   FLAR A 0 Bright A_SpawnItemEx("NuclearHyperFlare",0,0,0,111,0,0,240,0,0,0)
   FLAR A 0 Bright A_SpawnItemEx("NuclearHyperFlare",0,0,0,111,0,0,255,0,0,0)
   FLAR A 0 Bright A_SpawnItemEx("NuclearHyperFlare",0,0,0,111,0,0,270,0,0,0)
   FLAR A 0 Bright A_SpawnItemEx("NuclearHyperFlare",0,0,0,111,0,0,285,0,0,0)
   FLAR A 0 Bright A_SpawnItemEx("NuclearHyperFlare",0,0,0,111,0,0,300,0,0,0)
   FLAR A 0 Bright A_SpawnItemEx("NuclearHyperFlare",0,0,0,111,0,0,315,0,0,0)
   FLAR A 0 Bright A_SpawnItemEx("NuclearHyperFlare",0,0,0,111,0,0,330,0,0,0)
   FLAR A 0 Bright A_SpawnItemEx("NuclearHyperFlare",0,0,0,111,0,0,345,0,0,0)
   FLAR A 0 Bright A_SpawnItemEx("NuclearHyperFlare",0,0,0,111,0,0,360,0,0,0)
   Stop
 }
}
Actor NuclearShockwaveRadiation
{
  Radius 13
  Height 8
  Speed 195
  +RANDOMIZE
  -SOLID
  RenderStyle Add
  Alpha 0.55
 States
 {
  Spawn:
   FLAR A 0 Bright A_SpawnItemEx("RadiationExplosion",0,0,0,111,0,0,15,0,0,0)
   FLAR A 0 Bright A_SpawnItemEx("RadiationExplosion",0,0,0,111,0,0,30,0,0,0)
   FLAR A 0 Bright A_SpawnItemEx("RadiationExplosion",0,0,0,111,0,0,45,0,0,0)
   FLAR A 0 Bright A_SpawnItemEx("RadiationExplosion",0,0,0,111,0,0,60,0,0,0)
   FLAR A 0 Bright A_SpawnItemEx("RadiationExplosion",0,0,0,111,0,0,75,0,0,0)
   FLAR A 0 Bright A_SpawnItemEx("RadiationExplosion",0,0,0,111,0,0,90,0,0,0)
   FLAR A 0 Bright A_SpawnItemEx("RadiationExplosion",0,0,0,111,0,0,105,0,0,0)
   FLAR A 0 Bright A_SpawnItemEx("RadiationExplosion",0,0,0,111,0,0,120,0,0,0)
   FLAR A 0 Bright A_SpawnItemEx("RadiationExplosion",0,0,0,111,0,0,135,0,0,0)
   FLAR A 0 Bright A_SpawnItemEx("RadiationExplosion",0,0,0,111,0,0,150,0,0,0)
   FLAR A 0 Bright A_SpawnItemEx("RadiationExplosion",0,0,0,111,0,0,165,0,0,0)
   FLAR A 0 Bright A_SpawnItemEx("RadiationExplosion",0,0,0,111,0,0,180,0,0,0)
   FLAR A 0 Bright A_SpawnItemEx("RadiationExplosion",0,0,0,111,0,0,195,0,0,0)
   FLAR A 0 Bright A_SpawnItemEx("RadiationExplosion",0,0,0,111,0,0,210,0,0,0)
   FLAR A 0 Bright A_SpawnItemEx("RadiationExplosion",0,0,0,111,0,0,225,0,0,0)
   FLAR A 0 Bright A_SpawnItemEx("RadiationExplosion",0,0,0,111,0,0,240,0,0,0)
   FLAR A 0 Bright A_SpawnItemEx("RadiationExplosion",0,0,0,111,0,0,255,0,0,0)
   FLAR A 0 Bright A_SpawnItemEx("RadiationExplosion",0,0,0,111,0,0,270,0,0,0)
   FLAR A 0 Bright A_SpawnItemEx("RadiationExplosion",0,0,0,111,0,0,285,0,0,0)
   FLAR A 0 Bright A_SpawnItemEx("RadiationExplosion",0,0,0,111,0,0,300,0,0,0)
   FLAR A 0 Bright A_SpawnItemEx("RadiationExplosion",0,0,0,111,0,0,315,0,0,0)
   FLAR A 0 Bright A_SpawnItemEx("RadiationExplosion",0,0,0,111,0,0,330,0,0,0)
   FLAR A 0 Bright A_SpawnItemEx("RadiationExplosion",0,0,0,111,0,0,345,0,0,0)
   FLAR A 0 Bright A_SpawnItemEx("RadiationExplosion",0,0,0,111,0,0,360,0,0,0)
   Stop
 }
}
Actor NukeRail
{
 Scale 3
 Alpha 0.5
 +NoInteraction
 States
 {
  Spawn:
   NKRL A 1 Bright A_FadeOut(0.08)
   Wait
 }
}
//The rest of the nuke stuff down below is borrowed from AOW
Actor Nuke
{
 Radius 8
 Height 10
 +NoBlockmap
 +NoGravity
 +ForceRadiusDmg
 +ForceYBillBoard
 DamageType "Gas"
 scale 3.0
 States
 {
  Spawn:
   TNT1 A 0
   TNT1 A 0 A_SetTranslucent(0.75,1)
   TNT1 A 0 A_PlaySoundEx("Nuke/Boom", "Voice", 0, 2)
// TNT1 A 0 A_PlaySound("Nuke/Boom",CHAN_AUTO)
   TNT1 A 1 //A_Explode(40000, 512, 1)
   TNT1 A 0 Radius_Quake(7, 105, 0, 50, 0)
   NKE1 ABCDEFGHIJKLMN 9 BRIGHT
   NKE1 OPQRSTU 8 BRIGHT A_FadeOut(0.05)
   Stop
 }
}

Actor RailHyperSmokeFloor : Nuke
{
 +ClientSideOnly
 +NoNetID
 States
 {
  Spawn:
   TNT1 A 0
   TNT1 AAAAAAAAAAAAAAAAAAA 2 A_SpawnItemEx("NukeHyperSmoke2", 0, 0, 0, 0.00001 * Random(0, 900000), 0.00001 * Random(0, 900000), 0, Random(0, 359), 128, 0)
   Stop
 }
}

Actor NukeHyperSmoke2 : Nuke
{
 Scale 5
 +NoInteraction
 +ClientSideOnly
 -ForceYBillBoard
 +FORCEXYBILLBOARD
 Alpha 0.5
 States
 {
  Spawn:
   TNT1 AA 0 A_Jump(196, "Spawn2", "Spawn3", "Spawn4")
   SMOK A 5 A_FadeOut(0.015)
   Wait
  Spawn2:
   SMOK B 5 A_FadeOut(0.015)
   Wait
  Spawn3:
   SMOK C 5 A_FadeOut(0.015)
   Wait
  Spawn4:
   SMOK D 5 A_FadeOut(0.015)
   Wait
 }
}

Actor HyperNuke : Nuke
{
 PROJECTILE
 ReactionTime 1
 States
 {
  Spawn:
   TNT1 AAA 0 A_Countdown
  Death:
   TNT1 A 0
   //TNT1 A 0 A_PlaySoundEx("Nuke/Boom", "Voice", 0, 2)
   TNT1 A 1 //A_Explode(40000, 512, 1)
   TNT1 A 0 Radius_Quake(7, 105, 0, 140, 0)
   TNT1 A 25 A_SpawnItemEx("NukeHyperFloor", 0, 0, 0, 0, 0, 0, 0, 128, 0)
   TNT1 AA 0 A_SpawnItemEx("NukeHyperSmokeFloor", 0, 0, 0, 0, 0, 0, 0, 128, 0)
   TNT1 A 0 A_SpawnItemEx("NukeHyperPillar", 0, 0, 0, 0, 0, 10, 0, 128, 0)
   TNT1 A 105 A_SpawnItemEx("NukeHyperSmokePillar", 0, 0, 0, 0, 0, 10, 0, 128, 0)
   TNT1 A 0 A_SpawnItemEx("NukeHyperMushroom", 0, 0, 1000, 0, 0, 0, 0, 128, 0)
   TNT1 AA 0 A_SpawnItemEx("NukeHyperSmokeMushroom", 0, 0, 1000, 0, 0, 0, 0, 128, 0)
   Stop
 }
}

Actor NukeHyperFire : Nuke
{
 RenderStyle Add
 +NoInteraction
 +ClientSideOnly
 -ForceYBillBoard
 +FORCEXYBILLBOARD
 Scale 3
 States
 {
  Spawn:
   TNT1 AA 0 A_Jump(196, "Spawn2", "Spawn3", "Spawn4")
   FLA1 A 1 Bright A_FadeOut(0.0015)
   Wait
  Spawn2:
   FLA2 A 1 Bright A_FadeOut(0.0015)
   Wait
  Spawn3:
   FLA3 A 1 Bright A_FadeOut(0.0015)
   Wait
  Spawn4:
   FLA4 A 1 Bright A_FadeOut(0.0015)
   Wait
 }
}

Actor NukeHyperSmoke : Nuke
{
 Scale 15
 +NoInteraction
 +ClientSideOnly
 -ForceYBillBoard
 +FORCEXYBILLBOARD
 Alpha 0.5
 States
 {
  Spawn:
   TNT1 AA 0 A_Jump(196, "Spawn2", "Spawn3", "Spawn4")
   SMOK A 5 A_FadeOut(0.0015)
   Wait
  Spawn2:
   SMOK B 5 A_FadeOut(0.0015)
   Wait
  Spawn3:
   SMOK C 5 A_FadeOut(0.0015)
   Wait
  Spawn4:
   SMOK D 5 A_FadeOut(0.0015)
   Wait
 }
}

Actor NukeHyperFloor : Nuke
{
 +ClientSideOnly
 +NoNetID
 States
 {
  Spawn:
   TNT1 A 0
   TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 2 A_SpawnItemEx("NukeHyperFire", 0, 0, 0, 0.00001 * Random(0, 900000), 0.00001 * Random(0, 900000), 0, Random(0, 359), 128, 0)
   Stop
 }
}

Actor NukeHyperSmokeFloor : Nuke
{
 +ClientSideOnly
 +NoNetID
 States
 {
  Spawn:
   TNT1 A 0
   TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 2 A_SpawnItemEx("NukeHyperSmoke", 0, 0, 0, 0.00001 * Random(0, 900000), 0.00001 * Random(0, 900000), 0, Random(0, 359), 128, 0)
   Stop
 }
}

Actor NukeHyperPillar : Nuke
{
 +ClientSideOnly
 +NoNetID
 States
 {
  Spawn:
   TNT1 A 0
   TNT1 AAAAAAAAAAAAAAAAAAAAAA 2  A_SpawnItemEx("NukeHyperFire", 0, 0, 0, 0.00001 * Random(0, 300000), 0.00001 * Random(0, 300000), 0.00001 * Random(0, -600000), Random(0, 359), 128, 0)
   TNT1 AAAAAAAAAAAAAAAAAAAAAA 2 A_SpawnItemEx("NukeHyperFire", 0, 0, 0, 0.00001 * Random(0, 300000), 0.00001 * Random(0, 300000), 0.00001 * Random(0, -600000), Random(0, 359), 128, 0)
   Stop
 }
}

Actor NukeHyperSmokePillar : Nuke
{
 +ClientSideOnly
 +NoNetID
 States
 {
  Spawn:
   TNT1 A 0
   TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 2 A_SpawnItemEx("NukeHyperSmoke", 0, 0, 0, 0.00001 * Random(0, 300000), 0.00001 * Random(0, 300000), 0.00001 * Random(0, -600000), Random(0, 359), 128, 0)
   Stop
 }
}

Actor NukeHyperMushroom : Nuke
{
 +ClientSideOnly
 +NoNetID
 States
 {
  Spawn:
   TNT1 A 0
   TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 2 A_SpawnItemEx("NukeHyperFire", 0, 0, 0, 0.00001 * Random(0, 600000), 0.00001 * Random(0, 900000), 0.00001 * Random(-400000, 400000), Random(0, 359), 128, 0)
   Stop
 }
}

Actor NukeHyperSmokeMushroom : Nuke
{
 +ClientSideOnly
 +NoNetID
 States
 {
  Spawn:
   TNT1 A 0
   TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 2 A_SpawnItemEx("NukeHyperSmoke", 0, 0, 0, 0.00001 * Random(0, 600000), 0.00001 * Random(0, 900000), 0.00001 * Random(-400000, 400000), Random(0, 359), 128, 0)
   Stop
 }
}

Actor FlareSpawner
{
	Radius 12
	Height 12
	Mass 10
	Speed 25
	DamageType "Dragon"
	PROJECTILE
	-NOGRAVITY
    +NODAMAGETHRUST
	+NOBLOOD
	-BLOODSPLATTER
	Renderstyle translucent
	Alpha 0.7
	+DONTSPLASH
	+FORCEXYBILLBOARD
	+SKYEXPLODE
	+EXPLODEONWATER
	+THRUACTORS
	BounceType Hexen
	BounceFactor 0.3
	WallBounceFactor 0.2
	ReactionTime 35
    States
	{
	Spawn:
		PSBG A 0 A_CountDown
		loop
	
	Death:
		PSBG A 0 A_Scream
		TNT1 AAAAAAAA 0 A_SpawnItemEx ("Flares", 0, 0, 0, random(-4,4), random(-4,4), random(-1, 1), random(0, 360), SXF_ABSOLUTEMOMENTUM|SXF_ABSOLUTEANGLE|SXF_NOCHECKPOSITION, 0)	
		TNT1 AAAAAAAA 0 A_SpawnItemEx ("Flares", 0, 0, 0, random(-6,6), random(-6,6), random(-1, 2), random(0, 360), SXF_ABSOLUTEMOMENTUM|SXF_ABSOLUTEANGLE|SXF_NOCHECKPOSITION, 0)
		TNT1 AAAAAAAAAAAAAAAAAAAAAAA 0 A_SpawnItemEx ("Flares", 0, 0, 0, random(-15.0,15.0), random(-15.0,15.0), random(-5.0, 5.0), random(0, 360), SXF_ABSOLUTEMOMENTUM|SXF_ABSOLUTEANGLE|SXF_NOCHECKPOSITION, 0)
		stop	
	}	
}

ACTOR Flares
{
	Radius 4
	Height 2
	Speed 75
	Damagetype "Dragon"
	Scale 0.5
	Damage 1
	Projectile
	Gravity 0.1
	PoisonDamage 5, 8, 10
	PoisonDamageType "Dragon"
	+THRUGHOST
	+PUFFGETSOWNER
	+NOEXTREMEDEATH
	+WINDTHRUST
	+BLOODLESSIMPACT
	+FORCEXYBILLBOARD
	+DONTREFLECT
	+RANDOMIZE
	+NOCLIP
	ProjectileKickBack 15
	RenderStyle Add
	Alpha 1
	States
	{
	Spawn:
		DFRB AAAABBCCDEFGHIJKLAAAABBCCDEFGHIJKLAAAABBCCDEFGHIJKLAAAABBCCDEFGHIJKLAAAABBCCDEFGHIJKLAAAABBCCDEFGHIJKLAAAABBCCDEFGHIJKLAAAABBCCDEFGHIJKLAAAABBCCDEFGHIJKLAAAABBCCDEFGHIJKL 1 BRIGHT A_SpawnItemEx("FlaresTrail",0,0,0,frandom(-1,1),frandom(-1,1),frandom(-1,1),0, SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
		Stop
	Death:
		FRXP A 4 BRIGHT A_SetScale(scaleX + 0.5)
		FRXP BCD 4 BRIGHT
		Stop
	}
}

ACTOR FlaresTrail
{
	Radius 13
	Height 8
	+NOBLOCKMAP
	+NOGRAVITY
	+NOTELEPORT
	+MISSILE
	+RIPPER
	+NOEXTREMEDEATH
	+BLOODLESSIMPACT
	+FORCEXYBILLBOARD
	+WINDTHRUST
	+THRUGHOST
	+CANNOTPUSH
	+DONTREFLECT
	ProjectileKickBack 15
	damagetype "Dragon"
	damage (frandom(1,2))
	speed 0
	Alpha 1
	Scale 0.5
	RenderStyle "Add"
	States
	{
	Spawn:
		DFRB DEFGHIJKL 1 BRIGHT
		Stop
	Death:
		TNT1 A 1
		Stop
	}
}

Actor CameraRGA 
{
+SHOOTABLE
+NOGRAVITY
+DONTSPLASH
+NOBLOOD
+SPAWNCEILING
+NOCLIP
+NOTIMEFREEZE
height 10
radius 16
mass 65535
Health 1000
Speed 100
DamageFactor "Explosion", 0.1
DamageFactor "Dragon", 0
states
{
Spawn:
//LEYS G -1
TNT1 A 0
TNT1 A 0 A_PlaySound("AC130rum", CHAN_VOICE, 1.0, true, 100)
goto butloop

butloop:
TNT1 A 420	
goto Spawn
Death:
TNT1 A 0 ACS_Namedexecutealways("AC130Destroyed",0,0,0,0)
LEYS G 1 A_Scream
stop
}}

ACTOR DeployingCamera
{
	PROJECTILE
	+NOGRAVITY
	+THRUGHOST
	+RIPPER
	+NOBLOOD
	-BLOODSPLATTER
	+NOTIMEFREEZE
	scale 0.2
	Damage 0
	Radius 2
	Height 2
	Speed 99
	+SKYEXPLODE
	+EXPLODEONWATER
	+FORCEXYBILLBOARD
	States
	{
	Spawn:
        CAM3 A 0
		TNT1 A 1 //Thing_ChangeTID(0, 1336)
		Loop
	Death:
		CAM3 A 0
		RACS A 1 A_SpawnItemEx("CameraRGA", 0, 0, 0, 0, 0, 999, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION, 0, 999)
		Stop
	}
}

Actor CameraRGAPredatorMissile
{
+SHOOTABLE
+NOGRAVITY
+DONTSPLASH
+NOBLOOD
+SPAWNCEILING
+NOBLOCKMAP
+NOTIMEFREEZE
//+MISSILE
height 10
radius 16
mass 65535
Health 99999
Speed 100
DamageFactor "Explosion", 0.1
DamageFactor "Dragon", 0
states
{
Spawn:
TNT1 A 0
TNT1 A 0 A_SetPitch(50.0)
Goto Beep
Beep:
TNT1 A 0
TNT1 A 0 A_PlaySound("Predbeep", CHAN_VOICE, 1.0, true, 100)
TNT1 A 10
TNT1 A 0 A_ChangeFlag("MISSILE",TRUE)
goto butloop

butloop:
TNT1 A 420	
goto Beep
Death:
TNT1 A 1 ACS_NamedExecuteAlways("Predator_Destroyed",0)
TNT1 A 1 ACS_NamedExecuteAlways("TogglePredatorOnlineFix",0)
TNT1 A 1 A_Explode (40000, 412)
		TNT1 A 1 A_Explode (5000, 612)
		TNT1 A 1 A_Explode (2500, 812)
		TNT1 A 1 A_Explode (1000, 1012)
		TNT1 A 1 A_Explode (500, 1212)
		FLAR A 0 Bright A_SpawnItemEx("NukeHyperSmokePillar",0,0,0,0,0,0,0,0,0,0)
		FLAR A 0 Bright A_SpawnItemEx("RailHyperSmokeFloor",0,0,0,111,20,0,15,0,0,0)
   FLAR A 0 Bright A_SpawnItemEx("RailHyperSmokeFloor",0,0,0,111,20,0,90,0,0,0)
   FLAR A 0 Bright A_SpawnItemEx("RailHyperSmokeFloor",0,0,0,111,20,0,180,0,0,0)
   FLAR A 0 Bright A_SpawnItemEx("RailHyperSmokeFloor",0,0,0,111,20,0,270,0,0,0)
   FLAR A 0 Bright A_SpawnItemEx("RailHyperSmokeFloor",0,0,0,111,20,0,360,0,0,0)
   FLAR A 0 Bright A_SpawnItemEx("ExplosionMain",0,0,0,111,random(20,90),0,15,0,0,0)
   FLAR A 0 Bright A_SpawnItemEx("ExplosionMain",0,0,0,111,random(20,90),0,30,0,0,0)
   FLAR A 0 Bright A_SpawnItemEx("ExplosionMain",0,0,0,111,random(20,90),0,45,0,0,0)
   FLAR A 0 Bright A_SpawnItemEx("ExplosionMain",0,0,0,111,random(20,90),0,60,0,0,0)
   FLAR A 0 Bright A_SpawnItemEx("ExplosionMain",0,0,0,111,random(20,90),0,75,0,0,0)
   FLAR A 0 Bright A_SpawnItemEx("ExplosionMain",0,0,0,111,random(20,90),0,90,0,0,0)
   FLAR A 0 Bright A_SpawnItemEx("ExplosionMain",0,0,0,111,random(20,90),0,105,0,0,0)
   FLAR A 0 Bright A_SpawnItemEx("ExplosionMain",0,0,0,111,random(20,90),0,120,0,0,0)
   FLAR A 0 Bright A_SpawnItemEx("ExplosionMain",0,0,0,111,random(20,90),0,135,0,0,0)
   FLAR A 0 Bright A_SpawnItemEx("ExplosionMain",0,0,0,111,random(20,90),0,150,0,0,0)
   FLAR A 0 Bright A_SpawnItemEx("ExplosionMain",0,0,0,111,random(20,90),0,165,0,0,0)
   FLAR A 0 Bright A_SpawnItemEx("ExplosionMain",0,0,0,111,random(20,90),0,180,0,0,0)
   FLAR A 0 Bright A_SpawnItemEx("ExplosionMain",0,0,0,111,random(20,90),0,195,0,0,0)
   FLAR A 0 Bright A_SpawnItemEx("ExplosionMain",0,0,0,111,random(20,90),0,210,0,0,0)
   FLAR A 0 Bright A_SpawnItemEx("ExplosionMain",0,0,0,111,random(20,90),0,225,0,0,0)
   FLAR A 0 Bright A_SpawnItemEx("ExplosionMain",0,0,0,111,random(20,90),0,240,0,0,0)
   FLAR A 0 Bright A_SpawnItemEx("ExplosionMain",0,0,0,111,random(20,90),0,255,0,0,0)
   FLAR A 0 Bright A_SpawnItemEx("ExplosionMain",0,0,0,111,random(20,90),0,270,0,0,0)
   FLAR A 0 Bright A_SpawnItemEx("ExplosionMain",0,0,0,111,random(20,90),0,285,0,0,0)
   FLAR A 0 Bright A_SpawnItemEx("ExplosionMain",0,0,0,111,random(20,90),0,300,0,0,0)
   FLAR A 0 Bright A_SpawnItemEx("ExplosionMain",0,0,0,111,random(20,90),0,315,0,0,0)
   FLAR A 0 Bright A_SpawnItemEx("ExplosionMain",0,0,0,111,random(20,90),0,330,0,0,0)
   FLAR A 0 Bright A_SpawnItemEx("ExplosionMain",0,0,0,111,random(20,90),0,345,0,0,0)
   FLAR A 0 Bright A_SpawnItemEx("ExplosionMain",0,0,0,111,random(20,90),0,360,0,0,0)
		TNT1 A 5
stop
}}

ACTOR DeployingCameraPredatorMissile
{
	PROJECTILE
	+NOGRAVITY
	+THRUGHOST
	+RIPPER
	+NOBLOOD
	-BLOODSPLATTER
	+NOTIMEFREEZE
	scale 0.2
	Damage 0
	Radius 2
	Height 2
	Speed 99
	+SKYEXPLODE
	+EXPLODEONWATER
	+FORCEXYBILLBOARD
	States
	{
	Spawn:
        CAM3 A 0
		TNT1 A 1 //Thing_ChangeTID(0, 1336)
		Loop
	Death:
		CAM3 A 0
		RACS A 1 A_SpawnItemEx("CameraRGAPredatorMissile", 0, 0, 0, 0, 0, 999, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION, 0, 1777)
		Stop
	}
}

Actor AC130Rumbling
{
-NOGRAVITY
reactiontime 999
states
{
spawn:
TNT1 A 0
TNT1 A 0 A_PlaySoundex ("AC130rum", CHAN_VOICE, 11.0, 0) 
goto butloop

butloop:
TNT1 A 35	
TNT1 A 0 A_CountDown
loop

cutoff:
TNT1 AA 0 A_Stopsoundex("Voice")

Death:
TNT1 A 0 
stop
}
}

actor AC130OnlineFix : Inventory
{
    inventory.amount 0
    inventory.maxamount 1
}
actor AC130DyingFix : Inventory
{
    inventory.amount 0
    inventory.maxamount 1
}
actor AC130Token : Inventory
{
    inventory.amount 0
    inventory.maxamount 1
}
actor InAC130 : Inventory
{
    inventory.amount 0
    inventory.maxamount 1
}
actor AC130GunToken : Inventory
{
    inventory.amount 0
    inventory.maxamount 1
}

actor 105MM
{
    PROJECTILE
    -RANDOMIZE
    +NOGRAVITY
    +FULLVOLDEATH
    +PUFFGETSOWNER
	+NOTIMEFREEZE
    Radius 11
    Height 8
    Speed 72
    Damage (887)
    //Gravity 0.1
    SeeSound "mech/artillery"
    DeathSound "AC130_EX"
    DamageType "Explosion"
    Scale 1.25
    Obituary ""

    States
    {
    Spawn:
        SHRP A 0
        SHRP A 2
        Wait

    Death:
        TNT1 A 0
        TNT1 A 0 A_Explode(250, 128, XF_HURTSOURCE)
        TNT1 A 0 A_Explode(200, 300, XF_HURTSOURCE)
        TNT1 A 0 A_Explode(150, 700, XF_HURTSOURCE)
        TNT1 A 0 A_Explode(100, 1500, XF_HURTSOURCE)
        TNT1 A 0 A_SpawnItemEx("105MMEffect")
        TNT1 AAAAAAA 5 A_Explode(25, 1500, XF_HURTSOURCE)
        Stop
    }
}

actor 105MMEffect {
	+CLIENTSIDEONLY
	+NOBLOCKMAP
	+NOGRAVITY
	scale 3.0
	states {
	Spawn:
		TNT1 A 0
		TNT1 A 0 Radius_Quake (7, 35, 0, 50, 0)
		TNT1 A 0 A_PlaySoundEx("AC130_EX","SoundSlot5")
		TNT1 A 0 A_PlaySoundEx("distant/explosionsmall","SoundSlot6")
		TNT1 AAA 0 A_SpawnItemEx("ExplosionMain",random(-8,8),random(-8,8),0)
		TNT1 A 0 A_SpawnItemEx("RailHyperSmokeFloor", random(-32,32), random(-32,32), random(-16,24), random(-5,5), random(-5,5), random(-3,4), 0, 128, 0)
		TNT1 A 0 A_SpawnItemEx("RailHyperSmokeFloor", random(-32,32), random(-32,32), random(-16,24), random(-5,5), random(-5,5), random(-3,4), 0, 128, 0)
		TNT1 A 0 A_SpawnItemEx("RailHyperSmokeFloor", random(-32,32), random(-32,32), random(-16,24), random(-5,5), random(-5,5), random(-3,4), 0, 128, 0)
		TNT1 A 0 A_CustomMissile ("RailgunShockwave", 0, 0,   0, (CMF_TRACKOWNER))
		TNT1 A 0 A_CustomMissile ("RailgunShockwave", 0, 0,  22, (CMF_TRACKOWNER))
		TNT1 A 0 A_CustomMissile ("RailgunShockwave", 0, 0,  45, (CMF_TRACKOWNER))
		TNT1 A 0 A_CustomMissile ("RailgunShockwave", 0, 0,  67, (CMF_TRACKOWNER))
		TNT1 A 0 A_CustomMissile ("RailgunShockwave", 0, 0,  90, (CMF_TRACKOWNER))
		TNT1 A 0 A_CustomMissile ("RailgunShockwave", 0, 0, 112, (CMF_TRACKOWNER))
		TNT1 A 0 A_CustomMissile ("RailgunShockwave", 0, 0, 135, (CMF_TRACKOWNER))
		TNT1 A 0 A_CustomMissile ("RailgunShockwave", 0, 0, 157, (CMF_TRACKOWNER))
		TNT1 A 0 A_CustomMissile ("RailgunShockwave", 0, 0, 180, (CMF_TRACKOWNER))
		TNT1 A 0 A_CustomMissile ("RailgunShockwave", 0, 0, 202, (CMF_TRACKOWNER))
		TNT1 A 0 A_CustomMissile ("RailgunShockwave", 0, 0, 225, (CMF_TRACKOWNER))
		TNT1 A 0 A_CustomMissile ("RailgunShockwave", 0, 0, 247, (CMF_TRACKOWNER))
		TNT1 A 0 A_CustomMissile ("RailgunShockwave", 0, 0, 270, (CMF_TRACKOWNER))
		TNT1 A 0 A_CustomMissile ("RailgunShockwave", 0, 0, 292, (CMF_TRACKOWNER))
		TNT1 A 0 A_CustomMissile ("RailgunShockwave", 0, 0, 315, (CMF_TRACKOWNER))
		TNT1 A 0 A_CustomMissile ("RailgunShockwave", 0, 0, 327, (CMF_TRACKOWNER))
		TNT1 A 0 A_SetTranslucent (0.75, 2)
		NKE1 ABCDEFGHIJKLMN 4 BRIGHT
		NKE1 OPQRSTU 4 BRIGHT A_FadeOut(0.05)
		stop
	}
}

actor 40MM
{
  obituary "%k died"
  radius 5
  height 5
  speed 79//30//25
  damage (110)
  PROJECTILE
  //+NOEXTREMEDEATH
  +FORCERADIUSDMG
  +FORCEXYBILLBOARD
  +THRUSPECIES
  +NOTIMEFREEZE
  species "Player"
  Scale 0.09
  decal Scorch
  damagetype "Explosion"
  ProjectileKickBack 35
  states
  {
  Spawn:
    G69X A 0
    G69X A 0 A_PlaySoundEx("rpg/fly","Body",1)
    G69X A 0 A_SpawnItemEx("WeaponSmokePuffLong_Spawned",-20,0,0,0,0,0,0,128,0)
    G69X A 1 A_SpawnItemEx("MissileExhaust",-20,0,0,0,0,0,0,128,0)
    G69X A 0 A_GiveInventory("M203Armed",1)
    G69X A 1 A_SpawnItemEx("MissileExhaust",-20,0,0,0,0,0,0,128,0)
    G69X A 0 A_SpawnItemEx("WeaponSmokePuffLong_Spawned",-20,0,0,0,0,0,0,128,0)
    G69X AA 1 A_SpawnItemEx("MissileExhaust",-20,0,0,0,0,0,0,128,0)
    Goto Spawn+6
  Death:
    TNT1 A 0
    TNT1 A 0 A_JumpIfInventory("M203Armed",1,"DeathArmed")
    TNT1 A 0 Radius_Quake(3,9,0,11,0)
    TNT1 A 0 A_Explode(55,48,0)
    TNT1 AA 0 A_Explode(35,96)
    TNT1 AA 0 A_Explode(10,192,0)
    TNT1 A 0 A_SetDamageType("explosionc")
    TNT1 A 0 A_Explode(55,48,0)
    TNT1 A 0 A_Explode(10,192,0)
	TNT1 A 0 A_PlaySoundEx("generic/explosion","SoundSlot5")
    TNT1 A 0 A_PlaySoundEx("distant/explosion","SoundSlot6")
    TNT1 AA 0 A_SpawnItemEx("ExplosionMain3", random(-4,4), random(-4,4), 0)
    TNT1 AAAAAAAAAA 0 A_SpawnItemEx("ImpactSpark2", random(-16,16), random(-16,16), random(-8,12), random(-3,3), random(-3,3), random(-1,2), 0, 128, 0)
    TNT1 A 10
    TNT1 A 5 A_AlertMonsters(384)
    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,11,0)
    TNT1 A 0 A_Explode(55,48,0)
    TNT1 AA 0 A_Explode(35,96)
    TNT1 AA 0 A_Explode(10,192,0)
    TNT1 A 0 A_SetDamageType("explosionc")
    TNT1 A 0 A_Explode(55,48,0)
    TNT1 A 0 A_Explode(10,192,0)
	TNT1 A 0 A_PlaySoundEx("generic/explosion","SoundSlot5")
    TNT1 A 0 A_PlaySoundEx("distant/explosion","SoundSlot6")
    TNT1 AA 0 A_SpawnItemEx("ExplosionMain3", random(-4,4), random(-4,4), 0)
    TNT1 AAAAAAAAAA 0 A_SpawnItemEx("ImpactSpark2", random(-16,16), random(-16,16), random(-8,12), random(-3,3), random(-3,3), random(-1,2), 0, 128, 0)
    TNT1 A 10
    TNT1 A 5 A_AlertMonsters(384)
    stop
  DeathArmed:
    TNT1 A 0
    TNT1 A 0 Radius_Quake(4,14,0,20,0)
    TNT1 A 0 A_Explode(95,96,0)
    TNT1 AA 0 A_Explode(55,144)
    TNT1 AA 0 A_Explode(30,405,0)
    TNT1 A 0 A_SetDamageType("explosionc")
    TNT1 A 0 A_Explode(95,96,0)
    TNT1 A 0 A_Explode(40,405,0)
    TNT1 AA 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 5 A_AlertMonsters(810)
    stop
  }
}

actor 25MM
{
    PROJECTILE
    +PUFFGETSOWNER
	+FORCERADIUSDMG
	+NOTIMEFREEZE
    Radius 1
    Height 1
    Speed 95
    Damage (27)
	decal RevenantScorch
	SeeSound "generic/explosionsmall"
	AttackSound "generic/explosionsmall"
    DamageType "Explosion"
    Scale 0.05
    Obituary ""

    States
    {
    Spawn:
        SHRP A 0
        TNT1 A 1
        Wait

    Death:
        TNT1 A 0 Radius_Quake(2,5,0,5,0)
		TNT1 A 0 A_SetDamageType("Explosion")
		TNT1 A 0 A_Explode(33,60)
		TNT1 A 0 A_PlaySoundEx("distant/explosionsmaller","SoundSlot6")
		TNT1 AAAAAA 0 A_SpawnItemEx("ImpactSpark2", 0, 0, 0, random(-3,-1), random(-2,2), random(-2,2), 0, 128, 64)
		TNT1 AA 0 A_SpawnItemEx("ExplosionSmall3", random(-2,0), random(-1,1), random(-1,1), 0, 0, 0, 0, 128, 0)
		TNT1 A 5
		TNT1 A 15 A_AlertMonsters(240)
        Stop
    }
}

actor AC130Designator : Weapon
{
  obituary "%o somehow died by the phone."
  weapon.selectionorder 999
  weapon.kickback 25
  //+WEAPON.WIMPY_WEAPON
  +WEAPON.MELEEWEAPON
  +WEAPON.NOALERT
  +CHEATNOTWEAPON
  states
  {
  Ready:
    GRNA L 0 A_TakeInventory("Reloading",1)
    U45A L 0 A_JumpIfInventory("ThrowingGrenade",1,"FragGrenade")
    U45A L 0 A_JumpIfInventory("KnifeAttack",1,"KnifeAttack")
	U45A L 0 A_JumpIfInventory("Reloading",1,"Altfiretest")
	PHNA A 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotAC130",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNA B 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotAC130",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNA C 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	U45A L 0 A_JumpIfInventory("ThrowingGrenade",1,"FragGrenade")
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotAC130",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNA D 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotAC130",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNA E 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	U45A L 0 A_JumpIfInventory("ThrowingGrenade",1,"FragGrenade")
    U45A L 0 A_JumpIfInventory("KnifeAttack",1,"KnifeAttack")
	U45A L 0 A_JumpIfInventory("Reloading",1,"Altfiretest")
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotAC130",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNA F 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotAC130",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNA G 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	U45A L 0 A_JumpIfInventory("ThrowingGrenade",1,"FragGrenade")
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotAC130",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNA H 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotAC130",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNA I 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	U45A L 0 A_JumpIfInventory("ThrowingGrenade",1,"FragGrenade")
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotAC130",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNA J 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	U45A L 0 A_JumpIfInventory("ThrowingGrenade",1,"FragGrenade")
    U45A L 0 A_JumpIfInventory("KnifeAttack",1,"KnifeAttack")
	U45A L 0 A_JumpIfInventory("Reloading",1,"Altfiretest")
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotAC130",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNA K 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotAC130",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNA L 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	U45A L 0 A_JumpIfInventory("ThrowingGrenade",1,"FragGrenade")
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotAC130",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNA M 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotAC130",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNA N 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	U45A L 0 A_JumpIfInventory("ThrowingGrenade",1,"FragGrenade")
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotAC130",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNA O 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotAC130",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNA P 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	U45A L 0 A_JumpIfInventory("ThrowingGrenade",1,"FragGrenade")
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotAC130",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNA Q 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotAC130",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNA P 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	U45A L 0 A_JumpIfInventory("ThrowingGrenade",1,"FragGrenade")
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotAC130",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNA O 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotAC130",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNA N 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	U45A L 0 A_JumpIfInventory("ThrowingGrenade",1,"FragGrenade")
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotAC130",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNA M 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotAC130",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNA L 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	U45A L 0 A_JumpIfInventory("ThrowingGrenade",1,"FragGrenade")
    U45A L 0 A_JumpIfInventory("KnifeAttack",1,"KnifeAttack")
	U45A L 0 A_JumpIfInventory("Reloading",1,"Altfiretest")
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotAC130",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNA K 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotAC130",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNA J 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	U45A L 0 A_JumpIfInventory("ThrowingGrenade",1,"FragGrenade")
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotAC130",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNA I 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotAC130",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNA H 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	U45A L 0 A_JumpIfInventory("ThrowingGrenade",1,"FragGrenade")
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotAC130",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNA G 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	U45A L 0 A_JumpIfInventory("ThrowingGrenade",1,"FragGrenade")
    U45A L 0 A_JumpIfInventory("KnifeAttack",1,"KnifeAttack")
	U45A L 0 A_JumpIfInventory("Reloading",1,"Altfiretest")
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotAC130",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNA F 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotAC130",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNA E 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	U45A L 0 A_JumpIfInventory("ThrowingGrenade",1,"FragGrenade")
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotAC130",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNA D 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotAC130",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNA C 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	U45A L 0 A_JumpIfInventory("ThrowingGrenade",1,"FragGrenade")
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotAC130",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNA B 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotAC130",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNA A 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	U45A L 0 A_JumpIfInventory("ThrowingGrenade",1,"FragGrenade")
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotAC130",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	U45A L 0 A_JumpIfInventory("ThrowingGrenade",1,"FragGrenade")
    U45A L 0 A_JumpIfInventory("KnifeAttack",1,"KnifeAttack")
	U45A L 0 A_JumpIfInventory("Reloading",1,"Altfiretest")
    loop
  Zoom:
  Altfiretest:
    PHNA S 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM) 
	U45A L 0 A_JumpIfInventory("BraceMedallionUsageLimit",1,"Failure")
	U45A L 0 A_JumpIfInventory("PredatorOnlineFix",1,"Occupied2")
    U45A L 0 A_JumpIfInventory("AC130Token",1,"Altfiretest2")
	Goto Ready
  Altfiretest2:
    U45A L 0 A_JumpIfInventory("InAC130",1,"Altfiretest3")
	TNT1 A 0 A_GiveInventory("InAC130",1)
	TNT1 A 0 ACS_Namedexecutealways("AC130Startup",0,0,0,0)
	PHNA R 150
	Goto Ready
  Altfiretest3:
	TNT1 A 0 A_TakeInventory("InAC130",1)
	TNT1 A 0 ACS_Namedexecutealways("AC130Startup",0,0,0,0)
	PHNA R 80
	Goto Ready
  AC130Placed:
    TNT1 A 0 A_Print("AC130 coordinates already designated. Press the ADS key to clear.")
	goto Ready
  AC130Clear:
    PHNA S 1 ACS_NamedExecuteAlways("AC130_Clear",0,0,0,0)
	Goto Ready
  Deselect:
    TNT1 AA 0 A_Lower
    PHNA A 1 A_Lower
	TNT1 A 0 A_TakeInventory("AC130Designator",1)
    stop
  Select: 
    PHNA A 0 A_Raise
    loop
  Fire:
    U45A L 0 A_JumpIfInventory("BraceMedallionUsageLimit",1,"Failure")
    U45A L 0 A_JumpIfInventory("InAC130",1,"AC130Fire")
	U45A L 0 A_JumpIfInventory("AC130OnlineFix",1,"Occupied")
	U45A L 0 A_JumpIfInventory("PredatorOnlineFix",1,"Occupied2")
    U45A L 0 A_JumpIfInventory("AC130Token",1,"AC130Placed")
    MSLB A 0 A_FireCustomMissile("DeployingCamera",0,0,0,0,0,0)
	TNT1 A 0 A_GiveInventory("AC130Token",1)
	PHNA S 20
	TNT1 A 0 A_Print("Coordinates acquired. Press the reload key to get a visual.")
    goto Ready
  AC130Fire:
    U45A L 0 A_JumpIfInventory("AC130GunToken",1,"AC130Fire25MM")
    PHNA R 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
    PHNA R 1 ACS_NamedExecuteAlways("AC130_Fire",0,0,0,0)
	PHNA R 10 //4MM slower shooting
    Goto Ready
  AC130Fire25MM:
    PHNA R 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
    TNT1 A 1 ACS_NamedExecuteAlways("AC130_Fire",0,0,0,0)
	PHNA R 1 //Faster shooting for 25MM cannon
    Goto Ready
  AC130Fire2:
    PHNN A 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
    TNT1 A 1 ACS_NamedExecuteAlways("AC130_FiringMode",0,0,0,0)
	PHNA R 5
    Goto Ready
  Altfire:
    U45A L 0 A_JumpIfInventory("BraceMedallionUsageLimit",1,"Failure")
    U45A L 0 A_JumpIfInventory("InAC130",1,"AC130Fire2")
	U45A L 0 A_JumpIfInventory("AC130Token",1,"AC130Clear")
	Goto Ready
  Failure:
    TNT1 A 0 A_Print("Next AC130 won't arrive until the next level.")
	Goto Ready
  Occupied:
    TNT1 A 0 A_Print("Someone else is currently using the AC130 - cannot designate coordinates.")
	Goto Ready
  Occupied2:
    TNT1 A 0 A_Print("Waiting on Predator Missile to launch.")
	Goto Ready
  Flares:
    GRNA L 0 A_TakeInventory("ThrowingGrenade",1)
    TNT1 A 1 ACS_NamedExecuteAlways("AC130Flares",0,0,0,0)
	PHNA R 2
	Goto Ready
  FragGrenade:
    U45A L 0 A_JumpIfInventory("InAC130",1,"Flares")
    U45F A 0 ACS_NamedExecuteAlways("RefSpeak",0,1,0,0)
    U45F A 0 A_ZoomFactor(1.0)
    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
    Goto Ready+2
  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
    Goto Ready+2
  KnifeAttack:
    GRNA L 0 A_TakeInventory("weapondropper",2)
    U45F A 0 A_ZoomFactor(1.0)
    U45A L 0 A_JumpIfInventory("ThrowingGrenade",1,"FragGrenade")
    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)
    Goto Ready+2
  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)
    Goto Ready+2
  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)
    Goto Ready+2
  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)
    Goto Ready+2
  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
    Goto Ready+2
  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
    Goto Ready+2
  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
    Goto Ready+2
  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
    Goto Ready+2
  }
}
Actor IsPlayer : Inventory
{
inventory.maxamount 1
}
Actor IsCloneInLastStand : Inventory
{
inventory.maxamount 1
}

ACTOR Clone
{
	Game Doom
	Radius 12
	MaxTargetRange 99999
	damagefactor "Avoid", 0.0
	Height 52
    Speed 4
	FastSpeed 6
    Health 100
	PainChance 200
	Monster
	+FLOORCLIP
	-NORADIUSDMG
	+QUICKTORETALIATE
    +NOBLOCKMONST 
    +DONTHURTSPECIES
	+THRUSPECIES
    +FIXMAPTHINGPOS 
	+LOOKALLAROUND
	+PUSHABLE
	+SLIDESONWALLS
	-CANNOTPUSH
	-COUNTKILL
	+DONTSPLASH
	+FIXMAPTHINGPOS
	+NORADIUSDMG
	+USESPECIAL
	+MTHRUSPECIES
	+DONTHURTSPECIES
	+NEVERFAST
	+NOTIMEFREEZE
	+GHOST
	+NOTELEFRAG
	+NOTELESTOMP
	Activation THINGSPEC_Activate
	DamageFactor "CauseObjectsToSplash", 0.0
	Species "Marines"
	damagefactor "TeleportRemover", 0.0
	Translation "112:127=240:247"
	Gibhealth 40
  PainChance 150
  PainChance "Dragon", 75
  PainChance "DragonF", 75
  PainChance "Dragonsplosion", 75
  PainChance "RGAFire", 75
  PainChance "Knife", 255
  PainChance "Explosion", 255
  PainChance "ExplosionF", 255
  PainChance "ExplosionC", 255
  PainChance "NormalExplode", 255
  PainChance "Stun", 255
  PainChance "Stun2", 255
  PainChance "Stun3", 255
  painchance "Revive", 255
  DamageFactor "Knife", 0.9
  DamageFactor "Normal", 2
  DamageFactor "NormalExplode", 2
  DamageFactor "BarrelBoom", 4
  DamageFactor "Ice", 2
  DamageFactor "RGAFire", 2
  DamageFactor "Fire", 2
  DamageFactor "RevenantBall", 2
  DamageFactor "Cyber", 3.8
  DamageFactor "BuildFriendDamage", 2.0
  DamageFactor "SewUpYou", 2.0
  DamageFactor "Rifle", 0.0
  DamageFactor "Sniper", 0.0
  DamageFactor "LMG", 0.0
  DamageFactor "Shotgungib", 0.0
  DamageFactor "Shotgun", 0.0
  DamageFactor "BigPistol", 0.0
  DamageFactor "Dragon", 0.0
  DamageFactor "RGABullet", 0.0
    Scale 0.98
	AttackSound "none"
	MaxStepHeight 52
	MaxDropOffHeight 52
	ActiveSound "none"
	DeathSound "DSMADTH"
	PainSound "*pain"
	SeeSound "None"
	Obituary "%o has been gunned down by a Marine."
	MeleeRange 70
	Mass 100
	States
	{
	Active:
		TNT1 A 0 A_ChangeFlag("NOBLOCKMAP", 1)
		//TNT1 A 0 A_CustomMissile ("OrderTitle2", 50, 0, 0, 2, 90)
		MR7S A 30
		TNT1 A 0 A_SpawnItem("CloneGuarding")
		Stop		
	Spawn:
		TNT1 A 0
		TNT1 A 0 A_GiveInventory("TargetIsAMarine")
		PLAY A 1 A_Look
		Goto See	
	ForgetTarget:
		TNT1 A 0 A_ClearTarget
		Goto See	
	HasKillstreak:
		TNT1 A 0 A_SpawnItem ("LastStandUnknownClone", 0, 46,0)
		Goto See+6
	HasKillstreak2:
		TNT1 A 0 A_SpawnItem ("LastStandUnknownClone", 0, 46,0)
		Goto Waits+10
	See:
		TNT1 A 0 A_JumpIfInventory("PredatorMissileKillstreak", 1, "HasKillstreak")
		TNT1 A 0 A_JumpIfInventory("PrecisionAirstrikeKillstreak", 1, "HasKillstreak")
		TNT1 A 0 A_JumpIfInventory("StealthBomberKillstreak", 1, "HasKillstreak")
		TNT1 A 0 A_JumpIfInventory("AdvancedCloneKillstreak", 1, "HasKillstreak")
		TNT1 A 0 A_JumpIfInventory("CarePackageKillstreak", 1, "HasKillstreak")
		TNT1 A 0 A_JumpIfInventory("EscortAirdropKillstreak", 1, "HasKillstreak")
		TNT1 A 0 A_ChangeFlag("NODROPOFF", 0)	
		TNT1 A 0 A_ChangeFLag("FRIENDLY", 1)
		TNT1 A 0 A_JumpIfInTargetInventory("TargetIsAMarine", 1, "FollowPLayer")//
		TNT1 A 0 A_ChangeFlag("MISSILEMORE", 1)
		TNT1 A 0 A_ChangeFlag("MISSILEEVENMORE", 1)
		TNT1 A 0 A_Recoil(-1)
		TNT1 A 0 A_JumpIfInTargetInventory("TargetIsAMarine", 1, "FollowPLayer")//
		PLAY AA 1 A_Chase
		TNT1 A 0 A_ChangeFlag("FASTER", 0)
		TNT1 A 0 A_Recoil(-1)
		TNT1 A 0 A_JumpIfInTargetInventory("TargetIsAMarine", 1, "FollowPLayer")//
		PLAY BB 1 A_Chase
		TNT1 A 0 A_Recoil(-1)
		TNT1 A 0 A_JumpIfInTargetInventory("TargetIsAMarine", 1, "FollowPLayer")//
		PLAY BB 1 A_Chase
		TNT1 A 0 A_ChangeFLag("FRIENDLY", 0)
		TNT1 A 0 A_Recoil(-1)
		TNT1 A 0 A_JumpIfInTargetInventory("TargetIsAMarine", 1, "FollowPLayer")//
		PLAY CC 1 A_Chase
		TNT1 A 0 A_ChangeFLag("FRIENDLY", 1)
		TNT1 A 0 A_Recoil(-1)
		TNT1 A 0 A_JumpIfInTargetInventory("TargetIsAMarine", 1, "FollowPLayer")//
		PLAY CC 1 A_Chase
		TNT1 A 0 A_Recoil(-1)
		TNT1 A 0 A_JumpIfInTargetInventory("TargetIsAMarine", 1, "FollowPLayer")//
		PLAY DD 1 A_Chase
		TNT1 A 0 A_Recoil(-1)
		TNT1 A 0 A_JumpIfInTargetInventory("TargetIsAMarine", 1, "FollowPLayer")//
		PLAY DD 1 A_Chase
		TNT1 A 0 A_Recoil(-1)
		TNT1 A 0 A_CheckSight("ForgetTarget")
		TNT1 A 0 A_JumpIfInTargetInventory("TargetIsAMarine", 1, "FollowPLayer")//
		TNT1 A 0 A_CheckSight("FollowPLayer")
		TNT1 A 0 A_ChangeFLag("FRIENDLY", 0)
		TNT1 A 0 A_ChangeFlag("SHOOTABLE", 0)
		PLAY AA 1 A_Chase
		TNT1 A 0 A_Recoil(-1)
		TNT1 A 0 A_JumpIfCloser(200, "Waits")
		TNT1 A 0 A_CheckSight("CheckIfPlayerSee")
		PLAY BB 1 A_Chase
		TNT1 A 0 A_Recoil(-1)
		TNT1 A 0 A_JumpIfInTargetInventory("IsPlayer", 1, "FollowPlayer")
		TNT1 A 0 A_JumpIfCloser(200, "Waits")
		TNT1 A 0 A_CheckSight("CheckIfPlayerSee")
		PLAY CC 1 A_Chase
		TNT1 A 0 A_Recoil(-1)
		TNT1 A 0 A_JumpIfInTargetInventory("IsPlayer", 1, "FollowPlayer")
		TNT1 A 0 A_JumpIfCloser(200, "Waits")
		TNT1 A 0 A_CheckSight("CheckIfPlayerSee")
		PLAY DD 1 A_Chase
		TNT1 A 0 A_Recoil(-1)
		TNT1 A 0 A_JumpIfInTargetInventory("IsPlayer", 1, "FollowPlayer")
		TNT1 A 0 A_JumpIfCloser(200, "Waits")
		TNT1 A 0 A_CheckSight("CheckIfPlayerSee")
		TNT1 A 0 A_JumpIfCloser(200, "Waits")
		TNT1 A 0 A_JumpIfInTargetInventory("IsPlayer", 1, "FollowPlayer")
		Goto See
	BecomeEnemy23:
		PLAY A 1
		TNT1 A 0 A_ClearTarget
		TNT1 A 0 A_ChangeFlag("SHOOTABLE", 0)
		TNT1 A 0 A_ChangeFLag("FRIENDLY", 0)
		Goto FollowPlayer
	FollowPlayer:
	    TNT1 A 0 A_ChangeFlag("FRIENDLY", 0)
		TNT1 A 0 A_ChangeFlag("FASTER", 1)
		TNT1 A 0 A_ChangeFlag("SHOOTABLE", 0)
	    TNT1 A 0 A_JumpIfCloser(150, "Waits")
		TNT1 A 0 A_ChangeFlag("MISSILEMORE", 0)
		TNT1 A 0 A_ChangeFlag("MISSILEEVENMORE", 0)
		PLAY A 1 A_Chase
		TNT1 A 0 A_Recoil(-1)
		TNT1 A 0 A_Recoil(-1)
		PLAY AA 1 A_Chase
		TNT1 A 0 A_Recoil(-1)
		PLAY BB 1 A_Chase
		TNT1 A 0 A_Recoil(-1)
		PLAY BB 1 A_Chase
		TNT1 A 0 A_Recoil(-1)
		PLAY CC 1 A_Chase
		TNT1 A 0 A_Recoil(-1)
		PLAY CC 1 A_Chase
		TNT1 A 0 A_Recoil(-1)
		PLAY DD 1 A_Chase
		TNT1 A 0 A_Recoil(-1)
		PLAY DD 1 A_Chase
		TNT1 A 0 A_Recoil(-1)
		PLAY AA 1 A_Chase
		TNT1 A 0 A_Recoil(-1)
		PLAY BB 1 A_Chase
		TNT1 A 0 A_Recoil(-1)
		PLAY BB 1 A_Chase
		TNT1 A 0 A_Recoil(-1)
		PLAY CC 1 A_Chase
		TNT1 A 0 A_CheckSight("CheckIfPlayerSee")
		TNT1 A 0 A_Recoil(-1)
		PLAY CC 1 A_Chase
		TNT1 A 0 A_Recoil(-1)
		PLAY DD 1 A_Chase
		TNT1 A 0 A_Recoil(-1)
		PLAY DD 1 A_Chase
		TNT1 A 0 A_Recoil(-1)
		TNT1 A 0 A_ChangeFlag("FRIENDLY", 1)
		TNT1 A 0 A_JumpIfTargetInLOS("See")
		TNT1 A 0 A_ChangeFlag("FRIENDLY", 0)
		TNT1 A 0 A_CheckSight("CheckIfPlayerSee")
		Loop
	CheckRangeToWait:
		TNT1 A 0
		TNT1 A 0 A_JumpIfCloser(150, "Waits")
		Goto FollowPLayer
	CheckIfPlayerSee:
		TNT1 A 0
		PLAY AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_FastChase
		TNT1 A 0 A_ChangeFlag("SHOOTABLE", 0)
		TNT1 A 0 A_ChangeFLag("FRIENDLY", 0)
		////TNT1 A 0 Thing_Hate(94, 0, 0)
		TNT1 A 0 A_JumpIfCloser(800, 2)
		Goto Pathfind
		TNT1 AAA 0
		Goto FollowPlayer
	Pathfind:
		TNT1 A 0
		TNT1 A 0 A_ChangeFLag("FRIENDLY", 0)
		TNT1 A 0 A_JumpIFInTargetInventory("IsPLayer", 1, 1)
		Goto FollowPLayer
		//TNT1 A 1 A_Chase("", "")
		TNT1 A 0 A_ChangeFlag("SHOOTABLE", 0)
		TNT1 A 0 A_ChangeFlag("NOBLOCKMAP", 1)
		TNT1 A 0 A_ChangeFlag("NOCLIP", 1)
		TNT1 A 0 A_ChangeFlag("SOLID", 0)
		TNT1 A 0 A_Noblocking
		TNT1 A 0 A_SpawnItemEx ("Marine1Pathfinder",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
		Stop	
	Waits:
		TNT1 A 0 A_JumpIfInventory("PredatorMissileKillstreak", 1, "HasKillstreak2")
		TNT1 A 0 A_JumpIfInventory("PrecisionAirstrikeKillstreak", 1, "HasKillstreak2")
		TNT1 A 0 A_JumpIfInventory("StealthBomberKillstreak", 1, "HasKillstreak2")
		TNT1 A 0 A_JumpIfInventory("AdvancedCloneKillstreak", 1, "HasKillstreak2")
		TNT1 A 0 A_JumpIfInventory("CarePackageKillstreak", 1, "HasKillstreak2")
		TNT1 A 0 A_JumpIfInventory("EscortAirdropKillstreak", 1, "HasKillstreak2")
		MARN D 1
		TNT1 A 0 A_JumpIfInTargetInventory("IsPlayer", 1, 2)
		TNT1 A 0 A_ClearTarget
		Goto See
		TNT1 A 0 A_ChangeFlag("FRIENDLY", 0)
		TNT1 A 0 A_ChangeFlag("MISSILEMORE", 1)
		TNT1 A 0 A_ChangeFlag("MISSILEEVENMORE", 1)
		TNT1 A 0 A_ChangeFlag("SHOOTABLE", 0)
		TNT1 A 0 A_ChangeFlag("SOLID", 0)
		TNT1 A 0 A_JumpIfInTargetInventory("TargetIsAMarine", 1, "BecomeEnemy23")
		TNT1 A 0 A_Jump(32, "Waits2")
		TNT1 A 0 A_Jump(32, "Waits3")
		MARN D 8 A_Stop
		MARN E 8 A_Stop
		TNT1 A 0 A_JumpIfInTargetInventory("InLastStand", 1, "RevivePlayer")
		TNT1 A 0 A_Stop
		TNT1 A 0 A_CheckSight("FollowPlayer")
		TNT1 A 0 A_ChangeFLag("FRIENDLY", 1)
		TNT1 A 0 A_ClearTarget
		TNT1 A 0 A_ChangeFlag("SHOOTABLE", 1)
		MARN D 0 A_Look
		TNT1 A 0 A_ChangeFLag("FRIENDLY", 0)
		TNT1 A 0 A_ChangeFlag("SHOOTABLE", 0)
		MARN D 1 A_LookEx(0, 0, 0, 0, 0, "FollowPlayer")
		TNT1 A 0 A_CheckSIght("FollowPlayer")
		TNT1 A 0 A_ChangeFlag("SHOOTABLE", 1)
		TNT1 A 0 A_JumpIfCloser(200, "Waits")
		Goto FollowPlayer
	Waits2:
		TNT1 A 0 A_JumpIfInTargetInventory("InLastStand", 1, "RevivePlayer")
		TNT1 A 0 A_SetAngle(random(90, -90) + angle)
		MARN D 8 A_Stop
		MARN E 8 A_Stop
		TNT1 A 0 A_CheckSight("FollowPlayer")
		TNT1 A 0 A_ChangeFLag("FRIENDLY", 1)
		TNT1 A 0 A_ClearTarget
		TNT1 A 0 A_ChangeFlag("SHOOTABLE", 1)
		MARN D 0 A_Look
		TNT1 A 0 A_ChangeFLag("FRIENDLY", 0)
		TNT1 A 0 A_ChangeFlag("SHOOTABLE", 0)
		MARN D 1 A_LookEx(0, 0, 0, 0, 0, "FollowPlayer")
		TNT1 A 0 A_CheckSIght("FollowPlayer")
		TNT1 A 0 A_ChangeFlag("SHOOTABLE", 1)
		TNT1 A 0 A_JumpIfCloser(300, "Waits")
		Goto FollowPLayer
	Waits3:
		TNT1 A 0
		TNT1 A 0 A_JumpIfInTargetInventory("InLastStand", 1, "RevivePlayer")
		TNT1 A 0 A_JumpIfInventory("PredatorMissileKillstreak", 1, "GivePredator")
		TNT1 A 0 A_JumpIfInventory("PrecisionAirstrikeKillstreak", 1, "GiveAirstrike")
		TNT1 A 0 A_JumpIfInventory("StealthBomberKillstreak", 1, "GiveStealth")
		TNT1 A 0 A_JumpIfInventory("AdvancedCloneKillstreak", 1, "GiveAdvancedClone")
		TNT1 A 0 A_JumpIfInventory("CarePackageKillstreak", 1, "GiveCarePackage")
		TNT1 A 0 A_JumpIfInventory("M4A1Clip", 20, "MarineReloadM4Idle")
		TNT1 A 0 A_JumpIfInTargetInventory("M4A1Ammo", 48, 3)
		Goto GiveAmmo
		TNT1 AAA 0
		TNT1 A 0 A_SetAngle(random(90, -90) + angle)
		MARN D 8 A_Stop
		MARN E 8 A_Stop
		TNT1 A 0 A_CheckSight("FollowPlayer")
		TNT1 A 0 A_ChangeFLag("FRIENDLY", 1)
		TNT1 A 0 A_ClearTarget
		TNT1 A 0 A_ChangeFlag("SHOOTABLE", 1)
		MARN D 0 A_Look
		TNT1 A 0 A_ChangeFLag("FRIENDLY", 0)
		TNT1 A 0 A_ChangeFlag("SHOOTABLE", 0)
		MARN D 1 A_LookEx(0, 0, 0, 0, 0, "FollowPlayer")
		TNT1 A 0 A_CheckSIght("FollowPlayer")
		TNT1 A 0 A_ChangeFlag("SHOOTABLE", 1)
		TNT1 A 0 A_JumpIfCloser(300, "Waits")
		Goto FollowPLayer
	GiveAmmo:
		TNT1 A 0
		MR7S A 10 A_FaceTarget
		MR8S CD 15
		TNT1 A 0 A_GiveToTarget("M4A1Ammo", 30)
		Goto Waits
	GivePredator:
		TNT1 A 0
		MR7S A 10 A_FaceTarget
		TNT1 A 0 A_PlaySound("clonegiv")
		MR8S CD 15
		TNT1 A 0 A_GiveToTarget("PredatorMissileKillstreak", 1)
		TNT1 A 0 A_TakeInventory("PredatorMissileKillstreak",1)
		Goto Waits
	GiveAirstrike:
		TNT1 A 0
		MR7S A 10 A_FaceTarget
		TNT1 A 0 A_PlaySound("clonegiv")
		MR8S CD 15
		TNT1 A 0 A_GiveToTarget("PrecisionAirstrikeKillstreak", 1)
		TNT1 A 0 A_TakeInventory("PrecisionAirstrikeKillstreak",1)
		Goto Waits
	GiveStealth:
		TNT1 A 0
		MR7S A 10 A_FaceTarget
		TNT1 A 0 A_PlaySound("clonegiv")
		MR8S CD 15
		TNT1 A 0 A_GiveToTarget("StealthBomberKillstreak", 1)
		TNT1 A 0 A_TakeInventory("StealthBomberKillstreak",1)
		Goto Waits
	GiveAdvancedClone:
		TNT1 A 0
		MR7S A 10 A_FaceTarget
		TNT1 A 0 A_PlaySound("clonegiv")
		MR8S CD 15
		TNT1 A 0 A_GiveToTarget("AdvancedCloneKillstreak", 1)
		TNT1 A 0 A_TakeInventory("AdvancedCloneKillstreak",1)
		Goto Waits
	GiveCarePackage:
		TNT1 A 0
		MR7S A 10 A_FaceTarget
		TNT1 A 0 A_PlaySound("clonegiv")
		MR8S CD 15
		TNT1 A 0 A_GiveToTarget("CarePackageKillstreak", 1)
		TNT1 A 0 A_TakeInventory("CarePackageKillstreak",1)
		Goto Waits
	GiveEscortAirdrop:
		TNT1 A 0
		MR7S A 10 A_FaceTarget
		TNT1 A 0 A_PlaySound("clonegiv")
		MR8S CD 15
		TNT1 A 0 A_GiveToTarget("EscortAirdropKillstreak", 1)
		TNT1 A 0 A_TakeInventory("EscortAirdropKillstreak",1)
		Goto Waits
	RevivePlayer:
		PLAY A 1 A_Chase
		TNT1 A 0 A_Recoil(-1)
		PLAY BB 1 A_Chase
		TNT1 A 0 A_Recoil(-1)
		PLAY BB 1 A_Chase
		TNT1 A 0 A_Recoil(-1)
		PLAY CC 1 A_Chase
		TNT1 A 0 A_Recoil(-1)
		PLAY A 1 A_Chase
		PLAY BBBB 1 A_Chase
		PLAY CC 1 A_Chase
		MR7S A 10 A_FaceTarget
		MR8S AB 15
		TNT1 A 0 A_CustomMissile("RevivePuff", 14)
		Goto Waits
     MarineReloadM4Idle:
		TNT1 A 0
		MARN A 3 A_FaceTarget
        TNT1 A 0 A_PlaySound("m4a1/clipout")
		TNT1 A 0 A_SpawnItem ("M4A1EmptyMagSpawner", 0, 30,0)
		MARN B 26 
		MARN C 2 A_FaceTarget
        TNT1 A 0 A_PlaySound("m4a1/clipin")
		TNT1 A 0 A_TakeInventory("M4A1Clip",30) 
		MARN B 5 
		Goto See
	 MarineReloadM4:
		TNT1 A 0
		MARN A 3 A_FaceTarget
		TNT1 A 0 A_Recoil(5)
        TNT1 A 0 A_PlaySound("m4a1/clipout")
		TNT1 A 0 A_SpawnItem ("M4A1EmptyMagSpawner", 0, 30,0)
		MARN B 16 
        TNT1 A 0 ThrustThing(angle*256/360+64, 3, 0, 0)
		MARN C 2 A_FaceTarget
        TNT1 A 0 A_PlaySound("m4a1/clipin")
		TNT1 A 0 A_TakeInventory("M4A1Clip",30) 
		MARN B 15 
		MARN A 2 A_FaceTarget
		TNT1 A 0 A_Recoil(5)
        TNT1 A 0 A_PlaySound("m4a1/bolt")
		MARN B 5 
		Goto See
	Missile:
        //PLAY E 1
		TNT1 A 0 A_ChangeFlag("NODROPOFF", 1)
		TNT1 A 0 A_JumpIfInTargetInventory("TargetIsACyberdemon", 1, "CheckRetreat")
		TNT1 A 0 A_JumpIfInTargetInventory("TargetIsAMastermind", 1, "CheckRetreat")
		TNT1 A 0 A_JumpIfInTargetInventory("TargetIsAMancubus", 1, "CheckRetreat")
		TNT1 A 0 A_JumpIfInTargetInventory("TargetIsAMarine", 1, "FollowPLayer")//
		TNT1 A 0 A_JumpIfInTargetInventory("IsPlayer", 1, "CheckRangeToWait")
		TNT1 A 0 A_ChangeFlag("SHOOTABLE", 1)
		TNT1 A 0 A_ChangeFlag("SOLID", 1)
		TNT1 A 0 A_JumpIfCloser(60, "AttackMelee")
		TNT1 A 0 A_JumpIfCloser(300, "Retreat")
		TNT1 A 0 A_JumpIfInventory("MP5Ammo", 24, "StunGrenade")
		TNT1 A 0 A_Jump(128, "MissileLeft", "MissileRight")
		PLAY E 6 A_FaceTarget
        TNT1 A 0 A_CustomMissile("HHCBM4A1", 30)
        TNT1 A 0 A_PlaySound("m4a1/fire")
		PLAY F 1 BRIGHT 
		PLAY E 2 A_FaceTarget
		TNT1 A 0 A_GiveInventory("M4A1Clip",1)
		TNT1 A 0 A_JumpIfInventory("M4A1Clip", 30, "MarineReloadM4")
        TNT1 A 0 A_CustomMissile("HHCBM4A1", 34)
        TNT1 A 0 A_PlaySound("m4a1/fire")
		PLAY F 1 BRIGHT
		PLAY E 2 A_FaceTarget
		TNT1 A 0 A_GiveInventory("M4A1Clip",1)
		TNT1 A 0 A_JumpIfInventory("M4A1Clip", 30, "MarineReloadM4")
        TNT1 A 0 A_CustomMissile("HHCBM4A1", 32)
        TNT1 A 0 A_PlaySound("m4a1/fire")
		PLAY F 1 BRIGHT
		PLAY E 2 A_FaceTarget
		TNT1 A 0 A_GiveInventory("M4A1Clip",1)
		TNT1 A 0 A_JumpIfInventory("M4A1Clip", 30, "MarineReloadM4")
        TNT1 A 0 A_CustomMissile("HHCBM4A1", 38)
        TNT1 A 0 A_PlaySound("m4a1/fire")
		PLAY F 1 BRIGHT
		PLAY E 2 A_FaceTarget
		TNT1 A 0 A_GiveInventory("M4A1Clip",1)
		TNT1 A 0 A_JumpIfInventory("M4A1Clip", 30, "MarineReloadM4")
        TNT1 A 0 A_CustomMissile("HHCBM4A1", 40)
        TNT1 A 0 A_PlaySound("m4a1/fire")
		PLAY F 1 BRIGHT
		PLAY E 2 A_FaceTarget
		TNT1 A 0 A_GiveInventory("M4A1Clip",1)
		TNT1 A 0 A_JumpIfInventory("M4A1Clip", 30, "MarineReloadM4")
        TNT1 A 0 A_CustomMissile("HHCBM4A1", 42)
        TNT1 A 0 A_PlaySound("m4a1/fire")
		PLAY F 1 BRIGHT
		TNT1 A 0 A_GiveInventory("M4A1Clip",1)
		TNT1 A 0 A_JumpIfInventory("M4A1Clip", 30, "MarineReloadM4")
		Goto See		
	MissileLeft:
        TNT1 A 0
		MARN A 3 A_FaceTarget
		TNT1 A 0 ThrustThing(angle*256/360+192, 3, 0, 0)
        TNT1 A 0 A_CustomMissile("HHCBM4A1", 34)
        TNT1 A 0 A_PlaySound("m4a1/fire")
		MARN B 1 BRIGHT 
        TNT1 A 0 ThrustThing(angle*256/360+192, 3, 0, 0)
		MARN C 2 A_FaceTarget
		TNT1 A 0 A_GiveInventory("M4A1Clip",1)
		TNT1 A 0 A_JumpIfInventory("M4A1Clip", 30, "MarineReloadM4")
        TNT1 A 0 A_CustomMissile("HHCBM4A1", 30)
        TNT1 A 0 A_PlaySound("m4a1/fire")
		MARN B 1 BRIGHT
		MARN A 2 A_FaceTarget
		TNT1 A 0 ThrustThing(angle*256/360+192, 3, 0, 0)
		TNT1 A 0 A_GiveInventory("M4A1Clip",1)
		TNT1 A 0 A_JumpIfInventory("M4A1Clip", 30, "MarineReloadM4")
        TNT1 A 0 A_CustomMissile("HHCBM4A1", 40)
        TNT1 A 0 A_PlaySound("m4a1/fire")
		MARN B 1 BRIGHT 
		MARN A 2 A_FaceTarget
		TNT1 A 0 ThrustThing(angle*256/360+192, 3, 0, 0)
		TNT1 A 0 A_GiveInventory("M4A1Clip",1)
		TNT1 A 0 A_JumpIfInventory("M4A1Clip", 30, "MarineReloadM4")
        TNT1 A 0 A_CustomMissile("HHCBM4A1", 42)
        TNT1 A 0 A_PlaySound("m4a1/fire")
		MARN B 1 BRIGHT 
		MARN C 2 A_FaceTarget
		TNT1 A 0 ThrustThing(angle*256/360+192, 3, 0, 0)
		TNT1 A 0 A_GiveInventory("M4A1Clip",1)
		TNT1 A 0 A_JumpIfInventory("M4A1Clip", 30, "MarineReloadM4")
        TNT1 A 0 A_CustomMissile("HHCBM4A1", 36)
        TNT1 A 0 A_PlaySound("m4a1/fire")
		MARN B 1 BRIGHT
		TNT1 A 0 A_GiveInventory("M4A1Clip",1)
		TNT1 A 0 A_JumpIfInventory("M4A1Clip", 30, "MarineReloadM4")
		Goto See	
	MissileRight:
        TNT1 A 0
		MARN A 3 A_FaceTarget
		TNT1 A 0 ThrustThing(angle*256/360+64, 3, 0, 0)
        TNT1 A 0 A_CustomMissile("HHCBM4A1", 34)
        TNT1 A 0 A_PlaySound("m4a1/fire")
		MARN B 1 BRIGHT 
        TNT1 A 0 ThrustThing(angle*256/360+64, 3, 0, 0)
		TNT1 A 0 A_GiveInventory("M4A1Clip",1)
		TNT1 A 0 A_JumpIfInventory("M4A1Clip", 30, "MarineReloadM4")
		MARN C 2 A_FaceTarget
        TNT1 A 0 A_CustomMissile("HHCBM4A1", 42)
        TNT1 A 0 A_PlaySound("m4a1/fire")
		MARN B 1 BRIGHT
		MARN A 2 A_FaceTarget
		TNT1 A 0 ThrustThing(angle*256/360+64, 3, 0, 0)
		TNT1 A 0 A_GiveInventory("M4A1Clip",1)
		TNT1 A 0 A_JumpIfInventory("M4A1Clip", 30, "MarineReloadM4")
        TNT1 A 0 A_CustomMissile("HHCBM4A1", 38)
        TNT1 A 0 A_PlaySound("m4a1/fire")
		MARN B 1 BRIGHT 
		MARN C 2 A_FaceTarget
		TNT1 A 0 ThrustThing(angle*256/360+64, 3, 0, 0)
		TNT1 A 0 A_GiveInventory("M4A1Clip",1)
		TNT1 A 0 A_JumpIfInventory("M4A1Clip", 30, "MarineReloadM4")
        TNT1 A 0 A_CustomMissile("HHCBM4A1", 36)
        TNT1 A 0 A_PlaySound("m4a1/fire")
		MARN B 1 BRIGHT
		TNT1 A 0 A_ChangeFlag("SHOOTABLE", 1)
		TNT1 A 0 A_GiveInventory("M4A1Clip",1)
		TNT1 A 0 A_JumpIfInventory("M4A1Clip", 30, "MarineReloadM4")
		TNT1 A 0 A_GiveInventory("MP5Ammo",1)
        Goto See			
	CheckRetreat:
		TNT1 A 0
		TNT1 A 0 A_JumpIfCloser(500, "Retreat")
		TNT1 A 0 A_Jump(256, "MissileRight", "MissileLeft")
		Goto MissileRight		
	Retreat:
        TNT1 A 0
		MARN A 3 A_FaceTarget
		TNT1 A 0 A_Recoil(5)
        TNT1 A 0 A_CustomMissile("HHCBM4A1", 34)
        TNT1 A 0 A_PlaySound("m4a1/fire")
		MARN B 1 BRIGHT 
        TNT1 A 0 A_Recoil(5)
		MARN C 2 A_FaceTarget
		TNT1 A 0 A_GiveInventory("M4A1Clip",1)
		TNT1 A 0 A_JumpIfInventory("M4A1Clip", 30, "MarineReloadM4")
        TNT1 A 0 A_CustomMissile("HHCBM4A1", 40)
        TNT1 A 0 A_PlaySound("m4a1/fire")
		MARN B 1 BRIGHT
		MARN A 2 A_FaceTarget
		TNT1 A 0 A_Recoil(5)
		TNT1 A 0 A_GiveInventory("M4A1Clip",1)
		TNT1 A 0 A_JumpIfInventory("M4A1Clip", 30, "MarineReloadM4")
        TNT1 A 0 A_CustomMissile("HHCBM4A1", 422)
        TNT1 A 0 A_PlaySound("m4a1/fire")
		MARN B 1 BRIGHT 
		MARN C 2 A_FaceTarget
		TNT1 A 0 A_Recoil(5)
		TNT1 A 0 A_GiveInventory("M4A1Clip",1)
		TNT1 A 0 A_JumpIfInventory("M4A1Clip", 30, "MarineReloadM4")
        TNT1 A 0 A_CustomMissile("HHCBM4A1", 37)
        TNT1 A 0 A_PlaySound("m4a1/fire")
		MARN B 1 BRIGHT
		TNT1 A 0 A_GiveInventory("M4A1Clip",1)
		TNT1 A 0 A_JumpIfInventory("M4A1Clip", 30, "MarineReloadM4")
		TNT1 A 0 A_Jump(128, "MissileRight", "MissileLeft")
		Goto See			
	StunGrenade:
		MARN A 4 A_FaceTarget
		TNT1 A 0 A_PlaySound("grenade/pinpull")
		MARN B 1 BRIGHT
		MARN C 2 A_FaceTarget
		TNT1 A 0 A_Recoil(5)
		MARN B 9
		MARN A 0 A_CustomMissile("StunGrenade",40,0,0,0)
        TNT1 A 0 A_PlaySound("grenade/throw")
		TNT1 A 0 A_Recoil(5)
		TNT1 A 0 A_TakeInventory("MP5Ammo",24) 
		Goto See
	AttackMelee:
		TNT1 A 0
		TNT1 A 0 A_Jump(180, "AttackM1887")
	    PLAY A 1 A_FaceTarget
		TNT1 A 0 A_Recoil(-8)
		MARJ A 6 A_FaceTarget
		MARN A 1 A_CustomMissile("HHCBWA2000C",40,0,0,0) 
		KNFA B 0 A_PlaySound("knife/flesh1")
		MARN A 3 A_FaceTarget
		TNT1 A 0 A_Recoil(5)
		Goto See
	AttackM1887:
	    MARN A 4 A_FaceTarget
		TNT1 A 0 A_Recoil(-4)
		MARN A 1 A_FaceTarget
		MARN A 0 A_CustomMissile("HHCBBARRETTA",40,0,0,0)
		TNT1 A 0 A_PlaySound("m1887/fire")
		MARN B 1 BRIGHT
		MARN C 2 A_FaceTarget
		TNT1 A 0 A_Recoil(5)
		MARN B 10
        TNT1 A 0 A_PlaySound("m1887/click")
		MARN C 2 A_FaceTarget
		TNT1 A 0 A_Recoil(5)
		MARN B 10 
        TNT1 A 0 A_PlaySound("m1887/clack")
		Goto See
	Pain:
	    PLAY G 3
		TNT1 A 0 A_ChangeFlag("NODROPOFF", 0)
		PLAY G 3 A_Pain
		Goto FollowPlayer
	Death:
	Death.Bullet:
		TNT1 A 0 A_ChangeFlag("FRIENDLY", 0)
		TNT1 A 0 A_ChangeFlag("USESPECIAL", 0)
		PLAY H 10 A_PlayerScream
		PLAY I 10 A_NoBlocking
		PLAY J 10 
		TNT1 A 0 A_SpawnItemEx("RemoveMarine",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
		PLAY KLM 10
		TNT1 A 0 A_JumpIfInventory("PredatorMissileKillstreak", 1, "Death2")
		TNT1 A 0 A_JumpIfInventory("PrecisionAirstrikeKillstreak", 1, "Death2")
		TNT1 A 0 A_JumpIfInventory("StealthBomberKillstreak", 1, "Death2")
		TNT1 A 0 A_JumpIfInventory("AdvancedCloneKillstreak", 1, "Death2")
		TNT1 A 0 A_JumpIfInventory("CarePackageKillstreak", 1, "Death2")
		TNT1 A 0 A_JumpIfInventory("EscortAirdropKillstreak", 1, "Death2")
		TNT1 A 15 A_SpawnItemEx("Clone_LastStand",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION| SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION|SXF_SETMASTER,0)
		Stop
	Death2:
		TNT1 A 15 A_SpawnItemEx("Clone_LastStandKillstreak",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION| SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION|SXF_SETMASTER,0)
		Stop
	XDeath:
    POSS M 5
    POSS N 5 A_XScream
    POSS O 5 A_NoBlocking
    POSS PQRST 5
    POSS U -1
	}
}
ACTOR CloneGuarding: Clone //Currently unused
{
	FastSpeed 0
	MaxStepHeight 0
	+FRIENDLY
	+MISSILEMORE
	+NODROPOFF
	+MISSILEEVENMORE
	Speed 0
	States
	{
	Active:
		//TNT1 A 0 A_ChangeFlag("NOBLOCKMAP", 1)
		//TNT1 A 0 A_CustomMissile ("OrderTitle1", 50, 0, 0, 2, 90)
		MR7S A 30
		TNT1 A 0 A_SpawnItem("Clone")
		Stop		
	Spawn:
		TNT1 A 0
		TNT1 A 0 A_ChangeFlag("FRIENDLY", 1)
		TNT1 A 0 A_GiveInventory("TargetIsAMarine")
		MARN D 1 A_Look
		Goto See		
	See:	
		//TNT1 A 0 A_SetAngle(random(90, -90) + angle)
		//TNT1 A 0 A_ChangeFlag("SHOOTABLE", 0)
		//TNT1 A 0 A_ChangeFlag("SOLID", 0)
		MARN DDDDDDDDDDEEEEEEEEE 1 A_Chase
		TNT1 A 0 A_ClearTarget
		Loop		
	Missile:
        //PLAY E 1
		TNT1 A 0 A_ChangeFlag("FRIENDLY", 1)
		TNT1 A 0 A_JumpIfInTargetInventory("TargetIsACyberdemon", 1, "CheckRetreat")
		TNT1 A 0 A_JumpIfInTargetInventory("TargetIsAMastermind", 1, "CheckRetreat")
		TNT1 A 0 A_ChangeFlag("SHOOTABLE", 1)
		TNT1 A 0 A_ChangeFlag("SOLID", 1)
		PLAY E 6 A_FaceTarget
        TNT1 A 0 A_CustomMissile("HHCBM4A1", 30)
        TNT1 A 0 A_PlaySound("m4a1/fire")
		PLAY F 1 BRIGHT 
		PLAY E 2 A_FaceTarget
		TNT1 A 0 A_GiveInventory("M4A1Clip",1)
		TNT1 A 0 A_JumpIfInventory("M4A1Clip", 30, "MarineReloadM4")
        TNT1 A 0 A_CustomMissile("HHCBM4A1", 34)
        TNT1 A 0 A_PlaySound("m4a1/fire")
		PLAY F 1 BRIGHT
		PLAY E 2 A_FaceTarget
		TNT1 A 0 A_GiveInventory("M4A1Clip",1)
		TNT1 A 0 A_JumpIfInventory("M4A1Clip", 30, "MarineReloadM4")
        TNT1 A 0 A_CustomMissile("HHCBM4A1", 32)
        TNT1 A 0 A_PlaySound("m4a1/fire")
		PLAY F 1 BRIGHT
		PLAY E 2 A_FaceTarget
		TNT1 A 0 A_GiveInventory("M4A1Clip",1)
		TNT1 A 0 A_JumpIfInventory("M4A1Clip", 30, "MarineReloadM4")
        TNT1 A 0 A_CustomMissile("HHCBM4A1", 38)
        TNT1 A 0 A_PlaySound("m4a1/fire")
		PLAY F 1 BRIGHT
		PLAY E 2 A_FaceTarget
		TNT1 A 0 A_GiveInventory("M4A1Clip",1)
		TNT1 A 0 A_JumpIfInventory("M4A1Clip", 30, "MarineReloadM4")
        TNT1 A 0 A_CustomMissile("HHCBM4A1", 40)
        TNT1 A 0 A_PlaySound("m4a1/fire")
		PLAY F 1 BRIGHT
		PLAY E 2 A_FaceTarget
		TNT1 A 0 A_GiveInventory("M4A1Clip",1)
		TNT1 A 0 A_JumpIfInventory("M4A1Clip", 30, "MarineReloadM4")
        TNT1 A 0 A_CustomMissile("HHCBM4A1", 42)
        TNT1 A 0 A_PlaySound("m4a1/fire")
		PLAY F 1 BRIGHT
		TNT1 A 0 A_GiveInventory("M4A1Clip",1)
		TNT1 A 0 A_JumpIfInventory("M4A1Clip", 30, "MarineReloadM4")
		TNT1 A 0 A_CPosREfire
		Goto See		
	MissileLeft:
        TNT1 A 0
		MARN A 3 A_FaceTarget
		TNT1 A 0 ThrustThing(angle*256/360+192, 6, 0, 0)
        TNT1 A 0 A_CustomMissile("HHCBM4A1", 34)
        TNT1 A 0 A_PlaySound("m4a1/fire")
		MARN B 1 BRIGHT 
        TNT1 A 0 ThrustThing(angle*256/360+192, 6, 0, 0)
		MARN C 2 A_FaceTarget
		TNT1 A 0 A_GiveInventory("M4A1Clip",1)
		TNT1 A 0 A_JumpIfInventory("M4A1Clip", 30, "MarineReloadM4")
        TNT1 A 0 A_CustomMissile("HHCBM4A1", 30)
        TNT1 A 0 A_PlaySound("m4a1/fire")
		MARN B 1 BRIGHT
		MARN A 2 A_FaceTarget
		TNT1 A 0 ThrustThing(angle*256/360+192, 6, 0, 0)
		TNT1 A 0 A_GiveInventory("M4A1Clip",1)
		TNT1 A 0 A_JumpIfInventory("M4A1Clip", 30, "MarineReloadM4")
        TNT1 A 0 A_CustomMissile("HHCBM4A1", 40)
        TNT1 A 0 A_PlaySound("m4a1/fire")
		MARN B 1 BRIGHT 
		MARN A 2 A_FaceTarget
		TNT1 A 0 ThrustThing(angle*256/360+192, 6, 0, 0)
		TNT1 A 0 A_GiveInventory("M4A1Clip",1)
		TNT1 A 0 A_JumpIfInventory("M4A1Clip", 30, "MarineReloadM4")
        TNT1 A 0 A_CustomMissile("HHCBM4A1", 42)
        TNT1 A 0 A_PlaySound("m4a1/fire")
		MARN B 1 BRIGHT 
		MARN C 2 A_FaceTarget
		TNT1 A 0 ThrustThing(angle*256/360+192, 6, 0, 0)
		TNT1 A 0 A_GiveInventory("M4A1Clip",1)
		TNT1 A 0 A_JumpIfInventory("M4A1Clip", 30, "MarineReloadM4")
        TNT1 A 0 A_CustomMissile("HHCBM4A1", 36)
        TNT1 A 0 A_PlaySound("m4a1/fire")
		MARN B 1 BRIGHT
		TNT1 A 0 A_GiveInventory("M4A1Clip",1)
		TNT1 A 0 A_JumpIfInventory("M4A1Clip", 30, "MarineReloadM4")
		Goto See	
	MissileRight:
        TNT1 A 0
		MARN A 3 A_FaceTarget
		TNT1 A 0 ThrustThing(angle*256/360+64, 6, 0, 0)
        TNT1 A 0 A_CustomMissile("HHCBM4A1", 34)
        TNT1 A 0 A_PlaySound("m4a1/fire")
		MARN B 1 BRIGHT 
        TNT1 A 0 ThrustThing(angle*256/360+64, 6, 0, 0)
		TNT1 A 0 A_GiveInventory("M4A1Clip",1)
		TNT1 A 0 A_JumpIfInventory("M4A1Clip", 30, "MarineReloadM4")
		MARN C 2 A_FaceTarget
        TNT1 A 0 A_CustomMissile("HHCBM4A1", 42)
        TNT1 A 0 A_PlaySound("m4a1/fire")
		MARN B 1 BRIGHT
		MARN A 2 A_FaceTarget
		TNT1 A 0 ThrustThing(angle*256/360+64, 6, 0, 0)
		TNT1 A 0 A_GiveInventory("M4A1Clip",1)
		TNT1 A 0 A_JumpIfInventory("M4A1Clip", 30, "MarineReloadM4")
        TNT1 A 0 A_CustomMissile("HHCBM4A1", 38)
        TNT1 A 0 A_PlaySound("m4a1/fire")
		MARN B 1 BRIGHT 
		MARN C 2 A_FaceTarget
		TNT1 A 0 ThrustThing(angle*256/360+64, 6, 0, 0)
		TNT1 A 0 A_GiveInventory("M4A1Clip",1)
		TNT1 A 0 A_JumpIfInventory("M4A1Clip", 30, "MarineReloadM4")
        TNT1 A 0 A_CustomMissile("HHCBM4A1", 36)
        TNT1 A 0 A_PlaySound("m4a1/fire")
		MARN B 1 BRIGHT
		TNT1 A 0 A_ChangeFlag("SHOOTABLE", 1)
		TNT1 A 0 A_GiveInventory("M4A1Clip",1)
		TNT1 A 0 A_JumpIfInventory("M4A1Clip", 30, "MarineReloadM4")
		TNT1 A 0 A_ChangeFlag("SHOOTABLE", 1)
        Goto See			
	CheckRetreat:
		TNT1 A 0
		TNT1 A 0 A_JumpIfCloser(500, "Retreat")
		TNT1 A 0 A_Jump(256, "MissileRight", "MissileLeft")
		Goto MissileRight		
	Retreat:
        TNT1 A 0
		MARN A 3 A_FaceTarget
		TNT1 A 0 A_Recoil(5)
        TNT1 A 0 A_CustomMissile("HHCBM4A1", 34)
        TNT1 A 0 A_PlaySound("m4a1/fire")
		MARN B 1 BRIGHT 
        TNT1 A 0 A_Recoil(5)
		MARN C 2 A_FaceTarget
		TNT1 A 0 A_GiveInventory("M4A1Clip",1)
		TNT1 A 0 A_JumpIfInventory("M4A1Clip", 30, "MarineReloadM4")
        TNT1 A 0 A_CustomMissile("HHCBM4A1", 40)
        TNT1 A 0 A_PlaySound("m4a1/fire")
		MARN B 1 BRIGHT
		MARN A 2 A_FaceTarget
		TNT1 A 0 A_Recoil(5)
		TNT1 A 0 A_GiveInventory("M4A1Clip",1)
		TNT1 A 0 A_JumpIfInventory("M4A1Clip", 30, "MarineReloadM4")
        TNT1 A 0 A_CustomMissile("HHCBM4A1", 422)
        TNT1 A 0 A_PlaySound("m4a1/fire")
		MARN B 1 BRIGHT 
		MARN C 2 A_FaceTarget
		TNT1 A 0 A_Recoil(5)
		TNT1 A 0 A_GiveInventory("M4A1Clip",1)
		TNT1 A 0 A_JumpIfInventory("M4A1Clip", 30, "MarineReloadM4")
        TNT1 A 0 A_CustomMissile("HHCBM4A1", 37)
        TNT1 A 0 A_PlaySound("m4a1/fire")
		MARN B 1 BRIGHT
		TNT1 A 0 A_GiveInventory("M4A1Clip",1)
		TNT1 A 0 A_JumpIfInventory("M4A1Clip", 30, "MarineReloadM4")
		TNT1 A 0 A_Jump(128, "MissileRight", "MissileLeft")
		Goto See	
	Pain.Kick:
		PLAY A 2 A_FaceTarget
		TNT1 A 0 A_Recoil(5)
        Goto See		
	Pain:
	    PLAY G 3
		PLAY G 3 A_Pain
		TNT1 A 0 A_Jump(128, "MissileLeft", "MissileRight")
		Goto See
	}
}

actor Clone_LastStand
{
  Obituary "%o was killed by a last stand clone!"
  Health 200
  GibHealth 60
  Radius 12
  Height 32
  DeathHeight 14
  BurnHeight 14
  Mass 2000
  Speed 0
  ReactionTime 10
  MinMissileChance 211
  PainChance 150
  PainChance "Dragon", 75
  PainChance "DragonF", 75
  PainChance "Dragonsplosion", 75
  PainChance "RGAFire", 75
  PainChance "Knife", 255
  PainChance "Explosion", 255
  PainChance "ExplosionF", 255
  PainChance "ExplosionC", 255
  PainChance "NormalExplode", 255
  PainChance "Stun", 255
  PainChance "Stun2", 255
  PainChance "Stun3", 255
  painchance "Revive", 255
  DamageFactor "Knife", 0.9
  DamageFactor "Normal", 2
  DamageFactor "NormalExplode", 2
  DamageFactor "BarrelBoom", 4
  DamageFactor "Ice", 2
  DamageFactor "RGAFire", 2
  DamageFactor "Fire", 2
  DamageFactor "RevenantBall", 2
  DamageFactor "Cyber", 3.8
  DamageFactor "BuildFriendDamage", 2.0
  DamageFactor "SewUpYou", 2.0
  DamageFactor "Rifle", 0.0
  DamageFactor "Sniper", 0.0
  DamageFactor "LMG", 0.0
  DamageFactor "Shotgungib", 0.0
  DamageFactor "Shotgun", 0.0
  DamageFactor "BigPistol", 0.0
  DamageFactor "Dragon", 0.0
  DamageFactor "RGABullet", 0.0
  DamageFactor "Stun", 0.0
  SeeSound "player/hurt"
  AttackSound "u45/fire"
  PainSound "commando/death"
  DeathSound "renegade/deaths1"
  ActiveSound "commando/death"
  DamageFactor "Step", 0.0
  Species "Marines"
  MONSTER
  Translation "112:127=240:247"
    +FRIENDLY
	+FLOORCLIP
	-NORADIUSDMG
	+QUICKTORETALIATE
    +NOBLOCKMONST 
    +DONTHURTSPECIES
	+THRUSPECIES
    +FIXMAPTHINGPOS 
	+LOOKALLAROUND
	+PUSHABLE
	+SLIDESONWALLS
	-CANNOTPUSH
	-COUNTKILL
	+DONTSPLASH
	+FIXMAPTHINGPOS
	+NORADIUSDMG
	+USESPECIAL
	+MTHRUSPECIES
	+DONTHURTSPECIES
	+NEVERFAST
	+NOTIMEFREEZE
	+GHOST
	+NOTELEFRAG
	+NOTELESTOMP
  States
  {
  	Spawn:
		TNT1 A 0
		TNT1 A 0 A_GiveInventory("TargetIsAMarine")
		TNT1 A 0 A_GiveInventory("IsCloneInLastStand")
		LAST A 1 A_Look
		Goto See
	
	ForgetTarget:
		TNT1 A 0 A_ClearTarget
		Goto See
	
	See:
		TNT1 A 0 A_ChangeFlag("NODROPOFF", 0)	
		TNT1 A 0 A_ChangeFLag("FRIENDLY", 1)
		LAST AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 1 A_Chase
		LAST BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB 1 A_Chase
		LAST B 0 A_JumpIfInventory("LastStandHP",20,"Die")
		LAST B 0 A_GiveInventory("LastStandHP",1)
		Goto See
	 MarineReloadG18:
		TNT1 A 0
		LAST A 3 A_FaceTarget
        TNT1 A 0 A_PlaySound("G18/clipout")
		TNT1 A 0 A_SpawnItem ("G18EmptyMagSpawner", 0, 10,0)
		LAST B 61 
		LAST B 0 A_GiveInventory("LastStandHP",1)
		LAST B 0 A_JumpIfInventory("LastStandHP",20,"Die")
		LAST A 2 A_FaceTarget
        TNT1 A 0 A_PlaySound("G18/clipin")
		TNT1 A 0 A_TakeInventory("G18Clip",33) 
		LAST B 49 
		LAST A 2 A_FaceTarget
        TNT1 A 0 A_PlaySound("G18/bolt")
		LAST B 28 
		//TNT1 A 0 A_Jump(128, "MissileRight", "MissileLeft") 
		Goto See
	Missile:
        //PLAY E 1
		TNT1 A 0 A_ChangeFlag("NODROPOFF", 1)
		TNT1 A 0 A_ChangeFlag("SHOOTABLE", 1)
		TNT1 A 0 A_ChangeFlag("SOLID", 1)
		TNT1 A 0 A_JumpIfCloser(160, "AttackMelee")
		LAST A 6 A_FaceTarget
        TNT1 A 0 A_CustomMissile("HHCBG18", 10)
        TNT1 A 0 A_PlaySound("G18/fire")
		LAST C 1 BRIGHT 
		LAST A 1 A_FaceTarget
		TNT1 A 0 A_GiveInventory("G18Clip",1)
		TNT1 A 0 A_JumpIfInventory("G18Clip", 33, "MarineReloadG18")
        TNT1 A 0 A_CustomMissile("HHCBG18", 12)
        TNT1 A 0 A_PlaySound("G18/fire")
		LAST C 1 BRIGHT
		LAST B 1 A_FaceTarget
		TNT1 A 0 A_GiveInventory("G18Clip",1)
		TNT1 A 0 A_JumpIfInventory("G18Clip", 33, "MarineReloadG18")
        TNT1 A 0 A_CustomMissile("HHCBG18", 14)
        TNT1 A 0 A_PlaySound("G18/fire")
		LAST C 1 BRIGHT
		LAST A 1 A_FaceTarget
		TNT1 A 0 A_GiveInventory("G18Clip",1)
		TNT1 A 0 A_JumpIfInventory("G18Clip", 33, "MarineReloadG18")
        TNT1 A 0 A_CustomMissile("HHCBG18", 12)
        TNT1 A 0 A_PlaySound("G18/fire")
		LAST C 1 BRIGHT
		LAST A 1 A_FaceTarget
		TNT1 A 0 A_GiveInventory("G18Clip",1)
		TNT1 A 0 A_JumpIfInventory("G18Clip", 33, "MarineReloadG18")
		LAST B 0 A_GiveInventory("LastStandHP",1)
		Goto See	
	AttackMelee:
		TNT1 A 0
		LAST A 6 A_FaceTarget
        TNT1 A 0 A_CustomMissile("HHCBG18", 10)
        TNT1 A 0 A_PlaySound("G18/fire")
		LAST C 1 BRIGHT 
		LAST A 1 A_FaceTarget
		TNT1 A 0 A_GiveInventory("G18Clip",1)
		TNT1 A 0 A_JumpIfInventory("G18Clip", 33, "MarineReloadG18")
        TNT1 A 0 A_CustomMissile("HHCBG18", 12)
        TNT1 A 0 A_PlaySound("G18/fire")
		LAST C 1 BRIGHT
		LAST B 1 A_FaceTarget
		TNT1 A 0 A_GiveInventory("G18Clip",1)
		TNT1 A 0 A_JumpIfInventory("G18Clip", 33, "MarineReloadG18")
        TNT1 A 0 A_CustomMissile("HHCBG18", 14)
        TNT1 A 0 A_PlaySound("G18/fire")
		LAST C 1 BRIGHT
		LAST A 1 A_FaceTarget
		TNT1 A 0 A_GiveInventory("G18Clip",1)
		TNT1 A 0 A_JumpIfInventory("G18Clip", 33, "MarineReloadG18")
        TNT1 A 0 A_CustomMissile("HHCBG18", 15)
        TNT1 A 0 A_PlaySound("G18/fire")
		LAST C 1 BRIGHT
		LAST A 1 A_FaceTarget
		TNT1 A 0 A_GiveInventory("G18Clip",1)
		TNT1 A 0 A_JumpIfInventory("G18Clip", 33, "MarineReloadG18")
		TNT1 A 0 A_CustomMissile("HHCBG18", 12)
        TNT1 A 0 A_PlaySound("G18/fire")
		LAST C 1 BRIGHT
		LAST A 1 A_FaceTarget
		TNT1 A 0 A_GiveInventory("G18Clip",1)
		TNT1 A 0 A_JumpIfInventory("G18Clip", 33, "MarineReloadG18")
		TNT1 A 0 A_CustomMissile("HHCBG18", 15)
        TNT1 A 0 A_PlaySound("G18/fire")
		LAST C 1 BRIGHT
		LAST A 1 A_FaceTarget
		TNT1 A 0 A_GiveInventory("G18Clip",1)
		TNT1 A 0 A_JumpIfInventory("G18Clip", 33, "MarineReloadG18")
		TNT1 A 0 A_CustomMissile("HHCBG18", 12)
        TNT1 A 0 A_PlaySound("G18/fire")
		LAST C 1 BRIGHT
		LAST A 1 A_FaceTarget
		TNT1 A 0 A_GiveInventory("G18Clip",1)
		TNT1 A 0 A_JumpIfInventory("G18Clip", 33, "MarineReloadG18")
		TNT1 A 0 A_CustomMissile("HHCBG18", 14)
        TNT1 A 0 A_PlaySound("G18/fire")
		LAST C 1 BRIGHT
		LAST A 1 A_FaceTarget
		TNT1 A 0 A_GiveInventory("G18Clip",1)
		TNT1 A 0 A_JumpIfInventory("G18Clip", 33, "MarineReloadG18")
		TNT1 A 0 A_CustomMissile("HHCBG18", 12)
        TNT1 A 0 A_PlaySound("G18/fire")
		LAST C 1 BRIGHT
		LAST A 1 A_FaceTarget
		TNT1 A 0 A_GiveInventory("G18Clip",1)
		TNT1 A 0 A_JumpIfInventory("G18Clip", 33, "MarineReloadG18")
		TNT1 A 0 A_CustomMissile("HHCBG18", 12)
        TNT1 A 0 A_PlaySound("G18/fire")
		LAST C 1 BRIGHT
		LAST A 1 A_FaceTarget
		TNT1 A 0 A_GiveInventory("G18Clip",1)
		TNT1 A 0 A_JumpIfInventory("G18Clip", 33, "MarineReloadG18")
		TNT1 A 0 A_CustomMissile("HHCBG18", 15)
        TNT1 A 0 A_PlaySound("G18/fire")
		LAST C 1 BRIGHT
		LAST A 1 A_FaceTarget
		TNT1 A 0 A_GiveInventory("G18Clip",1)
		TNT1 A 0 A_JumpIfInventory("G18Clip", 33, "MarineReloadG18")
		TNT1 A 0 A_CustomMissile("HHCBG18", 12)
        TNT1 A 0 A_PlaySound("G18/fire")
		LAST C 1 BRIGHT
		LAST A 1 A_FaceTarget
		TNT1 A 0 A_GiveInventory("G18Clip",1)
		TNT1 A 0 A_JumpIfInventory("G18Clip", 33, "MarineReloadG18")
		TNT1 A 0 A_CustomMissile("HHCBG18", 12)
        TNT1 A 0 A_PlaySound("G18/fire")
		LAST C 1 BRIGHT
		LAST A 1 A_FaceTarget
		TNT1 A 0 A_GiveInventory("G18Clip",1)
		TNT1 A 0 A_JumpIfInventory("G18Clip", 33, "MarineReloadG18")
		TNT1 A 0 A_CustomMissile("HHCBG18", 11)
        TNT1 A 0 A_PlaySound("G18/fire")
		LAST C 1 BRIGHT
		LAST A 1 A_FaceTarget
		TNT1 A 0 A_GiveInventory("G18Clip",1)
		TNT1 A 0 A_JumpIfInventory("G18Clip", 33, "MarineReloadG18")
		TNT1 A 0 A_CustomMissile("HHCBG18", 12)
        TNT1 A 0 A_PlaySound("G18/fire")
		LAST C 1 BRIGHT
		LAST A 1 A_FaceTarget
		TNT1 A 0 A_GiveInventory("G18Clip",1)
		TNT1 A 0 A_JumpIfInventory("G18Clip", 33, "MarineReloadG18")
		TNT1 A 0 A_CustomMissile("HHCBG18", 10)
        TNT1 A 0 A_PlaySound("G18/fire")
		LAST C 1 BRIGHT
		LAST A 1 A_FaceTarget
		TNT1 A 0 A_GiveInventory("G18Clip",1)
		TNT1 A 0 A_JumpIfInventory("G18Clip", 33, "MarineReloadG18")
		TNT1 A 0 A_CustomMissile("HHCBG18", 12)
        TNT1 A 0 A_PlaySound("G18/fire")
		LAST C 1 BRIGHT
		LAST A 1 A_FaceTarget
		TNT1 A 0 A_GiveInventory("G18Clip",1)
		TNT1 A 0 A_JumpIfInventory("G18Clip", 33, "MarineReloadG18")
		TNT1 A 0 A_CustomMissile("HHCBG18", 12)
        TNT1 A 0 A_PlaySound("G18/fire")
		LAST C 1 BRIGHT
		LAST A 1 A_FaceTarget
		TNT1 A 0 A_GiveInventory("G18Clip",1)
		TNT1 A 0 A_JumpIfInventory("G18Clip", 33, "MarineReloadG18")
		TNT1 A 0 A_CustomMissile("HHCBG18", 9)
        TNT1 A 0 A_PlaySound("G18/fire")
		LAST C 1 BRIGHT
		LAST A 1 A_FaceTarget
		TNT1 A 0 A_GiveInventory("G18Clip",1)
		TNT1 A 0 A_JumpIfInventory("G18Clip", 33, "MarineReloadG18")
		TNT1 A 0 A_CustomMissile("HHCBG18", 12)
        TNT1 A 0 A_PlaySound("G18/fire")
		LAST C 1 BRIGHT
		LAST A 1 A_FaceTarget
		TNT1 A 0 A_GiveInventory("G18Clip",1)
		TNT1 A 0 A_JumpIfInventory("G18Clip", 33, "MarineReloadG18")
		TNT1 A 0 A_CustomMissile("HHCBG18", 10)
        TNT1 A 0 A_PlaySound("G18/fire")
		LAST C 1 BRIGHT
		LAST A 1 A_FaceTarget
		TNT1 A 0 A_GiveInventory("G18Clip",1)
		TNT1 A 0 A_JumpIfInventory("G18Clip", 33, "MarineReloadG18")
		TNT1 A 0 A_CustomMissile("HHCBG18", 12)
        TNT1 A 0 A_PlaySound("G18/fire")
		LAST C 1 BRIGHT
		LAST A 1 A_FaceTarget
		TNT1 A 0 A_GiveInventory("G18Clip",1)
		TNT1 A 0 A_JumpIfInventory("G18Clip", 33, "MarineReloadG18")
		TNT1 A 0 A_CustomMissile("HHCBG18", 12)
        TNT1 A 0 A_PlaySound("G18/fire")
		LAST C 1 BRIGHT
		LAST A 1 A_FaceTarget
		TNT1 A 0 A_GiveInventory("G18Clip",1)
		TNT1 A 0 A_JumpIfInventory("G18Clip", 33, "MarineReloadG18")
		TNT1 A 0 A_CustomMissile("HHCBG18", 11)
        TNT1 A 0 A_PlaySound("G18/fire")
		LAST C 1 BRIGHT
		LAST A 1 A_FaceTarget
		TNT1 A 0 A_GiveInventory("G18Clip",1)
		TNT1 A 0 A_JumpIfInventory("G18Clip", 33, "MarineReloadG18")
		LAST B 0 A_GiveInventory("LastStandHP",1)
		Goto See
  Pain.Revive:
    LAST A 0
    TNT1 A 0 A_SpawnItemEx("Clone",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
	TNT1 A 0 A_PlaySound("game/challenge")
    Goto Death.Revive
  Pain:
    LAST G 3
    LAST G 6 A_Pain
    goto See
  Die:
    LST2 A 0 A_Die
	TNT1 A 0 A_JumpIfCloser(260, "Death.Martyrdom")
    goto Death
  Death:
    LAST D 5 A_Scream
    LAST E 5 A_NoBlocking
    LAST F -1 A_GiveInventory("Blinded",1,AAPTR_MASTER)
    Stop
  Death.Revive:
    TNT1 D 5
    TNT1 K 5 A_NoBlocking
    Stop
  Death.Martyrdom:
    LAST D 5 A_Scream
    LAST E 5 A_NoBlocking
	LAST K 0 A_CustomMissile("FragGrenadeDropped2",8,0,0)
    LAST F -1 A_GiveInventory("Blinded",1,AAPTR_MASTER)
    Stop
  Death.RGAFire:
  Death.Dragonsplosion:
  Death.Dragon:
  Death.DragonF:
  Death.Fire:
    "####" # 0 A_Jump(128,"Death")
    "####" # 0 A_SpawnItemEx("RGABurnt",0,0,0,0,0,0,0,128,0)
    goto Death
  }
}

Actor TargetedByRailgun : Inventory
{
inventory.maxamount 1
}

ACTOR AdvancedClone
{
	Game Doom
	Radius 12
	MaxTargetRange 99999
	damagefactor "Avoid", 0.0
	Height 52
    Speed 5
	FastSpeed 6
    Health 250
	PainChance 200
	Monster
	+FLOORCLIP
	-NORADIUSDMG
	+QUICKTORETALIATE
    +NOBLOCKMONST 
    +DONTHURTSPECIES
	+THRUSPECIES
    +FIXMAPTHINGPOS 
	+LOOKALLAROUND
	+PUSHABLE
	+SLIDESONWALLS
	-CANNOTPUSH
	-COUNTKILL
	+DONTSPLASH
	+FIXMAPTHINGPOS
	+NORADIUSDMG
	+USESPECIAL
	+MTHRUSPECIES
	+DONTHURTSPECIES
	+NEVERFAST
	+NOTIMEFREEZE
	+GHOST
	+NOTELEFRAG
	+NOTELESTOMP
	Activation THINGSPEC_Activate
	DamageFactor "CauseObjectsToSplash", 0.0
	Species "Marines"
	damagefactor "TeleportRemover", 0.0
	Translation "112:127=72:79"
	Gibhealth 40
  PainChance 150
  PainChance "Dragon", 75
  PainChance "DragonF", 75
  PainChance "Dragonsplosion", 75
  PainChance "RGAFire", 75
  PainChance "Knife", 255
  PainChance "Explosion", 255
  PainChance "ExplosionF", 255
  PainChance "ExplosionC", 255
  PainChance "NormalExplode", 255
  PainChance "Stun", 255
  PainChance "Stun2", 255
  PainChance "Stun3", 255
  painchance "Revive", 255
  DamageFactor "Knife", 0.9
  DamageFactor "Normal", 2
  DamageFactor "NormalExplode", 2
  DamageFactor "BarrelBoom", 4
  DamageFactor "Ice", 2
  DamageFactor "RGAFire", 2
  DamageFactor "Fire", 2
  DamageFactor "RevenantBall", 2
  DamageFactor "Cyber", 3.8
  DamageFactor "BuildFriendDamage", 2.0
  DamageFactor "SewUpYou", 2.0
  DamageFactor "Rifle", 0.0
  DamageFactor "Sniper", 0.0
  DamageFactor "LMG", 0.0
  DamageFactor "Shotgungib", 0.0
  DamageFactor "Shotgun", 0.0
  DamageFactor "BigPistol", 0.0
  DamageFactor "Dragon", 0.0
  DamageFactor "RGABullet", 0.0
    Scale 0.98
	AttackSound "none"
	MaxStepHeight 52
	MaxDropOffHeight 52
	ActiveSound "none"
	DeathSound "DSMADTH"
	PainSound "*pain"
	SeeSound "None"
	Obituary "%o couldn't avoid the clone's designated railgun strike."
	MeleeRange 70
	Mass 100
	States
	{
	Active:
		TNT1 A 0 A_ChangeFlag("NOBLOCKMAP", 1)
		//TNT1 A 0 A_CustomMissile ("OrderTitle2", 50, 0, 0, 2, 90)
		MR7S A 30
		TNT1 A 0 A_SpawnItem("CloneGuarding")
		Stop		
	Spawn:
		TNT1 A 0
		TNT1 A 0 A_GiveInventory("TargetIsAMarine")
		PLAY A 1 A_Look
		Goto See	
	ForgetTarget:
		TNT1 A 0 A_ClearTarget
		Goto See	
	HasKillstreak:
		TNT1 A 0 A_SpawnItem ("LastStandUnknownClone", 0, 46,0)
		Goto See+6
	HasKillstreak2:
		TNT1 A 0 A_SpawnItem ("LastStandUnknownClone", 0, 46,0)
		Goto Waits+10
	See:
		TNT1 A 0 A_JumpIfInventory("PredatorMissileKillstreak", 1, "HasKillstreak")
		TNT1 A 0 A_JumpIfInventory("PrecisionAirstrikeKillstreak", 1, "HasKillstreak")
		TNT1 A 0 A_JumpIfInventory("StealthBomberKillstreak", 1, "HasKillstreak")
		TNT1 A 0 A_JumpIfInventory("AdvancedCloneKillstreak", 1, "HasKillstreak")
		TNT1 A 0 A_JumpIfInventory("CarePackageKillstreak", 1, "HasKillstreak")
		TNT1 A 0 A_JumpIfInventory("EscortAirdropKillstreak", 1, "HasKillstreak")
		TNT1 A 0 A_ChangeFlag("NODROPOFF", 0)	
		TNT1 A 0 A_ChangeFLag("FRIENDLY", 1)
		TNT1 A 0 A_JumpIfInTargetInventory("TargetIsAMarine", 1, "FollowPLayer")//
		TNT1 A 0 A_ChangeFlag("MISSILEMORE", 1)
		TNT1 A 0 A_ChangeFlag("MISSILEEVENMORE", 1)
		TNT1 A 0 A_Recoil(-1)
		TNT1 A 0 A_JumpIfInTargetInventory("TargetIsAMarine", 1, "FollowPLayer")//
		PLAY AA 1 A_Chase
		TNT1 A 0 A_ChangeFlag("FASTER", 0)
		TNT1 A 0 A_Recoil(-1)
		TNT1 A 0 A_JumpIfInTargetInventory("TargetIsAMarine", 1, "FollowPLayer")//
		PLAY BB 1 A_Chase
		TNT1 A 0 A_Recoil(-1)
		TNT1 A 0 A_JumpIfInTargetInventory("TargetIsAMarine", 1, "FollowPLayer")//
		PLAY BB 1 A_Chase
		TNT1 A 0 A_ChangeFLag("FRIENDLY", 0)
		TNT1 A 0 A_Recoil(-1)
		TNT1 A 0 A_JumpIfInTargetInventory("TargetIsAMarine", 1, "FollowPLayer")//
		PLAY CC 1 A_Chase
		TNT1 A 0 A_ChangeFLag("FRIENDLY", 1)
		TNT1 A 0 A_Recoil(-1)
		TNT1 A 0 A_JumpIfInTargetInventory("TargetIsAMarine", 1, "FollowPLayer")//
		PLAY CC 1 A_Chase
		TNT1 A 0 A_Recoil(-1)
		TNT1 A 0 A_JumpIfInTargetInventory("TargetIsAMarine", 1, "FollowPLayer")//
		PLAY DD 1 A_Chase
		TNT1 A 0 A_Recoil(-1)
		TNT1 A 0 A_JumpIfInTargetInventory("TargetIsAMarine", 1, "FollowPLayer")//
		PLAY DD 1 A_Chase
		TNT1 A 0 A_Recoil(-1)
		TNT1 A 0 A_CheckSight("ForgetTarget")
		TNT1 A 0 A_JumpIfInTargetInventory("TargetIsAMarine", 1, "FollowPLayer")//
		TNT1 A 0 A_CheckSight("FollowPLayer")
		TNT1 A 0 A_ChangeFLag("FRIENDLY", 0)
		TNT1 A 0 A_ChangeFlag("SHOOTABLE", 0)
		PLAY AA 1 A_Chase
		TNT1 A 0 A_Recoil(-1)
		TNT1 A 0 A_JumpIfCloser(200, "Waits")
		TNT1 A 0 A_CheckSight("CheckIfPlayerSee")
		PLAY BB 1 A_Chase
		TNT1 A 0 A_Recoil(-1)
		TNT1 A 0 A_JumpIfInTargetInventory("IsPlayer", 1, "FollowPlayer")
		TNT1 A 0 A_JumpIfCloser(200, "Waits")
		TNT1 A 0 A_CheckSight("CheckIfPlayerSee")
		PLAY CC 1 A_Chase
		TNT1 A 0 A_Recoil(-1)
		TNT1 A 0 A_JumpIfInTargetInventory("IsPlayer", 1, "FollowPlayer")
		TNT1 A 0 A_JumpIfCloser(200, "Waits")
		TNT1 A 0 A_CheckSight("CheckIfPlayerSee")
		PLAY DD 1 A_Chase
		TNT1 A 0 A_Recoil(-1)
		TNT1 A 0 A_JumpIfInTargetInventory("IsPlayer", 1, "FollowPlayer")
		TNT1 A 0 A_JumpIfCloser(200, "Waits")
		TNT1 A 0 A_CheckSight("CheckIfPlayerSee")
		TNT1 A 0 A_JumpIfCloser(200, "Waits")
		TNT1 A 0 A_JumpIfInTargetInventory("IsPlayer", 1, "FollowPlayer")
		Goto See
	BecomeEnemy23:
		PLAY A 1
		TNT1 A 0 A_ClearTarget
		TNT1 A 0 A_ChangeFlag("SHOOTABLE", 0)
		TNT1 A 0 A_ChangeFLag("FRIENDLY", 0)
		Goto FollowPlayer
	FollowPlayer:
	    TNT1 A 0 A_ChangeFlag("FRIENDLY", 0)
		TNT1 A 0 A_ChangeFlag("FASTER", 1)
		TNT1 A 0 A_ChangeFlag("SHOOTABLE", 0)
	    TNT1 A 0 A_JumpIfCloser(150, "Waits")
		TNT1 A 0 A_ChangeFlag("MISSILEMORE", 0)
		TNT1 A 0 A_ChangeFlag("MISSILEEVENMORE", 0)
		PLAY A 1 A_Chase
		TNT1 A 0 A_Recoil(-1)
		TNT1 A 0 A_Recoil(-1)
		PLAY AA 1 A_Chase
		TNT1 A 0 A_Recoil(-1)
		PLAY BB 1 A_Chase
		TNT1 A 0 A_Recoil(-1)
		PLAY BB 1 A_Chase
		TNT1 A 0 A_Recoil(-1)
		PLAY CC 1 A_Chase
		TNT1 A 0 A_Recoil(-1)
		PLAY CC 1 A_Chase
		TNT1 A 0 A_Recoil(-1)
		PLAY DD 1 A_Chase
		TNT1 A 0 A_Recoil(-1)
		PLAY DD 1 A_Chase
		TNT1 A 0 A_Recoil(-1)
		PLAY AA 1 A_Chase
		TNT1 A 0 A_Recoil(-1)
		PLAY BB 1 A_Chase
		TNT1 A 0 A_Recoil(-1)
		PLAY BB 1 A_Chase
		TNT1 A 0 A_Recoil(-1)
		PLAY CC 1 A_Chase
		TNT1 A 0 A_CheckSight("CheckIfPlayerSee")
		TNT1 A 0 A_Recoil(-1)
		PLAY CC 1 A_Chase
		TNT1 A 0 A_Recoil(-1)
		PLAY DD 1 A_Chase
		TNT1 A 0 A_Recoil(-1)
		PLAY DD 1 A_Chase
		TNT1 A 0 A_Recoil(-1)
		TNT1 A 0 A_ChangeFlag("FRIENDLY", 1)
		TNT1 A 0 A_JumpIfTargetInLOS("See")
		TNT1 A 0 A_ChangeFlag("FRIENDLY", 0)
		TNT1 A 0 A_CheckSight("CheckIfPlayerSee")
		Loop
	CheckRangeToWait:
		TNT1 A 0
		TNT1 A 0 A_JumpIfCloser(150, "Waits")
		Goto FollowPLayer
	CheckIfPlayerSee:
		TNT1 A 0
		PLAY AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_FastChase
		TNT1 A 0 A_ChangeFlag("SHOOTABLE", 0)
		TNT1 A 0 A_ChangeFLag("FRIENDLY", 0)
		////TNT1 A 0 Thing_Hate(94, 0, 0)
		TNT1 A 0 A_JumpIfCloser(800, 2)
		Goto Pathfind
		TNT1 AAA 0
		Goto FollowPlayer
	Pathfind:
		TNT1 A 0
		TNT1 A 0 A_ChangeFLag("FRIENDLY", 0)
		TNT1 A 0 A_JumpIFInTargetInventory("IsPLayer", 1, 1)
		Goto FollowPLayer
		//TNT1 A 1 A_Chase("", "")
		TNT1 A 0 A_ChangeFlag("SHOOTABLE", 0)
		TNT1 A 0 A_ChangeFlag("NOBLOCKMAP", 1)
		TNT1 A 0 A_ChangeFlag("NOCLIP", 1)
		TNT1 A 0 A_ChangeFlag("SOLID", 0)
		TNT1 A 0 A_Noblocking
		TNT1 A 0 A_SpawnItemEx ("AdvancedMarine1Pathfinder",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
		Stop	
	Waits:
		TNT1 A 0 A_JumpIfInventory("PredatorMissileKillstreak", 1, "HasKillstreak2")
		TNT1 A 0 A_JumpIfInventory("PrecisionAirstrikeKillstreak", 1, "HasKillstreak2")
		TNT1 A 0 A_JumpIfInventory("StealthBomberKillstreak", 1, "HasKillstreak2")
		TNT1 A 0 A_JumpIfInventory("AdvancedCloneKillstreak", 1, "HasKillstreak2")
		TNT1 A 0 A_JumpIfInventory("CarePackageKillstreak", 1, "HasKillstreak2")
		TNT1 A 0 A_JumpIfInventory("EscortAirdropKillstreak", 1, "HasKillstreak2")
		MARN D 1
		TNT1 A 0 A_JumpIfInTargetInventory("IsPlayer", 1, 2)
		TNT1 A 0 A_ClearTarget
		Goto See
		TNT1 A 0 A_ChangeFlag("FRIENDLY", 0)
		TNT1 A 0 A_ChangeFlag("MISSILEMORE", 1)
		TNT1 A 0 A_ChangeFlag("MISSILEEVENMORE", 1)
		TNT1 A 0 A_ChangeFlag("SHOOTABLE", 0)
		TNT1 A 0 A_ChangeFlag("SOLID", 0)
		TNT1 A 0 A_JumpIfInTargetInventory("TargetIsAMarine", 1, "BecomeEnemy23")
		TNT1 A 0 A_Jump(32, "Waits2")
		TNT1 A 0 A_Jump(32, "Waits3")
		MARN D 8 A_Stop
		MARN E 8 A_Stop
		TNT1 A 0 A_JumpIfInTargetInventory("InLastStand", 1, "RevivePlayer")
		TNT1 A 0 A_Stop
		TNT1 A 0 A_CheckSight("FollowPlayer")
		TNT1 A 0 A_ChangeFLag("FRIENDLY", 1)
		TNT1 A 0 A_ClearTarget
		TNT1 A 0 A_ChangeFlag("SHOOTABLE", 1)
		MARN D 0 A_Look
		TNT1 A 0 A_ChangeFLag("FRIENDLY", 0)
		TNT1 A 0 A_ChangeFlag("SHOOTABLE", 0)
		MARN D 1 A_LookEx(0, 0, 0, 0, 0, "FollowPlayer")
		TNT1 A 0 A_CheckSIght("FollowPlayer")
		TNT1 A 0 A_ChangeFlag("SHOOTABLE", 1)
		TNT1 A 0 A_JumpIfCloser(200, "Waits")
		Goto FollowPlayer
	Waits2:
		TNT1 A 0 A_JumpIfInTargetInventory("InLastStand", 1, "RevivePlayer")
		TNT1 A 0 A_SetAngle(random(90, -90) + angle)
		MARN D 8 A_Stop
		MARN E 8 A_Stop
		TNT1 A 0 A_CheckSight("FollowPlayer")
		TNT1 A 0 A_ChangeFLag("FRIENDLY", 1)
		TNT1 A 0 A_ClearTarget
		TNT1 A 0 A_ChangeFlag("SHOOTABLE", 1)
		MARN D 0 A_Look
		TNT1 A 0 A_ChangeFLag("FRIENDLY", 0)
		TNT1 A 0 A_ChangeFlag("SHOOTABLE", 0)
		MARN D 1 A_LookEx(0, 0, 0, 0, 0, "FollowPlayer")
		TNT1 A 0 A_CheckSIght("FollowPlayer")
		TNT1 A 0 A_ChangeFlag("SHOOTABLE", 1)
		TNT1 A 0 A_JumpIfCloser(300, "Waits")
		Goto FollowPLayer
	Waits3:
		TNT1 A 0
		TNT1 A 0 A_JumpIfInTargetInventory("InLastStand", 1, "RevivePlayer")
		TNT1 A 0 A_JumpIfInventory("PredatorMissileKillstreak", 1, "GivePredator")
		TNT1 A 0 A_JumpIfInventory("PrecisionAirstrikeKillstreak", 1, "GiveAirstrike")
		TNT1 A 0 A_JumpIfInventory("StealthBomberKillstreak", 1, "GiveStealth")
		TNT1 A 0 A_JumpIfInventory("AdvancedCloneKillstreak", 1, "GiveAdvancedClone")
		TNT1 A 0 A_JumpIfInventory("CarePackageKillstreak", 1, "GiveCarePackage")
		TNT1 A 0 A_JumpIfInventory("EscortAirdropKillstreak", 1, "GiveEscortAirdrop")
		TNT1 A 0 A_JumpIfInventory("AUGHBARClip2", 43, "MarineReloadAUGIdle")
		TNT1 A 0 A_JumpIfInventory("SPASClip2", 9, "MarineReloadSPASIdle")
		TNT1 A 0 A_TakeInventory("P90Ammo",99)
		TNT1 A 0 A_TakeInventory("M9Ammo",99) 
		TNT1 A 0 A_TakeInventory("USP45Ammo",99) 
		TNT1 A 0 A_TakeInventory("AKMAmmo",99) 
		//TNT1 A 0 A_JumpIfInTargetInventory("M4A1Ammo", 48, 3)
		//Goto GiveAmmo
		TNT1 AAA 0
		TNT1 A 0 A_SetAngle(random(90, -90) + angle)
		MARN D 8 A_Stop
		MARN E 8 A_Stop
		TNT1 A 0 A_CheckSight("FollowPlayer")
		TNT1 A 0 A_ChangeFLag("FRIENDLY", 1)
		TNT1 A 0 A_ClearTarget
		TNT1 A 0 A_ChangeFlag("SHOOTABLE", 1)
		MARN D 0 A_Look
		TNT1 A 0 A_ChangeFLag("FRIENDLY", 0)
		TNT1 A 0 A_ChangeFlag("SHOOTABLE", 0)
		MARN D 1 A_LookEx(0, 0, 0, 0, 0, "FollowPlayer")
		TNT1 A 0 A_CheckSIght("FollowPlayer")
		TNT1 A 0 A_ChangeFlag("SHOOTABLE", 1)
		TNT1 A 0 A_JumpIfCloser(300, "Waits")
		Goto FollowPLayer
	GiveAmmo:
		TNT1 A 0
		MR7S A 10 A_FaceTarget
		MR8S CD 15
		TNT1 A 0 A_GiveToTarget("M4A1Ammo", 30)
		Goto Waits
	GivePredator:
		TNT1 A 0
		MR7S A 10 A_FaceTarget
		TNT1 A 0 A_PlaySound("clonegiv")
		MR8S CD 15
		TNT1 A 0 A_GiveToTarget("PredatorMissileKillstreak", 1)
		TNT1 A 0 A_TakeInventory("PredatorMissileKillstreak",1)
		Goto Waits
	GiveAirstrike:
		TNT1 A 0
		MR7S A 10 A_FaceTarget
		TNT1 A 0 A_PlaySound("clonegiv")
		MR8S CD 15
		TNT1 A 0 A_GiveToTarget("PrecisionAirstrikeKillstreak", 1)
		TNT1 A 0 A_TakeInventory("PrecisionAirstrikeKillstreak",1)
		Goto Waits
	GiveStealth:
		TNT1 A 0
		MR7S A 10 A_FaceTarget
		TNT1 A 0 A_PlaySound("clonegiv")
		MR8S CD 15
		TNT1 A 0 A_GiveToTarget("StealthBomberKillstreak", 1)
		TNT1 A 0 A_TakeInventory("StealthBomberKillstreak",1)
		Goto Waits
	GiveAdvancedClone:
		TNT1 A 0
		MR7S A 10 A_FaceTarget
		TNT1 A 0 A_PlaySound("clonegiv")
		MR8S CD 15
		TNT1 A 0 A_GiveToTarget("AdvancedCloneKillstreak", 1)
		TNT1 A 0 A_TakeInventory("AdvancedCloneKillstreak",1)
		Goto Waits
	GiveCarePackage:
		TNT1 A 0
		MR7S A 10 A_FaceTarget
		TNT1 A 0 A_PlaySound("clonegiv")
		MR8S CD 15
		TNT1 A 0 A_GiveToTarget("CarePackageKillstreak", 1)
		TNT1 A 0 A_TakeInventory("CarePackageKillstreak",1)
		Goto Waits
	GiveEscortAirdrop:
		TNT1 A 0
		MR7S A 10 A_FaceTarget
		TNT1 A 0 A_PlaySound("clonegiv")
		MR8S CD 15
		TNT1 A 0 A_GiveToTarget("EscortAirdropKillstreak", 1)
		TNT1 A 0 A_TakeInventory("EscortAirdropKillstreak",1)
		Goto Waits
	RevivePlayer:
		PLAY A 1 A_Chase
		TNT1 A 0 A_Recoil(-1)
		PLAY BB 1 A_Chase
		TNT1 A 0 A_Recoil(-1)
		PLAY BB 1 A_Chase
		TNT1 A 0 A_Recoil(-1)
		PLAY CC 1 A_Chase
		TNT1 A 0 A_Recoil(-1)
		PLAY A 1 A_Chase
		PLAY BBBB 1 A_Chase
		PLAY CC 1 A_Chase
		MR7S A 10 A_FaceTarget
		MR8S AB 15
		TNT1 A 0 A_CustomMissile("RevivePuff", 14)
		Goto Waits
	 MarineReloadSPASIdle:
		TNT1 A 0
		MARN A 3 A_FaceTarget
        TNT1 A 0 A_PlaySound("spas/insert")
		MARN B 9 
		MARN C 2 A_FaceTarget
		TNT1 A 0 A_PlaySound("spas/insert")
		MARN B 9 
		MARN C 2 A_FaceTarget
		TNT1 A 0 A_PlaySound("spas/insert")
		MARN B 9 
		MARN C 2 A_FaceTarget
		TNT1 A 0 A_PlaySound("spas/insert")
		MARN B 9 
		MARN C 2 A_FaceTarget
		TNT1 A 0 A_PlaySound("spas/insert")
		MARN B 9 
		MARN C 2 A_FaceTarget
		TNT1 A 0 A_PlaySound("spas/insert")
		MARN B 9 
		MARN C 2 A_FaceTarget
		TNT1 A 0 A_PlaySound("spas/insert")
		MARN B 9 
		MARN C 2 A_FaceTarget
		TNT1 A 0 A_TakeInventory("SPASClip2",12) 
		MARN B 9 
		Goto See
     MarineReloadAUGIdle:
		TNT1 A 0
		MARN A 3 A_FaceTarget
        TNT1 A 0 A_PlaySound("hbar/clipout")
		TNT1 A 0 A_SpawnItem ("F2000EmptyMagExtendedSpawner", 0, 30,0)
		MARN B 39 
		MARN C 2 A_FaceTarget
        TNT1 A 0 A_PlaySound("hbar/clipin")
		TNT1 A 0 A_TakeInventory("AUGHBARClip2",63) 
		MARN B 9 
		Goto See
	 MarineReloadAUG:
		TNT1 A 0
		MARN A 3 A_FaceTarget
		TNT1 A 0 A_Recoil(9)
        TNT1 A 0 A_PlaySound("hbar/clipout")
		TNT1 A 0 A_SpawnItem ("F2000EmptyMagExtendedSpawner", 0, 30,0)
		MARN B 32 
        TNT1 A 0 ThrustThing(angle*256/360+64, 9, 0, 0)
		MARN C 2 A_FaceTarget
        TNT1 A 0 A_PlaySound("hbar/clipin")
		TNT1 A 0 A_TakeInventory("AUGHBARClip2",63) 
		MARN B 21 
		MARN A 2 A_FaceTarget
		TNT1 A 0 A_Recoil(9)
        TNT1 A 0 A_PlaySound("hbar/bolt")
		MARN B 15 
		Goto See
	Bigdemon:
		PLAY E 3 A_FaceTarget
		TNT1 A 0 A_Recoil(5)
		TNT1 A 0 A_JumpIfInventory("AKMAmmo", 21, "AttackSPAS12BigDemon")
		TNT1 A 0 A_JumpIfInventory("USP45Ammo", 3, "CheckRetreat")
		TNT1 A 0 A_JumpIfInventory("M9Ammo", 9, "IncGrenade")
		TNT1 A 0 A_JumpIfInventory("P90Ammo", 1, "CheckRetreat")
		TNT1 A 0 A_JumpIfInTargetInventory("TargetedByRailgun", 1, "CheckRetreat")
        TNT1 A 0 A_CustomMissile("RailgunDamageHomingClone", 99)
		TNT1 A 0 A_GiveToTarget("TargetedByRailgun", 1)
		TNT1 A 0 A_GiveInventory("P90Ammo",1)
		TNT1 A 0 A_TakeInventory("M9Ammo",99) 
        TNT1 A 0 A_PlaySound("Desbeeps")
		PLAY E 3 A_FaceTarget
		TNT1 A 0 A_Recoil(5)
		TNT1 A 0 ThrustThing(angle*256/360+64, 9, 0, 0)
		PLAY E 3 A_FaceTarget
		TNT1 A 0 A_Recoil(5)
		PLAY E 5 A_FaceTarget
		TNT1 A 0 A_Recoil(5)
		TNT1 A 0 ThrustThing(angle*256/360+64, 9, 0, 0)
		TNT1 A 0 A_ClearTarget
		PLAY AA 1 A_Chase
		Goto CheckRetreat
	Missile:
        //PLAY E 1
		TNT1 A 0 A_ChangeFlag("NODROPOFF", 1)
		TNT1 A 0 A_JumpIfInTargetInventory("TargetIsACyberdemon", 1, "Bigdemon")
		TNT1 A 0 A_JumpIfInTargetInventory("TargetIsAMastermind", 1, "Bigdemon")
		TNT1 A 0 A_JumpIfInTargetInventory("TargetIsAMancubus", 1, "CheckRetreat")
		TNT1 A 0 A_JumpIfInTargetInventory("TargetIsAMarine", 1, "FollowPLayer")//
		TNT1 A 0 A_JumpIfInTargetInventory("IsPlayer", 1, "CheckRangeToWait")
		TNT1 A 0 A_ChangeFlag("SHOOTABLE", 1)
		TNT1 A 0 A_ChangeFlag("SOLID", 1)
		TNT1 A 0 A_JumpIfCloser(60, "AttackMelee")
		TNT1 A 0 A_JumpIfCloser(300, "Retreat")
		TNT1 A 0 A_JumpIfInventory("MP5Ammo", 14, "StunGrenade")
		TNT1 A 0 A_Jump(128, "MissileLeft", "MissileRight")
		PLAY E 6 A_FaceTarget
        TNT1 A 0 A_CustomMissile("HHCBAUG", 30)
        TNT1 A 0 A_PlaySound("hbar/fire")
		PLAY F 1 BRIGHT 
		PLAY E 3 A_FaceTarget
		TNT1 A 0 A_GiveInventory("AUGHBARClip2",1)
		TNT1 A 0 A_JumpIfInventory("AUGHBARClip2", 63, "MarineReloadAUG")
        TNT1 A 0 A_CustomMissile("HHCBAUG", 34)
        TNT1 A 0 A_PlaySound("hbar/fire")
		PLAY F 1 BRIGHT
		PLAY E 3 A_FaceTarget
		TNT1 A 0 A_GiveInventory("AUGHBARClip2",1)
		TNT1 A 0 A_JumpIfInventory("AUGHBARClip2", 63, "MarineReloadAUG")
        TNT1 A 0 A_CustomMissile("HHCBAUG", 32)
        TNT1 A 0 A_PlaySound("hbar/fire")
		PLAY F 1 BRIGHT
		PLAY E 3 A_FaceTarget
		TNT1 A 0 A_GiveInventory("AUGHBARClip2",1)
		TNT1 A 0 A_JumpIfInventory("AUGHBARClip2", 63, "MarineReloadAUG")
        TNT1 A 0 A_CustomMissile("HHCBAUG", 38)
        TNT1 A 0 A_PlaySound("hbar/fire")
		PLAY F 1 BRIGHT
		PLAY E 3 A_FaceTarget
		TNT1 A 0 A_GiveInventory("AUGHBARClip2",1)
		TNT1 A 0 A_JumpIfInventory("AUGHBARClip2", 63, "MarineReloadAUG")
        TNT1 A 0 A_CustomMissile("HHCBAUG", 40)
        TNT1 A 0 A_PlaySound("hbar/fire")
		PLAY F 1 BRIGHT
		PLAY E 3 A_FaceTarget
		TNT1 A 0 A_GiveInventory("AUGHBARClip2",1)
		TNT1 A 0 A_JumpIfInventory("AUGHBARClip2", 63, "MarineReloadAUG")
        TNT1 A 0 A_CustomMissile("HHCBAUG", 42)
        TNT1 A 0 A_PlaySound("hbar/fire")
		PLAY F 1 BRIGHT
		TNT1 A 0 A_GiveInventory("AUGHBARClip2",1)
		TNT1 A 0 A_JumpIfInventory("AUGHBARClip2", 63, "MarineReloadAUG")
		Goto See		
	MissileLeft:
        TNT1 A 0
		MARN A 3 A_FaceTarget
		TNT1 A 0 ThrustThing(angle*256/360+192, 3, 0, 0)
        TNT1 A 0 A_CustomMissile("HHCBAUG", 34)
        TNT1 A 0 A_PlaySound("hbar/fire")
		MARN B 1 BRIGHT 
        TNT1 A 0 ThrustThing(angle*256/360+192, 3, 0, 0)
		MARN C 3 A_FaceTarget
		TNT1 A 0 A_GiveInventory("AUGHBARClip2",1)
		TNT1 A 0 A_JumpIfInventory("AUGHBARClip2", 63, "MarineReloadAUG")
        TNT1 A 0 A_CustomMissile("HHCBAUG", 30)
        TNT1 A 0 A_PlaySound("hbar/fire")
		MARN B 1 BRIGHT
		MARN A 3 A_FaceTarget
		TNT1 A 0 ThrustThing(angle*256/360+192, 3, 0, 0)
		TNT1 A 0 A_GiveInventory("AUGHBARClip2",1)
		TNT1 A 0 A_JumpIfInventory("AUGHBARClip2", 63, "MarineReloadAUG")
        TNT1 A 0 A_CustomMissile("HHCBAUG", 40)
        TNT1 A 0 A_PlaySound("hbar/fire")
		MARN B 1 BRIGHT 
		MARN A 3 A_FaceTarget
		TNT1 A 0 ThrustThing(angle*256/360+192, 3, 0, 0)
		TNT1 A 0 A_GiveInventory("AUGHBARClip2",1)
		TNT1 A 0 A_JumpIfInventory("AUGHBARClip2", 63, "MarineReloadAUG")
        TNT1 A 0 A_CustomMissile("HHCBAUG", 42)
        TNT1 A 0 A_PlaySound("hbar/fire")
		MARN B 1 BRIGHT 
		MARN C 3 A_FaceTarget
		TNT1 A 0 ThrustThing(angle*256/360+192, 3, 0, 0)
		TNT1 A 0 A_GiveInventory("AUGHBARClip2",1)
		TNT1 A 0 A_JumpIfInventory("AUGHBARClip2", 63, "MarineReloadAUG")
        TNT1 A 0 A_CustomMissile("HHCBAUG", 36)
        TNT1 A 0 A_PlaySound("hbar/fire")
		MARN B 1 BRIGHT
		TNT1 A 0 A_GiveInventory("AUGHBARClip2",1)
		TNT1 A 0 A_JumpIfInventory("AUGHBARClip2", 63, "MarineReloadAUG")
		Goto See	
	MissileRight:
        TNT1 A 0
		MARN A 3 A_FaceTarget
		TNT1 A 0 ThrustThing(angle*256/360+64, 3, 0, 0)
        TNT1 A 0 A_CustomMissile("HHCBAUG", 34)
        TNT1 A 0 A_PlaySound("hbar/fire")
		MARN B 1 BRIGHT 
        TNT1 A 0 ThrustThing(angle*256/360+64, 3, 0, 0)
		TNT1 A 0 A_GiveInventory("AUGHBARClip2",1)
		TNT1 A 0 A_JumpIfInventory("AUGHBARClip2", 63, "MarineReloadAUG")
		MARN C 3 A_FaceTarget
        TNT1 A 0 A_CustomMissile("HHCBAUG", 42)
        TNT1 A 0 A_PlaySound("hbar/fire")
		MARN B 1 BRIGHT
		MARN A 3 A_FaceTarget
		TNT1 A 0 ThrustThing(angle*256/360+64, 3, 0, 0)
		TNT1 A 0 A_GiveInventory("AUGHBARClip2",1)
		TNT1 A 0 A_JumpIfInventory("AUGHBARClip2", 63, "MarineReloadAUG")
        TNT1 A 0 A_CustomMissile("HHCBAUG", 38)
        TNT1 A 0 A_PlaySound("hbar/fire")
		MARN B 1 BRIGHT 
		MARN C 3 A_FaceTarget
		TNT1 A 0 ThrustThing(angle*256/360+64, 3, 0, 0)
		TNT1 A 0 A_GiveInventory("AUGHBARClip2",1)
		TNT1 A 0 A_JumpIfInventory("AUGHBARClip2", 63, "MarineReloadAUG")
        TNT1 A 0 A_CustomMissile("HHCBAUG", 36)
        TNT1 A 0 A_PlaySound("hbar/fire")
		MARN B 1 BRIGHT
		TNT1 A 0 A_ChangeFlag("SHOOTABLE", 1)
		TNT1 A 0 A_GiveInventory("AUGHBARClip2",1)
		TNT1 A 0 A_JumpIfInventory("AUGHBARClip2", 63, "MarineReloadAUG")
		TNT1 A 0 A_GiveInventory("MP5Ammo",1)
        Goto See			
	CheckRetreat:
		TNT1 A 0
		TNT1 A 0 A_GiveInventory("M9Ammo",1)
		TNT1 A 0 A_GiveInventory("AKMAmmo",1)
		TNT1 A 0 A_JumpIfCloser(500, "Retreat")
		TNT1 A 0 A_Jump(256, "MissileRight", "MissileLeft")
		Goto MissileRight		
	Retreat:
        TNT1 A 0
		MARN A 3 A_FaceTarget
		TNT1 A 0 A_Recoil(5)
        TNT1 A 0 A_CustomMissile("HHCBAUG", 34)
        TNT1 A 0 A_PlaySound("hbar/fire")
		MARN B 1 BRIGHT 
        TNT1 A 0 A_Recoil(5)
		MARN C 3 A_FaceTarget
		TNT1 A 0 A_GiveInventory("AUGHBARClip2",1)
		TNT1 A 0 A_JumpIfInventory("AUGHBARClip2", 63, "MarineReloadAUG")
        TNT1 A 0 A_CustomMissile("HHCBAUG", 40)
        TNT1 A 0 A_PlaySound("hbar/fire")
		MARN B 1 BRIGHT
		MARN A 3 A_FaceTarget
		TNT1 A 0 A_Recoil(5)
		TNT1 A 0 A_GiveInventory("AUGHBARClip2",1)
		TNT1 A 0 A_JumpIfInventory("AUGHBARClip2", 63, "MarineReloadAUG")
        TNT1 A 0 A_CustomMissile("HHCBAUG", 422)
        TNT1 A 0 A_PlaySound("hbar/fire")
		MARN B 1 BRIGHT 
		MARN C 3 A_FaceTarget
		TNT1 A 0 A_Recoil(5)
		TNT1 A 0 A_GiveInventory("AUGHBARClip2",1)
		TNT1 A 0 A_JumpIfInventory("AUGHBARClip2", 63, "MarineReloadAUG")
        TNT1 A 0 A_CustomMissile("HHCBAUG", 37)
        TNT1 A 0 A_PlaySound("hbar/fire")
		MARN B 1 BRIGHT
		TNT1 A 0 A_GiveInventory("AUGHBARClip2",1)
		TNT1 A 0 A_JumpIfInventory("AUGHBARClip2", 63, "MarineReloadAUG")
		TNT1 A 0 A_Jump(128, "MissileRight", "MissileLeft")
		Goto See			
	StunGrenade:
		MARN A 4 A_FaceTarget
		TNT1 A 0 A_PlaySound("grenade/pinpull")
		MARN B 1 BRIGHT
		MARN C 2 A_FaceTarget
		TNT1 A 0 A_Recoil(5)
		MARN B 9
		MARN A 0 A_CustomMissile("StunGrenade",40,0,0,0)
        TNT1 A 0 A_PlaySound("grenade/throw")
		TNT1 A 0 A_Recoil(5)
		TNT1 A 0 A_TakeInventory("MP5Ammo",24) 
		Goto See
	IncGrenade:
		TNT1 A 0 A_Jump(32, "FragGrenade")
		MARN A 4 A_FaceTarget
		TNT1 A 0 A_PlaySound("grenade/pinpull")
		MARN B 1 BRIGHT
		MARN C 2 A_FaceTarget
		TNT1 A 0 A_Recoil(5)
		MARN B 9
		MARN A 0 A_CustomMissile("IncGrenadeClone",50,0,0,0)
        TNT1 A 0 A_PlaySound("grenade/throw")
		TNT1 A 0 A_Recoil(5)
		TNT1 A 0 A_GiveInventory("USP45Ammo",1) 
		Goto See
	FragGrenade:
		MARN A 4 A_FaceTarget
		TNT1 A 0 A_PlaySound("grenade/pinpull")
		MARN B 1 BRIGHT
		MARN C 2 A_FaceTarget
		TNT1 A 0 A_Recoil(5)
		MARN B 9
		MARN A 0 A_CustomMissile("FragGrenade",50,0,0,0)
        TNT1 A 0 A_PlaySound("grenade/throw")
		TNT1 A 0 A_Recoil(5)
	AttackMelee:
		TNT1 A 0
		TNT1 A 0 A_Jump(180, "AttackSPAS12")
	    PLAY A 1 A_FaceTarget
		TNT1 A 0 A_Recoil(-8)
		MARJ A 6 A_FaceTarget
		MARN A 1 A_CustomMissile("HHCBWA2000C",40,0,0,0) 
		KNFA B 0 A_PlaySound("knife/flesh1")
		MARN A 3 A_FaceTarget
		TNT1 A 0 A_Recoil(5)
		Goto See
	AttackSPAS12:
	    MARN A 4 A_FaceTarget
		TNT1 A 0 A_Recoil(-4)
		MARN A 1 A_FaceTarget
		MARN A 0 A_CustomMissile("HHCBWA2000A",40,0,0,0)
		TNT1 A 0 A_PlaySound("spas/fireempty")
		TNT1 A 0 A_GiveInventory("SPASClip2",1)
		MARN B 1 BRIGHT
		MARN C 6 A_FaceTarget
		TNT1 A 0 ThrustThing(angle*256/360+64, 9, 0, 0)
		MARN A 1 A_FaceTarget
		MARN A 0 A_CustomMissile("HHCBWA2000A",40,0,0,0)
		TNT1 A 0 A_PlaySound("spas/fireempty")
		TNT1 A 0 A_GiveInventory("SPASClip2",1)
		MARN B 1 BRIGHT
		TNT1 A 0 A_Recoil(5)
		MARN C 6 A_FaceTarget
		TNT1 A 0 ThrustThing(angle*256/360+64, 9, 0, 0)
		MARN A 1 A_FaceTarget
		MARN A 0 A_CustomMissile("HHCBWA2000A",40,0,0,0)
		TNT1 A 0 A_PlaySound("spas/fireempty")
		TNT1 A 0 A_GiveInventory("SPASClip2",1)
		MARN B 1 BRIGHT
		TNT1 A 0 A_Recoil(5)
		MARN B 10
		Goto See
	AttackSPAS12BigDemon:
	    MARN A 4 A_FaceTarget
		TNT1 A 0 A_Recoil(-4)
		MARN A 1 A_FaceTarget
		MARN A 0 A_CustomMissile("HHCBWA2000A",40,0,0,0)
		TNT1 A 0 A_PlaySound("spas/fireempty")
		TNT1 A 0 A_GiveInventory("SPASClip2",1)
		MARN B 1 BRIGHT
		MARN C 6 A_FaceTarget
		TNT1 A 0 ThrustThing(angle*256/360+64, 9, 0, 0)
		MARN A 1 A_FaceTarget
		MARN A 0 A_CustomMissile("HHCBWA2000A",40,0,0,0)
		TNT1 A 0 A_PlaySound("spas/fireempty")
		TNT1 A 0 A_GiveInventory("SPASClip2",1)
		MARN B 1 BRIGHT
		TNT1 A 0 A_Recoil(5)
		MARN C 6 A_FaceTarget
		TNT1 A 0 ThrustThing(angle*256/360+64, 9, 0, 0)
		MARN A 1 A_FaceTarget
		MARN A 0 A_CustomMissile("HHCBWA2000A",40,0,0,0)
		TNT1 A 0 A_PlaySound("spas/fireempty")
		TNT1 A 0 A_GiveInventory("SPASClip2",1)
		MARN B 1 BRIGHT
		TNT1 A 0 A_Recoil(5)
		MARN C 6 A_FaceTarget
		TNT1 A 0 ThrustThing(angle*256/360+64, 9, 0, 0)
		MARN A 1 A_FaceTarget
		MARN A 0 A_CustomMissile("HHCBWA2000A",40,0,0,0)
		TNT1 A 0 A_PlaySound("spas/fireempty")
		TNT1 A 0 A_GiveInventory("SPASClip2",1)
		MARN B 1 BRIGHT
		TNT1 A 0 A_Recoil(5)
		MARN C 6 A_FaceTarget
		TNT1 A 0 ThrustThing(angle*256/360+192, 10, 0, 0)
		MARN A 1 A_FaceTarget
		MARN A 0 A_CustomMissile("HHCBWA2000A",40,0,0,0)
		TNT1 A 0 A_PlaySound("spas/fireempty")
		TNT1 A 0 A_GiveInventory("SPASClip2",1)
		MARN B 1 BRIGHT
		TNT1 A 0 A_Recoil(5)
		MARN C 6 A_FaceTarget
		TNT1 A 0 ThrustThing(angle*256/360+192, 10, 0, 0)
		MARN A 1 A_FaceTarget
		MARN A 0 A_CustomMissile("HHCBWA2000A",40,0,0,0)
		TNT1 A 0 A_PlaySound("spas/fireempty")
		TNT1 A 0 A_GiveInventory("SPASClip2",1)
		MARN B 1 BRIGHT
		TNT1 A 0 A_Recoil(5)
		MARN C 6 A_FaceTarget
		TNT1 A 0 ThrustThing(angle*256/360+192, 10, 0, 0)
		MARN A 1 A_FaceTarget
		MARN A 0 A_CustomMissile("HHCBWA2000A",40,0,0,0)
		TNT1 A 0 A_PlaySound("spas/fireempty")
		TNT1 A 0 A_GiveInventory("SPASClip2",1)
		MARN B 1 BRIGHT
		TNT1 A 0 A_Recoil(5)
		MARN C 6 A_FaceTarget
		TNT1 A 0 ThrustThing(angle*256/360+192, 10, 0, 0)
		MARN A 1 A_FaceTarget
		MARN A 0 A_CustomMissile("HHCBWA2000A",40,0,0,0)
		TNT1 A 0 A_PlaySound("spas/fireempty")
		TNT1 A 0 A_GiveInventory("SPASClip2",1)
		MARN B 1 BRIGHT
		TNT1 A 0 A_Recoil(5)
		TNT1 A 0 A_TakeInventory("AKMAmmo",9) 
		MARN B 10
		Goto See
	Pain:
	    PLAY G 3
		TNT1 A 0 A_ChangeFlag("NODROPOFF", 0)
		PLAY G 3 A_Pain
		Goto FollowPlayer
	Death:
	Death.Bullet:
		TNT1 A 0 A_ChangeFlag("FRIENDLY", 0)
		TNT1 A 0 A_ChangeFlag("USESPECIAL", 0)
		PLAY H 10 A_PlayerScream
		PLAY I 10 A_NoBlocking
		PLAY J 10 
		TNT1 A 0 A_SpawnItemEx("RemoveMarine",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
		PLAY KLM 10
		TNT1 A 0 A_JumpIfInventory("PredatorMissileKillstreak", 1, "Death2")
		TNT1 A 0 A_JumpIfInventory("PrecisionAirstrikeKillstreak", 1, "Death2")
		TNT1 A 0 A_JumpIfInventory("StealthBomberKillstreak", 1, "Death2")
		TNT1 A 0 A_JumpIfInventory("AdvancedCloneKillstreak", 1, "Death2")
		TNT1 A 0 A_JumpIfInventory("CarePackageKillstreak", 1, "Death2")
		TNT1 A 0 A_JumpIfInventory("EscortAirdropKillstreak", 1, "Death2")
		TNT1 A 15 A_SpawnItemEx("AdvancedClone_LastStand",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION| SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION|SXF_SETMASTER,0)
		Stop
	Death2:
		TNT1 A 15 A_SpawnItemEx("AdvancedClone_LastStandKillstreak",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION| SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION|SXF_SETMASTER,0)
		Stop
	XDeath:
    POSS M 5
    POSS N 5 A_XScream
    POSS O 5 A_NoBlocking
    POSS PQRST 5
    POSS U -1
	}
}

actor AdvancedClone_LastStand
{
  Obituary "%o was killed by a last stand advanced clone!"
  Health 200
  GibHealth 60
  Radius 12
  Height 32
  DeathHeight 14
  BurnHeight 14
  Mass 2000
  Speed 0
  ReactionTime 10
  MinMissileChance 211
  PainChance 150
  PainChance "Dragon", 75
  PainChance "DragonF", 75
  PainChance "Dragonsplosion", 75
  PainChance "RGAFire", 75
  PainChance "Knife", 255
  PainChance "Explosion", 255
  PainChance "ExplosionF", 255
  PainChance "ExplosionC", 255
  PainChance "NormalExplode", 255
  PainChance "Stun", 255
  PainChance "Stun2", 255
  PainChance "Stun3", 255
  painchance "Revive", 255
  DamageFactor "Knife", 0.9
  DamageFactor "Normal", 2
  DamageFactor "NormalExplode", 2
  DamageFactor "BarrelBoom", 4
  DamageFactor "Ice", 2
  DamageFactor "RGAFire", 2
  DamageFactor "Fire", 2
  DamageFactor "RevenantBall", 2
  DamageFactor "Cyber", 3.8
  DamageFactor "BuildFriendDamage", 2.0
  DamageFactor "SewUpYou", 2.0
  DamageFactor "Rifle", 0.0
  DamageFactor "Sniper", 0.0
  DamageFactor "LMG", 0.0
  DamageFactor "Shotgungib", 0.0
  DamageFactor "Shotgun", 0.0
  DamageFactor "BigPistol", 0.0
  DamageFactor "Dragon", 0.0
  DamageFactor "RGABullet", 0.0
  DamageFactor "Stun", 0.0
  SeeSound "player/hurt"
  AttackSound "u45/fire"
  PainSound "commando/death"
  DeathSound "renegade/deaths1"
  ActiveSound "commando/death"
  DamageFactor "Step", 0.0
  Species "Marines"
  MONSTER
  Translation "112:127=72:79"
    +FRIENDLY
	+FLOORCLIP
	-NORADIUSDMG
	+QUICKTORETALIATE
    +NOBLOCKMONST 
    +DONTHURTSPECIES
	+THRUSPECIES
    +FIXMAPTHINGPOS 
	+LOOKALLAROUND
	+PUSHABLE
	+SLIDESONWALLS
	-CANNOTPUSH
	-COUNTKILL
	+DONTSPLASH
	+FIXMAPTHINGPOS
	+NORADIUSDMG
	+USESPECIAL
	+MTHRUSPECIES
	+DONTHURTSPECIES
	+NEVERFAST
	+NOTIMEFREEZE
	+GHOST
	+NOTELEFRAG
	+NOTELESTOMP
  States
  {
  	Spawn:
		TNT1 A 0
		TNT1 A 0 A_GiveInventory("TargetIsAMarine")
		TNT1 A 0 A_GiveInventory("MP5Ammo",1) //Throws only 1 stun grenade
		LAST A 1 A_Look
		Goto See
	
	ForgetTarget:
		TNT1 A 0 A_ClearTarget
		Goto See
	
	See:
		TNT1 A 0 A_ChangeFlag("NODROPOFF", 0)	
		TNT1 A 0 A_ChangeFLag("FRIENDLY", 1)
		LAST AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 1 A_Chase
		LAST BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB 1 A_Chase
		LAST B 0 A_JumpIfInventory("LastStandHP",20,"Die")
		LAST B 0 A_GiveInventory("LastStandHP",1)
		Goto See
	 MarineReloadM93R:
		TNT1 A 0
		LAST A 3 A_FaceTarget
        TNT1 A 0 A_PlaySound("m93r/clipout")
		TNT1 A 0 A_SpawnItem ("PistolExtEmptyMagSpawner", 0, 10,0)
		LAST B 41 
		LAST B 0 A_GiveInventory("LastStandHP",1)
		LAST B 0 A_JumpIfInventory("LastStandHP",20,"Die")
		LAST A 2 A_FaceTarget
        TNT1 A 0 A_PlaySound("m93r/clipin")
		TNT1 A 0 A_TakeInventory("M93RClip2",30) 
		LAST B 39 
		LAST A 2 A_FaceTarget
        TNT1 A 0 A_PlaySound("m93r/bolt")
		LAST B 18 
		Goto See
	Missile:
		TNT1 A 0 A_ChangeFlag("NODROPOFF", 1)
		TNT1 A 0 A_ChangeFlag("SHOOTABLE", 1)
		TNT1 A 0 A_ChangeFlag("SOLID", 1)
		LAST A 1
		TNT1 A 0 A_JumpIfCloser(160, "AttackMelee")
		LAST A 6 A_FaceTarget
        TNT1 A 0 A_CustomMissile("HHCBM93R", 10)
        TNT1 A 0 A_PlaySound("m93r/fire")
		LAST C 1 BRIGHT 
		LAST A 1 A_FaceTarget
		TNT1 A 0 A_GiveInventory("M93RClip2",1)
		TNT1 A 0 A_JumpIfInventory("M93RClip2", 30, "MarineReloadM93R")
        TNT1 A 0 A_CustomMissile("HHCBM93R", 12)
        TNT1 A 0 A_PlaySound("m93r/fire")
		LAST C 1 BRIGHT
		LAST B 1 A_FaceTarget
		TNT1 A 0 A_GiveInventory("M93RClip2",1)
		TNT1 A 0 A_JumpIfInventory("M93RClip2", 30, "MarineReloadM93R")
        TNT1 A 0 A_CustomMissile("HHCBM93R", 12)
        TNT1 A 0 A_PlaySound("m93r/fire")
		LAST C 1 BRIGHT
		LAST A 1 A_FaceTarget
		TNT1 A 0 A_GiveInventory("M93RClip2",1)
		TNT1 A 0 A_JumpIfInventory("M93RClip2", 30, "MarineReloadM93R")
		LAST B 0 A_GiveInventory("LastStandHP",1)
		Goto See	
	AttackMelee:
		TNT1 A 0 A_JumpIfInventory("MP5Ammo", 1, "Attack2") 
		TNT1 A 0 A_ChangeFlag("NODROPOFF", 1)
		TNT1 A 0 A_ChangeFlag("SHOOTABLE", 1)
		TNT1 A 0 A_ChangeFlag("SOLID", 1)
		LAST A 6 A_FaceTarget
        TNT1 A 0 A_CustomMissile("HHCBM93R", 10)
        TNT1 A 0 A_PlaySound("m93r/fire")
		LAST C 1 BRIGHT 
		LAST A 1 A_FaceTarget
		TNT1 A 0 A_GiveInventory("M93RClip2",1)
		TNT1 A 0 A_JumpIfInventory("M93RClip2", 30, "MarineReloadM93R")
        TNT1 A 0 A_CustomMissile("HHCBG18", 12)
        TNT1 A 0 A_PlaySound("m93r/fire")
		LAST C 1 BRIGHT
		LAST B 1 A_FaceTarget
		TNT1 A 0 A_GiveInventory("M93RClip2",1)
		TNT1 A 0 A_JumpIfInventory("M93RClip2", 30, "MarineReloadM93R")
        TNT1 A 0 A_CustomMissile("HHCBG18", 12)
        TNT1 A 0 A_PlaySound("m93r/fire")
		LAST C 1 BRIGHT
		LAST A 1 A_FaceTarget
		TNT1 A 0 A_GiveInventory("M93RClip2",1)
		TNT1 A 0 A_JumpIfInventory("M93RClip2", 30, "MarineReloadM93R")
		LAST A 6 A_FaceTarget
        TNT1 A 0 A_CustomMissile("HHCBM93R", 10)
        TNT1 A 0 A_PlaySound("m93r/fire")
		LAST C 1 BRIGHT 
		LAST A 1 A_FaceTarget
		TNT1 A 0 A_GiveInventory("M93RClip2",1)
		TNT1 A 0 A_JumpIfInventory("M93RClip2", 30, "MarineReloadM93R")
        TNT1 A 0 A_CustomMissile("HHCBG18", 12)
        TNT1 A 0 A_PlaySound("m93r/fire")
		LAST C 1 BRIGHT
		LAST B 1 A_FaceTarget
		TNT1 A 0 A_GiveInventory("M93RClip2",1)
		TNT1 A 0 A_JumpIfInventory("M93RClip2", 30, "MarineReloadM93R")
        TNT1 A 0 A_CustomMissile("HHCBG18", 12)
        TNT1 A 0 A_PlaySound("m93r/fire")
		LAST C 1 BRIGHT
		LAST A 1 A_FaceTarget
		TNT1 A 0 A_GiveInventory("M93RClip2",1)
		TNT1 A 0 A_JumpIfInventory("M93RClip2", 30, "MarineReloadM93R")
		LAST B 0 A_GiveInventory("LastStandHP",1)
		Goto See
	Attack2:
		TNT1 A 0 A_PlaySound("grenade/pinpull")
		LAST B 1 
		LAST A 16 A_FaceTarget
		LAST A 0 A_CustomMissile("StunGrenade",12,0,0,0)
        TNT1 A 0 A_PlaySound("grenade/throw")
		LAST B 4 A_FaceTarget
		TNT1 A 0 A_TakeInventory("MP5Ammo",1)
		LAST B 0 A_GiveInventory("LastStandHP",1)
		Goto See
  Pain.Revive:
    LAST A 0
    TNT1 A 0 A_SpawnItemEx("AdvancedClone",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
	TNT1 A 0 A_PlaySound("game/challenge")
    Goto Death.Revive
  Pain:
    LAST G 3
    LAST G 6 A_Pain
    goto See
  Die:
    LST2 A 0 A_Die
	TNT1 A 0 A_JumpIfCloser(260, "Death.Martyrdom")
    goto Death
  Death:
    LAST D 5 A_Scream
    LAST E 5 A_NoBlocking
    LAST F -1 A_GiveInventory("Blinded",1,AAPTR_MASTER)
    Stop
  Death.Revive:
    TNT1 D 5
    TNT1 K 5 A_NoBlocking
    Stop
  Death.Martyrdom:
    LAST D 5 A_Scream
    LAST E 5 A_NoBlocking
	LAST K 0 A_CustomMissile("FragGrenadeDropped2",8,0,0)
    LAST F -1 A_GiveInventory("Blinded",1,AAPTR_MASTER)
    Stop
  Death.RGAFire:
  Death.Dragonsplosion:
  Death.Dragon:
  Death.DragonF:
  Death.Fire:
    "####" # 0 A_Jump(128,"Death")
    "####" # 0 A_SpawnItemEx("RGABurnt",0,0,0,0,0,0,0,128,0)
    goto Death
  }
}

ACTOR AdvancedClone_PissedOff : AdvancedClone
{
  States
	{		
	Spawn:
		TNT1 A 0
		TNT1 A 0 A_GiveInventory("TargetIsAMarine")
		TNT1 A 0 ACS_NamedExecuteAlways("BigDemonKillstreakChance",0)
		PLAY A 1 A_Look
		Goto See	
	}
}

actor AdvancedClone_LastStandKillstreak : AdvancedClone_LastStand
{
  States
  {
	Pain.Revive:
		LAST A 0
		TNT1 A 0 A_SpawnItemEx("AdvancedClone_PissedOff",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
		TNT1 A 0 A_PlaySound("game/challenge")
    Goto Death.Revive
	}
}

ACTOR Clone_PissedOff : Clone
{
  States
	{		
	Spawn:
		TNT1 A 0
		TNT1 A 0 A_GiveInventory("TargetIsAMarine")
		TNT1 A 0 ACS_NamedExecuteAlways("BigDemonKillstreakChance",0)
		PLAY A 1 A_Look
		Goto See	
	}
}

actor Clone_LastStandKillstreak : Clone_LastStand
{
  States
  {
	Pain.Revive:
		LAST A 0
		TNT1 A 0 A_SpawnItemEx("Clone_PissedOff",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
		TNT1 A 0 A_PlaySound("game/challenge")
    Goto Death.Revive
	}
}

Actor TargetIsAMarine : Inventory
{
inventory.maxamount 1
}

Actor NumberOfAllies : Inventory
{
inventory.maxamount 2
}

ACTOR Marine1Pathfinder
{
	Radius 32
	Height 56
	Speed 20
	Health 4000
	PainChance 255
	MaxTargetRange 150
	Monster
	damagefactor "SpawnMarine", 8000.0
	MaxDropOffHeight 1200
	MaxStepHeight 1200
	-COUNTKILL
	+NOTARGET
	+THRUACTORS
	+MISSILEMORE
	+MISSILEEVENMORE
	+FASTER
    +DONTSPLASH
	-SHOOTABLE
	-FRIENDLY
	+NOCLIP
	+LOOKALLAROUND
	+NOINFIGHTING
	States
	{
	Spawn:
	Pain:
    See:
		TNT1 A 0 A_ChangeFlag("FRIENDLY", 0)
		//TNT1 A 0 Thing_ChangeTID(0,98)
		//TNT1 A 0 Thing_Hate(98, 0, 0)
		TNT1 A 0
		TNT1 A 0 A_GiveInventory("TargetIsAMarine", 1)
		TNT1 AAAAA 1 A_Chase
		//TNT1 A 0 Thing_Hate(98, 0, 0)
		TNT1 A 0
		TNT1 A 0 A_GiveInventory("TargetIsAMarine", 1)
		TNT1 A 1 A_FaceTarget
		Loop
	//Missile:
	TNT1 A 2
	TNT1 A 0 A_SpawnItem("MarineSpawnChecker")	
	TNT1 A 5
	Goto See
	Death:
	Missile:
	    TNT1 A 0
	    TNT1 A 0 A_Recoil(-2)
		TNT1 A 2
		TNT1 A 0 A_Scream
		TNT1 A 0 A_NoBlocking
		TNT1 A 0 A_SpawnItemEx("Clone",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
		TNT1 A 0 A_playsound("Clonetel")
		Stop
	}
}

ACTOR Marine1PathfinderNew: Marine1Pathfinder
{
-FRIENDLY
	Speed 4
	States
	{
	Spawn:
	TNT1 A 0
	TNT1 A 0 A_GiveInventory("TargetIsAMarine", 1)
	Goto See
	Pain:
    See:
		TNT1 A 0 A_ChangeFlag("FRIENDLY", 0)
		TNT1 A 0 Thing_ChangeTID(0,98)
		TNT1 AAAAAAAAAAAAAAAAA 1 A_Chase
		//TNT1 A 0 Thing_Hate(98, 264, 0)
		TNT1 A 0 A_Recoil(-5)
		TNT1 A 0 A_SpawnItem("MarineSpawnChecker")
		TNT1 A 1 A_FaceTarget
		Loop
	Death:
	Missile:
		TNT1 A 0
	    TNT1 A 0 A_Recoil(-2)
		TNT1 A 2
		TNT1 A 0 A_Scream
		TNT1 A 0 A_NoBlocking
		TNT1 A 0 A_SpawnItemEx("Clone",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
		//TNT1 A 0 A_SpawnItemEx("MarineAdd",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
		TNT1 A 0 A_playsound("Clonetel")
		Stop
	}
}

ACTOR AdvancedMarine1Pathfinder
{
	Radius 32
	Height 56
	Speed 20
	Health 4000
	PainChance 255
	MaxTargetRange 150
	Monster
	damagefactor "SpawnMarine", 8000.0
	MaxDropOffHeight 1200
	MaxStepHeight 1200
	-COUNTKILL
	+NOTARGET
	+THRUACTORS
	+MISSILEMORE
	+MISSILEEVENMORE
	+FASTER
    +DONTSPLASH
	-SHOOTABLE
	-FRIENDLY
	+NOCLIP
	+LOOKALLAROUND
	+NOINFIGHTING
	States
	{
	Spawn:
	Pain:
    See:
		TNT1 A 0 A_ChangeFlag("FRIENDLY", 0)
		//TNT1 A 0 Thing_ChangeTID(0,98)
		//TNT1 A 0 Thing_Hate(98, 0, 0)
		TNT1 A 0
		TNT1 A 0 A_GiveInventory("TargetIsAMarine", 1)
		TNT1 AAAAA 1 A_Chase
		//TNT1 A 0 Thing_Hate(98, 0, 0)
		TNT1 A 0
		TNT1 A 0 A_GiveInventory("TargetIsAMarine", 1)
		TNT1 A 1 A_FaceTarget
		Loop
	//Missile:
	TNT1 A 2
	TNT1 A 0 A_SpawnItem("MarineSpawnChecker")	
	TNT1 A 5
	Goto See
	Death:
	Missile:
	    TNT1 A 0
	    TNT1 A 0 A_Recoil(-2)
		TNT1 A 2
		TNT1 A 0 A_Scream
		TNT1 A 0 A_NoBlocking
		TNT1 A 0 A_SpawnItemEx("AdvancedClone",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
		TNT1 A 0 A_playsound("Clonetel")
		Stop
	}
}

ACTOR AdvancedMarine1PathfinderNew: AdvancedMarine1Pathfinder
{
-FRIENDLY
	Speed 4
	States
	{
	Spawn:
	TNT1 A 0
	TNT1 A 0 A_GiveInventory("TargetIsAMarine", 1)
	Goto See
	Pain:
    See:
		TNT1 A 0 A_ChangeFlag("FRIENDLY", 0)
		TNT1 A 0 Thing_ChangeTID(0,98)
		TNT1 AAAAAAAAAAAAAAAAA 1 A_Chase
		//TNT1 A 0 Thing_Hate(98, 264, 0)
		TNT1 A 0 A_Recoil(-5)
		TNT1 A 0 A_SpawnItem("MarineSpawnChecker")
		TNT1 A 1 A_FaceTarget
		Loop
	Death:
	Missile:
		TNT1 A 0
	    TNT1 A 0 A_Recoil(-2)
		TNT1 A 2
		TNT1 A 0 A_Scream
		TNT1 A 0 A_NoBlocking
		TNT1 A 0 A_SpawnItemEx("AdvancedClone",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
		//TNT1 A 0 A_SpawnItemEx("MarineAdd",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
		TNT1 A 0 A_playsound("Clonetel")
		Stop
	}
}

ACTOR RemoveMarine
{
	States
	{
	Spawn:
	Pain:
    See:
		TNT1 A 1
		TNT1 A 0 A_SpawnItemEx("RemoveMarineActivate",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
		TNT1 A 1
		Stop
	}
}

ACTOR RemoveMarineActivate: Marine1Pathfinder
{
-FRIENDLY
-SHOOTABLE
Scale 1.0
Speed 1
MaxTargetRange 90000
	States
	{
	Spawn:
	Pain:
    See:
		TNT1 A 0 A_ChangeFlag("FRIENDLY", 0)
		TNT1 A 0 Thing_ChangeTID(0,98)
		TNT1 AAAAAAAAAAAAAAAAA 1 A_Chase
		//TNT1 A 0 Thing_Hate(98, 264, 0)
		TNT1 A 0 A_Recoil(-5)
		TNT1 A 1 A_FaceTarget
		Loop
	Missile:
		TNT1 A 1
		TNT1 A 0 A_TakeFromTarget("NumberOfAllies", 1)
		TNT1 A 0 A_Scream
		TNT1 A 0 A_NoBlocking
		TNT1 A 1
		Stop
	}
}

ACTOR MarineSpawnChecker
{
MONSTER
-COUNTKILL
+FRIENDLY
-SOLID
-SHOOTABLE
Health 1
Radius 16
Height 52
Damagetype "SpawnMarine"
	States
	{
	Spawn:
	    TNT1 A 0
	TNT1 A 0 A_GiveInventory("TargetIsAMarine", 1)
	    TNT1 A 0 A_AlertMonsters
		TNT1 A 0 A_Explode(25, 40)
		Stop
	Death:
	TNT1 A 1
	Stop
}
}

actor MarineBeaconThrown 
{
	PROJECTILE
	+DOOMBOUNCE
	-NOGRAVITY
	Speed 15
	Gravity 0.75
	BounceCount 1
	states {
	Spawn:
		MBCN B -1
		stop
	Death:
		TNT1 A 0 A_SpawnItemEx ("MarineBeacon", 0,0,0, 0,0,0, 0, SXF_NOCHECKPOSITION)
		TNT1 A 5
		stop
	}
}

actor MarineBeacon {
	states {
	Spawn:
		MBCN B 35
		MBCN A 8 BRIGHT
		MBCN B 8
		MBCN A 8 BRIGHT
		MBCN B 8
		MBCN A 8 BRIGHT
		MBCN B 8
		goto Idle
	Idle:
		MBCN A 8 BRIGHT A_SpawnItemEx ("Clone", 0,0,0, 0,0,0, 0, SXF_NOCHECKPOSITION)
		TNT1 A 0 A_PlaySound("Clonespa")
		TNT1 A 0 A_SpawnItem("TeleportFog")
		TNT1 A 0 A_SpawnItemEx ("Clone", 0,0,0, 0,0,0, 0, SXF_NOCHECKPOSITION)
		TNT1 A 0 A_SpawnItemEx ("Clone", 0,0,0, 0,0,0, 0, SXF_NOCHECKPOSITION)
		MBCN B 8
		Goto Done
	Done:
		MBCN B 105
		MBCN B 2 A_FadeOut
		wait
	}
}

actor AdvancedCloneKillstreak : CustomInventory
{
 +INVBAR
 -INVENTORY.INTERHUBSTRIP
  Inventory.DefMaxAmount 
  Inventory.MaxAmount 9
  Inventory.PickupFlash "PickupFlash"
  Inventory.icon "MICOA0"
  Inventory.pickupmessage "Teleport in a SPEC OPS mother fucker to show you how it's done"
  Inventory.RespawnTics 9999999999999999
  Inventory.InterHubAmount 9
  inventory.pickupsound "Clonegiv"
  Scale 0.1
  states
  {
  Spawn:
    KSIC A -1 
    stop  
  Use:
	TNT1 A 0 A_FireCustomMissile ("AdvancedMarineBeaconThrown", 0, 0)
	TNT1 A 0 A_TakeInventory("AdvancedCloneKillstreak",1)
	Fail
  }
}

actor AdvancedMarineBeaconThrown 
{
	PROJECTILE
	+DOOMBOUNCE
	-NOGRAVITY
	Speed 15
	Gravity 0.75
	BounceCount 1
	states {
	Spawn:
		MBCA B -1
		stop
	Death:
		TNT1 A 0 A_SpawnItemEx ("AdvancedMarineBeacon", 0,0,0, 0,0,0, 0, SXF_NOCHECKPOSITION)
		TNT1 A 5
		stop
	}
}

actor AdvancedMarineBeacon {
	states {
	Spawn:
		MBCA B 35
		MBCA A 8 BRIGHT
		MBCA B 8
		MBCA A 8 BRIGHT
		MBCA B 8
		MBCA A 8 BRIGHT
		MBCA B 8
		goto Idle
	Idle:
		MBCA A 8 BRIGHT A_SpawnItemEx ("AdvancedClone", 0,0,0, 0,0,0, 0, SXF_NOCHECKPOSITION)
		TNT1 A 0 A_PlaySound("Clonespa")
		TNT1 A 0 A_SpawnItem("TeleportFog")
		MBCA B 8
		Goto Done
	Done:
		MBCA B 105
		MBCA B 2 A_FadeOut
		wait
	}
}

actor IncGrenadeClone
{
  Obituary "%k made sure %o felt the heat."
  radius 5
  height 5
  speed 43
  damage (3)
  PROJECTILE
  -NOGRAVITY
  +NOEXTREMEDEATH
  +FORCERADIUSDMG
  +CANBOUNCEWATER
  //+BOUNCEONACTORS
  //+ALLOWBOUNCEONACTORS
  +ROCKETTRAIL
  +FORCEXYBILLBOARD
  -NOTELEPORT
  -TELESTOMP
  +THRUSPECIES
  species "Player"
  Scale 0.2
  gravity 0.4
  bouncefactor 0.4
  wallbouncefactor 0.5
  //ReactionTime 3
  bouncetype "hexen"
  bouncesound "grenade/lob"
  WallBounceSound "grenade/lobwall"
  DamageType "ExplosionF"
  ProjectileKickBack 35
  States
  {
  Spawn:
    GRNX A 4
    GRNX C 4 A_GiveInventory("M203Armed",1)
    GRNX EFHJL 4
    GRNX N 4 A_Countdown
    loop
  Death:
    TNT1 A 0
    TNT1 A 0 A_JumpIfInventory("M203Armed",1,"DeathArmed")
    TNT1 A 0 A_Explode(30,24,0)
    TNT1 A 0 A_Explode(25,88)
	TNT1 A 0 A_PlaySoundEx("generic/explosionsmall","SoundSlot5")
    TNT1 A 0 A_PlaySoundEx("distant/explosionsmaller","SoundSlot6")
    TNT1 A 0 A_SpawnItemEx("ExplosionSmall",0,0,0,0,0,0,0,128,0)
    TNT1 AAAAAAA 0 A_SpawnItemEx("ImpactSpark2", random(-16,16), random(-16,16), random(-8,12), random(-3,3), random(-3,3), random(-1,2), 0, 128, 0)
    TNT1 AAAAAAA 0 A_SpawnItemEx("IncGrenadeFireClone", random(-32,32), random(-32,32), random(0,16), random(-15,15)/10.0, random(-15,15)/10.0, random(4,5), 0, SXF_TRANSFERPOINTERS, 0)
    TNT1 AAAAAAA 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 AAAAAAA 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(176)
    Stop
  DeathArmed:
    TNT1 A 0
    TNT1 A 0 Radius_Quake(2,10,0,6,0)
	TNT1 A 0 A_PlaySound("dragon/fire")
    TNT1 A 0 A_SpawnItemEx("ExplosionMain2")
    TNT1 A 0 A_SpawnItemEx("IncGrenadeExplosionClone",-1,0,0,0,0,0,0,SXF_TRANSFERPOINTERS,0)
    TNT1 AAAAAAAAAAAAAA 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 AAAAAAAAAAAAAA 0 A_SpawnItemEx("IncGrenadeFireClone", random(-32,32), random(-32,32), random(0,16), random(-25,25)/10.0, random(-25,25)/10.0, random(4,5), 0, SXF_TRANSFERPOINTERS, 0)
    TNT1 AAAAAAAAAAAAAA 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 AAAAAAAAAAAAAA 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(512)
    Stop
  }
}

actor IncGrenadeExplosionClone
{
  RenderStyle None
  +NOCLIP
  PROJECTILE
  +NOTONAUTOMAP
  +FORCERADIUSDMG
  Speed 1
  Damage 0
  Scale 0.7
  Obituary "%o felt %k's burn."
  DamageType "ExplosionF"
  ProjectileKickBack 35
  States
  {
  Spawn:
    TNT1 A 0
    TNT1 AA 0 A_Explode(25,144,0)
    TNT1 A 5 A_Explode(40,256)
    Stop
  }
}

actor IncGrenadeFireClone
{
  RenderStyle Add
  Alpha 0.3//0.4//0.3
  Scale 0.42//0.7
  Gravity 0.6
  +FORCERADIUSDMG
  +FORCEXYBILLBOARD
  +NODAMAGETHRUST
  +NOEXTREMEDEATH
  +NOTELEPORT
  -TELESTOMP
  -BLOODSPLATTER
  +BLOODLESSIMPACT
  ReactionTime 4
  Obituary "%o melted on %k's turf."
  DamageType "DragonF"
  States
  {
  Spawn:
    FLMC A 0
    FLMC A 0 A_Jump(256,1,3,5,7,9,11,13,15,17,22,30,32,36,40,44)
    FLMC ABCDEFGHABCDEFGH 3 BRIGHT Light("RGADragon7")
    FLMC A 0 BRIGHT A_Explode(9,96)
    FLMC AAABBB 1 BRIGHT Light("RGADragon6") A_FadeIn(0.05)
    FLMC CCCDDD 1 BRIGHT Light("RGADragon5") A_FadeIn(0.05)
    FLMC E 3 BRIGHT Light("RGADragon4") A_Explode(9,96)
    FLMC FGH 3 BRIGHT Light("RGADragon4")
    FLMC A 3 BRIGHT Light("RGADragon4") A_Explode(9,96)
    FLMC BCD 3 BRIGHT Light("RGADragon4")
    FLMC E 3 BRIGHT Light("RGADragon4") A_Explode(9,96)
    FLMC F 3 BRIGHT Light("RGADragon4")
	FLMC G 0 BRIGHT A_Jump(233,2)//step 41
	FLMC G 0 BRIGHT A_PlaySound("dragon/fire3")
    FLMC GH 3 BRIGHT Light("RGADragon4")
    FLMC A 3 BRIGHT Light("RGADragon4") A_Explode(9,96)
    FLMC B 3 BRIGHT Light("RGADragon4")
	FLMC C 0 BRIGHT A_Jump(233,2)
	FLMC C 0 BRIGHT A_PlaySound("dragon/fire3")
    FLMC CD 3 BRIGHT Light("RGADragon4")
    FLMC E 3 BRIGHT Light("RGADragon4") A_Explode(9,96)
    FLMC F 3 BRIGHT Light("RGADragon4")
	FLMC G 0 BRIGHT A_Jump(233,2)
	FLMC G 0 BRIGHT A_PlaySound("dragon/fire3")
    FLMC GH 3 BRIGHT Light("RGADragon4")
    FLMC A 3 BRIGHT Light("RGADragon4") A_Explode(9,96)
    FLMC B 3 BRIGHT Light("RGADragon4")
	FLMC C 0 BRIGHT A_Jump(233,2)
	FLMC C 0 BRIGHT A_PlaySound("dragon/fire3")
    FLMC CD 3 BRIGHT Light("RGADragon4")
    FLMC E 3 BRIGHT Light("RGADragon4") A_Explode(9,96)
    FLMC F 3 BRIGHT Light("RGADragon4")
	FLMC G 0 BRIGHT A_Jump(191,2)
	FLMC G 0 BRIGHT A_CountDown
	FLMC G 0 BRIGHT A_CountDown
	Goto Spawn+41
  Death:
    FLMC G 0 BRIGHT A_Explode(8,80)
    FLMC GHAB 3 BRIGHT Light("RGADragon5") A_FadeOut(0.08)
    FLMC C 0 BRIGHT A_Explode(7,64)
    FLMC CDEF 3 BRIGHT Light("RGADragon6") A_FadeOut(0.07)
    FLMC G 0 BRIGHT A_Explode(6,48)
    FLMC GHAB 3 BRIGHT Light("RGADragon6") A_FadeOut(0.08)
    FLMC C 0 BRIGHT A_Explode(5,32)
    FLMC CDEF 3 BRIGHT Light("RGADragon7") A_FadeOut(0.07)
    FLMC G 0 BRIGHT A_Explode(4,16)
    FLMC GH 3 BRIGHT Light("RGADragon7") A_FadeOut(0.08)
    FLMC AB 3 BRIGHT Light("RGADragon7") A_FadeOut(0.07)
	Stop
  }
}

actor PredatorToken : Inventory
{
    inventory.amount 0
    inventory.maxamount 1
}
actor InPredator : Inventory
{
    inventory.amount 0
    inventory.maxamount 1
}

actor PredatorTrail
{
  RenderStyle Add
  //Alpha 1.0
  +NOCLIP
  +NOGRAVITY
  +FORCEXYBILLBOARD
  Scale 0.5
  States
  {
  Spawn:
	TNT1 A 8
	FLAR A 0
    FLAR AAAA 0 A_SpawnItemEx("StunExplosionSpark",random(-64,64), random(-64,64), random(-56,64), random(-6,6), random(-6,6), random(-1,9), 0, 128, 0)
    FLAR A 0 A_SpawnItemEx("ExplosionSmokePuff2",random(-5,5),random(-5,5),random(0,3),3,0,random(-1,1),45,128,0)
    FLAR A 0 A_SpawnItemEx("ExplosionSmokePuff2",random(-5,5),random(-5,5),random(0,3),3,0,random(-1,1),90,128,0)
    FLAR A 0 A_SpawnItemEx("ExplosionSmokePuff2",random(-5,5),random(-5,5),random(0,3),3,0,random(-1,1),135,128,0)
    FLAR A 0 A_SpawnItemEx("ExplosionSmokePuff2",random(-5,5),random(-5,5),random(0,3),3,0,random(-1,1),180,128,0)
    FLAR A 0 A_SpawnItemEx("ExplosionSmokePuff2",random(-5,5),random(-5,5),random(0,3),3,0,random(-1,1),225,128,0)
    FLAR A 0 A_SpawnItemEx("ExplosionSmokePuff2",random(-5,5),random(-5,5),random(0,3),3,0,random(-1,1),270,128,0)
    FLAR A 0 A_SpawnItemEx("ExplosionSmokePuff2",random(-5,5),random(-5,5),random(0,3),3,0,random(-1,1),315,128,0)
    FLAR A 0 A_SpawnItemEx("ExplosionSmokePuff2",random(-5,5),random(-5,5),random(0,3),3,0,random(-1,1),360,128,0)
    FLAR A 2 BRIGHT
    /*FLAR AA 0 A_SpawnItemEx("StunExplosionSpark",random(-60,60), random(-60,60), random(-52,60), random(-6,6), random(-6,6), random(-1,9), 0, 128, 0)
    FLAR A 2 BRIGHT
    FLAR AA 0 A_SpawnItemEx("StunExplosionSpark",random(-56,56), random(-56,56), random(-48,56), random(-5,5), random(-5,5), random(-1,8), 0, 128, 0)
    FLAR A 2 BRIGHT
    FLAR BB 0 A_SpawnItemEx("StunExplosionSpark",random(-52,52), random(-52,52), random(-44,52), random(-5,5), random(-5,5), random(-1,8), 0, 128, 0)
    FLAR B 2 BRIGHT
    FLAR BB 0 A_SpawnItemEx("StunExplosionSpark",random(-48,48), random(-48,48), random(-40,48), random(-4,4), random(-4,4), random(-1,7), 0, 128, 0)
    FLAR B 2 BRIGHT
    FLAR BB 0 A_SpawnItemEx("StunExplosionSpark",random(-44,44), random(-44,44), random(-36,44), random(-4,4), random(-4,4), random(-1,7), 0, 128, 0)
    FLAR B 2 BRIGHT
    FLAR CC 0 A_SpawnItemEx("StunExplosionSpark",random(-40,40), random(-40,40), random(-32,40), random(-3,3), random(-3,3), random(-1,6), 0, 128, 0)*/
    FLAR CCCCDDDDEEEE 1 BRIGHT A_FadeOut(0.08)
    Stop
  }
}

actor PredatorMissileKillstreak : CustomInventory
{
 +INVBAR
 -INVENTORY.INTERHUBSTRIP
  Inventory.DefMaxAmount 
  Inventory.MaxAmount 9
  Inventory.PickupFlash "PickupFlash"
  Inventory.icon "PredIcon"
  Inventory.pickupmessage "Predator Missile Clearance"
  Inventory.RespawnTics 9999999999999999
  Inventory.InterHubAmount 9
  inventory.pickupsound "Clonegiv"
  Scale 0.1
  states
  {
  Spawn:
    KSIC A -1 
    stop  
  Use:
	TNT1 A 0 A_GiveInventory("PredatorMissileDesignator",1)
	TNT1 A 0 ACS_NamedExecuteAlways("SetPredatorDesignator",0,0,0,0) //Have to do this wacky workaround BS because A_Selectweapon is causing a desync online
	Fail
  }
}

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

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

actor PredatorMissileDesignator : Weapon
{
  obituary "%o somehow died by the phone."
  weapon.selectionorder 999
  weapon.kickback 25
  //+WEAPON.WIMPY_WEAPON
  +WEAPON.MELEEWEAPON
  +WEAPON.NOALERT
  +CHEATNOTWEAPON
  states
  {
  Ready:
    GRNA L 0 A_TakeInventory("Reloading",1)
    U45A L 0 A_JumpIfInventory("ThrowingGrenade",1,"FragGrenade")
    U45A L 0 A_JumpIfInventory("KnifeAttack",1,"KnifeAttack")
	U45A L 0 A_JumpIfInventory("Reloading",1,"Altfiretest")
	PHNP A 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotred",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNP B 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotred",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNP C 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotred",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNP D 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotred",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNP E 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	U45A L 0 A_JumpIfInventory("ThrowingGrenade",1,"FragGrenade")
    U45A L 0 A_JumpIfInventory("KnifeAttack",1,"KnifeAttack")
	U45A L 0 A_JumpIfInventory("Reloading",1,"Altfiretest")
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotred",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNP F 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotred",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNP G 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotred",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNP H 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotred",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNP I 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotred",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNP J 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotred",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	U45A L 0 A_JumpIfInventory("ThrowingGrenade",1,"FragGrenade")
    U45A L 0 A_JumpIfInventory("KnifeAttack",1,"KnifeAttack")
	U45A L 0 A_JumpIfInventory("Reloading",1,"Altfiretest")
	PHNP K 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotred",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNP L 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotred",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNP M 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotred",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNP N 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotred",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNP O 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotred",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNP P 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotred",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	U45A L 0 A_JumpIfInventory("ThrowingGrenade",1,"FragGrenade")
    U45A L 0 A_JumpIfInventory("KnifeAttack",1,"KnifeAttack")
	U45A L 0 A_JumpIfInventory("Reloading",1,"Altfiretest")
    loop
  Zoom:
  Altfiretest:
    PHNA S 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	U45A L 0 A_JumpIfInventory("AC130OnlineFix",1,"Occupied2")
    U45A L 0 A_JumpIfInventory("PredatorToken",1,"Altfiretest2")
	Goto Ready
  Altfiretest2:
    U45A L 0 A_JumpIfInventory("InPredator",1,"Altfiretest3")
	TNT1 A 0 ACS_Namedexecutealways("Predator_Start",0,0,0,0)
	PHNA S 75
	Goto Ready
  Altfiretest3:
	TNT1 A 0 ACS_Namedexecutealways("Predator_Start",0,0,0,0)
	PHNA S 60
	Goto Ready
  PredatorPlaced:
    TNT1 A 0 A_Print("Coordinates already designated. Press the ADS key to clear.")
	goto Ready
  PredatorClear:
    PHNA S 1 ACS_NamedExecuteAlways("Predator_Clear",0,0,0,0)
	Goto Ready
  Deselect:
    TNT1 AA 0 A_Lower
    PHNA S 1 A_Lower
	TNT1 A 0 A_TakeInventory("PredatorMissileDesignator",1)
    stop
  Select: 
    PHNA A 0 A_Raise
    loop
  Fire:
    U45A L 0 A_JumpIfInventory("InPredator",1,"PredatorFire")
	U45A L 0 A_JumpIfInventory("PredatorOnlineFix",1,"Occupied")
	U45A L 0 A_JumpIfInventory("AC130OnlineFix",1,"Occupied2")
    U45A L 0 A_JumpIfInventory("PredatorToken",1,"PredatorPlaced")
    MSLB A 0 A_FireCustomMissile("DeployingCameraPredatorMissile",0,0,0,0,0,0)
	TNT1 A 0 A_GiveInventory("PredatorToken",1)
	PHNA S 20
	TNT1 A 0 A_Print("Coordinates acquired. Press the reload key to get a visual.")
    goto Ready
  PredatorFire:
    PHNA S 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
    PHNA S 1 ACS_NamedExecuteAlways("Predator_Fire",0,0,0,0)
	GRNA L 0 A_TakeInventory("PredatorMissileKillstreak",1)
	GRNA L 0 A_TakeInventory("PredatorMissileDesignator",1)
	PHNA S 15
    Goto Ready
  DoNothing:
    PHNN A 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	PHNA S 5
    Goto Ready
  Altfire:
    U45A L 0 A_JumpIfInventory("PredatorOnlineFix",1,"Occupied")
    U45A L 0 A_JumpIfInventory("InPredator",1,"DoNothing")
	U45A L 0 A_JumpIfInventory("PredatorToken",1,"PredatorClear")
	Goto Ready
  Occupied:
    TNT1 A 0 A_Print("Someone else is operating the Predator Drone.")
	Goto Ready
  Occupied2:
    TNT1 A 0 A_Print("This can't be used while someone is operating an AC130.")
	Goto Ready
  FragGrenade:
    U45F A 0 ACS_NamedExecuteAlways("RefSpeak",0,1,0,0)
    U45F A 0 A_ZoomFactor(1.0)
    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
    Goto Ready+2
  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
    Goto Ready+2
  KnifeAttack:
    GRNA L 0 A_TakeInventory("weapondropper",2)
    U45F A 0 A_ZoomFactor(1.0)
    U45A L 0 A_JumpIfInventory("ThrowingGrenade",1,"FragGrenade")
    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)
    Goto Ready+2
  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)
    Goto Ready+2
  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)
    Goto Ready+2
  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)
    Goto Ready+2
  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
    Goto Ready+2
  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
    Goto Ready+2
  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
    Goto Ready+2
  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
    Goto Ready+2
  }
}

actor StealthBomberKillstreak : CustomInventory
{
 +INVBAR
 -INVENTORY.INTERHUBSTRIP
  Inventory.DefMaxAmount 
  Inventory.MaxAmount 9
  Inventory.PickupFlash "PickupFlash"
  Inventory.icon "ICONA0"
  Inventory.pickupmessage "Stealth Bomber Clearance"
  Inventory.RespawnTics 9999999999999999
  Inventory.InterHubAmount 9
  inventory.pickupsound "Clonegiv"
  Scale 0.1
  states
  {
  Spawn:
    KSIC A -1 
    stop  
  Use:
	TNT1 A 0 A_GiveInventory("StealthBomberDesignator",1)
	TNT1 A 0 ACS_NamedExecuteAlways("SetStealthDesignator",0,0,0,0) //Have to do this wacky workaround BS because A_Selectweapon is causing a desync online
	Fail
  }
}

actor StealthBomberShockwave {
	PROJECTILE
	+NOCLIP
	+FLOORHUGGER
	Radius 1
	Height 1
	Speed 160
	DamageType "Sniper"
	Obituary "$OB_NUKE"
	species "Player"
	States {
	Spawn:
		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("ExplosionStealth",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 ExplosionStealth
{
  RenderStyle Add
  //Alpha 0.9
  +FORCEXYBILLBOARD
  Gravity 111
  Scale 1.25//1.15
  States
  {
  Spawn:
	EXP1 A 0 BRIGHT
    EXP1 AAAA 0 BRIGHT A_SpawnItemEx("ExplosionSmall",random(-8,8),random(-8,8),random(1,8),random(-2,2),random(-2,2),random(0,3),0,129,0)
    EXP1 A 0 BRIGHT A_PlayWeaponSound("generic/explosion")
    EXP1 A 0 BRIGHT A_PlaySoundEx("distant/explosion","SoundSlot6")
    EXP1 A 0 BRIGHT A_SpawnItemEx("ExplosionSmokePuff",random(-8,8),random(-8,8),random(1,8),3,0,0,0,128,0)
    EXP1 A 0 BRIGHT A_SpawnItemEx("ExplosionSmokePuff",random(-8,8),random(-8,8),random(1,8),3,0,0,45,128,0)
    EXP1 A 0 BRIGHT A_SpawnItemEx("ExplosionSmokePuff",random(-8,8),random(-8,8),random(1,8),3,0,0,90,128,0)
    EXP1 A 0 BRIGHT A_SpawnItemEx("ExplosionSmokePuff",random(-8,8),random(-8,8),random(1,8),3,0,0,135,128,0)
    EXP1 A 0 BRIGHT A_SpawnItemEx("ExplosionSmokePuff",random(-8,8),random(-8,8),random(1,8),3,0,0,180,128,0)
    EXP1 A 0 BRIGHT A_SpawnItemEx("ExplosionSmokePuff",random(-8,8),random(-8,8),random(1,8),3,0,0,225,128,0)
    EXP1 A 0 BRIGHT A_SpawnItemEx("ExplosionSmokePuff",random(-8,8),random(-8,8),random(1,8),3,0,0,270,128,0)
    EXP1 A 0 BRIGHT A_SpawnItemEx("ExplosionSmokePuff",random(-8,8),random(-8,8),random(1,8),3,0,0,315,128,0)
    EXP1 ABCDEFGHIJ 3 BRIGHT
    Stop
  }
}

ACTOR StealthBomberMarker
{
    Radius 8
    Height 8
    Speed 190
    Damage 0

    +MISSILE
    +NOGRAVITY
    +NOBLOCKMAP
    +DONTSPLASH
    +NOBLOOD
    States
    {
    Spawn:
        TNT1 A 1
        Loop

    Death:
        TNT1 A 140

    Strike:
		TNT1 A 1 A_Explode (5000, 412)
		TNT1 A 1 A_Explode (2500, 812)
		TNT1 A 1 A_Explode (1000, 1412)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
		TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
		TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
		TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
		TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
		TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
		TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
		TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
		TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
		TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
		TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
		TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
		TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
		TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
		TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
		TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
		TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
		TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
		TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
		TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
		TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
		TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-2096,2096), random(-2096,2096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_Die
        Stop
    }
}


actor StealthBomberDesignator : Weapon
{
  obituary "%o somehow died by the phone."
  weapon.selectionorder 999
  weapon.kickback 25
  //+WEAPON.WIMPY_WEAPON
  +WEAPON.MELEEWEAPON
  +WEAPON.NOALERT
  +CHEATNOTWEAPON
  states
  {
  Ready:
    GRNA L 0 A_TakeInventory("Reloading",1)
    U45A L 0 A_JumpIfInventory("ThrowingGrenade",1,"FragGrenade")
    U45A L 0 A_JumpIfInventory("KnifeAttack",1,"KnifeAttack")
	PHNS A 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotred",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNS A 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotred",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNS A 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotred",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNS A 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotred",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNS A 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotred",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNS A 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotred",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNS A 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotred",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNS A 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotred",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNS A 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotred",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNS A 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotred",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNS A 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotred",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNS A 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotred",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNS B 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotred",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNS B 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotred",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNS C 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	U45A L 0 A_JumpIfInventory("ThrowingGrenade",1,"FragGrenade")
    U45A L 0 A_JumpIfInventory("KnifeAttack",1,"KnifeAttack")
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotred",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNS C 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotred",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNS D 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotred",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNS D 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotred",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNS E 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotred",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNS E 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotred",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	U45A L 0 A_JumpIfInventory("ThrowingGrenade",1,"FragGrenade")
    U45A L 0 A_JumpIfInventory("KnifeAttack",1,"KnifeAttack")
	PHNS F 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotred",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNS F 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotred",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNS G 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotred",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNS G 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotred",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNS H 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotred",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNS H 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotred",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	U45A L 0 A_JumpIfInventory("ThrowingGrenade",1,"FragGrenade")
    U45A L 0 A_JumpIfInventory("KnifeAttack",1,"KnifeAttack")
	PHNS I 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotred",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNS I 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotred",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNS J 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotred",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNS J 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotred",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNS K 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	U45A L 0 A_JumpIfInventory("ThrowingGrenade",1,"FragGrenade")
    U45A L 0 A_JumpIfInventory("KnifeAttack",1,"KnifeAttack")
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotred",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNS K 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotred",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNS L 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotred",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNS L 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotred",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNS M 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotred",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNS M 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotred",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	U45A L 0 A_JumpIfInventory("ThrowingGrenade",1,"FragGrenade")
    U45A L 0 A_JumpIfInventory("KnifeAttack",1,"KnifeAttack")
	PHNS K 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotred",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNS K 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotred",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNS M 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotred",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNS M 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotred",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNS L 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotred",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNS L 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotred",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNS K 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotred",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	U45A L 0 A_JumpIfInventory("ThrowingGrenade",1,"FragGrenade")
    U45A L 0 A_JumpIfInventory("KnifeAttack",1,"KnifeAttack")
    loop
  Zoom:
  Deselect:
    TNT1 AA 0 A_Lower
    PHNA S 1 A_Lower
	TNT1 A 0 A_TakeInventory("StealthBomberDesignator",1)
    stop
  Select: 
    PHNA A 0 A_Raise
    loop
  Fire:
    KNFA B 0 A_PlaySound("Desbeeps")
    MSLB A 0 A_FireCustomMissile("StealthBomberMarker",0,0,0,0,0,0)
	U45F A 0 ACS_NamedExecuteAlways("Stealth_Bomber",0,0,0,0)
	TNT1 A 0 A_TakeInventory("StealthBomberKillstreak",1)
	TNT1 A 0 A_TakeInventory("StealthBomberDesignator",1) 
    Goto Ready
  DoNothing:
    PHNS A 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	PHNA S 5
    Goto Ready
  Altfire:
    U45A L 0 A_JumpIfInventory("InPredator",1,"DoNothing")
	Goto Ready
  FragGrenade:
    U45F A 0 ACS_NamedExecuteAlways("RefSpeak",0,1,0,0)
    U45F A 0 A_ZoomFactor(1.0)
    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
    Goto Ready+2
  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
    Goto Ready+2
  KnifeAttack:
    GRNA L 0 A_TakeInventory("weapondropper",2)
    U45F A 0 A_ZoomFactor(1.0)
    U45A L 0 A_JumpIfInventory("ThrowingGrenade",1,"FragGrenade")
    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)
    Goto Ready+2
  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)
    Goto Ready+2
  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)
    Goto Ready+2
  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)
    Goto Ready+2
  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
    Goto Ready+2
  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
    Goto Ready+2
  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
    Goto Ready+2
  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
    Goto Ready+2
  }
}

actor Claymore : CustomInventory
{
 +INVBAR
 -INVENTORY.INTERHUBSTRIP
  Inventory.DefMaxAmount 
  Inventory.MaxAmount 5
  Inventory.PickupFlash "PickupFlash"
  Inventory.icon "CLAPB0"
  Inventory.pickupmessage "Picked up a Claymore"
  Inventory.RespawnTics 9999999999999999
  inventory.pickupsound "cursor/select"
  Inventory.InterHubAmount 5
  Scale 0.55
  states
  {
  Spawn:
    CLAP A -1 
    stop  
  Use:
    TNT1 A 0 A_SpawnItemEx ("ClaymoreLive", 0,0,0, 0,0,0, 0, SXF_NOCHECKPOSITION)
	CLAP A 0 A_PlaySound("Clayset")
	Stop
  }
}

ACTOR ClaymoreLive
{
Scale 0.55
Radius 10
Height 10
Damage 28
Health 1
Mass 0x7FFFFFFF
DamageType "ExplosionF"
+MISSILE
+FORCERADIUSDMG
+MOVEWITHSECTOR
+BLOODLESSIMPACT
+NOBLOOD
+SHOOTABLE
+NOTAUTOAIMED
+SKYEXPLODE
+FRIENDLY
States
{
Spawn:
	TNT1 A 0
Cont:
	CLAP A 30 A_ChangeFlag(NOBLOCKMAP,0)
	CLAP A 10 A_ChangeFlag(NOBLOCKMAP,1)
	Loop
Death:
	TNT1 A 0 A_Die
Explode:
	TNT1 A 0 A_SetDamageType("explosionF")
    CLAP A 0 A_PlaySound("Dryfire")
    CLAP A 15
	TNT1 A 0 Radius_Quake(2,12,0,8,0)
	TNT1 A 0 A_Explode(120,180)
	TNT1 A 0 A_Explode(65,330,0)
	TNT1 A 0 A_Explode(55,430,0)
	TNT1 A 0 A_SpawnItemEx("ExplosionMain2")
	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 A 10
	TNT1 A 15 A_AlertMonsters(660)
    Stop
    }
}

ACTOR AllAmmoCache : CustomInventory
{
  Radius 20
  Height 16
  Inventory.PickupMessage "Picked up a cache packed with all ammo!"
  Inventory.MaxAmount 0
  Inventory.PickupSound "pickup/backpack"
  +INVENTORY.AUTOACTIVATE

  States
  {
  Spawn:
    CBKP A -1
    Stop

  Pickup:
    TNT1 A 0 A_JumpIfInventory("FamasAmmo",275,"Check2")
    Goto GiveAmmo
  Check2:
    TNT1 A 0 A_JumpIfInventory("FALAmmo",200,"Check3")
    Goto GiveAmmo
  Check3:
    TNT1 A 0 A_JumpIfInventory("ACRAmmo",300,"Check4")
    Goto GiveAmmo
  Check4:
    TNT1 A 0 A_JumpIfInventory("P90Ammo",500,"Check5")
    Goto GiveAmmo
  Check5:
    TNT1 A 0 A_JumpIfInventory("UMP45Ammo",325,"Check6")
    Goto GiveAmmo
  Check6:
    TNT1 A 0 A_JumpIfInventory("MiniUziAmmo",384,"Check7")
    Goto GiveAmmo
  Check7:
    TNT1 A 0 A_JumpIfInventory("VectorAmmo",360,"Check8")
    Goto GiveAmmo
  Check8:
    TNT1 A 0 A_JumpIfInventory("InterventionAmmo",49,"Check9")
    Goto GiveAmmo
  Check9:
    TNT1 A 0 A_JumpIfInventory("BarrettAmmo",60,"Check10")
    Goto GiveAmmo
  Check10:
    TNT1 A 0 A_JumpIfInventory("M14Ammo",90,"Check11")
    Goto GiveAmmo
  Check11:
    TNT1 A 0 A_JumpIfInventory("USP45Ammo",72,"Check12")
    Goto GiveAmmo
  Check12:
    TNT1 A 0 A_JumpIfInventory("44MagnumAmmo",36,"Check13")
    Goto GiveAmmo
  Check13:
    TNT1 A 0 A_JumpIfInventory("SPAS12Ammo",64,"Check14")
    Goto GiveAmmo
  Check14:
    TNT1 A 0 A_JumpIfInventory("AA12Ammo",88,"Check15")
    Goto GiveAmmo
  Check15:
    TNT1 A 0 A_JumpIfInventory("RangerAmmo",72,"Check16")
    Goto GiveAmmo
  Check16:
    TNT1 A 0 A_JumpIfInventory("MG4Ammo",777,"Check17")
    Goto GiveAmmo
  Check17:
    TNT1 A 0 A_JumpIfInventory("G18Ammo",132,"Check18")
    Goto GiveAmmo
  Check18:
    TNT1 A 0 A_JumpIfInventory("PP2000Ammo",80,"Check19")
    Goto GiveAmmo
  Check19:
    TNT1 A 0 A_JumpIfInventory("M93RAmmo",140,"Check20")
    Goto GiveAmmo
  Check20:
    TNT1 A 0 A_JumpIfInventory("SCARHAmmo",220,"Check21")
    Goto GiveAmmo
  Check21:
    TNT1 A 0 A_JumpIfInventory("M4A1Ammo",300,"Check22")
    Goto GiveAmmo
  Check22:
    TNT1 A 0 A_JumpIfInventory("F2000Ammo",300,"Check23")
    Goto GiveAmmo
  Check23:
    TNT1 A 0 A_JumpIfInventory("MP5Ammo",360,"Check24")
    Goto GiveAmmo
  Check24:
    TNT1 A 0 A_JumpIfInventory("M16Ammo",300,"Check25")
    Goto GiveAmmo
  Check25:
    TNT1 A 0 A_JumpIfInventory("AKMAmmo",270,"Check26")
    Goto GiveAmmo
  Check26:
    TNT1 A 0 A_JumpIfInventory("GrenadeAmmo",6,"Check27")
    Goto GiveAmmo
  Check27:
    TNT1 A 0 A_JumpIfInventory("M203Ammo",8,"Check28")
    Goto GiveAmmo
  Check28:
    TNT1 A 0 A_JumpIfInventory("ThumperAmmo",15,"Check29")
    Goto GiveAmmo
  Check29:
    TNT1 A 0 A_JumpIfInventory("AT4Ammo",6,"Check30")
    Goto GiveAmmo
  Check30:
    TNT1 A 0 A_JumpIfInventory("StrikerAmmo",80,"Check31")
    Goto GiveAmmo
  Check31:
    TNT1 A 0 A_JumpIfInventory("AUGHBARAmmo",504,"Check32")
    Goto GiveAmmo
  Check32:
    TNT1 A 0 A_JumpIfInventory("WA2000Ammo",60,"Check33")
    Goto GiveAmmo
  Check33:
    TNT1 A 0 A_JumpIfInventory("DeagleAmmo",42,"Check34")
    Goto GiveAmmo
  Check34:
    TNT1 A 0 A_JumpIfInventory("M9Ammo",90,"Check35")
    Goto GiveAmmo
  Check35:
    TNT1 A 0 A_JumpIfInventory("M1014Ammo",72,"Check36")
    Goto GiveAmmo
  Check36:
    TNT1 A 0 A_JumpIfInventory("M240Ammo",1000,"Check37")
    Goto GiveAmmo
  Check37:
    TNT1 A 0 A_JumpIfInventory("L86Ammo",672,"Check38")
    Goto GiveAmmo
  Check38:
    TNT1 A 0 A_JumpIfInventory("RPGAmmo",9,"Check39")
    Goto GiveAmmo
  Check39:
    TNT1 A 0 A_JumpIfInventory("M1887Ammo",70,"Check40")
    Goto GiveAmmo
  Check40:
    TNT1 A 0 A_JumpIfInventory("RevivalKitAmmo",12,"Check41")
    Goto GiveAmmo
  Check41:
    TNT1 A 0 A_JumpIfInventory("StunAmmo",6,"Check42")
    Goto GiveAmmo
  Check42:
    TNT1 A 0 A_JumpIfInventory("IncdAmmo",3,"Nope")
    Goto GiveAmmo
  GiveAmmo:
    TNT1 A 0 A_GiveInventory("FamasAmmo",275)
    TNT1 A 0 A_GiveInventory("FALAmmo",200)
    TNT1 A 0 A_GiveInventory("ACRAmmo",300)
    TNT1 A 0 A_GiveInventory("P90Ammo",500)
    TNT1 A 0 A_GiveInventory("UMP45Ammo",325)
    TNT1 A 0 A_GiveInventory("MiniUziAmmo",384)
    TNT1 A 0 A_GiveInventory("VectorAmmo",360)
    TNT1 A 0 A_GiveInventory("InterventionAmmo",49)
    TNT1 A 0 A_GiveInventory("BarrettAmmo",60)
    TNT1 A 0 A_GiveInventory("M14Ammo",90)
    TNT1 A 0 A_GiveInventory("USP45Ammo",72)
    TNT1 A 0 A_GiveInventory("44MagnumAmmo",36)
    TNT1 A 0 A_GiveInventory("SPAS12Ammo",64)
    TNT1 A 0 A_GiveInventory("AA12Ammo",88)
    TNT1 A 0 A_GiveInventory("RangerAmmo",72)
    TNT1 A 0 A_GiveInventory("MG4Ammo",777)
    TNT1 A 0 A_GiveInventory("G18Ammo",132)
    TNT1 A 0 A_GiveInventory("PP2000Ammo",80)
    TNT1 A 0 A_GiveInventory("M93RAmmo",140)
    TNT1 A 0 A_GiveInventory("SCARHAmmo",220)
    TNT1 A 0 A_GiveInventory("M4A1Ammo",300)
    TNT1 A 0 A_GiveInventory("F2000Ammo",300)
    TNT1 A 0 A_GiveInventory("MP5Ammo",360)
    TNT1 A 0 A_GiveInventory("M16Ammo",300)
    TNT1 A 0 A_GiveInventory("AKMAmmo",270)
    TNT1 A 0 A_GiveInventory("GrenadeAmmo",6)
    TNT1 A 0 A_GiveInventory("M203Ammo",8)
    TNT1 A 0 A_GiveInventory("ThumperAmmo",15)
    TNT1 A 0 A_GiveInventory("AT4Ammo",6)
    TNT1 A 0 A_GiveInventory("StrikerAmmo",80)
    TNT1 A 0 A_GiveInventory("AUGHBARAmmo",504)
    TNT1 A 0 A_GiveInventory("WA2000Ammo",60)
    TNT1 A 0 A_GiveInventory("DeagleAmmo",42)
    TNT1 A 0 A_GiveInventory("M9Ammo",90)
    TNT1 A 0 A_GiveInventory("M1014Ammo",72)
    TNT1 A 0 A_GiveInventory("M240Ammo",1000)
    TNT1 A 0 A_GiveInventory("L86Ammo",672)
    TNT1 A 0 A_GiveInventory("RPGAmmo",9)
    TNT1 A 0 A_GiveInventory("M1887Ammo",70)
    TNT1 A 0 A_GiveInventory("RevivalKitAmmo",12)
    TNT1 A 0 A_GiveInventory("StunAmmo",6)
    TNT1 A 0 A_GiveInventory("IncdAmmo",3)
    Stop
  Nope:
	TNT1 A 0 
    Fail
  }
}

actor CarePackageKillstreak : CustomInventory
{
 +INVBAR
 -INVENTORY.INTERHUBSTRIP
  Inventory.DefMaxAmount 
  Inventory.MaxAmount 9
  Inventory.PickupFlash "PickupFlash"
  Inventory.icon "CICOA0"
  Inventory.pickupmessage "Care Package Clearance"
  Inventory.RespawnTics 9999999999999999
  Inventory.InterHubAmount 9
  inventory.pickupsound "Clonegiv"
  Scale 0.1
  states
  {
  Spawn:
    KSIC A -1 
    stop  
  Use:
	TNT1 A 0 A_GiveInventory("CarePackageDesignator",1)
	TNT1 A 0 ACS_NamedExecuteAlways("CarePackageDesignator",0,0,0,0) //Have to do this wacky workaround BS because A_Selectweapon is causing a desync online
	Fail
  }
}

ACTOR CarePackageMarker
{
    Radius 8
    Height 8
    Speed 90
    Damage 0

    +MISSILE
    +NOGRAVITY
    +NOBLOCKMAP
    +DONTSPLASH
    +NOBLOOD
    States
    {
    Spawn:
        TNT1 A 1
        Loop

    Death:
        TNT1 A 14

    Strike:
		TNT1 A 2 A_SpawnItemEx("CarePackageSmokeEmitter",0,0,4, 0,0,0, 0, SXF_NOCHECKPOSITION,0,1444)
		TNT1 A 0 ACS_NamedExecuteAlways("CarePackage",0)
        TNT1 A 1 A_Die
        Stop
    }
}

ACTOR CarePackageSmoke
{
    Radius 0
    Height 0
	Alpha 0.3
	RenderStyle Translucent
	Scale 8.5
	Speed 13
	Gravity 0
    +NOBLOCKMAP
    +NOTELEPORT
    +DONTSPLASH
	+MISSILE
	+FORCEXYBILLBOARD
    +CLIENTSIDEONLY
    +NOINTERACTION
    States
    {
    Spawn:
        BSP4 B 1
        Goto Death
	Death:
	    BSP4 AAAABBBBCCCCCDDDDDEEEEEFFFFFGGGGGHHHHHIIIIIJJJJJKKKKKLLLLMMMMNNNNOOOOPPPPQQQQRRRRSSSSTTTTUUUUVVVVWWWWXXXXYYYYZZZZ 1 BRIGHT A_FadeOut(0.005)
		Stop
    }
}

ACTOR CarePackageSmokeEmitter
{
  Radius 8
  Height 8
  +NOBLOCKMAP
  +NOINTERACTION
  +NOGRAVITY
  +THRUACTORS
  RenderStyle None

  States
  {
  Spawn:
    TNT1 A 1 A_SpawnItemEx("CarePackageSmoke",0,0,4, random(0,9),0,6, 0, SXF_NOCHECKPOSITION)
    Loop
  }
}

ACTOR SmokeBurst
{
  Radius 8
  Height 8
  +NOBLOCKMAP
  +NOINTERACTION
  +NOGRAVITY

  States
  {
  Spawn:
    TNT1 A 0 A_SpawnItemEx("ImpactSmokePuff",0,0,0, 4,0,1)
    TNT1 A 0 A_SpawnItemEx("ImpactSmokePuff",0,0,0,-4,0,1)
    TNT1 A 0 A_SpawnItemEx("ImpactSmokePuff",0,0,0,0,4,1)
    TNT1 A 0 A_SpawnItemEx("ImpactSmokePuff",0,0,0,0,-4,1)
	TNT1 A 0 A_SpawnItemEx("ImpactSmokePuff",0,0,0, 4,2,1)
	TNT1 A 0 A_SpawnItemEx("ImpactSmokePuff",0,0,0,-4,2,1)
	TNT1 A 0 A_SpawnItemEx("ImpactSmokePuff",0,0,0, 4,-2,1)
	TNT1 A 0 A_SpawnItemEx("ImpactSmokePuff",0,0,0,-4,-2,1)
    TNT1 A 0 A_SpawnItemEx("ImpactSmokePuff",0,0,0, 3,3,1)
    TNT1 A 0 A_SpawnItemEx("ImpactSmokePuff",0,0,0,-3,3,1)
    TNT1 A 0 A_SpawnItemEx("ImpactSmokePuff",0,0,0, 3,-3,1)
    TNT1 A 0 A_SpawnItemEx("ImpactSmokePuff",0,0,0,-3,-3,1)
    TNT1 A 0 A_SpawnItemEx("ImpactSmokePuff",0,0,0, 0,0,4)
    Stop
  }
}

ACTOR CarePackageBox : SwitchableDecoration
{
  -SOLID
  +USESPECIAL
  +SHOOTABLE +CANNOTPUSH +GHOST
  +NOBLOOD
  +SPAWNCEILING
	Activation THINGSPEC_Activate | THINGSPEC_ThingTargets | THINGSPEC_NoDeathSpecial
	Scale 1.33
States
{
Spawn:
	CARE A 8
	Loop
Active:
	CARE A 8 A_PlaySoundEx("CareOpen",CHAN_AUTO)
	CARE B 8
	TNT1 A 0 A_GiveToTarget("Claymore",5)
	TNT1 A 0 A_SpawnItemEx("SpawnedMedikit",0,0,12,Frandom(4,-4),Frandom(4,-4),Frandom(1,2),0,SXF_NOCHECKPOSITION)
	TNT1 A 0 A_SpawnItemEx("SpawnedMedikit",0,0,12,Frandom(4,-4),Frandom(4,-4),Frandom(1,2),0,SXF_NOCHECKPOSITION)
	TNT1 A 0 A_SpawnItemEx("SpawnedMedikit",0,0,12,Frandom(4,-4),Frandom(4,-4),Frandom(1,2),0,SXF_NOCHECKPOSITION)
	TNT1 A 0 A_SpawnItemEx("SpawnedMedikit",0,0,12,Frandom(4,-4),Frandom(4,-4),Frandom(1,2),0,SXF_NOCHECKPOSITION)
	TNT1 A 0 A_SpawnItemEx("SpawnedMedikit",0,0,12,Frandom(4,-4),Frandom(4,-4),Frandom(1,2),0,SXF_NOCHECKPOSITION)
	TNT1 A 0 A_SpawnItemEx("SpawnedMedikit",0,0,12,Frandom(4,-4),Frandom(4,-4),Frandom(1,2),0,SXF_NOCHECKPOSITION)
	TNT1 A 0 A_SpawnItemEx("SpawnedMedikit",0,0,12,Frandom(4,-4),Frandom(4,-4),Frandom(1,2),0,SXF_NOCHECKPOSITION)
	TNT1 A 0 A_SpawnItemEx("SpawnedMedikit",0,0,12,Frandom(4,-4),Frandom(4,-4),Frandom(1,2),0,SXF_NOCHECKPOSITION)
	TNT1 A 0 A_SpawnItemEx("SpawnedMedikit",0,0,12,Frandom(4,-4),Frandom(4,-4),Frandom(1,2),0,SXF_NOCHECKPOSITION)
	TNT1 A 0 A_SpawnItemEx("BlueArmor",0,0,12,Frandom(4,-4),Frandom(4,-4),Frandom(1,2),0,SXF_NOCHECKPOSITION)
	TNT1 A 0 A_SpawnItemEx("Gunspawner14",0,0,12,Frandom(4,-4),Frandom(4,-4),Frandom(1,2),0,SXF_NOCHECKPOSITION)
	TNT1 A 0 A_SpawnItemEx("Gunspawner14",0,0,12,Frandom(4,-4),Frandom(4,-4),Frandom(1,2),0,SXF_NOCHECKPOSITION)
	TNT1 A 0 A_SpawnItemEx("Gunspawner11",0,0,12,Frandom(4,-4),Frandom(4,-4),Frandom(1,2),0,SXF_NOCHECKPOSITION)
	TNT1 A 0 A_SpawnItemEx("AllAmmoCache",0,0,12,Frandom(4,-4),Frandom(4,-4),Frandom(1,2),0,SXF_NOCHECKPOSITION)
	CARE B 8 A_FadeOut(0.7)
	Stop
Nope:
	TNT1 A 0
	Fail
	}
}

ACTOR CarePackageBoxOnline : SwitchableDecoration
{
  -SOLID
  +USESPECIAL
  +SHOOTABLE +CANNOTPUSH +GHOST
  +NOBLOOD
  +SPAWNCEILING
	Activation THINGSPEC_Activate | THINGSPEC_ThingTargets | THINGSPEC_NoDeathSpecial
	Scale 1.33
States
{
Spawn:
	CARE A 8
	Loop
Active:
	CARE A 8 A_PlaySoundEx("CareOpen",CHAN_AUTO)
	CARE B 8
	TNT1 A 0 A_GiveToTarget("ExtendedMagsAttachment",1)
	TNT1 A 0 A_GiveToTarget("AwardLock",1)
	TNT1 A 0 A_GiveToTarget("Claymore",5)
	TNT1 A 0 A_SpawnItemEx("SpawnedMedikit",0,0,12,Frandom(4,-4),Frandom(4,-4),Frandom(1,2),0,SXF_NOCHECKPOSITION)
	TNT1 A 0 A_SpawnItemEx("SpawnedMedikit",0,0,12,Frandom(4,-4),Frandom(4,-4),Frandom(1,2),0,SXF_NOCHECKPOSITION)
	TNT1 A 0 A_SpawnItemEx("SpawnedMedikit",0,0,12,Frandom(4,-4),Frandom(4,-4),Frandom(1,2),0,SXF_NOCHECKPOSITION)
	TNT1 A 0 A_SpawnItemEx("SpawnedMedikit",0,0,12,Frandom(4,-4),Frandom(4,-4),Frandom(1,2),0,SXF_NOCHECKPOSITION)
	TNT1 A 0 A_SpawnItemEx("SpawnedMedikit",0,0,12,Frandom(4,-4),Frandom(4,-4),Frandom(1,2),0,SXF_NOCHECKPOSITION)
	TNT1 A 0 A_SpawnItemEx("SpawnedMedikit",0,0,12,Frandom(4,-4),Frandom(4,-4),Frandom(1,2),0,SXF_NOCHECKPOSITION)
	TNT1 A 0 A_SpawnItemEx("SpawnedMedikit",0,0,12,Frandom(4,-4),Frandom(4,-4),Frandom(1,2),0,SXF_NOCHECKPOSITION)
	TNT1 A 0 A_SpawnItemEx("SpawnedMedikit",0,0,12,Frandom(4,-4),Frandom(4,-4),Frandom(1,2),0,SXF_NOCHECKPOSITION)
	TNT1 A 0 A_SpawnItemEx("SpawnedMedikit",0,0,12,Frandom(4,-4),Frandom(4,-4),Frandom(1,2),0,SXF_NOCHECKPOSITION)
	TNT1 A 0 A_SpawnItemEx("SpawnedMedikit",0,0,12,Frandom(4,-4),Frandom(4,-4),Frandom(1,2),0,SXF_NOCHECKPOSITION)
	TNT1 A 0 A_SpawnItemEx("SpawnedMedikit",0,0,12,Frandom(4,-4),Frandom(4,-4),Frandom(1,2),0,SXF_NOCHECKPOSITION)
	TNT1 A 0 A_SpawnItemEx("SpawnedMedikit",0,0,12,Frandom(4,-4),Frandom(4,-4),Frandom(1,2),0,SXF_NOCHECKPOSITION)
	TNT1 A 0 A_SpawnItemEx("SpawnedMedikit",0,0,12,Frandom(4,-4),Frandom(4,-4),Frandom(1,2),0,SXF_NOCHECKPOSITION)
	TNT1 A 0 A_SpawnItemEx("SpawnedMedikit",0,0,12,Frandom(4,-4),Frandom(4,-4),Frandom(1,2),0,SXF_NOCHECKPOSITION)
	TNT1 A 0 A_SpawnItemEx("SpawnedMedikit",0,0,12,Frandom(4,-4),Frandom(4,-4),Frandom(1,2),0,SXF_NOCHECKPOSITION)
	TNT1 A 0 A_SpawnItemEx("SpawnedMedikit",0,0,12,Frandom(4,-4),Frandom(4,-4),Frandom(1,2),0,SXF_NOCHECKPOSITION)
	TNT1 A 0 A_SpawnItemEx("SpawnedMedikit",0,0,12,Frandom(4,-4),Frandom(4,-4),Frandom(1,2),0,SXF_NOCHECKPOSITION)
	TNT1 A 0 A_SpawnItemEx("SpawnedMedikit",0,0,12,Frandom(4,-4),Frandom(4,-4),Frandom(1,2),0,SXF_NOCHECKPOSITION)
	TNT1 A 0 A_SpawnItemEx("BlueArmor",0,0,12,Frandom(4,-4),Frandom(4,-4),Frandom(1,2),0,SXF_NOCHECKPOSITION)
	TNT1 A 0 A_SpawnItemEx("GreenArmor",0,0,12,Frandom(4,-4),Frandom(4,-4),Frandom(1,2),0,SXF_NOCHECKPOSITION)
	TNT1 A 0 A_SpawnItemEx("GreenArmor",0,0,12,Frandom(4,-4),Frandom(4,-4),Frandom(1,2),0,SXF_NOCHECKPOSITION)
	TNT1 A 0 A_SpawnItemEx("GreenArmor",0,0,12,Frandom(4,-4),Frandom(4,-4),Frandom(1,2),0,SXF_NOCHECKPOSITION)
	TNT1 A 0 A_SpawnItemEx("Gunspawner14",0,0,12,Frandom(4,-4),Frandom(4,-4),Frandom(1,2),0,SXF_NOCHECKPOSITION)
	TNT1 A 0 A_SpawnItemEx("Gunspawner14",0,0,12,Frandom(4,-4),Frandom(4,-4),Frandom(1,2),0,SXF_NOCHECKPOSITION)
	TNT1 A 0 A_SpawnItemEx("Gunspawner14",0,0,12,Frandom(4,-4),Frandom(4,-4),Frandom(1,2),0,SXF_NOCHECKPOSITION)
	TNT1 A 0 A_SpawnItemEx("Gunspawner11",0,0,12,Frandom(4,-4),Frandom(4,-4),Frandom(1,2),0,SXF_NOCHECKPOSITION)
	TNT1 A 0 A_SpawnItemEx("Gunspawner7",0,0,12,Frandom(4,-4),Frandom(4,-4),Frandom(1,2),0,SXF_NOCHECKPOSITION)
	TNT1 A 0 A_SpawnItemEx("AllAmmoCache",0,0,12,Frandom(4,-4),Frandom(4,-4),Frandom(1,2),0,SXF_NOCHECKPOSITION)
	TNT1 A 0 A_SpawnItemEx("AllAmmoCache",0,0,12,Frandom(4,-4),Frandom(4,-4),Frandom(1,2),0,SXF_NOCHECKPOSITION)
	TNT1 A 0 A_SpawnItemEx("AllAmmoCache",0,0,12,Frandom(4,-4),Frandom(4,-4),Frandom(1,2),0,SXF_NOCHECKPOSITION)
	TNT1 A 0 A_SpawnItemEx("AllAmmoCache",0,0,12,Frandom(4,-4),Frandom(4,-4),Frandom(1,2),0,SXF_NOCHECKPOSITION)
	TNT1 A 0 A_SpawnItemEx("AllAmmoCache",0,0,12,Frandom(4,-4),Frandom(4,-4),Frandom(1,2),0,SXF_NOCHECKPOSITION)
	TNT1 A 0 A_SpawnItemEx("AllAmmoCache",0,0,12,Frandom(4,-4),Frandom(4,-4),Frandom(1,2),0,SXF_NOCHECKPOSITION)
	TNT1 A 0 A_SpawnItemEx("Claymore",0,0,12,Frandom(4,-4),Frandom(4,-4),Frandom(1,2),0,SXF_NOCHECKPOSITION)
	TNT1 A 0 A_SpawnItemEx("Claymore",0,0,12,Frandom(4,-4),Frandom(4,-4),Frandom(1,2),0,SXF_NOCHECKPOSITION)
	TNT1 A 0 A_SpawnItemEx("Claymore",0,0,12,Frandom(4,-4),Frandom(4,-4),Frandom(1,2),0,SXF_NOCHECKPOSITION)
	TNT1 A 0 A_SpawnItemEx("Claymore",0,0,12,Frandom(4,-4),Frandom(4,-4),Frandom(1,2),0,SXF_NOCHECKPOSITION)
	TNT1 A 0 A_SpawnItemEx("Claymore",0,0,12,Frandom(4,-4),Frandom(4,-4),Frandom(1,2),0,SXF_NOCHECKPOSITION)
	TNT1 A 0 A_SpawnItemEx("Claymore",0,0,12,Frandom(4,-4),Frandom(4,-4),Frandom(1,2),0,SXF_NOCHECKPOSITION)
	TNT1 A 0 A_SpawnItemEx("Claymore",0,0,12,Frandom(4,-4),Frandom(4,-4),Frandom(1,2),0,SXF_NOCHECKPOSITION)
	TNT1 A 0 A_SpawnItemEx("Claymore",0,0,12,Frandom(4,-4),Frandom(4,-4),Frandom(1,2),0,SXF_NOCHECKPOSITION)
	TNT1 A 0 A_SpawnItemEx("Claymore",0,0,12,Frandom(4,-4),Frandom(4,-4),Frandom(1,2),0,SXF_NOCHECKPOSITION)
	TNT1 A 0 A_SpawnItemEx("Claymore",0,0,12,Frandom(4,-4),Frandom(4,-4),Frandom(1,2),0,SXF_NOCHECKPOSITION)
	TNT1 A 0 A_SpawnItemEx("Claymore",0,0,12,Frandom(4,-4),Frandom(4,-4),Frandom(1,2),0,SXF_NOCHECKPOSITION)
	TNT1 A 0 A_SpawnItemEx("Claymore",0,0,12,Frandom(4,-4),Frandom(4,-4),Frandom(1,2),0,SXF_NOCHECKPOSITION)
	TNT1 A 0 A_SpawnItemEx("KSBoxSpawner",0,0,12,Frandom(4,-4),Frandom(4,-4),Frandom(1,2),0,SXF_NOCHECKPOSITION)
	CARE B 8 A_FadeOut(0.7)
	Stop
Nope:
	TNT1 A 0
	Fail
	}
}

actor CarePackageDesignator : Weapon
{
  obituary "%o somehow died by the phone."
  weapon.selectionorder 999
  weapon.kickback 25
  //+WEAPON.WIMPY_WEAPON
  +WEAPON.MELEEWEAPON
  +WEAPON.NOALERT
  +CHEATNOTWEAPON
  states
  {
  Ready:
	TNT1 A 0 A_Print("Make sure the sky is visible and designate coordinates for the care package.")
    GRNA L 0 A_TakeInventory("Reloading",1)
    U45A L 0 A_JumpIfInventory("ThrowingGrenade",1,"FragGrenade")
    U45A L 0 A_JumpIfInventory("KnifeAttack",1,"KnifeAttack")
	PHNC A 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNC A 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNC B 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNC B 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNC C 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	U45A L 0 A_JumpIfInventory("ThrowingGrenade",1,"FragGrenade")
    U45A L 0 A_JumpIfInventory("KnifeAttack",1,"KnifeAttack")
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNC C 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNC D 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNC D 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNC E 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNC E 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	U45A L 0 A_JumpIfInventory("ThrowingGrenade",1,"FragGrenade")
    U45A L 0 A_JumpIfInventory("KnifeAttack",1,"KnifeAttack")
	PHNC F 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNC F 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNC G 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNC G 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNC H 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNC H 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	U45A L 0 A_JumpIfInventory("ThrowingGrenade",1,"FragGrenade")
    U45A L 0 A_JumpIfInventory("KnifeAttack",1,"KnifeAttack")
	PHNC I 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNC I 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNC J 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNC J 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNC K 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	U45A L 0 A_JumpIfInventory("ThrowingGrenade",1,"FragGrenade")
    U45A L 0 A_JumpIfInventory("KnifeAttack",1,"KnifeAttack")
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNC K 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNC L 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNC L 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNC M 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNC M 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	U45A L 0 A_JumpIfInventory("ThrowingGrenade",1,"FragGrenade")
    U45A L 0 A_JumpIfInventory("KnifeAttack",1,"KnifeAttack")
	PHNC N 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNC N 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNC O 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNC O 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNC P 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNC P 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	U45A L 0 A_JumpIfInventory("ThrowingGrenade",1,"FragGrenade")
    U45A L 0 A_JumpIfInventory("KnifeAttack",1,"KnifeAttack")
    Goto Ready+1
  Zoom:
  Deselect:
    TNT1 AA 0 A_Lower
    PHNA S 1 A_Lower
	TNT1 A 0 A_TakeInventory("CarePackageDesignator",1)
    stop
  Select: 
    PHNA A 0 A_Raise
    loop
  Fire:
    KNFA B 0 A_PlaySound("Desbeeps")
    MSLB A 0 A_FireCustomMissile("CarePackageMarker",0,0,0,0,0,0)
	TNT1 A 0 A_TakeInventory("CarePackageKillstreak",1)
	TNT1 A 0 A_TakeInventory("CarePackageDesignator",1) 
    Goto Ready
  DoNothing:
    PHNS A 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	PHNA S 5
    Goto Ready
  Altfire:
    U45A L 0 A_JumpIfInventory("InPredator",1,"DoNothing")
	Goto Ready
  FragGrenade:
    U45F A 0 ACS_NamedExecuteAlways("RefSpeak",0,1,0,0)
    U45F A 0 A_ZoomFactor(1.0)
    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
    Goto Ready+2
  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
    Goto Ready+2
  KnifeAttack:
    GRNA L 0 A_TakeInventory("weapondropper",2)
    U45F A 0 A_ZoomFactor(1.0)
    U45A L 0 A_JumpIfInventory("ThrowingGrenade",1,"FragGrenade")
    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)
    Goto Ready+2
  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)
    Goto Ready+2
  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)
    Goto Ready+2
  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)
    Goto Ready+2
  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
    Goto Ready+2
  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
    Goto Ready+2
  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
    Goto Ready+2
  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
    Goto Ready+2
  }
}

actor PrecisionAirstrikeKillstreak : CustomInventory
{
 +INVBAR
 -INVENTORY.INTERHUBSTRIP
  Inventory.DefMaxAmount 
  Inventory.MaxAmount 9
  Inventory.PickupFlash "PickupFlash"
  Inventory.icon "AICOA0"
  Inventory.pickupmessage "Precision Airstrike Clearance"
  Inventory.RespawnTics 9999999999999999
  Inventory.InterHubAmount 9
  inventory.pickupsound "Clonegiv"
  Scale 0.1
  states
  {
  Spawn:
    KSIC A -1 
    stop  
  Use:
	TNT1 A 0 A_GiveInventory("PrecisionAirstrikeDesignator",1)
	TNT1 A 0 ACS_NamedExecuteAlways("SetAirstrikeDesignator",0,0,0,0) //Have to do this wacky workaround BS because A_Selectweapon is causing a desync online
	Fail
  }
}

actor AirstrikeMainBomb
{
    PROJECTILE
    -RANDOMIZE
    +FULLVOLDEATH
    +PUFFGETSOWNER
    Radius 11
    Height 8
    Speed 72
    Damage (887)
    Gravity 1.0
    SeeSound "Airstri2"
    DeathSound "Airstri2"
    DamageType "Explosion"
    Scale 1.25
    Obituary ""

    States
    {
    Spawn:
        TNT1 A 1 A_Die
		Goto Death        
	Death:
		TNT1 A 0 A_Explode(200, 300, XF_HURTSOURCE)
        TNT1 A 0 A_Explode(150, 700, XF_HURTSOURCE)
        TNT1 A 0 A_Explode(100, 1500, XF_HURTSOURCE)
        TNT1 A 0 Radius_Quake (7, 35, 0, 50, 0)
		TNT1 A 0 A_PlaySoundEx("Airstri2","SoundSlot5")
		TNT1 A 0 A_PlaySoundEx("distant/explosionsmall","SoundSlot6")
		TNT1 AAA 0 A_SpawnItemEx("ExplosionMain",random(-8,8),random(-8,8),0)
		TNT1 A 0 A_SpawnItemEx("RailHyperSmokeFloor", random(-32,32), random(-32,32), random(-16,24), random(-5,5), random(-5,5), random(-3,4), 0, 128, 0)
		TNT1 A 0 A_SpawnItemEx("RailHyperSmokeFloor", random(-32,32), random(-32,32), random(-16,24), random(-5,5), random(-5,5), random(-3,4), 0, 128, 0)
		TNT1 A 0 A_SpawnItemEx("RailHyperSmokeFloor", random(-32,32), random(-32,32), random(-16,24), random(-5,5), random(-5,5), random(-3,4), 0, 128, 0)
		TNT1 A 0 A_SetTranslucent (0.75, 2)
		NKE1 ABCDEFGHIJKLMN 4 BRIGHT
		NKE1 OPQRSTU 4 BRIGHT A_FadeOut(0.05)
        TNT1 A 5 A_Explode(25, 1500, XF_HURTSOURCE)
        Stop
    }
}

ACTOR PrecisionAirstrikeMarker
{
    Radius 8
    Height 8
    Speed 190
    Damage 0

    +MISSILE
    +NOGRAVITY
    +NOBLOCKMAP
    +DONTSPLASH
    +NOBLOOD
    States
    {
    Spawn:
        TNT1 A 1
        Loop

    Death:
        TNT1 A 140

    Strike:
		TNT1 A 1 A_Explode (2550, 412)
		TNT1 A 1 A_Explode (2000, 812)
		TNT1 A 1 A_Explode (430, 1412)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-1396,1396), random(-1396,1396), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-1396,1396), random(-1396,1396), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-1396,1396), random(-1396,1396), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-1396,1396), random(-1396,1396), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-1396,1396), random(-1396,1396), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-1396,1396), random(-1396,1396), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-1396,1396), random(-1396,1396), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-1396,1396), random(-1396,1396), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
		TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-1396,1396), random(-1396,1396), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-1396,1396), random(-1396,1396), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-1396,1396), random(-1396,1396), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-1396,1396), random(-1396,1396), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
		TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-1396,1396), random(-1396,1396), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-1396,1396), random(-1396,1396), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-1396,1396), random(-1396,1396), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-1396,1396), random(-1396,1396), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
		TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-1396,1396), random(-1396,1396), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-1396,1396), random(-1396,1396), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-1396,1396), random(-1396,1396), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-1396,1396), random(-1396,1396), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
		TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-1396,1396), random(-1396,1396), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-1396,1396), random(-1396,1396), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-1396,1396), random(-1396,1396), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-1396,1396), random(-1396,1396), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
		TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-1396,1396), random(-1396,1396), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-1396,1396), random(-1396,1396), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-1396,1396), random(-1396,1396), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-1396,1396), random(-1396,1396), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
		TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-1396,1396), random(-1396,1396), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-1396,1396), random(-1396,1396), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-1396,1396), random(-1396,1396), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-1396,1396), random(-1396,1396), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
		TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-1396,1396), random(-1396,1396), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-1396,1396), random(-1396,1396), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-1396,1396), random(-1396,1396), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-1396,1396), random(-1396,1396), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
		TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-1396,1396), random(-1396,1396), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-1396,1396), random(-1396,1396), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-1396,1396), random(-1396,1396), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-1396,1396), random(-1396,1396), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
		TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-1396,1396), random(-1396,1396), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
		TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-1396,1396), random(-1396,1396), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-1396,1396), random(-1396,1396), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-1396,1396), random(-1396,1396), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-1396,1396), random(-1396,1396), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_Die
        Stop
    }
}

ACTOR PrecisionAirstrikeHoming 
{
	-EXPLODEONWATER
	-NOEXTREMEDEATH
	+MOVEWITHSECTOR
    +DONTSPLASH
	+HITTRACER
	Damage 0
	Projectile
	Radius 0
    Height 0
	speed 150
	Scale .77
	Damagetype ExplosiveImpact
	DeathSound ""
	States
	{
		Spawn:
			TNT1 A 0
			Goto Stuck
			
		Bounce:
		Death:
		Stuck:
			TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT A_Stop
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAA 1 BRIGHT
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			RACS AAAAA 1 BRIGHT 
			TNT1 A 0		A_Warp(AAPTR_TRACER,0,0,20,0,WARPF_NOCHECKPOSITION)
			Goto Detonate
	
		XDeath:
		Bounce.Creature:
			Goto Stuck
			
		Detonate:
		TNT1 A 0 A_SpawnItemEx("AirstrikeMainBomb", 0,0,12, 0,0,-16)
		TNT1 A 1 A_Explode (2550, 412)
		TNT1 A 1 A_Explode (2000, 812)
		TNT1 A 1 A_Explode (430, 1412)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-1096,1096), random(-1096,1096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-1096,1096), random(-1096,1096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-1096,1096), random(-1096,1096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-1096,1096), random(-1096,1096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-1096,1096), random(-1096,1096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-1096,1096), random(-1096,1096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
		TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-1096,1096), random(-1096,1096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-1096,1096), random(-1096,1096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-1096,1096), random(-1096,1096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
		TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-1096,1096), random(-1096,1096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-1096,1096), random(-1096,1096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-1096,1096), random(-1096,1096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
		TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-1096,1096), random(-1096,1096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-1096,1096), random(-1096,1096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-1096,1096), random(-1096,1096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
		TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-1096,1096), random(-1096,1096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-1096,1096), random(-1096,1096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-1096,1096), random(-1096,1096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
		TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-1096,1096), random(-1096,1096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-1096,1096), random(-1096,1096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-1096,1096), random(-1096,1096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
		TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-1096,1096), random(-1096,1096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-1096,1096), random(-1096,1096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-1096,1096), random(-1096,1096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
		TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-1096,1096), random(-1096,1096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-1096,1096), random(-1096,1096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-1096,1096), random(-1096,1096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
		TNT1 A 1 A_SpawnItemEx("StealthBomberShockwave", random(-1096,1096), random(-1096,1096), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
        TNT1 A 1 A_Die
		TNT1 A 5
		Stop
	}
}

actor PrecisionAirstrikeDesignator : Weapon
{
  obituary "%o somehow died by the phone."
  weapon.selectionorder 999
  weapon.kickback 25
  //+WEAPON.WIMPY_WEAPON
  +WEAPON.MELEEWEAPON
  +WEAPON.NOALERT
  +CHEATNOTWEAPON
  states
  {
  Ready:
    GRNA L 0 A_TakeInventory("Reloading",1)
    U45A L 0 A_JumpIfInventory("ThrowingGrenade",1,"FragGrenade")
    U45A L 0 A_JumpIfInventory("KnifeAttack",1,"KnifeAttack")
	PHNY A 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotred",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNY A 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotred",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNY A 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotred",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNY A 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotred",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNY A 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotred",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNY A 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotred",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNY A 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotred",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNY A 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotred",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNY A 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotred",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNY A 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotred",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNY A 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotred",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNY A 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotred",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNY B 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotred",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNY B 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotred",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNY C 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	U45A L 0 A_JumpIfInventory("ThrowingGrenade",1,"FragGrenade")
    U45A L 0 A_JumpIfInventory("KnifeAttack",1,"KnifeAttack")
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotred",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNY C 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotred",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNY D 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotred",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNY D 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotred",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNY E 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotred",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNY E 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotred",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	U45A L 0 A_JumpIfInventory("ThrowingGrenade",1,"FragGrenade")
    U45A L 0 A_JumpIfInventory("KnifeAttack",1,"KnifeAttack")
	PHNY F 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotred",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNY F 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotred",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNY G 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotred",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNY G 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotred",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNY H 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotred",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNY H 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotred",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	U45A L 0 A_JumpIfInventory("ThrowingGrenade",1,"FragGrenade")
    U45A L 0 A_JumpIfInventory("KnifeAttack",1,"KnifeAttack")
	PHNY I 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotred",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNY I 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotred",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNY J 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotred",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNY J 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotred",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNY K 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	U45A L 0 A_JumpIfInventory("ThrowingGrenade",1,"FragGrenade")
    U45A L 0 A_JumpIfInventory("KnifeAttack",1,"KnifeAttack")
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotred",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNY K 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotred",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNY L 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotred",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNY L 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotred",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNY A 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotred",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNY A 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotred",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNY L 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotred",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNY L 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDotred",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	U45A L 0 A_JumpIfInventory("ThrowingGrenade",1,"FragGrenade")
    U45A L 0 A_JumpIfInventory("KnifeAttack",1,"KnifeAttack")
    loop
  Zoom:
  Deselect:
    TNT1 AA 0 A_Lower
    PHNA S 1 A_Lower
	TNT1 A 0 A_TakeInventory("PrecisionAirstrikeDesignator",1)
    stop
  Select: 
    PHNA A 0 A_Raise
    loop
  Fire:
    RLGG E 0 A_JumpIfTargetInLOS("FireHoming", 0, JLOSF_NOAUTOAIM)
    KNFA B 0 A_PlaySound("Desbeeps")
    MSLB A 0 A_FireCustomMissile("PrecisionAirstrikeMarker",0,0,0,0,0,0)
	U45F A 0 ACS_NamedExecuteAlways("PrecisionAirstrike",0,0,0,0)
	TNT1 A 0 A_TakeInventory("PrecisionAirstrikeKillstreak",1)
	TNT1 A 0 A_TakeInventory("PrecisionAirstrikeDesignator",1) 
    Goto Ready
  FireHoming:
    KNFA B 0 A_PlaySound("Desbeeps")
    MSLB A 0 A_FireCustomMissile("PrecisionAirstrikeHoming",0,0,0,0,0,0)
	U45F A 0 ACS_NamedExecuteAlways("PrecisionAirstrike",0,0,0,0)
	TNT1 A 0 A_Print("Coordinates recieved - engaging")
	TNT1 A 0 A_TakeInventory("PrecisionAirstrikeKillstreak",1)
	TNT1 A 0 A_TakeInventory("PrecisionAirstrikeDesignator",1) 
    Goto Ready
  DoNothing:
    PHNS A 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	PHNA S 5
    Goto Ready
  Altfire:
    U45A L 0 A_JumpIfInventory("InPredator",1,"DoNothing")
	Goto Ready
  FragGrenade:
    U45F A 0 ACS_NamedExecuteAlways("RefSpeak",0,1,0,0)
    U45F A 0 A_ZoomFactor(1.0)
    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
    Goto Ready+2
  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
    Goto Ready+2
  KnifeAttack:
    GRNA L 0 A_TakeInventory("weapondropper",2)
    U45F A 0 A_ZoomFactor(1.0)
    U45A L 0 A_JumpIfInventory("ThrowingGrenade",1,"FragGrenade")
    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)
    Goto Ready+2
  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)
    Goto Ready+2
  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)
    Goto Ready+2
  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)
    Goto Ready+2
  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
    Goto Ready+2
  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
    Goto Ready+2
  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
    Goto Ready+2
  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
    Goto Ready+2
  }
}

actor HHCBVTOL : HHBullet
{
  damage (random(4,8))
  Speed 300
  States
  {
  Spawn:
    TNT1 A 10
    TNT1 A 5 A_ScaleVelocity(0.67)
    stop
  Death:
    TNT1 A 0 A_SpawnItemEx("ImpactSmokePuff", 0, 0, 0, 0, 0, 0, 0, 128, 0)
    TNT1 A 5 A_PlaySound("generic/ricochet")
    stop
  XDeath:
    TNT1 A 0 A_GiveToTarget("HitIndicator",1)
    TNT1 A 5 A_PlaySound("generic/ricochets")
    stop
  Crash:
    TNT1 A 0 A_GiveToTarget("HitIndicator",1)
    TNT1 A 0 A_SpawnItemEx("ImpactSmokePuff_2", 0, 0, 0, 0, 0, 0, 0, 128, 0)
    TNT1 A 5 A_PlaySound("generic/ricochet")
    stop
  }
}

actor VTOLAircraft
{
  Obituary "%o was accidentally killed by a VTOL aircraft."
  Health 1250
  Radius 340
  Height 180
  DeathHeight 14
  BurnHeight 14
  Mass 2000
  Speed 0
  ReactionTime 10
  MinMissileChance 211
  Scale 2.8
  PainChance 0
  PainChance "Dragon", 75
  PainChance "DragonF", 75
  PainChance "Dragonsplosion", 75
  PainChance "RGAFire", 75
  PainChance "Knife", 255
  PainChance "Explosion", 255
  PainChance "ExplosionF", 255
  PainChance "ExplosionC", 255
  PainChance "NormalExplode", 255
  PainChance "Stun", 255
  PainChance "Stun2", 255
  PainChance "Stun3", 255
  DamageFactor "Cyber", 1.8
  DamageFactor "BuildFriendDamage", 2.0
  DamageFactor "SewUpYou", 2.0
  DamageFactor "Rifle", 0.0
  DamageFactor "Sniper", 0.0
  DamageFactor "LMG", 0.0
  DamageFactor "Shotgungib", 0.0
  DamageFactor "Shotgun", 0.0
  DamageFactor "BigPistol", 0.0
  DamageFactor "Dragon", 0.0
  DamageFactor "RGABullet", 0.0
  DamageFactor "Stun", 0.0
  //SeeSound "player/hurt"
  //AttackSound "u45/fire"
  //PainSound "commando/death"
  DeathSound "VTOL2"
  ActiveSound "VTOL1"
  DamageFactor "Step", 0.0
  MONSTER
    +FRIENDLY
	+FLOORCLIP
	-NORADIUSDMG
	+QUICKTORETALIATE
    +NOBLOCKMONST 
    +DONTHURTSPECIES
	+THRUSPECIES
    +FIXMAPTHINGPOS 
	+LOOKALLAROUND
	+CANNOTPUSH
	-PUSHABLE
	-COUNTKILL
	+DONTSPLASH
	+FIXMAPTHINGPOS
	+NORADIUSDMG
	+USESPECIAL
	+MTHRUSPECIES
	+DONTHURTSPECIES
	+NEVERFAST
	+NOTIMEFREEZE
	+GHOST
	+SPAWNCEILING
	+NOGRAVITY
	+NOBLOOD
	+SHOOTABLE
	-SOLID
	+NOICEDEATH
	+NOCLIP
	//+INTERPOLATEANGLES
	//+DONTTHRUST
	//Both of these not compatible in Zandro
  States
  {
  	Spawn:
		TNT1 A 0 A_GiveInventory("MG4Clip",1)
		TNT1 A 35
		TNT1 A 0 A_PlaySound("VTOL1",CHAN_BODY,4.0,true,0.4)
		GVTO A 120
		TNT1 A 0 A_SpawnItemEx("CarePackageBoxOnline", random(-96,96), random(-96,96), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
		GVTO A 48
		TNT1 A 0 A_SpawnItemEx("KSBoxSpawner", random(-96,96), random(-96,96), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
		GVTO A 32
		TNT1 A 0 A_SpawnItemEx("KSBoxSpawner", random(-96,96), random(-96,96), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
		GVTO A 30
		TNT1 A 0 A_SpawnItemEx("KSBoxSpawner", random(-96,96), random(-96,96), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
		GVTO A 28
		TNT1 A 0 A_SpawnItemEx("KSBoxSpawner", random(-96,96), random(-96,96), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
		TNT1 A 0 A_TakeInventory("MG4Clip",1)
		GVTO A 44 
		Goto See
	DropStuff:
		TNT1 A 0 A_PlaySound("VTOL1",CHAN_BODY,4.0,true,0.4)
		GVTO A 120
		TNT1 A 0 A_SpawnItemEx("CarePackageBoxOnline", random(-96,96), random(-96,96), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
		GVTO A 48
		TNT1 A 0 A_SpawnItemEx("KSBoxSpawner", random(-96,96), random(-96,96), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
		GVTO A 32
		TNT1 A 0 A_SpawnItemEx("KSBoxSpawner", random(-96,96), random(-96,96), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
		GVTO A 30
		TNT1 A 0 A_SpawnItemEx("KSBoxSpawner", random(-96,96), random(-96,96), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
		GVTO A 28
		TNT1 A 0 A_SpawnItemEx("KSBoxSpawner", random(-96,96), random(-96,96), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
		TNT1 A 0 A_TakeInventory("MG4Clip",1)
	See:
		TNT1 A 0 A_ChangeFlag("NODROPOFF", 0)	
		TNT1 A 0 A_ChangeFLag("FRIENDLY", 1)
		GVTO AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 1 A_Chase
		TNT1 A 0 A_GiveInventory("M240Clip2",1)
		TNT1 A 0 A_JumpIfInventory("MG4Clip", 1, "DropStuff")
		TNT1 A 0 A_JumpIfInventory("M240Clip2", 200, "Depart")
		TNT1 A 0 A_JumpIf (health < 66, "Depart")
		TNT1 A 0 A_JumpIf (health < 220, "SeeDamaged")
		Goto See
	SeeDamaged:
		TNT1 A 0 A_ChangeFlag("NODROPOFF", 0)	
		TNT1 A 0 A_ChangeFLag("FRIENDLY", 1)
		GVTO A 0 A_SpawnItemEx("RailHyperSmokeFloor", random(-96,96), random(-96,96), random(70,110), 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
		GVTO AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 1 A_Chase
		TNT1 A 0 A_GiveInventory("M240Clip2",23)
		TNT1 A 0 A_JumpIfInventory("M240Clip2", 100, "Depart")
		Goto See
	Missile:
		TNT1 A 0 A_JumpIf (health < 66, "Depart")
		TNT1 A 0 A_JumpIf (health < 220, "Missile2")
		TNT1 A 0 A_TakeInventory("M240Clip2",5)
		GVTO A 1
		GVTO A 6 A_FaceTarget
        TNT1 A 0 A_CustomMissile("HHCBVTOL", 10)
        TNT1 A 0 A_PlaySound("VTOL3",5,4.0,false,0.3)
		GVTO A 1 
        TNT1 A 0 A_CustomMissile("HHCBVTOL", 12)
        TNT1 A 0 A_CustomMissile("HHCBVTOL", 12)
		GVTO A 1 
        TNT1 A 0 A_CustomMissile("HHCBVTOL", 12)
        TNT1 A 0 A_CustomMissile("HHCBVTOL", 12)
		GVTO A 1 
        TNT1 A 0 A_CustomMissile("HHCBVTOL", 12)
        TNT1 A 0 A_CustomMissile("HHCBVTOL", 12)
		GVTO A 1 
        TNT1 A 0 A_CustomMissile("HHCBVTOL", 12)
        TNT1 A 0 A_CustomMissile("HHCBVTOL", 12)
		GVTO A 1 
        TNT1 A 0 A_CustomMissile("HHCBVTOL", 12)
        TNT1 A 0 A_CustomMissile("HHCBVTOL", 12)
		GVTO A 1 
        TNT1 A 0 A_CustomMissile("HHCBVTOL", 12)
        TNT1 A 0 A_CustomMissile("HHCBVTOL", 12)
		GVTO A 1 
        TNT1 A 0 A_CustomMissile("HHCBVTOL", 12)
        TNT1 A 0 A_CustomMissile("HHCBVTOL", 12)
		GVTO A 1 
        TNT1 A 0 A_CustomMissile("HHCBVTOL", 12)
        TNT1 A 0 A_CustomMissile("HHCBVTOL", 12)
		GVTO A 1 
        TNT1 A 0 A_CustomMissile("HHCBVTOL", 12)
        TNT1 A 0 A_CustomMissile("HHCBVTOL", 12)
		GVTO A 1 
        TNT1 A 0 A_CustomMissile("HHCBVTOL", 12)
        TNT1 A 0 A_CustomMissile("HHCBVTOL", 12)
		GVTO A 1 
        TNT1 A 0 A_CustomMissile("HHCBVTOL", 12)
        TNT1 A 0 A_CustomMissile("HHCBVTOL", 12)
		GVTO A 1 
        TNT1 A 0 A_CustomMissile("HHCBVTOL", 12)
        TNT1 A 0 A_CustomMissile("HHCBVTOL", 12)
		GVTO A 1 
        TNT1 A 0 A_CustomMissile("HHCBVTOL", 12)
        TNT1 A 0 A_CustomMissile("HHCBVTOL", 12)
		GVTO A 1 
        TNT1 A 0 A_CustomMissile("HHCBVTOL", 12)
        TNT1 A 0 A_CustomMissile("HHCBVTOL", 12)
		GVTO A 1 
        TNT1 A 0 A_CustomMissile("HHCBVTOL", 12)
        TNT1 A 0 A_CustomMissile("HHCBVTOL", 12)
		GVTO A 1 
        TNT1 A 0 A_CustomMissile("HHCBVTOL", 12)
        TNT1 A 0 A_CustomMissile("HHCBVTOL", 12)
		GVTO A 1 
        TNT1 A 0 A_CustomMissile("HHCBVTOL", 12)
        TNT1 A 0 A_CustomMissile("HHCBVTOL", 12)
		TNT1 A 0 A_JumpIf (health < 220, "SeeDamaged")
		Goto See
	Missile2:
		TNT1 A 0 A_JumpIfInTargetInventory("TargetIsACyberdemon", 1, "Depart")
		TNT1 A 0 A_JumpIfInTargetInventory("TargetIsAMastermind", 1, "Depart")
		TNT1 A 0 A_TakeInventory("M240Clip2",5)
		GVTO A 1
		GVTO A 6 A_FaceTarget
        TNT1 A 0 A_CustomMissile("HHCBVTOL", 10)
        TNT1 A 0 A_PlaySound("VTOL3",5,4.0,false,0.3)
		GVTO A 1 
        TNT1 A 0 A_CustomMissile("HHCBVTOL", 12)
        TNT1 A 0 A_CustomMissile("HHCBVTOL", 12)
		GVTO A 1 
        TNT1 A 0 A_CustomMissile("HHCBVTOL", 12)
        TNT1 A 0 A_CustomMissile("HHCBVTOL", 12)
		GVTO A 1 
        TNT1 A 0 A_CustomMissile("HHCBVTOL", 12)
        TNT1 A 0 A_CustomMissile("HHCBVTOL", 12)
		GVTO A 1 
        TNT1 A 0 A_CustomMissile("HHCBVTOL", 12)
        TNT1 A 0 A_CustomMissile("HHCBVTOL", 12)
		GVTO A 1 
        TNT1 A 0 A_CustomMissile("HHCBVTOL", 12)
        TNT1 A 0 A_CustomMissile("HHCBVTOL", 12)
		GVTO A 1 
        TNT1 A 0 A_CustomMissile("HHCBVTOL", 12)
        TNT1 A 0 A_CustomMissile("HHCBVTOL", 12)
		GVTO A 1 
        TNT1 A 0 A_CustomMissile("HHCBVTOL", 12)
        TNT1 A 0 A_CustomMissile("HHCBVTOL", 12)
		GVTO A 1 
        TNT1 A 0 A_CustomMissile("HHCBVTOL", 12)
        TNT1 A 0 A_CustomMissile("HHCBVTOL", 12)
		GVTO A 1 
        TNT1 A 0 A_CustomMissile("HHCBVTOL", 12)
        TNT1 A 0 A_CustomMissile("HHCBVTOL", 12)
		GVTO A 1 
        TNT1 A 0 A_CustomMissile("HHCBVTOL", 12)
        TNT1 A 0 A_CustomMissile("HHCBVTOL", 12)
		GVTO A 1 
        TNT1 A 0 A_CustomMissile("HHCBVTOL", 12)
        TNT1 A 0 A_CustomMissile("HHCBVTOL", 12)
		GVTO A 1 
        TNT1 A 0 A_CustomMissile("HHCBVTOL", 12)
        TNT1 A 0 A_CustomMissile("HHCBVTOL", 12)
		GVTO A 1 
        TNT1 A 0 A_CustomMissile("HHCBVTOL", 12)
        TNT1 A 0 A_CustomMissile("HHCBVTOL", 12)
		GVTO A 1 
        TNT1 A 0 A_CustomMissile("HHCBVTOL", 12)
        TNT1 A 0 A_CustomMissile("HHCBVTOL", 12)
		GVTO A 1 
        TNT1 A 0 A_CustomMissile("HHCBVTOL", 12)
        TNT1 A 0 A_CustomMissile("HHCBVTOL", 12)
		GVTO A 1 
        TNT1 A 0 A_CustomMissile("HHCBVTOL", 12)
        TNT1 A 0 A_CustomMissile("HHCBVTOL", 12)
		GVTO A 1 
        TNT1 A 0 A_CustomMissile("HHCBVTOL", 12)
        TNT1 A 0 A_CustomMissile("HHCBVTOL", 12)
		TNT1 A 0 A_JumpIf (health < 220, "SeeDamaged")
		Goto See
  Depart:
        TNT1 A 0
		TNT1 A 0 A_ChangeFlag("NOCLIP", 1)
		GVTO A 0 A_Recoil(-2)
		GVTO A 8
		GVTO A 0 A_Recoil(-3)
		GVTO A 8
		GVTO A 0 A_Recoil(-4)
		GVTO A 8
		GVTO A 0 A_Recoil(-5)
		GVTO A 8
		GVTO A 0 A_Recoil(-8)
		GVTO A 8
		GVTO A 0 A_Recoil(-12)
		GVTO A 8
		GVTO A 0 A_Recoil(-13)
		GVTO A 8
		GVTO A 0 A_Recoil(-15)
		GVTO A 255
		Stop
  Die:
    GVTO A 0 A_Die
    goto Death
  Death:
    TNT1 A 0 A_StopSound (CHAN_BODY)
    TNT1 A 0 A_PlaySound("VTOL2",CHAN_BODY,5.0,false,0.3)
    TNT1 Z 0 A_SpawnItemEx ("VTOLDestroyed", 0, 0, 0, 5, 0, 0, 0, SXF_NOCHECKPOSITION)
    Stop
  Death.RGAFire:
  Death.Dragonsplosion:
  Death.Dragon:
  Death.DragonF:
  Death.Fire:
    "####" # 0 A_Jump(128,"Death")
    "####" # 0 A_SpawnItemEx("RGABurnt",0,0,0,0,0,0,0,128,0)
    goto Death
  }
}

actor VTOLDestroyed {
	PROJECTILE
	-NOGRAVITY
	+NOCLIP
	radius 340
	height 180
	damage (300)
	scale 2.8
	speed 10
	obituary "%o couldn't get away from a crashing VTOL."
	gravity 0.2
	States {
	Spawn:
		GVTO A 0
		GVTO A 0 A_NoBlocking
		TNT1 A 0 A_PlaySound("VTOL2",CHAN_BODY,5.0,false,0.3)
		GVTO A 0 A_PlaySoundEx("distant/explosion","SoundSlot6")
		GVTO A 0 A_SpawnItemEx("RailHyperSmokeFloor", random(-96,96), random(-96,96), random(70,110), 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
		GVTO A 5 A_SpawnItemEx("ExplosionMain", random(-96,96), random(-96,96), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
		GVTO A 0 A_SpawnItemEx("RailHyperSmokeFloor", random(-96,96), random(-96,96), random(70,110), 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
		GVTO A 0 A_PlaySoundEx("distant/explosion","SoundSlot6")
		GVTO A 6 A_SpawnItemEx("ExplosionMain", random(-96,96), random(-96,96), 0, 0,0,0, 0,  SXF_TRANSFERPOINTERS|SXF_ABSOLUTEPOSITION)
		GVTO A 0 A_ChangeFlag("NOCLIP",0)
		goto Spawn+3
	Death:
		TNT1 A 0 A_StopSound (5)
		TNT1 A 0 A_StopSound (6)
		TNT1 A 1 A_Explode (4500, 128)
		TNT1 A 1 A_Explode (300, 712)
		TNT1 A 1 A_Explode (100, 1212)
		FLAR A 0 Bright A_SpawnItemEx("NukeHyperSmokePillar",0,0,0,0,0,0,0,0,0,0)
		FLAR A 0 Bright A_SpawnItemEx("RailHyperSmokeFloor",0,0,0,111,20,0,15,0,0,0)
		FLAR A 0 Bright A_SpawnItemEx("RailHyperSmokeFloor",0,0,0,111,20,0,90,0,0,0)
		FLAR A 0 Bright A_SpawnItemEx("RailHyperSmokeFloor",0,0,0,111,20,0,180,0,0,0)
		FLAR A 0 Bright A_SpawnItemEx("RailHyperSmokeFloor",0,0,0,111,20,0,270,0,0,0)
		FLAR A 0 Bright A_SpawnItemEx("RailHyperSmokeFloor",0,0,0,111,20,0,360,0,0,0)
		FLAR A 0 Bright A_SpawnItemEx("ExplosionMain",0,0,0,111,random(20,90),0,15,0,0,0)
		FLAR A 0 Bright A_SpawnItemEx("ExplosionMain",0,0,0,111,random(20,90),0,30,0,0,0)
		FLAR A 0 Bright A_SpawnItemEx("ExplosionMain",0,0,0,111,random(20,90),0,45,0,0,0)
		FLAR A 0 Bright A_SpawnItemEx("ExplosionMain",0,0,0,111,random(20,90),0,60,0,0,0)
		FLAR A 0 Bright A_SpawnItemEx("ExplosionMain",0,0,0,111,random(20,90),0,75,0,0,0)
		FLAR A 0 Bright A_SpawnItemEx("ExplosionMain",0,0,0,111,random(20,90),0,90,0,0,0)
		FLAR A 0 Bright A_SpawnItemEx("ExplosionMain",0,0,0,111,random(20,90),0,105,0,0,0)
		FLAR A 0 Bright A_SpawnItemEx("ExplosionMain",0,0,0,111,random(20,90),0,120,0,0,0)
		FLAR A 0 Bright A_SpawnItemEx("ExplosionMain",0,0,0,111,random(20,90),0,135,0,0,0)
		FLAR A 0 Bright A_SpawnItemEx("ExplosionMain",0,0,0,111,random(20,90),0,150,0,0,0)
		FLAR A 0 Bright A_SpawnItemEx("ExplosionMain",0,0,0,111,random(20,90),0,165,0,0,0)
		FLAR A 0 Bright A_SpawnItemEx("ExplosionMain",0,0,0,111,random(20,90),0,180,0,0,0)
		FLAR A 0 Bright A_SpawnItemEx("ExplosionMain",0,0,0,111,random(20,90),0,195,0,0,0)
		FLAR A 0 Bright A_SpawnItemEx("ExplosionMain",0,0,0,111,random(20,90),0,210,0,0,0)
		FLAR A 0 Bright A_SpawnItemEx("ExplosionMain",0,0,0,111,random(20,90),0,225,0,0,0)
		FLAR A 0 Bright A_SpawnItemEx("ExplosionMain",0,0,0,111,random(20,90),0,240,0,0,0)
		FLAR A 0 Bright A_SpawnItemEx("ExplosionMain",0,0,0,111,random(20,90),0,255,0,0,0)
		FLAR A 0 Bright A_SpawnItemEx("ExplosionMain",0,0,0,111,random(20,90),0,270,0,0,0)
		FLAR A 0 Bright A_SpawnItemEx("ExplosionMain",0,0,0,111,random(20,90),0,285,0,0,0)
		FLAR A 0 Bright A_SpawnItemEx("ExplosionMain",0,0,0,111,random(20,90),0,300,0,0,0)
		FLAR A 0 Bright A_SpawnItemEx("ExplosionMain",0,0,0,111,random(20,90),0,315,0,0,0)
		FLAR A 0 Bright A_SpawnItemEx("ExplosionMain",0,0,0,111,random(20,90),0,330,0,0,0)
		FLAR A 0 Bright A_SpawnItemEx("ExplosionMain",0,0,0,111,random(20,90),0,345,0,0,0)
		FLAR A 0 Bright A_SpawnItemEx("ExplosionMain",0,0,0,111,random(20,90),0,360,0,0,0)
		stop
	}
}

ACTOR EscortAirdropMarker
{
	PROJECTILE
	+NOGRAVITY
	+THRUGHOST
	+RIPPER
	+NOBLOOD
	-BLOODSPLATTER
	scale 0.2
	Damage 0
	Radius 2
	Height 2
	Speed 199
	+SKYEXPLODE
	+EXPLODEONWATER
	+FORCEXYBILLBOARD
	States
	{
	Spawn:
        CAM3 A 0
		TNT1 A 1 //Thing_ChangeTID(0, 1336)
		Loop
	Death:
		TNT1 A 2 A_SpawnItemEx("CarePackageSmokeEmitter",0,0,4, 0,0,0, 0, SXF_NOCHECKPOSITION,0,1700)
		TNT1 A 0 ACS_NamedExecuteAlways("EscortAirdrop",0)
        TNT1 A 175
		//RACS A 1 A_SpawnItemEx("VTOLAircraft", 0, 0, 0, 0, 0, 999, 0,  SXF_TRANSFERPOINTERS|SXF_NOCHECKPOSITION, 0, 1701)
		Stop
	}
}

actor EscortAirdropKillstreak : CustomInventory
{
 +INVBAR
 -INVENTORY.INTERHUBSTRIP
  Inventory.DefMaxAmount 
  Inventory.MaxAmount 9
  Inventory.PickupFlash "PickupFlash"
  Inventory.icon "CICCA0"
  Inventory.pickupmessage "Escort Airdrop Clearance"
  Inventory.RespawnTics 9999999999999999
  Inventory.InterHubAmount 9
  inventory.pickupsound "Clonegiv"
  Scale 0.1
  states
  {
  Spawn:
    KSIC A -1 
    stop  
  Use:
	TNT1 A 0 A_GiveInventory("EscortAirdropDesignator",1)
	TNT1 A 0 ACS_NamedExecuteAlways("EscortAirdropDesignator",0,0,0,0) //Have to do this wacky workaround BS because A_Selectweapon is causing a desync online
	Fail
  }
}

actor KSBoxSpawner : RandomSpawner 
{
    DropItem "KS2Box"
    DropItem "KS2Box"
    DropItem "KS2Box"
    DropItem "KS3Box"
    DropItem "KS3Box"
	DropItem "KS3Box"
    DropItem "KS3Box"
    DropItem "KS4Box"
    DropItem "KS4Box"
    DropItem "KS1Box"
}

ACTOR KS1Box : SwitchableDecoration
{
  -SOLID
  +USESPECIAL
  +SHOOTABLE +CANNOTPUSH +GHOST
  +NOBLOOD
	Activation THINGSPEC_Activate | THINGSPEC_ThingTargets | THINGSPEC_NoDeathSpecial
States
{
Spawn:
	KSPA A 8
	Loop
Active:
	KSPA A 8 A_PlaySoundEx("Clonegiv",CHAN_AUTO)
	TNT1 A 0 A_GiveToTarget("StealthBomberKillstreak",1)
	Stop
Nope:
	TNT1 A 0
	Fail
	}
}
ACTOR KS2Box : SwitchableDecoration
{
  -SOLID
  +USESPECIAL
  +SHOOTABLE +CANNOTPUSH +GHOST
  +NOBLOOD
	Activation THINGSPEC_Activate | THINGSPEC_ThingTargets | THINGSPEC_NoDeathSpecial
States
{
Spawn:
	KSPB A 8
	Loop
Active:
	KSPB A 8 A_PlaySoundEx("Clonegiv",CHAN_AUTO)
	TNT1 A 0 A_GiveToTarget("PrecisionAirstrikeKillstreak",1)
	Stop
Nope:
	TNT1 A 0
	Fail
	}
}
ACTOR KS3Box : SwitchableDecoration
{
  -SOLID
  +USESPECIAL
  +SHOOTABLE +CANNOTPUSH +GHOST
  +NOBLOOD
	Activation THINGSPEC_Activate | THINGSPEC_ThingTargets | THINGSPEC_NoDeathSpecial
States
{
Spawn:
	KSPC A 8
	Loop
Active:
	KSPC A 8 A_PlaySoundEx("Clonegiv",CHAN_AUTO)
	TNT1 A 0 A_GiveToTarget("PredatorMissileKillstreak",1)
	Stop
Nope:
	TNT1 A 0
	Fail
	}
}
ACTOR KS4Box : SwitchableDecoration
{
  -SOLID
  +USESPECIAL
  +SHOOTABLE +CANNOTPUSH +GHOST
  +NOBLOOD
	Activation THINGSPEC_Activate | THINGSPEC_ThingTargets | THINGSPEC_NoDeathSpecial
States
{
Spawn:
	KSPD A 8
	Loop
Active:
	KSPD A 8 A_PlaySoundEx("Clonegiv",CHAN_AUTO)
	TNT1 A 0 A_GiveToTarget("AdvancedCloneKillstreak",1)
	Stop
Nope:
	TNT1 A 0
	Fail
	}
}

actor EscortAirdropDesignator : Weapon
{
  obituary "%o somehow died by the phone."
  weapon.selectionorder 999
  weapon.kickback 25
  //+WEAPON.WIMPY_WEAPON
  +WEAPON.MELEEWEAPON
  +WEAPON.NOALERT
  +CHEATNOTWEAPON
  states
  {
  Ready:
	TNT1 A 0 A_Print("Make sure plenty of sky is visible and designate coordinates for the VTOL Aircraft.")
    GRNA L 0 A_TakeInventory("Reloading",1)
    U45A L 0 A_JumpIfInventory("ThrowingGrenade",1,"FragGrenade")
    U45A L 0 A_JumpIfInventory("KnifeAttack",1,"KnifeAttack")
	PHNB A 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNB A 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNB A 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNB A 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNB A 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	U45A L 0 A_JumpIfInventory("ThrowingGrenade",1,"FragGrenade")
    U45A L 0 A_JumpIfInventory("KnifeAttack",1,"KnifeAttack")
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNB A 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNB A 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNB A 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNB A 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
    U45A L 0 A_JumpIfInventory("ThrowingGrenade",1,"FragGrenade")
    U45A L 0 A_JumpIfInventory("KnifeAttack",1,"KnifeAttack")
	PHNB A 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNB A 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNB A 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNB A 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNB A 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	U45A L 0 A_JumpIfInventory("ThrowingGrenade",1,"FragGrenade")
    U45A L 0 A_JumpIfInventory("KnifeAttack",1,"KnifeAttack")
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNB A 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNB A 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNB A 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNB A 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNB A 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	U45A L 0 A_JumpIfInventory("ThrowingGrenade",1,"FragGrenade")
    U45A L 0 A_JumpIfInventory("KnifeAttack",1,"KnifeAttack")
	PHNV A 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNV B 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNV C 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNV D 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNV E 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNV F 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	U45A L 0 A_JumpIfInventory("ThrowingGrenade",1,"FragGrenade")
    U45A L 0 A_JumpIfInventory("KnifeAttack",1,"KnifeAttack")
	PHNV G 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNV H 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNV I 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNV J 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNB A 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNB A 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNB A 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNB A 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNB A 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	U45A L 0 A_JumpIfInventory("ThrowingGrenade",1,"FragGrenade")
    U45A L 0 A_JumpIfInventory("KnifeAttack",1,"KnifeAttack")
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNB A 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNB A 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNB A 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNB A 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
    U45A L 0 A_JumpIfInventory("ThrowingGrenade",1,"FragGrenade")
    U45A L 0 A_JumpIfInventory("KnifeAttack",1,"KnifeAttack")
	PHNB A 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNB A 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNB A 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNB A 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNB A 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	U45A L 0 A_JumpIfInventory("ThrowingGrenade",1,"FragGrenade")
    U45A L 0 A_JumpIfInventory("KnifeAttack",1,"KnifeAttack")
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNB A 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNB A 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNB A 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNB A 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNB A 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNB A 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNB A 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNB A 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	U45A L 0 A_JumpIfInventory("ThrowingGrenade",1,"FragGrenade")
    U45A L 0 A_JumpIfInventory("KnifeAttack",1,"KnifeAttack")
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNB A 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNB A 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNB A 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNB A 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
    U45A L 0 A_JumpIfInventory("ThrowingGrenade",1,"FragGrenade")
    U45A L 0 A_JumpIfInventory("KnifeAttack",1,"KnifeAttack")
	PHNV K 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNV K 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNV L 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNV L 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNV M 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNV M 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	U45A L 0 A_JumpIfInventory("ThrowingGrenade",1,"FragGrenade")
    U45A L 0 A_JumpIfInventory("KnifeAttack",1,"KnifeAttack")
	PHNV N 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNV N 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNV O 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNV O 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNV P 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNV P 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	U45A L 0 A_JumpIfInventory("ThrowingGrenade",1,"FragGrenade")
    U45A L 0 A_JumpIfInventory("KnifeAttack",1,"KnifeAttack")
	PHNV Q 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNV Q 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNV R 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNV R 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNV S 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNV S 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	U45A L 0 A_JumpIfInventory("ThrowingGrenade",1,"FragGrenade")
    U45A L 0 A_JumpIfInventory("KnifeAttack",1,"KnifeAttack")
	PHNV T 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNV T 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNV U 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNV U 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNV V 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNV V 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	U45A L 0 A_JumpIfInventory("ThrowingGrenade",1,"FragGrenade")
    U45A L 0 A_JumpIfInventory("KnifeAttack",1,"KnifeAttack")
	PHNV W 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNV W 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNB A 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNB A 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNB A 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNB A 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNB A 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	U45A L 0 A_JumpIfInventory("ThrowingGrenade",1,"FragGrenade")
    U45A L 0 A_JumpIfInventory("KnifeAttack",1,"KnifeAttack")
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNB A 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNB A 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNB A 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNB A 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
    Goto Ready+1
  Zoom:
  Deselect:
    TNT1 AA 0 A_Lower
    PHNV A 1 A_Lower
	TNT1 A 0 A_TakeInventory("EscortAirdropDesignator",1)
    stop
  Select: 
    PHNV A 0 A_Raise
    loop
  Fire:
    KNFA B 0 A_PlaySound("Desbeeps")
    MSLB A 0 A_FireCustomMissile("EscortAirdropMarker",0,0,0,0,0,0)
	TNT1 A 0 A_TakeInventory("EscortAirdropKillstreak",1)
	TNT1 A 0 A_TakeInventory("EscortAirdropDesignator",1) 
    Goto Ready
  DoNothing:
    PHNS A 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	PHNV S 5
    Goto Ready
  Altfire:
    U45A L 0 A_JumpIfInventory("InPredator",1,"DoNothing")
	Goto Ready
  FragGrenade:
    U45F A 0 ACS_NamedExecuteAlways("RefSpeak",0,1,0,0)
    U45F A 0 A_ZoomFactor(1.0)
    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
    Goto Ready+2
  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
    Goto Ready+2
  KnifeAttack:
    GRNA L 0 A_TakeInventory("weapondropper",2)
    U45F A 0 A_ZoomFactor(1.0)
    U45A L 0 A_JumpIfInventory("ThrowingGrenade",1,"FragGrenade")
    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)
    Goto Ready+2
  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)
    Goto Ready+2
  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)
    Goto Ready+2
  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)
    Goto Ready+2
  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
    Goto Ready+2
  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
    Goto Ready+2
  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
    Goto Ready+2
  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
    Goto Ready+2
  }
}
actor MinigunKillstreak : CustomInventory
{
 +INVBAR
 -INVENTORY.INTERHUBSTRIP
  Inventory.DefMaxAmount 
  Inventory.MaxAmount 9
  Inventory.PickupFlash "PickupFlash"
  Inventory.icon "ICMIA0"
  Inventory.pickupmessage "M134 Minigun Clearance"
  Inventory.RespawnTics 9999999999999999
  Inventory.InterHubAmount 9
  inventory.pickupsound "Clonegiv"
  Scale 0.1
  states
  {
  Spawn:
    KSIC A -1 
    stop  
  Use:
	TNT1 A 0 A_GiveInventory("MinigunDesignator",1)
	TNT1 A 0 ACS_NamedExecuteAlways("MinigunDesignator",0,0,0,0) //Have to do this wacky workaround BS because A_Selectweapon is causing a desync online
	Fail
  }
}

ACTOR MinigunMarker
{
    Radius 8
    Height 8
    Speed 90
    Damage 0

    +MISSILE
    +NOGRAVITY
    +NOBLOCKMAP
    +DONTSPLASH
    +NOBLOOD
    States
    {
    Spawn:
        TNT1 A 1
        Loop

    Death:
        TNT1 A 14

    Strike:
		TNT1 A 2 A_SpawnItemEx("CarePackageSmokeEmitter",0,0,4, 0,0,0, 0, SXF_NOCHECKPOSITION,0,1445)
		TNT1 A 0 ACS_NamedExecuteAlways("MinigunPackage",0)
        TNT1 A 1 A_Die
        Stop
    }
}
ACTOR MinigunBox : SwitchableDecoration
{
  -SOLID
  +USESPECIAL
  +SHOOTABLE +CANNOTPUSH +GHOST
  +NOBLOOD
  +SPAWNCEILING
	Activation THINGSPEC_Activate | THINGSPEC_ThingTargets | THINGSPEC_NoDeathSpecial
	Scale 1.33
States
{
Spawn:
	MINC A 8
	Loop
Active:
	MINC A 8 A_PlaySoundEx("CareOpen",CHAN_AUTO)
	MINC B 8
	TNT1 A 0 A_SpawnItemEx("MinigunPickup",0,0,12,Frandom(4,-4),Frandom(4,-4),Frandom(1,2),0,SXF_NOCHECKPOSITION)
	MINC B 8 A_FadeOut(0.7)
	Stop
Nope:
	TNT1 A 0
	Fail
	}
}
actor MinigunDesignator : Weapon
{
  obituary "%o somehow died by the phone."
  weapon.selectionorder 999
  weapon.kickback 25
  //+WEAPON.WIMPY_WEAPON
  +WEAPON.MELEEWEAPON
  +WEAPON.NOALERT
  +CHEATNOTWEAPON
  states
  {
  Ready:
	TNT1 A 0 A_Print("Make sure the sky is visible and designate coordinates for the M134 Minigun to be airdropped.")
    GRNA L 0 A_TakeInventory("Reloading",1)
    U45A L 0 A_JumpIfInventory("ThrowingGrenade",1,"FragGrenade")
    U45A L 0 A_JumpIfInventory("KnifeAttack",1,"KnifeAttack")
	PHNM A 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNM A 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNM B 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNM B 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNM C 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	U45A L 0 A_JumpIfInventory("ThrowingGrenade",1,"FragGrenade")
    U45A L 0 A_JumpIfInventory("KnifeAttack",1,"KnifeAttack")
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNM C 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNM D 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNM D 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNM E 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNM E 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	U45A L 0 A_JumpIfInventory("ThrowingGrenade",1,"FragGrenade")
    U45A L 0 A_JumpIfInventory("KnifeAttack",1,"KnifeAttack")
	PHNM F 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNM F 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNM G 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNM G 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNM H 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNM H 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	U45A L 0 A_JumpIfInventory("ThrowingGrenade",1,"FragGrenade")
    U45A L 0 A_JumpIfInventory("KnifeAttack",1,"KnifeAttack")
	PHNM I 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNM I 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNM J 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNM J 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNM K 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	U45A L 0 A_JumpIfInventory("ThrowingGrenade",1,"FragGrenade")
    U45A L 0 A_JumpIfInventory("KnifeAttack",1,"KnifeAttack")
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNM K 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNM L 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNM L 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNM M 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNM M 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	U45A L 0 A_JumpIfInventory("ThrowingGrenade",1,"FragGrenade")
    U45A L 0 A_JumpIfInventory("KnifeAttack",1,"KnifeAttack")
	PHNM N 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNM N 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNM O 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNM O 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNM P 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	PHNM P 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	TNT1 A 0 A_FireBullets(0,0,1,0,"LaserDot",FBF_NOFLASH|FBF_NORANDOMPUFFZ)
	U45A L 0 A_JumpIfInventory("ThrowingGrenade",1,"FragGrenade")
    U45A L 0 A_JumpIfInventory("KnifeAttack",1,"KnifeAttack")
    Goto Ready+1
  Zoom:
  Deselect:
    TNT1 AA 0 A_Lower
    PHNA S 1 A_Lower
	TNT1 A 0 A_TakeInventory("MinigunDesignator",1)
    stop
  Select: 
    PHNA A 0 A_Raise
    loop
  Fire:
    KNFA B 0 A_PlaySound("Desbeeps")
    MSLB A 0 A_FireCustomMissile("MinigunMarker",0,0,0,0,0,0)
	TNT1 A 0 A_TakeInventory("MinigunKillstreak",1)
	TNT1 A 0 A_TakeInventory("MinigunDesignator",1) 
    Goto Ready
  DoNothing:
    PHNS A 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
	PHNA S 5
    Goto Ready
  Altfire:
    U45A L 0 A_JumpIfInventory("InPredator",1,"DoNothing")
	Goto Ready
  FragGrenade:
    U45F A 0 ACS_NamedExecuteAlways("RefSpeak",0,1,0,0)
    U45F A 0 A_ZoomFactor(1.0)
    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
    Goto Ready+2
  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
    Goto Ready+2
  KnifeAttack:
    GRNA L 0 A_TakeInventory("weapondropper",2)
    U45F A 0 A_ZoomFactor(1.0)
    U45A L 0 A_JumpIfInventory("ThrowingGrenade",1,"FragGrenade")
    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)
    Goto Ready+2
  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)
    Goto Ready+2
  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)
    Goto Ready+2
  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)
    Goto Ready+2
  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
    Goto Ready+2
  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
    Goto Ready+2
  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
    Goto Ready+2
  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
    Goto Ready+2
  }
}