ACTOR EmergencyAmmoSatchel : CustomInventory
{
Scale 0.8
Inventory.Amount 1
Inventory.MaxAmount 5
Inventory.InterHubAmount 5
Inventory.PickupSound "pickups/iammosatchel"
Inventory.UseSound "ammosatchel/use	"
Inventory.Pickupmessage "You found an Emergency Ammo Satchel."
Tag "Ammo Satchel"
Inventory.Icon "INASA0"
+INVENTORY.INVBAR
States
{
Spawn:
      ASAT A 1
      Loop
Use:
		TNT1 A 0 A_GiveInventory("ClipBoxMapPickup", 1)
		TNT1 A 0 A_GiveInventory("ShellBoxMapPickup", 1)
		TNT1 A 0 A_GiveInventory("RocketBoxMapPickup", 1)
		TNT1 A 0 A_GiveInventory("CellBoxMapPickup", 1)
	  Stop
      } 
}

Actor PortableArmorSet : CustomInventory 
{
  +Inventory.INVBAR
  Inventory.Icon "APAIA0"
  Inventory.Amount 1
  Inventory.MaxAmount 5
  Inventory.InterHubAmount 5
  Inventory.Pickupmessage "You found yourself an armor set. Restocks Type 1 and Type 2 with a bit of armor."
  Tag "Portable Armor Set"
  States
  {
  Spawn:
    APAC A 1
	APAC B 1 
    loop
  Use:
    TNT1 A 0 A_GiveInventory ("ShellBoxMapPickup", 1)
    TNT1 A 0 A_GiveInventory ("ClipBoxMapPickup", 1)
	TNT1 A 0 A_GiveInventory ("ArmorPlate")
	stop
  }
}

ACTOR MissilePod : CustomInventory
{
   Inventory.Amount 1
   Inventory.InterHubAmount 5
   Inventory.MaxAmount 5
   Inventory.PickupSound "MPODPUP"
   Inventory.PickupMessage "Picked up a Missile Pod. Fires homing missiles periodically."
   Inventory.Icon "MSPDI"
   Tag "Missile Pod"
   +Inventory.INVBAR
   +FLOORCLIP
   States
   {
   Spawn:
      MSPD C 1
      Loop
   Use:
      TNT1 A 0 A_FireCustomMissile("MissilePodSet",0,0,0,0,0)
      Stop
   } 
}

ACTOR MissilePodSet
{
   Radius 3
   Height 8
   Speed 22
   +MISSILE
   +DROPOFF
   +CANBOUNCEWATER
   DONTHURTSHOOTER
   States
   {
   Spawn:
      MSPD A 1 Bright		
	  Loop
   Death:
      MSPD A 1 Bright
      MSPD A 0 A_SpawnItemEx("MissilePodEngage", 1, 0, 0, 0, 0, 0, 0, SXF_TRANSFERPOINTERS)	  
      Stop
   } 
}

ACTOR MissilePodEngage
{
   Radius 3
   Height 8
   Health 100
   Mass 25
   +FRIENDLY
   -SHOOTABLE
   +NOBLOOD
   +QUICKTORETALIATE
   +INVULNERABLE
   +NOTARGET
   +LOOKALLAROUND
   +BRIGHT
   Species "Player"
   ExplosionDamage 60
   ExplosionRadius 80
   States
   {
   Spawn:
      MSPD A 10
      Goto See
   See:
      MSPD A 60
	  TNT1 A 0 A_AlertMonsters
	  MSPD B 2
	  TNT1 A 0 A_PlaySound("VRKTLNCH")
	  TNT1 A 0 A_SpawnItemEx("VerticalPodMissile", 0, 0, 36, 0, 0, 0, 0, SXF_TRANSFERPOINTERS)
	  MSPD A 6 
	  MSPD B 2
	  TNT1 A 0 A_PlaySound("VRKTLNCH")
	  TNT1 A 0 A_SpawnItemEx("VerticalPodMissile", 0, 0, 36, 0, 0, 0, 0, SXF_TRANSFERPOINTERS)
	  MSPD A 6 
	  MSPD B 2
	  TNT1 A 0 A_PlaySound("VRKTLNCH")
	  TNT1 A 0 A_SpawnItemEx("VerticalPodMissile", 0, 0, 36, 0, 0, 0, 0, SXF_TRANSFERPOINTERS)  
	  MSPD A 50
	  MSPD B 2
	  TNT1 A 0 A_PlaySound("VRKTLNCH")
	  TNT1 A 0 A_SpawnItemEx("VerticalPodMissile", 0, 0, 36, 0, 0, 0, 0, SXF_TRANSFERPOINTERS)
	  MSPD A 6 
	  MSPD B 2
	  TNT1 A 0 A_PlaySound("VRKTLNCH")
	  TNT1 A 0 A_SpawnItemEx("VerticalPodMissile", 0, 0, 36, 0, 0, 0, 0, SXF_TRANSFERPOINTERS)
	  MSPD A 6 
	  MSPD B 2
	  TNT1 A 0 A_PlaySound("VRKTLNCH")
	  TNT1 A 0 A_SpawnItemEx("VerticalPodMissile", 0, 0, 36, 0, 0, 0, 0, SXF_TRANSFERPOINTERS)	  
	  MSPD A 50
	  MSPD B 2
	  TNT1 A 0 A_PlaySound("VRKTLNCH")
	  TNT1 A 0 A_SpawnItemEx("VerticalPodMissile", 0, 0, 36, 0, 0, 0, 0, SXF_TRANSFERPOINTERS)
	  MSPD A 6 
	  MSPD B 2
	  TNT1 A 0 A_PlaySound("VRKTLNCH")
	  TNT1 A 0 A_SpawnItemEx("VerticalPodMissile", 0, 0, 36, 0, 0, 0, 0, SXF_TRANSFERPOINTERS)
	  MSPD A 6 
	  MSPD B 2
	  TNT1 A 0 A_PlaySound("VRKTLNCH")
	  TNT1 A 0 A_SpawnItemEx("VerticalPodMissile", 0, 0, 36, 0, 0, 0, 0, SXF_TRANSFERPOINTERS)	  
	  MSPD A 50
	  MSPD B 2
	  TNT1 A 0 A_PlaySound("VRKTLNCH")
	  TNT1 A 0 A_SpawnItemEx("VerticalPodMissile", 0, 0, 36, 0, 0, 0, 0, SXF_TRANSFERPOINTERS)
	  MSPD A 6 
	  MSPD B 2
	  TNT1 A 0 A_PlaySound("VRKTLNCH")
	  TNT1 A 0 A_SpawnItemEx("VerticalPodMissile", 0, 0, 36, 0, 0, 0, 0, SXF_TRANSFERPOINTERS)
	  MSPD A 6 
	  MSPD B 2
	  TNT1 A 0 A_PlaySound("VRKTLNCH")
	  TNT1 A 0 A_SpawnItemEx("VerticalPodMissile", 0, 0, 36, 0, 0, 0, 0, SXF_TRANSFERPOINTERS)	  
	  MSPD A 30	
      Goto Death
   Missile:
      Stop
   Death:
      TNT1 A 0
      TNT1 A 0 A_SpawnItemEx("MPodExplosion",0,0,5,0,0,0,0,32)
	  TNT1 A 0 A_SpawnItemEx("MPodExplosionExtra",0,0,5,0,0,0,0,32) //Extra explosion for a simple, but effective, glow effect.
	  TNT1 A 0 A_SpawnItemEx("ExplosiveGlowBig",0,0,30,0,0,0,0,32)
      Stop
   }
}

ACTOR VerticalPodMissile //Launched from the pod first.
{
    Radius 3
    Height 5
    Speed 0
    Reactiontime 20
    PROJECTILE
    +GRENADETRAIL
    +THRUACTORS
    -SHOOTABLE
	+NOTARGET
	+Friendly
	Species "Player"
   States
   {
   Spawn:   
      PSMS A 1 Bright
	  TNT1 A 0 ThrustThingZ(0,23,0,0)
	  TNT1 A 0 A_CountDown
      Loop
   Death:
      TNT1 A 0
      TNT1 A 0 A_CustomMissile("HomingPodMissile",0,0,0,CMF_AIMDIRECTION)
      Stop
   }
}

ACTOR HomingPodMissile //Created from the vertical missiles.
{
    Radius 6
    Height 6
    Speed 20
	Damage 15
    PROJECTILE
    +ROCKETTRAIL
	+SEEKERMISSILE
    -SHOOTABLE
	+NOTARGET
	+Friendly
	Species "Player"
	obituary "%k rained death from above onto %o."
   States
   {
   Spawn:     
      TNT1 A 0
      TNT1 A 0 A_SeekerMissile(10,20,SMF_LOOK,256|SMF_PRECISE)
	  TNT1 A 0 A_SeekerMissile(10,20,SMF_LOOK,256|SMF_PRECISE)
	  TNT1 A 0 A_SeekerMissile(10,20,SMF_LOOK,256|SMF_PRECISE)
	  TNT1 A 0 A_SeekerMissile(10,20,SMF_LOOK,256|SMF_PRECISE)
	  TNT1 A 0 A_SeekerMissile(10,20,SMF_LOOK,256|SMF_PRECISE)
	  TNT1 A 0 A_SeekerMissile(10,20,SMF_LOOK,256|SMF_PRECISE)
      PMSL AAAA 1 Bright
	  TNT1 A 0 A_SpawnItemEx("MissileGlow", 0, 0, 0, 0, 0, 0, 0, 5)
	  TNT1 A 0 A_SpawnItemEx("BulletPuff", 0, 0, 0, 0, 0, 0, 0, 5)
	  TNT1 A 0 A_SeekerMissile(10,20,SMF_LOOK,256|SMF_PRECISE)
      Goto Spawn+8
   Death:
      TNT1 A 0
	  TNT1 A 0 A_SpawnItemEx("PodMissileExplosion",0,0,0,0,0,0,0,32)
	  TNT1 A 0 A_SpawnItemEx("ExplosiveGlowSmall",0,0,5,0,0,0,0,32)
      Stop
   }
}

ACTOR MPodExplosion
{
    Projectile
	+BRIGHT
	+FORCERADIUSDMG
    Radius 4
    Height 4
    Speed 0
    RenderStyle Add
    Alpha 0.90
	Scale 0.5
    ExplosionDamage 45
    ExplosionRadius 100
	Species "Player"
	obituary "%k rained death from above onto %o."
   States
   {
   Spawn:
	TNT1 A 0
	Goto Death
   Death:
    TNT1 A 0
    TNT1 A 0 A_PlaySound("MPODXP")
	TNT1 A 0 A_Explode
	MMXP LMNOPQRSTUVWX 2
	MMXP Y 2 A_SetTranslucent(0.4,1)
	MMXP Z 2 A_SetTranslucent(0.2,1)
	Stop
}
}

ACTOR MPodExplosionExtra //Same, but no damage. To achieve glow effect.
{
    Projectile
	+BRIGHT
    Radius 4
    Height 4
    Speed 0
    RenderStyle Add
    Alpha 0.90
	Scale 0.5
   States
   {
   Spawn:
	TNT1 A 0
	Goto Death
   Death:
    TNT1 A 0
    TNT1 A 0
	TNT1 A 0
	MMXP LMNOPQRSTUVWX 2
	MMXP Y 2 A_SetTranslucent(0.4,1)
	MMXP Z 2 A_SetTranslucent(0.2,1)
	Stop
}
}

ACTOR PodMissileExplosion
{
    Projectile
	+BRIGHT
	+FORCERADIUSDMG
    Radius 4
    Height 4
    Speed 0
    RenderStyle Add
    Alpha 0.80
	Scale 1.2
    ExplosionDamage 58
    ExplosionRadius 120
	obituary "%k rained death from above onto %o."
   States
   {
   Spawn:
	TNT1 A 0
	Goto Death
   Death:
    TNT1 A 0
	TNT1 A 0 A_PlaySound("MISSEXP",0)
	TNT1 A 0 A_Explode
	MEXP ABCD 1
	MEXP E 1 A_SetTranslucent(0.4,1)
	MEXP F 1 A_SetTranslucent(0.2,1)
	Stop
}
}

ACTOR MissileGlow  //Aesthetic flare effect for missile flight.
{
    +NOINTERACTION
    RenderStyle Add
    Alpha 0.4
    Scale 0.5
   States
{
   Spawn:
	MGLW A 2 Bright
	Stop
}
}

ACTOR ExplosiveGlowBig  //Aesthetic explosive effect for the pod.
{
    +NOINTERACTION
    RenderStyle Add
    Alpha 0.4
    Scale 0.5
   States
{
   Spawn:
	XGLW AA 2 Bright
	XGLW A 3 A_SetScale(0.6)
    XGLW A 3 A_SetScale(0.7)
    XGLW A 3 A_SetScale(0.8)
	XGLW A 3 A_SetScale(0.9)
	TNT1 A 0 A_SetTranslucent(0.3,1)
	XGLW A 3 A_SetScale(1.1)
	TNT1 A 0 A_SetTranslucent(0.2,1)
	XGLW A 3 A_SetScale(1.10)
	Stop
}
}

ACTOR ExplosiveGlowSmall  //Aesthetic explosive effect for the missiles.
{
    +NOINTERACTION
    RenderStyle Add
    Alpha 0.4
    Scale 0.3
   States
{
   Spawn:
	XGLW AA 2 Bright
	XGLW A 1 Bright A_SetScale(0.4) 
    XGLW A 1 Bright A_SetScale(0.6) 
	Stop
}
}

Actor PortableFieldKit : CustomInventory
{
  Tag "Portable Field Kit"
  Inventory.PickupMessage "You got a field kit! Can be used to overheal past max health!"
  Inventory.PickupSound "Misc/I_PkUp"
  Inventory.UseSound "FieldKit/Use"
  Inventory.Icon "FKITC0"
  Inventory.Amount 1
  Inventory.MaxAmount 15
  Inventory.InterHubAmount 15
  +Inventory.InvBar
  States
  {
  Spawn:
    FKIT AB 10
	Loop
    Use:
	TNT1 A 0 ACS_NamedExecuteWithResult("GiveHealthWithItem",15,0)
	Stop
  }
}

//Marine Supply Pack
Actor SupplyPack : CustomInventory
{
//$Category Powerups
//$Title Marine Supply Pack
 Radius 20
 Height 16
 Inventory.PickupSound "Misc/P_PkUp"
 Inventory.PickupMessage "You found an Emergency Supply Pack! Contains a backpack, a Medikit, and a Large Armor Plate!"
+COUNTITEM
+INVENTORY.ALWAYSPICKUP
Inventory.MaxAmount 0
 States
 {
  Spawn:
  XPAK A 7 Bright
  XPAK B 6
  Loop
  Pickup:
  TNT1 A 0 A_GiveInventory("BackpackMapPickup")
  TNT1 A 0 A_GiveInventory("PackMedikit")
  TNT1 A 0 A_GiveInventory("PackArmor")
  Stop
  }
 }
//Marine Pack Armor
Actor PackArmor : CustomInventory
{
  +INVENTORY.INVBAR
  Tag "Emergency Armor"
  Inventory.UseSound "items/MarineKitArmor"
  Inventory.Icon "PAMIA0"
  Inventory.PickupMessage "You found some Emergency Armor!"
  Inventory.InterHubAmount 5
  Inventory.MaxAmount 5
  States
  {
  Spawn:
    XPAM A 1
    Loop
	Use:
	TNT1 A 0 A_JumpIfInventory("BasicArmor",200,"Full")
	TNT1 A 0 A_GiveInventory("LargeArmorPlate")
	Stop
  Full:
	TNT1 A 0 
	Fail
  }
}
//Marine Pack Medikit
Actor PackMedikit : CustomInventory
{
  Tag "Emergency MediKit"
  +INVENTORY.INVBAR
  Inventory.UseSound "items/MarineKitHealth"
  Inventory.PickupMessage "You found an Emergency MediKit!"
  Inventory.Icon "PMKIA0"
  Inventory.InterHubAmount 5
  Inventory.MaxAmount 5

  States
  {
  Spawn:
    XPMK A 1
    Loop
  Use:
    TNT1 A 0 ACS_NamedExecuteWithResult("GiveHealthWithItem",50,0)
	Stop
  }
}

ACTOR PortShCount : Inventory
{
  Inventory.MaxAmount 400
  Inventory.Amount 1
}

actor PShieldPart
{
  Radius 10
  Height 16
  Scale 0.5
  RenderStyle None
  Alpha 0.25
  Bloodtype "PShieldHit"
  -Solid
  +Friendly
  +SHOOTABLE
  +NOGRAVITY
  +NOTELEPORT
  +NODAMAGE
  +NORADIUSDMG
  +DONTRIP
  +NOBLOODDECALS
  +FLOORCLIP
  //+REFLECTIVE
  +GHOST	//Give projectiles that you wish to pass through the shield THRUGHOST flag
  States
  {
  Spawn:
    HEXA A 4 bright
    stop
  Death:
    TNT1 A 2
    stop
  }
}

actor PShieldPartVisual
{
  Radius 8
  Height 8
  Scale 0.5
  RenderStyle Add	//Fuzzy looks great in software mode
  Alpha 0.25
  +NOINTERACTION
  +CLIENTSIDEONLY
  +FLOORCLIP
  States
  {
  Spawn:
    HEXA A 4 bright
    stop
  Death:
    TNT1 A 2
    stop
  }
}

actor PShieldSpawner5up
{
  Radius 1
  Height 1
  +NOGRAVITY
  +NOINTERACTION
  States
  {
  Spawn:
    TNT1 A 0
    TNT1 A 1
    TNT1 A 0 A_SpawnItemEx ("PShieldPart", 0, 0, 0, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("PShieldPart", 0, 0, 16, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("PShieldPart", 0, 0, 32, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("PShieldPart", 0, 0, 48, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("PShieldPart", 0, 0, 64, 0, 0, 0, 0, 32)
    //TNT1 A 0 A_SpawnItemEx ("ShieldPartVisual", 0, 0, 0, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("PShieldPartVisual", 0, 0, 16, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("PShieldPartVisual", 0, 0, 32, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("PShieldPartVisual", 0, 0, 48, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("PShieldPartVisual", 0, 0, 64, 0, 0, 0, 0, 32)
    stop
  }
}

actor PShieldSpawner4up
{
  Radius 1
  Height 1
  +NOGRAVITY
  +NOINTERACTION
  States
  {
  Spawn:
    TNT1 A 0
    TNT1 A 1
    TNT1 A 0 A_SpawnItemEx ("PShieldPart", 0, 0, 8, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("PShieldPart", 0, 0, 24, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("PShieldPart", 0, 0, 40, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("PShieldPart", 0, 0, 56, 0, 0, 0, 0, 32)
    //TNT1 A 0 A_SpawnItemEx ("ShieldPartVisual", 0, 0, 8, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("PShieldPartVisual", 0, 0, 24, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("PShieldPartVisual", 0, 0, 40, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("PShieldPartVisual", 0, 0, 56, 0, 0, 0, 0, 32)
    stop
  }
}

actor PShieldSpawner3up
{
  Radius 1
  Height 1
  +NOGRAVITY
  +NOINTERACTION
  States
  {
  Spawn:
    TNT1 A 0
    TNT1 A 1
    TNT1 A 0 A_SpawnItemEx ("PShieldPart", 0, 0, 16, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("PShieldPart", 0, 0, 32, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("PShieldPart", 0, 0, 48, 0, 0, 0, 0, 32)
    //TNT1 A 0 A_SpawnItemEx ("ShieldPartVisual", 0, 0, 16, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("PShieldPartVisual", 0, 0, 32, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("PShieldPartVisual", 0, 0, 48, 0, 0, 0, 0, 32)
    stop
  }
}

actor PShieldHit
{
  Radius 1
  Height 1
  Scale 0.5
  Renderstyle Add
  +NOGRAVITY
  +NOINTERACTION
  States
  {
  Spawn:
    FHIT A 0 bright
    FHIT A 1 bright A_Stop
    FHIT A 0 bright A_PlaySound ("ForceBarrier/Hit")
    FHIT BCDEFGH 1 bright
    stop
  }
}

//33% red part//

actor RedAPShieldPart
{
  Radius 10
  Height 16
  Scale 0.5
  RenderStyle None
  Alpha 0.25
  Bloodtype "RedAPShieldHit"
  -Solid
  +Friendly
  +SHOOTABLE
  +NOGRAVITY
  +NOTELEPORT
  +NODAMAGE
  +NORADIUSDMG
  +DONTRIP
  +NOBLOODDECALS
  +FLOORCLIP
  //+REFLECTIVE
  +GHOST	//Give projectiles that you wish to pass through the shield THRUGHOST flag
  States
  {
  Spawn:
    HEXP A 4 bright
    stop
  Death:
    TNT1 A 2
    stop
  }
}

actor RedAPShieldPartVisual
{
  Radius 8
  Height 8
  Scale 0.5
  RenderStyle Add	//Fuzzy looks great in software mode
  Alpha 0.25
  +NOINTERACTION
  +CLIENTSIDEONLY
  +FLOORCLIP
  States
  {
  Spawn:
    HEXP A 4 bright
    stop
  Death:
    TNT1 A 2
    stop
  }
}

actor RedAPShieldSpawner5up
{
  Radius 1
  Height 1
  +NOGRAVITY
  +NOINTERACTION
  States
  {
  Spawn:
    TNT1 A 0
    TNT1 A 1
    TNT1 A 0 A_SpawnItemEx ("RedAPShieldPart", 0, 0, 0, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("RedAPShieldPart", 0, 0, 16, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("RedAPShieldPart", 0, 0, 32, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("RedAPShieldPart", 0, 0, 48, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("RedAPShieldPart", 0, 0, 64, 0, 0, 0, 0, 32)
    //TNT1 A 0 A_SpawnItemEx ("ShieldPartVisual", 0, 0, 0, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("RedAPShieldPartVisual", 0, 0, 16, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("RedAPShieldPartVisual", 0, 0, 32, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("RedAPShieldPartVisual", 0, 0, 48, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("RedAPShieldPartVisual", 0, 0, 64, 0, 0, 0, 0, 32)
    stop
  }
}

actor RedAPShieldSpawner4up
{
  Radius 1
  Height 1
  +NOGRAVITY
  +NOINTERACTION
  States
  {
  Spawn:
    TNT1 A 0
    TNT1 A 1
    TNT1 A 0 A_SpawnItemEx ("RedAPShieldPart", 0, 0, 8, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("RedAPShieldPart", 0, 0, 24, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("RedAPShieldPart", 0, 0, 40, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("RedAPShieldPart", 0, 0, 56, 0, 0, 0, 0, 32)
    //TNT1 A 0 A_SpawnItemEx ("ShieldPartVisual", 0, 0, 8, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("RedAPShieldPartVisual", 0, 0, 24, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("RedAPShieldPartVisual", 0, 0, 40, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("RedAPShieldPartVisual", 0, 0, 56, 0, 0, 0, 0, 32)
    stop
  }
}

actor RedAPShieldSpawner3up
{
  Radius 1
  Height 1
  +NOGRAVITY
  +NOINTERACTION
  States
  {
  Spawn:
    TNT1 A 0
    TNT1 A 1
    TNT1 A 0 A_SpawnItemEx ("RedAPShieldPart", 0, 0, 16, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("RedAPShieldPart", 0, 0, 32, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("RedAPShieldPart", 0, 0, 48, 0, 0, 0, 0, 32)
    //TNT1 A 0 A_SpawnItemEx ("ShieldPartVisual", 0, 0, 16, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("RedAPShieldPartVisual", 0, 0, 32, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("RedAPShieldPartVisual", 0, 0, 48, 0, 0, 0, 0, 32)
    stop
  }
}

actor RedAPShieldHit
{
  Radius 1
  Height 1
  Scale 0.5
  Renderstyle Add
  +NOGRAVITY
  +NOINTERACTION
  States
  {
  Spawn:
    FHIP A 0 bright
    FHIP A 1 bright A_Stop
    FHIP A 0 bright A_PlaySound ("ForceBarrier/Hit")
    FHIP BCDEFGH 1 bright
    stop
  }
}

//66% red part//

actor RedBPShieldPart
{
  Radius 10
  Height 16
  Scale 0.5
  RenderStyle None
  Alpha 0.25
  Bloodtype "RedBPShieldHit"
  -Solid
  +Friendly
  +SHOOTABLE
  +NOGRAVITY
  +NOTELEPORT
  +NODAMAGE
  +NORADIUSDMG
  +DONTRIP
  +NOBLOODDECALS
  +FLOORCLIP
  //+REFLECTIVE
  +GHOST	//Give projectiles that you wish to pass through the shield THRUGHOST flag
  States
  {
  Spawn:
    HEXQ A 4 bright
    stop
  Death:
    TNT1 A 2
    stop
  }
}

actor RedBPShieldPartVisual
{
  Radius 8
  Height 8
  Scale 0.5
  RenderStyle Add	//Fuzzy looks great in software mode
  Alpha 0.25
  +NOINTERACTION
  +CLIENTSIDEONLY
  +FLOORCLIP
  States
  {
  Spawn:
    HEXQ A 4 bright
    stop
  Death:
    TNT1 A 2
    stop
  }
}

actor RedBPShieldSpawner5up
{
  Radius 1
  Height 1
  +NOGRAVITY
  +NOINTERACTION
  States
  {
  Spawn:
    TNT1 A 0
    TNT1 A 1
    TNT1 A 0 A_SpawnItemEx ("RedBPShieldPart", 0, 0, 0, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("RedBPShieldPart", 0, 0, 16, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("RedBPShieldPart", 0, 0, 32, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("RedBPShieldPart", 0, 0, 48, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("RedBPShieldPart", 0, 0, 64, 0, 0, 0, 0, 32)
    //TNT1 A 0 A_SpawnItemEx ("ShieldPartVisual", 0, 0, 0, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("RedBPShieldPartVisual", 0, 0, 16, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("RedBPShieldPartVisual", 0, 0, 32, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("RedBPShieldPartVisual", 0, 0, 48, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("RedBPShieldPartVisual", 0, 0, 64, 0, 0, 0, 0, 32)
    stop
  }
}

actor RedBPShieldSpawner4up
{
  Radius 1
  Height 1
  +NOGRAVITY
  +NOINTERACTION
  States
  {
  Spawn:
    TNT1 A 0
    TNT1 A 1
    TNT1 A 0 A_SpawnItemEx ("RedBPShieldPart", 0, 0, 8, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("RedBPShieldPart", 0, 0, 24, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("RedBPShieldPart", 0, 0, 40, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("RedBPShieldPart", 0, 0, 56, 0, 0, 0, 0, 32)
    //TNT1 A 0 A_SpawnItemEx ("ShieldPartVisual", 0, 0, 8, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("RedBPShieldPartVisual", 0, 0, 24, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("RedBPShieldPartVisual", 0, 0, 40, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("RedBPShieldPartVisual", 0, 0, 56, 0, 0, 0, 0, 32)
    stop
  }
}

actor RedBPShieldSpawner3up
{
  Radius 1
  Height 1
  +NOGRAVITY
  +NOINTERACTION
  States
  {
  Spawn:
    TNT1 A 0
    TNT1 A 1
    TNT1 A 0 A_SpawnItemEx ("RedBPShieldPart", 0, 0, 16, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("RedBPShieldPart", 0, 0, 32, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("RedBPShieldPart", 0, 0, 48, 0, 0, 0, 0, 32)
    //TNT1 A 0 A_SpawnItemEx ("ShieldPartVisual", 0, 0, 16, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("RedBPShieldPartVisual", 0, 0, 32, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("RedBPShieldPartVisual", 0, 0, 48, 0, 0, 0, 0, 32)
    stop
  }
}

actor RedBPShieldHit
{
  Radius 1
  Height 1
  Scale 0.5
  Renderstyle Add
  +NOGRAVITY
  +NOINTERACTION
  States
  {
  Spawn:
    FHIQ A 0 bright
    FHIQ A 1 bright A_Stop
    FHIQ A 0 bright A_PlaySound ("ForceBarrier/Hit")
    FHIQ BCDEFGH 1 bright
    stop
  }
}

//100% red part//

actor RedPShieldPart
{
  Radius 10
  Height 16
  Scale 0.5
  RenderStyle None
  Alpha 0.25
  Bloodtype "RedPShieldHit"
 -Solid
  +Friendly
  +SHOOTABLE
  +NOGRAVITY
  +NOTELEPORT
  +NODAMAGE
  +NORADIUSDMG
  +DONTRIP
  +NOBLOODDECALS
  +FLOORCLIP
  //+REFLECTIVE
  +GHOST	//Give projectiles that you wish to pass through the shield THRUGHOST flag
  States
  {
  Spawn:
    HEXR A 4 bright
    stop
  Death:
    TNT1 A 2
    stop
  }
}

actor RedPShieldPartVisual
{
  Radius 8
  Height 8
  Scale 0.5
  RenderStyle Add	//Fuzzy looks great in software mode
  Alpha 0.25
  +NOINTERACTION
  +CLIENTSIDEONLY
  +FLOORCLIP
  States
  {
  Spawn:
    HEXR A 4 bright
    stop
  Death:
    TNT1 A 2
    stop
  }
}

actor RedPShieldSpawner5up
{
  Radius 1
  Height 1
  +NOGRAVITY
  +NOINTERACTION
  States
  {
  Spawn:
    TNT1 A 0
    TNT1 A 1
    TNT1 A 0 A_SpawnItemEx ("RedPShieldPart", 0, 0, 0, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("RedPShieldPart", 0, 0, 16, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("RedPShieldPart", 0, 0, 32, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("RedPShieldPart", 0, 0, 48, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("RedPShieldPart", 0, 0, 64, 0, 0, 0, 0, 32)
    //TNT1 A 0 A_SpawnItemEx ("ShieldPartVisual", 0, 0, 0, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("RedPShieldPartVisual", 0, 0, 16, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("RedPShieldPartVisual", 0, 0, 32, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("RedPShieldPartVisual", 0, 0, 48, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("RedPShieldPartVisual", 0, 0, 64, 0, 0, 0, 0, 32)
    stop
  }
}

actor RedPShieldSpawner4up
{
  Radius 1
  Height 1
  +NOGRAVITY
  +NOINTERACTION
  States
  {
  Spawn:
    TNT1 A 0
    TNT1 A 1
    TNT1 A 0 A_SpawnItemEx ("RedPShieldPart", 0, 0, 8, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("RedPShieldPart", 0, 0, 24, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("RedPShieldPart", 0, 0, 40, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("RedPShieldPart", 0, 0, 56, 0, 0, 0, 0, 32)
    //TNT1 A 0 A_SpawnItemEx ("ShieldPartVisual", 0, 0, 8, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("RedPShieldPartVisual", 0, 0, 24, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("RedPShieldPartVisual", 0, 0, 40, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("RedPShieldPartVisual", 0, 0, 56, 0, 0, 0, 0, 32)
    stop
  }
}

actor RedPShieldSpawner3up
{
  Radius 1
  Height 1
  +NOGRAVITY
  +NOINTERACTION
  States
  {
  Spawn:
    TNT1 A 0
    TNT1 A 1
    TNT1 A 0 A_SpawnItemEx ("RedPShieldPart", 0, 0, 16, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("RedPShieldPart", 0, 0, 32, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("RedPShieldPart", 0, 0, 48, 0, 0, 0, 0, 32)
    //TNT1 A 0 A_SpawnItemEx ("ShieldPartVisual", 0, 0, 16, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("RedPShieldPartVisual", 0, 0, 32, 0, 0, 0, 0, 32)
    TNT1 A 0 A_SpawnItemEx ("RedPShieldPartVisual", 0, 0, 48, 0, 0, 0, 0, 32)
    stop
  }
}

actor RedPShieldHit
{
  Radius 1
  Height 1
  Scale 0.5
  Renderstyle Add
  +NOGRAVITY
  +NOINTERACTION
  States
  {
  Spawn:
    FHIR A 0 bright
    FHIR A 1 bright A_Stop
    FHIR A 0 bright A_PlaySound ("ForceBarrier/Hit")
    FHIR BCDEFGH 1 bright
    stop
  }
}

ACTOR DeployableShield : CustomInventory
{
  +COUNTITEM
  +INVENTORY.INVBAR
  Inventory.Amount 1
  Inventory.MaxAmount 3
  Inventory.InterHubAmount 3
  Inventory.Icon "DEPIA0"
  Tag "Portable Shield"
  Inventory.PickupMessage "You picked up a deployable shield!"
  States
  {
  Spawn:
    DEPS A -1
    Stop
  Use:
    TNT1 A 1 A_SpawnItemEx ("ActiveShield", 56, 0, 8, 0, 0, 0, 0, 1)
    Stop
  }
}

actor ActiveShield
{
  -SOLID
  -SHOOTABLE
  +Friendly
  Species "Player"
  States
  {
  Spawn:
    TNT1 A 1
	TNT1 A 0 A_PlaySound ("ForceBarrier/On")
	DEPS A 26
	DEPS E 3
	DEPS D 3
	DEPS C 3
	goto See
  See:
    DEPS B 1
	TNT1 A 0 A_PlaySound ("ForceBarrier/Loop")
	TNT1 A 0 A_SpawnItemEx ("ShieldSpawner2")
    DEPS B 2
	TNT1 A 0 A_GiveInventory("PortShCount", 1)
	TNT1 A 0 A_JumpIfInventory ("PortShCount", 100, "See2")
    Loop
  See2:
    DEPS C 1
	TNT1 A 0 A_PlaySound ("ForceBarrier/Loop")
	TNT1 A 0 A_SpawnItemEx ("RedAShieldSpawner2")
    DEPS C 2
	TNT1 A 0 A_GiveInventory("PortShCount", 1)
	TNT1 A 0 A_JumpIfInventory ("PortShCount", 200, "See3")
    Loop
  See3:
    DEPS D 1
	TNT1 A 0 A_PlaySound ("ForceBarrier/Loop")
	TNT1 A 0 A_SpawnItemEx ("RedBShieldSpawner2")
    DEPS D 2
	TNT1 A 0 A_GiveInventory("PortShCount", 1)
	TNT1 A 0 A_JumpIfInventory ("PortShCount", 300, "See4")
    Loop
  See4:
    DEPS E 1
	TNT1 A 0 A_PlaySound ("ForceBarrier/Loop")
	TNT1 A 0 A_SpawnItemEx ("RedShieldSpawner2")
    DEPS E 2
	TNT1 A 0 A_GiveInventory("PortShCount", 1)
	TNT1 A 0 A_JumpIfInventory ("PortShCount", 400, "Death")
    Loop
  Death:
    DESP A 0 A_PlaySound ("ForceBarrier/Off")
	DEPS A 70
	DEPS A 3 A_FadeOut (0.05)
    goto Death+2
  }
}

actor ShieldSpawner2
{
  Radius 1
  Height 1
  +NOGRAVITY
  +NOINTERACTION
  +Friendly
  +SHOOTABLE
  +NOGRAVITY
  +NOTELEPORT
  +NODAMAGE
  +DONTRIP
  +NOBLOODDECALS
  +FLOORCLIP
  //+REFLECTIVE
  +GHOST	
  States
  {
  Spawn:
    TNT1 A 1
    TNT1 A 0 A_SpawnItemEx ("PShieldSpawner5up", 8, 0, 0)
    TNT1 A 0 A_SpawnItemEx ("PShieldSpawner4up", 8, 24, 0)
    TNT1 A 0 A_SpawnItemEx ("PShieldSpawner4up", 8, -24, 0)
    TNT1 A 0 A_SpawnItemEx ("PShieldSpawner3up", 8, 48, 0)
    TNT1 A 0 A_SpawnItemEx ("PShieldSpawner3up", 8, -48, 0)
    stop
  }
}

actor RedShieldSpawner2
{
  Radius 1
  Height 1
  +NOGRAVITY
  +NOINTERACTION
  +Friendly
  +SHOOTABLE
  +NOGRAVITY
  +NOTELEPORT
  +NODAMAGE
  +DONTRIP
  +NOBLOODDECALS
  +FLOORCLIP
  //+REFLECTIVE
  +GHOST
  States
  {
  Spawn:
    TNT1 A 1
    TNT1 A 0 A_SpawnItemEx ("RedPShieldSpawner5up", 8, 0, 0)
    TNT1 A 0 A_SpawnItemEx ("RedPShieldSpawner4up", 8, 24, 0)
    TNT1 A 0 A_SpawnItemEx ("RedPShieldSpawner4up", 8, -24, 0)
    TNT1 A 0 A_SpawnItemEx ("RedPShieldSpawner3up", 8, 48, 0)
    TNT1 A 0 A_SpawnItemEx ("RedPShieldSpawner3up", 8, -48, 0)
    stop
  }
}

actor RedAShieldSpawner2
{
  Radius 1
  Height 1
  +NOGRAVITY
  +NOINTERACTION
  +Friendly
  +SHOOTABLE
  +NOGRAVITY
  +NOTELEPORT
  +NODAMAGE
  +DONTRIP
  +NOBLOODDECALS
  +FLOORCLIP
  //+REFLECTIVE
  +GHOST
  States
  {
  Spawn:
    TNT1 A 1
    TNT1 A 0 A_SpawnItemEx ("RedAPShieldSpawner5up", 8, 0, 0)
    TNT1 A 0 A_SpawnItemEx ("RedAPShieldSpawner4up", 8, 24, 0)
    TNT1 A 0 A_SpawnItemEx ("RedAPShieldSpawner4up", 8, -24, 0)
    TNT1 A 0 A_SpawnItemEx ("RedAPShieldSpawner3up", 8, 48, 0)
    TNT1 A 0 A_SpawnItemEx ("RedAPShieldSpawner3up", 8, -48, 0)
    stop
  }
}

actor RedBShieldSpawner2
{
  Radius 1
  Height 1
  +NOGRAVITY
  +NOINTERACTION
  +Friendly
  +SHOOTABLE
  +NOGRAVITY
  +NOTELEPORT
  +NODAMAGE
  +DONTRIP
  +NOBLOODDECALS
  +FLOORCLIP
  //+REFLECTIVE
  +GHOST
  States
  {
  Spawn:
    TNT1 A 1
    TNT1 A 0 A_SpawnItemEx ("RedBPShieldSpawner5up", 8, 0, 0)
    TNT1 A 0 A_SpawnItemEx ("RedBPShieldSpawner4up", 8, 24, 0)
    TNT1 A 0 A_SpawnItemEx ("RedBPShieldSpawner4up", 8, -24, 0)
    TNT1 A 0 A_SpawnItemEx ("RedBPShieldSpawner3up", 8, 48, 0)
    TNT1 A 0 A_SpawnItemEx ("RedBPShieldSpawner3up", 8, -48, 0)
    stop
  }
}

actor DeployableSentryGun
{
  obituary "%o was ventilated by an auto-sentry."
  health 200
  radius 20
  height 56
  mass 100000
  speed 0
  MaxTargetRange 2048
  attacksound "DisposableSentry/Attack"
  Tag "Sentry Gun"
  MONSTER
  -Solid
  +FLOORCLIP
  +FRIENDLY
  +NOBLOOD
  +LOOKALLAROUND
  +NEVERRESPAWN
  +STANDSTILL
  +MissileMore
  +MissileEvenMore
  Species "Player"
  states
  {
  Spawn:
    DSEN AAAAAAAAAAAAAAAA 4 A_Look
    DSEN A 0 A_PlaySound ("DisposableSentry/Active")
    loop
  See:
    DSEN AAAAAAAAAAAAAAAA 4 A_Chase
    DSEN A 0 A_PlaySound ("DisposableSentry/Active")
    loop
  Missile:
    DSEN A 16 A_FaceTarget
    DSEN B 2 bright A_CustomBulletAttack(6.0,3.0,1,15,"DeployableSentryPuff",2048,CBAF_NORANDOM)
    DSEN A 2 A_CposRefire
    goto Missile+1
  Death:
    DSEN C 1 A_PlaySoundEx ("DisposableSentry/Death", "SoundSlot5")
    DSEN C 0 A_PlaySoundEx ("weapons/rocklx", "SoundSlot6")
    DSEN C 0 A_SpawnItem ("DisposableSentryBoom", 0, 48)
    DSEN C 512
  FadeOut:
    DSEN C 2 A_FadeOut (0.1)
    loop
  }
}

Actor DeployableSentryPuff : BulletPuff
{
obituary "%o was ventilated by %k's auto-sentry."
}

actor DisposableSentryBoom
{
  radius 2
  height 2
  renderstyle Add
  +NOINTERACTION
  +CLIENTSIDEONLY
  states
  {
  Spawn:
    XPO1 ABCDEF 3 bright
    stop
  }
}

ACTOR DeployableSentryBox : CustomInventory
{
  +INVENTORY.INVBAR
  Inventory.InterHubAmount 3
  Inventory.MaxAmount 3
  Inventory.Icon "SENBB0"
  Inventory.PickupMessage "You picked up a disposable sentry gun!"
  Tag "Sentry Gun Box"
  States
  {
  Spawn:
    SENB A -1
    Stop
  Use:
    TNT1 A 1 A_SpawnItemEx ("DeployableSentryGun", 56, 0, 8, 0, 0, 0, 0, 1)
    Stop
  }
}

ACTOR MarineReinforcementsBeacon : CustomInventory
{
  +INVENTORY.INVBAR
  Inventory.MaxAmount 3
  Inventory.InterHubAmount 3
  Inventory.Icon "BCNIA0"
  Tag "Reinforcement Beacon"
  Inventory.PickupMessage "You picked up a Reinforcements Beacon!"
  States
  {
  Spawn:
    BEAC A -1
    Stop
  Use:
    TNT1 A 1 A_SpawnItemEx ("ActiveBeacon", 56, 0, 8, 0, 0, 0, 0, 1)
    Stop
  }
}

actor ActiveBeacon
{
  -SOLID
  -SHOOTABLE
  States
  {
  Spawn:
    BEAC A 105
    BEAC A 0 A_CustomMissile ("TeleportFog", 0, 0, 0, 0, 0)
    BEAC A 0 A_SpawnItemEx ("MarineShotgunFriend", 0, 0, 8, 0, 0, 0, 0, 1)
    BEAC A 105
    BEAC A 0 A_CustomMissile ("TeleportFog", 0, 0, 0, 0, 0)
    BEAC A 0 A_SpawnItemEx ("MarineSSGFriend", 0, 0, 8, 0, 0, 0, 0, 1)
    BEAC A 105
    BEAC A 0 A_CustomMissile ("TeleportFog", 0, 0, 0, 0, 0)
    BEAC A 0 A_SpawnItemEx ("MarineChaingunFriend", 0, 0, 8, 0, 0, 0, 0, 1)
    BEAC A 105
    BEAC A 0 A_CustomMissile ("TeleportFog", 0, 0, 0, 0, 0)
    BEAC A 0 A_SpawnItemEx ("MarineRocketFriend", 0, 0, 8, 0, 0, 0, 0, 1)
    BEAC A 105
    BEAC A 0 A_CustomMissile ("TeleportFog", 0, 0, 0, 0, 0)
    BEAC A 0 A_SpawnItemEx ("MarinePlasmaFriend", 0, 0, 8, 0, 0, 0, 0, 1)
    BEAC A 105
    goto Death
  Death:
    TNT1 A 1 A_CustomMissile ("TeleportFog", 0, 0, 0, 0, 0)
    stop
  }
}

ACTOR MarineShotgunFriend : MarineShotgun
{
	Health 500
	MONSTER
	-SOLID
	+MISSILEEVENMORE
	+NORADIUSDMG
	+QUICKTORETALIATE
	+FLOORCLIP
	+FRIENDLY
	Tag "Shotgun Marine"
	DropItem "ShotgunNonMapPickup"
	States
   {
   Spawn:
      PLAY ABCD 5 A_Wander
	  PLAY ABCD 0 A_Look
      Loop
	}
}

ACTOR MarineSSGFriend : MarineSSG
{
	Health 500
	MONSTER
	-SOLID
	+MISSILEEVENMORE
	+NORADIUSDMG
	+QUICKTORETALIATE
	+FLOORCLIP
	+FRIENDLY
	Tag "Super Shotgun Marine"
	DropItem "SuperShotgunMapPickup"
	States
   {
   Spawn:
      PLAY ABCD 5 A_Wander
	  PLAY ABCD 0 A_Look
      Loop
	}
}

ACTOR MarineChaingunFriend : MarineChaingun
{
	Health 500
	MONSTER
	-SOLID
	+MISSILEEVENMORE
	+NORADIUSDMG
	+QUICKTORETALIATE
	+FLOORCLIP
	+FRIENDLY
	Tag "Chaingun Marine"
	DropItem "ChaingunNonMapPickup"
	States
   {
   Spawn:
      PLAY ABCD 5 A_Wander
	  PLAY ABCD 0 A_Look
      Loop
	}
}

ACTOR MarineRocketFriend : MarineRocket
{
	Health 500
	MONSTER
	-SOLID
	+MISSILEEVENMORE
	+NORADIUSDMG
	+QUICKTORETALIATE
	+FLOORCLIP
	+FRIENDLY
	Tag "Rocket Launcher Marine"
	DropItem "RocketLauncherPickup"
	States
   {
   Spawn:
      PLAY ABCD 5 A_Wander
	  PLAY ABCD 0 A_Look
      Loop
	}
}

ACTOR MarinePlasmaFriend : MarinePlasma
{
	Health 500
	MONSTER
	-SOLID
	+MISSILEEVENMORE
	+NORADIUSDMG
	+QUICKTORETALIATE
	+FLOORCLIP
	+FRIENDLY
	Tag "Plasma Gun Marine"
	DropItem "PlasmaGunPickup"
	States
   {
   Spawn:
      PLAY ABCD 5 A_Wander
	  PLAY ABCD 0 A_Look
      Loop
	}
}



ACTOR ArmorPlate : ArmorBonus
{
Armor.SaveAmount 25
Armor.MaxSaveAmount 200
}

ACTOR LargeArmorPlate : ArmorBonus
{
Armor.SaveAmount 50
Armor.MaxSaveAmount 200
}