Actor SuperSentryItem : CustomInventory 25008
{
//$Category Stronghold_Items
  inventory.pickupmessage "Picked up a deployable super sentry turret."
  inventory.maxamount 2
  inventory.icon SSEIA0
  Tag "Super Sentry Turret"
  +INVENTORY.INVBAR
  Scale 0.75
  States
  {
  Spawn:
   		SSEN A -1 BRIGHT
    	Stop
  Use:
  		TNT1 A 1 A_PlaySound("DSSTPLAC", CHAN_AUTO, 0.7)
		TNT1 A 1 A_SpawnItem("ItemFog", 64, 16, 0, 1)
		TNT1 A 1 A_SpawnItem("SuperSentry", 64, 0, 0, 1)
  		Stop
  }
}

Actor SuperSentryPlasma
{
	radius 1
	height 2
	speed 20
        damage 5
        scale 0.3
	damagetype "bossfactor"
	+NOEXTREMEDEATH
	+DONTBLAST
	+PAINLESS
        +THRUGHOST
	PROJECTILE
        translation "192:207=208:223","240:246=223:223"
        SeeSound "weapons/repfir"
        DeathSound "weapons/railf1"
	states
 	{
 	spawn:
   		PLSS AB 4 Bright
   		loop
 	Death:
   		PLSE ABCDE 4 Bright
		TNT1 A 0
  		Stop
 	}
}

Actor SuperSentry
{
//$Category Stronghold_Marines
	mass 9999999999
	DamageFactor "overmindfactor", 10
	radius 16
	height 16
	health 300
	maxstepheight 512
	maxdropoffheight 512
	+nodamage
	-solid
	-shootable
	+notarget
	+noblood
	+friendly
	+lookallaround
	+missilemore
	+missileevenmore
	+NORADIUSDMG
	speed 0
	states
 	{
 	spawn:
 		DGUN A 4 a_look
 		loop
 	see:
 		DGUN A 4 A_chase
 		loop
	missile:
 		DGUN A 4 A_facetarget
		Goto Missile+2
		DGUN A 2 A_facetarget
 		DGUN B 4 A_custommissile("SuperSentryPlasma", 16, -10, 0)
 		DGUN C 4 A_custommissile("SuperSentryPlasma", 16, 10, 0)
 		DGUN A 4 A_CPosRefire //was A 4
 		Goto Missile+1
	death:
 		TNT1 A 4
 		stop
 	}
}

Actor SuperMarineItem : CustomInventory 25009
{
//$Category Stronghold_Items
  inventory.pickupmessage "Picked up some elite marine reinforcements."
  inventory.maxamount 3
  Tag "Elite Marine Reinforcements"
  inventory.icon SMRIA0
  +INVENTORY.INVBAR
  +GHOST
  Scale 0.75
  States
  {
  Spawn:
   	SMAR A -1 BRIGHT
    	Stop
  Use:
	TNT1 A 1 A_SpawnItem("TeleportFog", 64, 16, 0, 0)
	TNT1 A 0 A_Jump(96, 2)
	TNT1 A 0 A_SpawnItem("STMarineBFG", 64, 16, 0, 1)
		Stop
	TNT1 A 0 A_Jump(96, 2)
	TNT1 A 0 A_SpawnItem("STMarinePyroCannon", 64, 16, 0, 1)
		Stop
	TNT1 A 0 A_SpawnItem("STMarineDevastator", 64, 16, 0, 1)
		Stop
  }
}

Actor SuperMarineTimer : Powerup
{
	Powerup.Duration 52
}

Actor STMarineBFG
{
	PainChance 160
	MONSTER
	-COUNTKILL
	-ACTIVATEMCROSS
	+MISSILEMORE
    +GHOST
	+NOTIMEFREEZE
	+NODROPOFF
	Radius 16
	Height 56
	Mass 100
	Health 300
	Speed 8
	DamageFactor "MarineAlly", 0
	SeeSound "marine/sight"
    ActiveSound "marine/active"
    DeathSound "marine/death"
    PainSound "marine/pain"
	States
	{
	Spawn:
		PB10 A 4 A_Look
		Loop
	See:
		PB10 ABCD 4 A_Chase
		Loop
	Missile:
		TNT1 A 0 A_JumpIfInventory("SuperMarineTimer", 1, "See")
		TNT1 A 0 A_ChangeFlag("NOPAIN",1)
		TNT1 A 0 A_PlaySound("weapons/bfgf")
		PB10 EEEEE 6 A_FaceTarget
		PB10 E 1
      	PB10 F 10 A_CustomMissile("MarineBFGBall")
      	PB10 E 33
		TNT1 A 0 A_GiveInventory("SuperMarineTimer", 1)
		TNT1 A 0 A_ChangeFlag("NOPAIN",0)
		Goto See
	Pain:
		PB10 G 4
		PB10 G 4 A_Pain
		TNT1 A 0 A_Chase("", "", CHF_FASTCHASE)
		Goto See
	Death:
		PB10 H 10
		PB10 I 10 A_Scream
		PB10 J 10 A_NoBlocking
		PB10 KLM 10
		PB10 N -1
		Stop
	XDeath:
		PB10 O 5
		PB10 P 5 A_XScream
		PB10 Q 5 A_NoBlocking
		PB10 RSTUV 5
		PB10 W -1
		Stop
	}
}

Actor MarineBFGBall
{
  Radius 13
  Height 8
  Speed 25
  Damage 100
  RenderStyle Add
  Alpha 0.75
  DeathSound "weapons/bfgx"
  DamageType "MarineAlly"
  PROJECTILE
  +RANDOMIZE
  Decal BFGLightning
  States
  {
  Spawn:
    BFS1 AB 4 bright
    Loop
  Death:
    BFE1 A 8 bright A_Explode(128,256,0)
    BFE1 BCDEF 8 bright
    Stop
  }
}

Actor STMarinePyroCannon
{
	PainChance 160
	MONSTER
	-COUNTKILL
	-ACTIVATEMCROSS
    +GHOST
	+NOTIMEFREEZE
	+NODROPOFF
	Radius 16
	Height 56
	Mass 10
	Health 300
	Speed 8
	DamageFactor "MarineAlly", 0
	SeeSound "marine/sight"
    ActiveSound "marine/active"
    DeathSound "marine/death"
    PainSound "marine/pain"
	States
	{
	Spawn:
		PPYR A 4 A_Look
		Loop
	See:
		PPYR ABCD 4 A_Chase
		Loop
	Missile:
		TNT1 A 0 A_JumpIfInventory("SuperMarineTimer", 1, "See")
		TNT1 A 0 A_ChangeFlag("NOPAIN",1)
		PPYR EE 6 A_FaceTarget
		PPYR E 1
		PPYR F 15 A_CustomMissile("MarinePyroShot")
      	PPYR E 20
		TNT1 A 0 A_GiveInventory("SuperMarineTimer", 1)
		TNT1 A 0 A_ChangeFlag("NOPAIN",0)
		Goto See
	Pain:
		PPYR G 4
		PPYR G 4 A_Pain
		TNT1 A 0 A_Chase("", "", CHF_FASTCHASE)
		Goto See
	Death:
		PPYR H 10
		PPYR I 10 A_Scream
		PPYR J 10 A_NoBlocking
		PPYR KLM 10
		PPYR N -1
		Stop
	XDeath:
		PPYR O 5
		PPYR P 5 A_XScream
		PPYR Q 5 A_NoBlocking
		PPYR RSTUV 5
		PPYR W -1
		Stop
	}
}

Actor MarinePyroShot
{
   Radius 8
   Height 12
   Speed 30
   Damage 100
   PROJECTILE
   RenderStyle Add
   DamageType "MarineAlly"
   Alpha 0.95
   Scale 0.75
   SeeSound "weapons/hellfi"
   DeathSound "weapons/hellex"
   Decal BigScorch
   States
   {
   Spawn:
      PBAL ABA 4 Bright
	  PBAL BA 4 Bright A_Explode(64,128,0)
      Loop
   Death:
      PYXP AB 2 Bright
      PYXP C 2 Bright A_Explode(128,256,0)
      PYXP C 0 Bright A_CustomMissile("MarinePyroSpawner",0,0,0,4)
      PYXP C 0 Bright A_CustomMissile("MarinePyroSpawner",0,0,45,4)
      PYXP C 0 Bright A_CustomMissile("MarinePyroSpawner",0,0,90,4)
      PYXP C 0 Bright A_CustomMissile("MarinePyroSpawner",0,0,135,4)
      PYXP C 0 Bright A_CustomMissile("MarinePyroSpawner",0,0,180,4)
      PYXP C 0 Bright A_CustomMissile("MarinePyroSpawner",0,0,225,4)
      PYXP C 0 Bright A_CustomMissile("MarinePyroSpawner",0,0,270,4)
      PYXP C 0 Bright A_CustomMissile("MarinePyroSpawner",0,0,315,4)
	  PYXP C 0 Bright A_SpawnItemEx("MarinePyroFlare",0,0,0,3.7,3.7,18.5,0,SXF_ABSOLUTEANGLE)
	  PYXP C 0 Bright A_SpawnItemEx("MarinePyroFlare",0,0,0,4.75,4.75,18.5,0,SXF_ABSOLUTEANGLE)
	  PYXP C 0 Bright A_SpawnItemEx("MarinePyroFlare",0,0,0,3.7,3.7,18.5,17.5,SXF_ABSOLUTEANGLE)
	  PYXP C 0 Bright A_SpawnItemEx("MarinePyroFlare",0,0,0,4.4,4.4,18.5,45,SXF_ABSOLUTEANGLE)
	  PYXP C 0 Bright A_SpawnItemEx("MarinePyroFlare",0,0,0,6.3,6.3,18.5,45,SXF_ABSOLUTEANGLE)
	  PYXP C 0 Bright A_SpawnItemEx("MarinePyroFlare",0,0,0,3.7,3.7,18.5,72.5,SXF_ABSOLUTEANGLE)
	  PYXP C 0 Bright A_SpawnItemEx("MarinePyroFlare",0,0,0,3.7,3.7,18.5,90,SXF_ABSOLUTEANGLE)
	  PYXP C 0 Bright A_SpawnItemEx("MarinePyroFlare",0,0,0,4.75,4.75,18.5,90,SXF_ABSOLUTEANGLE)
	  PYXP C 0 Bright A_SpawnItemEx("MarinePyroFlare",0,0,0,3.7,3.7,18.5,107.5,SXF_ABSOLUTEANGLE)
	  PYXP C 0 Bright A_SpawnItemEx("MarinePyroFlare",0,0,0,4.4,4.4,18.5,135,SXF_ABSOLUTEANGLE)
	  PYXP C 0 Bright A_SpawnItemEx("MarinePyroFlare",0,0,0,6.3,6.3,18.5,135,SXF_ABSOLUTEANGLE)
	  PYXP C 0 Bright A_SpawnItemEx("MarinePyroFlare",0,0,0,3.7,3.7,18.5,162.5,SXF_ABSOLUTEANGLE)
	  PYXP C 0 Bright A_SpawnItemEx("MarinePyroFlare",0,0,0,3.7,3.7,18.5,180,SXF_ABSOLUTEANGLE)
	  PYXP C 0 Bright A_SpawnItemEx("MarinePyroFlare",0,0,0,4.75,4.75,18.5,180,SXF_ABSOLUTEANGLE)
	  PYXP C 0 Bright A_SpawnItemEx("MarinePyroFlare",0,0,0,3.7,3.7,18.5,197.5,SXF_ABSOLUTEANGLE)
	  PYXP C 0 Bright A_SpawnItemEx("MarinePyroFlare",0,0,0,4.4,4.4,18.5,225,SXF_ABSOLUTEANGLE)
	  PYXP C 0 Bright A_SpawnItemEx("MarinePyroFlare",0,0,0,6.3,6.3,18.5,225,SXF_ABSOLUTEANGLE)
	  PYXP C 0 Bright A_SpawnItemEx("MarinePyroFlare",0,0,0,3.7,3.7,18.5,252.5,SXF_ABSOLUTEANGLE)
	  PYXP C 0 Bright A_SpawnItemEx("MarinePyroFlare",0,0,0,3.7,3.7,18.5,270,SXF_ABSOLUTEANGLE)
	  PYXP C 0 Bright A_SpawnItemEx("MarinePyroFlare",0,0,0,4.75,4.75,18.5,270,SXF_ABSOLUTEANGLE)
	  PYXP C 0 Bright A_SpawnItemEx("MarinePyroFlare",0,0,0,3.7,3.7,18.5,287.5,SXF_ABSOLUTEANGLE)
	  PYXP C 0 Bright A_SpawnItemEx("MarinePyroFlare",0,0,0,4.4,4.4,18.5,315,SXF_ABSOLUTEANGLE)
	  PYXP C 0 Bright A_SpawnItemEx("MarinePyroFlare",0,0,0,6.3,6.3,18.5,315,SXF_ABSOLUTEANGLE)
	  PYXP C 0 Bright A_SpawnItemEx("MarinePyroFlare",0,0,0,3.7,3.7,18.5,342.5,SXF_ABSOLUTEANGLE)
      PYXP DEFGHIJKLMNOPQRSTU 2 Bright
      stop
   }
}

Actor MarinePyroSpawner
{
   Radius 1
   Height 1
   PROJECTILE
   Speed 15
   +RIPPER
   +BLOODLESSIMPACT
   +PAINLESS
   States
   {
   Spawn:
      TNT1 AAAAA 5 Bright A_CustomMissile("MarinePyroBoom",0,0,0,4)
      stop
   }
}

Actor MarinePyroBoom
{
   Radius 0
   Height 1
   PROJECTILE
   RenderStyle Add
   Alpha 0.95
   Scale 0.67
   +THRUGHOST
   SeeSound "weapons/boom1"
   States
   {
   Spawn:
      PYXP ABCDEFGHIJKLMNOPQRSTU 2 Bright
      stop
   }
}

Actor MarinePyroFlare
{
   Radius 8
   Height 11
   Speed 35
   Damage 7
   PROJECTILE
   RenderStyle Add
   DamageType "MarineAlly"
   Decal DoomImpScorch
   Alpha 0.95
   -NOGRAVITY
   +THRUGHOST
   DeathSound "weapons/bang1"
   States
   {
   Spawn:
      TNT1 A 1 Bright A_SpawnItemEx("PyroFX",0,0,0,0,0,0,0,128)
      loop
   Death:
      FRFX HIJ 2 Bright
      FRFX J 0 A_Explode(48,64,0)
      FRFX J 0 A_SpawnItem("MarineDropFire",0,0)
      FRFX KLMNO 2 Bright
      stop
   }
}


Actor STMarineDevastator
{
	PainChance 160
	MONSTER
	-COUNTKILL
	-ACTIVATEMCROSS
    +GHOST
	+NOTIMEFREEZE
	+NODROPOFF
	Radius 16
	Height 56
	Mass 100
	Health 300
	Speed 8
	DamageFactor "MarineAlly", 0
	SeeSound "marine/sight"
    ActiveSound "marine/active"
    DeathSound "marine/death"
    PainSound "marine/pain"
	States
	{
	Spawn:
		PDEV A 4 A_Look
		Loop
	See:
		PDEV ABCD 4 A_Chase
		Loop
	Missile:
		TNT1 A 0 A_JumpIfInventory("SuperMarineTimer", 1, "See")
		TNT1 A 0 A_ChangeFlag("NOPAIN",1)
		TNT1 A 0 A_PlaySound("weapons/devchr")
		PDEV EEEEEEEEE 6 A_FaceTarget
		PDEV E 1 A_PlaySound("weapons/devfir")
      	PDEV F 10 A_CustomMissile("MarineDevastatorBall")
      	PDEV E 7
		TNT1 A 0 A_GiveInventory("SuperMarineTimer", 1)
		TNT1 A 0 A_ChangeFlag("NOPAIN",0)
		Goto See
	Pain:
		PDEV G 4
		PDEV G 4 A_Pain
		TNT1 A 0 A_Chase("", "", CHF_FASTCHASE)
		Goto See
	Death:
		PDEV H 10
		PDEV I 10 A_Scream
		PDEV J 10 A_NoBlocking
		PDEV KLM 10
		PDEV N -1
		Stop
	XDeath:
		PDEV O 5
		PDEV P 5 A_XScream
		PDEV Q 5 A_NoBlocking
		PDEV RSTUV 5
		PDEV W -1
		Stop
	}
}

Actor MarineDevastatorBall
{
   Radius 12
   Height 8
   Speed 30
   Damage 150
   PROJECTILE
   RenderStyle Add
   Alpha 0.90
   DamageType "MarineAlly"
   DeathSound "weapons/devexp"
   Decal DevastatorLightning
   States
   {
   Spawn:
      DBAL AB 4 Bright
      DBAL A 4 Bright A_Explode(64,128,0)
      DBAL A 0 Bright A_Jump (160,3)
      DBAL AAA 0 Bright A_CustomMissile("MarineLiteShot",0,0,Random(0,360))
      DBAL B 4 Bright A_Explode(64,128,0)
      DBAL B 0 Bright A_Jump (160,3)
      DBAL BBB 0 Bright A_CustomMissile("MarineLiteShot",0,0,Random(0,360))
      Goto Spawn+2
   Death:
      DBAL C 5 Bright
      DBAL D 5 Bright A_Explode(128,256,0)
      DBAL D 0 Bright A_CustomMissile("MarineDevastatorBall2",0,0,18,6)
      DBAL D 0 Bright A_CustomMissile("MarineDevastatorBall2",0,0,36,6)
      DBAL D 0 Bright A_CustomMissile("MarineDevastatorBall2",0,0,54,6)
      DBAL D 0 Bright A_CustomMissile("MarineDevastatorBall2",0,0,72,6)
      DBAL D 0 Bright A_CustomMissile("MarineDevastatorBall2",0,0,90,6)
      DBAL D 0 Bright A_CustomMissile("MarineDevastatorBall2",0,0,108,6)
      DBAL D 0 Bright A_CustomMissile("MarineDevastatorBall2",0,0,126,6)
      DBAL D 0 Bright A_CustomMissile("MarineDevastatorBall2",0,0,144,6)
      DBAL D 0 Bright A_CustomMissile("MarineDevastatorBall2",0,0,144,6)
      DBAL D 0 Bright A_CustomMissile("MarineDevastatorBall2",0,0,162,6)
      DBAL D 0 Bright A_CustomMissile("MarineDevastatorBall2",0,0,180,6)
      DBAL D 0 Bright A_CustomMissile("MarineDevastatorBall2",0,0,196,6)
      DBAL D 0 Bright A_CustomMissile("MarineDevastatorBall2",0,0,216,6)
      DBAL D 0 Bright A_CustomMissile("MarineDevastatorBall2",0,0,234,6)
      DBAL D 0 Bright A_CustomMissile("MarineDevastatorBall2",0,0,252,6)
      DBAL D 0 Bright A_CustomMissile("MarineDevastatorBall2",0,0,270,6)
      DBAL D 0 Bright A_CustomMissile("MarineDevastatorBall2",0,0,288,6)
      DBAL D 0 Bright A_CustomMissile("MarineDevastatorBall2",0,0,306,6)
      DBAL D 0 Bright A_CustomMissile("MarineDevastatorBall2",0,0,324,6)
      DBAL D 0 Bright A_CustomMissile("MarineDevastatorBall2",0,0,342,6)
      DBAL EFG 5 Bright
      DBAL HI 3 Bright
      Stop
   }
}

Actor MarineDevastatorBall2
{
   Radius 8
   Height 8
   Speed 10
   Damage 6
   PROJECTILE
   RenderStyle Add
   Alpha 0.90
   DamageType "MarineAlly"
   Decal DoomImpScorch
   +FORCEXYBILLBOARD
   SeeSound "weapons/devbal"
   DeathSound "weapons/devex2" 
   States
   {
   Spawn:
      DBA2 AB 4 Bright
      Loop
   Death:
      DBA2 C 1 Bright
      DBA2 C 3 Bright A_Explode(48,64,0)
      DBA2 DE 4 Bright
      Stop
   }
}

Actor MarineLiteShot
{
   Radius 8
   Height 12
   Speed 32
   Damage 6
   PROJECTILE
   RenderStyle Add
   Alpha 0.85
   DamageType "MarineAlly"
   +RIPPER
   +FORCEXYBILLBOARD
   SeeSound "weapons/devlit"
   DeathSound "weapons/devzap" 
   States
   {
   Spawn:
      DLIT AAABBBCCC 1 Bright A_SpawnItemEx("LiteTrail",0,0,0,0,0,0,0,0,128)
      Loop
   Death:
      DLIT DEFGHIJKLMNO 1 Bright
      Stop
   }
}

Actor STMarineAutoShotgun
{
	PainChance 160
	MONSTER
	-COUNTKILL
	-ACTIVATEMCROSS
    +GHOST
	+NOTIMEFREEZE
	+NODROPOFF
	Radius 16
	Height 56
	Mass 100
	Health 300
	Speed 8
	DamageFactor "MarineAlly", 0
	SeeSound "marine/sight"
    ActiveSound "marine/active"
    DeathSound "marine/death"
    PainSound "marine/pain"
	AttackSound "weapons/asgfir"
	States
	{
	Spawn:
		PASG A 4 A_Look
		Loop
	See:
		PASG ABCD 4 A_Chase
		Loop
	Missile:
		PASG E 4 A_FaceTarget
    	PASG F 5 Bright A_CustomBulletAttack(5, 4, 7, 5, "MarineImmunePuff")
    	PASG E 6
		TNT1 A 0 A_PlaySound("weapons/asgld1")
    	PASG E 4 A_CPosRefire
    	PASG F 5 Bright A_CustomBulletAttack(5, 4, 7, 5, "MarineImmunePuff")
    	PASG E 6
		TNT1 A 0 A_PlaySound("weapons/asgld1")
    	PASG E 4 A_CPosRefire
    	PASG F 5 Bright A_CustomBulletAttack(5, 4, 7, 5, "MarineImmunePuff")
    	PASG E 6
		TNT1 A 0 A_PlaySound("weapons/asgld1")
    	PASG E 4 A_CPosRefire
    	PASG F 5 Bright A_CustomBulletAttack(5, 4, 7, 5, "MarineImmunePuff")
    	PASG E 6
		TNT1 A 0 A_PlaySound("weapons/asgld1")
        Goto See
	Pain:
		PASG G 4
		PASG G 4 A_Pain
		TNT1 A 0 A_Chase("", "", CHF_FASTCHASE)
		Goto See
	Death:
		PASG H 10
		PASG I 10 A_Scream
		PASG J 10 A_NoBlocking
		PASG KLM 10
		PASG N -1
		Stop
	XDeath:
		PASG O 5
		PASG P 5 A_XScream
		PASG Q 5 A_NoBlocking
		PASG RSTUV 5
		PASG W -1
		Stop
	}
}

Actor STMarineHRL
{
	PainChance 160
	MONSTER
	-COUNTKILL
	-ACTIVATEMCROSS
    +GHOST
	+NOTIMEFREEZE
	+NODROPOFF
	Radius 16
	Height 56
	Mass 100
	Health 300
	Speed 8
	DamageFactor "MarineAlly", 0
	SeeSound "marine/sight"
    ActiveSound "marine/active"
    DeathSound "marine/death"
    PainSound "marine/pain"
	States
	{
	Spawn:
		PHRL A 4 A_Look
		Loop
	See:
		PHRL ABCD 4 A_Chase
		Loop
	Missile:
		PLA5 E 8 A_FaceTarget
		PLA5 F 12 bright A_CustomMissile("MarineHomRocket1")
		PLA5 E 8 A_SpidRefire
		Goto Missile+1
	Pain:
		PHRL G 4
		PHRL G 4 A_Pain
		TNT1 A 0 A_Chase("", "", CHF_FASTCHASE)
		Goto See
	Death:
		PHRL H 10
		PHRL I 10 A_Scream
		PHRL J 10 A_NoBlocking
		PHRL KLM 10
		PHRL N -1
		Stop
	XDeath:
		PHRL O 5
		PHRL P 5 A_XScream
		PHRL Q 5 A_NoBlocking
		PHRL RSTUV 5
		PHRL W -1
		Stop
	}
}

Actor MarineHomRocket1
{
   Radius 8
   Height 11
   Speed 30
   Damage 20
   PROJECTILE
   +SEEKERMISSILE
   +ROCKETTRAIL
   -THRUGHOST
   SeeSound "weapons/hrlfir"
   DeathSound "weapons/hrlexp"
   DamageType "MarineAlly"
   Decal Scorch
   States
   {
   Spawn:
      HMIS A 4 Bright A_SeekerMissile (5,7)
      HMIS A 4 Bright
      HMIS A 2 Bright A_SeekerMissile (2,5)
      HMIS A 2 Bright
      Goto Spawn+2
   Death:
      TNT1 A 0 A_SetTranslucent (0.67,1)
      MISL C 8 Bright A_Explode(128,128,0)
      MISL D 5 Bright
      Stop
   }
}

Actor STMarineRepeater
{
	PainChance 160
	MONSTER
	-COUNTKILL
	-ACTIVATEMCROSS
    +GHOST
	+NOTIMEFREEZE
	+NODROPOFF
	Radius 16
	Height 56
	Mass 100
	Health 300
	Speed 8
	DamageFactor "MarineAlly", 0
	SeeSound "marine/sight"
    ActiveSound "marine/active"
    DeathSound "marine/death"
    PainSound "marine/pain"
	AttackSound "weapons/repfir"
	States
	{
	Spawn:
		PREP A 4 A_Look
		Loop
	See:
		PREP ABCD 4 A_Chase
		Loop
	Missile:
		PREP E 2 A_FaceTarget
		PREP FF 4 bright A_CustomBulletAttack(0, 0, 2, 5, "MarineImmuneRepPuff")
		PREP FF 4 bright A_CustomBulletAttack(4, 4, 2, 5, "MarineImmuneRepPuff")
		TNT1 A 0 A_CPosRefire
		Goto Missile+3
	Pain:
		PREP G 4
		PREP G 4 A_Pain
		TNT1 A 0 A_Chase("", "", CHF_FASTCHASE)
		Goto See
	Death:
		PREP H 10
		PREP I 10 A_Scream
		PREP J 10 A_NoBlocking
		PREP KLM 10
		PREP N -1
		Stop
	XDeath:
		PREP O 5
		PREP P 5 A_XScream
		PREP Q 5 A_NoBlocking
		PREP RSTUV 5
		PREP W -1
		Stop
	}
}

Actor MarineImmuneRepPuff
{
   Radius 3
   Height 3
   RenderStyle Add
   Alpha 0.75
   DamageType "MarineAlly"
   +ALWAYSPUFF
   +PUFFONACTORS
   +NOGRAVITY
   +NOBLOCKMAP
   +PUFFGETSOWNER
   DeathSound "weapons/buzz"
   Decal FireDemonScorch
   States
   {
   Spawn:
      BLAS A 1 Bright
      BLAS A 2 Bright A_Explode(32,88,0)
      BLAS BCDEFG 3 Bright
      stop
   }
}

Actor STMarineFlamer
{
	PainChance 160
	MONSTER
	-COUNTKILL
	-ACTIVATEMCROSS
    +GHOST
	+NOTIMEFREEZE
	+NODROPOFF
	Radius 16
	Height 56
	Mass 100
	Health 300
	Speed 8
	DamageFactor "MarineAlly", 0
	SeeSound "marine/sight"
    ActiveSound "marine/active"
    DeathSound "marine/death"
    PainSound "marine/pain"
    MaxTargetRange 380
    States
    {
    Spawn:
        PFLM A 4 A_Look
        Loop
    See:
		PFLM ABCD 4 A_Chase
		Loop
    Missile:
		TNT1 A 0 A_JumpIfCloser(560,1)
		Goto See
        PFLM E 10 A_FaceTarget
      	PFLM FFFFFFFFF 1 A_CustomMissile("MarineFTFire",32,0,random(-4,4),0)
		TNT1 A 0 A_CPosRefire
		TNT1 A 0 A_JumpIfCloser(560,1)
		Goto See
		TNT1 A 0
        Goto Missile+2
    Pain:
		PFLM G 4
		PFLM G 4 A_Pain
		TNT1 A 0 A_Chase("", "", CHF_FASTCHASE)
        Goto See
    Death:
		PFLM H 10
		PFLM I 10 A_Scream
		PFLM J 10 A_NoBlocking
		PFLM KLM 10
		PFLM N -1
		Stop
	XDeath:
		PFLM O 5
		PFLM P 5 A_XScream
		PFLM Q 5 A_NoBlocking
		PFLM RSTUV 5
		PFLM W -1
		Stop
    }
}

Actor MarineFTFire
{
   Radius 2
   Height 4
   Speed 16
   Damage 1
   PROJECTILE
   RenderStyle Add
   DamageType "MarineAlly"
   Alpha 0.67
   Scale 0.67
   SeeSound "weapons/flamer"
   DeathSound "weapons/scorch"
   DONTHURTSHOOTER
   +DONTSPLASH
   States
   {
   Spawn:
      TNT1 A 2 Bright
      FRFX ABCD 2 Bright A_Explode(2,8,0)
      FRFX D 0 Bright A_Lowgravity
      FRFX EFG 2 Bright A_Explode(2,16,0)
      FRFX HIJ 2 Bright A_Explode(2,32,0)
      FRFX KLM 2 Bright A_Explode(2,64,0)
      FRFX NO 2 Bright
      stop
   Death:
      FRFX HIJ 2 Bright A_Explode(2,32,0)
      FRFX J 0 A_CustomMissile ("MarineDropFire",0,0,0,4)
      FRFX KLM 2 Bright A_Explode(2,64,0)
      FRFX NO 2 Bright
      stop
   }
}

Actor MarineDropFire
{
   Radius 8
   Height 40
   PROJECTILE
   RenderStyle Add
   DamageType "MarineAlly"
   Alpha 0.90
   DONTHURTSHOOTER
   +PAINLESS
   -NOGRAVITY
   +LOWGRAVITY
   +NOEXPLODEFLOOR
   +NODAMAGETHRUST
   +DONTSPLASH
   States
   {
   Spawn:
      FLME A 1 Bright A_Playsound("weapons/onfire")
      FLME A 1 Bright A_Explode(2,16,0)
      FLME BCDEFGHIJKLMN 2 Bright A_Explode(2,16,0)
      FLME A 1 Bright A_Playsound("weapons/onfire")
      FLME A 1 Bright A_Explode(2,32,0)
      FLME BCDEFGHIJKLMN 2 Bright A_Explode(2,16,0)
      FLME A 1 Bright A_Playsound("weapons/onfire")
      FLME A 1 Bright A_Explode(2,32,0)
      FLME BCDEFGHIJKLMN 2 Bright A_Explode(2,16,0)
      FLME A 1 Bright A_Playsound("weapons/onfire")
      FLME A 1 Bright A_Explode(2,32,0)
      FLME BCDEFGHIJKLMN 2 Bright A_Explode(2,16,0)
      FLME A 1 Bright A_Playsound("weapons/onfire")
      FLME A 1 Bright A_Explode(2,32,0)
      FLME BCDEFGHIJKLMN 2 Bright A_Explode(2,16,0)
      FLME A 0 A_Jump(192,"Death")
      Goto Spawn+60
   Death:
      TNT1 A 1 Bright
      Stop
   }
}