Actor War : Guardian 17583
{
//$Category Monsters/DUST
//$Sprite WARRA1
//$Title "War"
  Health 1600
  Speed 12
  PainChance 20
  Scale 1.05
  +DONTHARMCLASS
  +DONTHARMSPECIES
  +MISSILEEVENMORE
  +AVOIDMELEE
  +QUICKTORETALIATE
  DropItem "BossLifeEssence" 250
  DropItem "BossArmorBonusMax" 250
  DropItem "Rocket Launcher" 40
  DropItem "Backpack" 80
  DropItem "Armorplate" 186
  DropItem "Armorplate" 186
  SeeSound "War/Sight"
  ActiveSound "War/Active"
  PainSound "War/Pain"
  DeathSound "War/Death"
  Obituary "%o wanted war, and War %g received."
  var int user_missile;
  States
  {
  Spawn:
    WARR C 10 A_Look
    Loop
  See:
    TNT1 A 0 A_SpawnItem("BonyStep",0,0,0,0)
    WARR AAABBB 2 A_Chase
    TNT1 A 0 A_SpawnItem("BonyStep",0,0,0,0)
    WARR CCCDDD 2 A_Chase
    Loop
  Melee:
  Missile:
	TNT1 A 0 A_Jump(100,2)
	TNT1 A 0 A_JumpIfCloser(350,"Flamethrower")
	TNT1 A 0 A_Jump(32,"Combo")
    TNT1 A 0 A_Jump(150,"HomingRockets","BFG15K","Napalm")
	Goto NormalRockets
  Flamethrower:
	TNT1 A 0 A_PlaySound("hectebus/flameready")
	WARR EEEE 5 A_FaceTarget
	TNT1 A 0 A_SetUserVar("user_missile",0)
	TNT1 A 0 A_PlaySound("monsters/fatsofire")
  FlamethrowerLoop:
	TNT1 A 0 A_JumpIf(user_missile >= 40,"See")	 
	TNT1 A 0 A_SetUserVar("user_missile",user_missile+1)
	TNT1 A 0 A_FaceTarget
	TNT1 A 0 A_CustomMissile("WarFlamethrower",39,-12,Random(-6,6),CMF_AIMOFFSET)
	WARR F 1 Bright A_CustomMissile("WarFlamethrower",39,12,Random(-6,6),CMF_AIMOFFSET)
	Loop
  NormalRockets:
	WARR EE 5 A_FaceTarget
	TNT1 A 0 A_CustomMissile("CerebralIncarnateRocket",39,-12,Random(-6,6))
	WARR F 4 Bright A_CustomMissile("CerebralIncarnateRocket",39,12,Random(-6,6))
	WARR EE 5 A_FaceTarget
	TNT1 A 0 A_CustomMissile("CerebralIncarnateRocket",39,-12,Random(-6,6))
	WARR F 4 Bright A_CustomMissile("CerebralIncarnateRocket",39,12,Random(-6,6))
	WARR EE 5 A_FaceTarget
	TNT1 A 0 A_CustomMissile("CerebralIncarnateRocket",39,-12,Random(-6,6))
	WARR F 4 Bright A_CustomMissile("CerebralIncarnateRocket",39,12,Random(-6,6))
	WARR E 5
	Goto See
  HomingRockets:
	TNT1 A 0 A_PlaySound("War/Attack",7)
	WARR EEEE 5 A_FaceTarget
    TNT1 A 0 A_CustomMissile("WarShoulderRocket",68,11,0)
    TNT1 A 0 A_CustomMissile("WarShoulderRocketHoming",68,18,0)
    TNT1 A 0 A_CustomMissile("WarShoulderRocket",68,-11,0)
    WARR G 8 Bright A_CustomMissile("WarShoulderRocketHoming",68,-18,0)
	WARR EEE 5 A_FaceTarget
    TNT1 A 0 A_CustomMissile("WarShoulderRocketHoming",68,11,0)
    TNT1 A 0 A_CustomMissile("WarShoulderRocket",68,18,0)
    TNT1 A 0 A_CustomMissile("WarShoulderRocketHoming",68,-11,0)
    WARR G 8 Bright A_CustomMissile("WarShoulderRocket",68,-18,0)
	WARR E 8
	Goto See
  BFG15K:
	TNT1 A 0 A_PlaySound("War/Attack",7)
	TNT1 A 0 A_PlaySound("weapons/charge15k")
	WARR EEEEEE 5 A_FaceTarget
	TNT1 A 0 A_CustomMissile("CerebralIncarnate10kBall",39,-12,Random(-6,6))
	WARR F 4 Bright A_CustomMissile("CerebralIncarnate10kBall",39,12,Random(-6,6))
	WARR E 5 A_FaceTarget
	TNT1 A 0 A_CustomMissile("CerebralIncarnate10kBall",39,-12,Random(-6,6))
	WARR F 4 Bright A_CustomMissile("CerebralIncarnate10kBall",39,12,Random(-6,6))
	WARR E 5 A_FaceTarget
	TNT1 A 0 A_CustomMissile("CerebralIncarnate10kBall",39,-12,Random(-6,6))
	WARR F 4 Bright A_CustomMissile("CerebralIncarnate10kBall",39,12,Random(-6,6))
	WARR E 5 A_FaceTarget
	TNT1 A 0 A_CustomMissile("CerebralIncarnate10kBall",39,-12,Random(-6,6))
	WARR F 4 Bright A_CustomMissile("CerebralIncarnate10kBall",39,12,Random(-6,6))
	WARR E 20
	Goto See
  Napalm:
	TNT1 A 0 A_PlaySound("War/Attack",7)
	WARR EEEE 5 A_FaceTarget
	TNT1 A 0 A_CustomMissile("WarNapalmBall",39,-12,Random(-6,6))
	WARR F 8 Bright A_CustomMissile("WarNapalmBall",39,12,Random(-6,6))
	WARR EE 5 A_FaceTarget
	TNT1 A 0 A_CustomMissile("WarNapalmBall",39,-12,Random(-6,6))
	WARR F 8 Bright A_CustomMissile("WarNapalmBall",39,12,Random(-6,6))
	WARR E 20
	Goto See
  Combo:
	TNT1 A 0 A_PlaySound("War/Attack",7)
	TNT1 A 0 A_PlaySound("cydes/mischrg")
	WARR EEEEEEEE 5 A_FaceTarget
    TNT1 A 0 A_CustomMissile("WarShoulderRocket",68,11,0)
    TNT1 A 0 A_CustomMissile("WarShoulderRocketHoming",68,18,0)
    TNT1 A 0 A_CustomMissile("WarShoulderRocket",68,-11,0)
    TNT1 A 0 A_CustomMissile("WarShoulderRocketHoming",68,-18,0)
	TNT1 A 0 A_CustomMissile("CerebralIncarnateRocket",39,-12,Random(-6,6))
	WARR H 5 Bright A_CustomMissile("CerebralIncarnateRocket",39,12,Random(-6,6))
	WARR EE 5 A_FaceTarget
    TNT1 A 0 A_CustomMissile("WarShoulderRocket",68,11,0)
    TNT1 A 0 A_CustomMissile("WarShoulderRocketHoming",68,18,0)
    TNT1 A 0 A_CustomMissile("WarShoulderRocket",68,-11,0)
    TNT1 A 0 A_CustomMissile("WarShoulderRocketHoming",68,-18,0)
	TNT1 A 0 A_CustomMissile("CerebralIncarnateRocket",39,-12,Random(-6,6))
	WARR H 5 Bright A_CustomMissile("CerebralIncarnateRocket",39,12,Random(-6,6))
	WARR EE 5 A_FaceTarget
    TNT1 A 0 A_CustomMissile("WarShoulderRocket",68,11,0)
    TNT1 A 0 A_CustomMissile("WarShoulderRocketHoming",68,18,0)
    TNT1 A 0 A_CustomMissile("WarShoulderRocket",68,-11,0)
    TNT1 A 0 A_CustomMissile("WarShoulderRocketHoming",68,-18,0)
	TNT1 A 0 A_CustomMissile("CerebralIncarnateRocket",39,-12,Random(-6,6))
	WARR H 5 Bright A_CustomMissile("CerebralIncarnateRocket",39,12,Random(-6,6))
	WARR EE 5 A_FaceTarget
    TNT1 A 0 A_CustomMissile("WarShoulderRocket",68,11,0)
    TNT1 A 0 A_CustomMissile("WarShoulderRocketHoming",68,18,0)
    TNT1 A 0 A_CustomMissile("WarShoulderRocket",68,-11,0)
    TNT1 A 0 A_CustomMissile("WarShoulderRocketHoming",68,-18,0)
	TNT1 A 0 A_CustomMissile("CerebralIncarnateRocket",39,-12,Random(-6,6))
	WARR H 5 Bright A_CustomMissile("CerebralIncarnateRocket",39,12,Random(-6,6))
	WARR EE 5 A_FaceTarget
    TNT1 A 0 A_CustomMissile("WarShoulderRocket",68,11,0)
    TNT1 A 0 A_CustomMissile("WarShoulderRocketHoming",68,18,0)
    TNT1 A 0 A_CustomMissile("WarShoulderRocket",68,-11,0)
    TNT1 A 0 A_CustomMissile("WarShoulderRocketHoming",68,-18,0)
	TNT1 A 0 A_CustomMissile("CerebralIncarnateRocket",39,-12,Random(-6,6))
	WARR H 5 Bright A_CustomMissile("CerebralIncarnateRocket",39,12,Random(-6,6))
	WARR EE 5 A_FaceTarget
    TNT1 A 0 A_CustomMissile("WarShoulderRocket",68,11,0)
    TNT1 A 0 A_CustomMissile("WarShoulderRocketHoming",68,18,0)
    TNT1 A 0 A_CustomMissile("WarShoulderRocket",68,-11,0)
    TNT1 A 0 A_CustomMissile("WarShoulderRocketHoming",68,-18,0)
	TNT1 A 0 A_CustomMissile("CerebralIncarnateRocket",39,-12,Random(-6,6))
	WARR H 5 Bright A_CustomMissile("CerebralIncarnateRocket",39,12,Random(-6,6))
	WARR EE 5 A_FaceTarget
    TNT1 A 0 A_CustomMissile("WarShoulderRocket",68,11,0)
    TNT1 A 0 A_CustomMissile("WarShoulderRocketHoming",68,18,0)
    TNT1 A 0 A_CustomMissile("WarShoulderRocket",68,-11,0)
    TNT1 A 0 A_CustomMissile("WarShoulderRocketHoming",68,-18,0)
	TNT1 A 0 A_CustomMissile("WarNapalmBall",39,-12,Random(-6,6))
	WARR H 5 Bright A_CustomMissile("WarNapalmBall",39,12,Random(-6,6))
	WARR E 5 A_FaceTarget
    TNT1 A 0 A_CustomMissile("WarShoulderRocket",68,11,0)
    TNT1 A 0 A_CustomMissile("WarShoulderRocketHoming",68,18,0)
    TNT1 A 0 A_CustomMissile("WarShoulderRocket",68,-11,0)
    TNT1 A 0 A_CustomMissile("WarShoulderRocketHoming",68,-18,0)
	TNT1 A 0 A_CustomMissile("WarNapalmBall",39,-12,Random(-6,6))
	WARR H 5 Bright A_CustomMissile("WarNapalmBall",39,12,Random(-6,6))
	WARR E 5 A_FaceTarget
    TNT1 A 0 A_CustomMissile("WarShoulderRocket",68,11,0)
    TNT1 A 0 A_CustomMissile("WarShoulderRocketHoming",68,18,0)
    TNT1 A 0 A_CustomMissile("WarShoulderRocket",68,-11,0)
    TNT1 A 0 A_CustomMissile("WarShoulderRocketHoming",68,-18,0)
	TNT1 A 0 A_CustomMissile("WarNapalmBall",39,-12,Random(-6,6))
	WARR H 5 Bright A_CustomMissile("WarNapalmBall",39,12,Random(-6,6))
	WARR E 5 A_FaceTarget
    TNT1 A 0 A_CustomMissile("WarShoulderRocket",68,11,0)
    TNT1 A 0 A_CustomMissile("WarShoulderRocketHoming",68,18,0)
    TNT1 A 0 A_CustomMissile("WarShoulderRocket",68,-11,0)
    TNT1 A 0 A_CustomMissile("WarShoulderRocketHoming",68,-18,0)
	TNT1 A 0 A_CustomMissile("WarNapalmBall",39,-12,Random(-6,6))
	WARR H 5 Bright A_CustomMissile("WarNapalmBall",39,12,Random(-6,6))
	WARR E 40
	Goto See
  Pain:
    WARR J 5
    WARR J 5 A_Pain
    TNT1 A 0 A_Jump(80,"Missile")
    Goto See
  XDeath:
  Death:
    WARR J 7 A_Scream 
	WARR J 2 Bright 
	TNT1 AA 0 A_SpawnItemEx("GibbedGenerator",0,0,0,0,0,0,0,128,0)
	TNT1 AA 0 A_CustomMissile("SmokeFX2", 0, 0, random(0,360), 2, random(0,360))	
	WARR JJJJJ 1 Bright A_CustomMissile("Kaboom17", Random(10,50), 0, random(0,360), 2, random(0,360))
	TNT1 AA 0 A_SpawnItemEx("GibbedGenerator",0,0,0,0,0,0,0,128,0)
	TNT1 AA 0 A_CustomMissile("SmokeFX2", 0, 0, random(0,360), 2, random(0,360))	
	WARR JJKKK 1 Bright A_CustomMissile("Kaboom17", Random(10,50), 0, random(0,360), 2, random(0,360))
	TNT1 AA 0 A_SpawnItemEx("GibbedGenerator",0,0,0,0,0,0,0,128,0)
	TNT1 AA 0 A_CustomMissile("SmokeFX2", 0, 0, random(0,360), 2, random(0,360))	
	WARR KKKKK 1 Bright A_CustomMissile("Kaboom17", Random(10,50), 0, random(0,360), 2, random(0,360))
	TNT1 AA 0 A_SpawnItemEx("GibbedGenerator",0,0,0,0,0,0,0,128,0)
	TNT1 AA 0 A_CustomMissile("SmokeFX2", 0, 0, random(0,360), 2, random(0,360))	
	WARR LLLLL 1 Bright A_CustomMissile("Kaboom17", Random(10,50), 0, random(0,360), 2, random(0,360))
	TNT1 AA 0 A_SpawnItemEx("GibbedGenerator",0,0,0,0,0,0,0,128,0)
	TNT1 AA 0 A_CustomMissile("SmokeFX2", 0, 0, random(0,360), 2, random(0,360))	
	WARR LLLMM 1 Bright A_CustomMissile("Kaboom17", Random(10,50), 0, random(0,360), 2, random(0,360))
	TNT1 AA 0 A_SpawnItemEx("GibbedGenerator",0,0,0,0,0,0,0,128,0)
	TNT1 AAAA 0 A_CustomMissile("SmokeFX2", 0, 0, random(0,360), 2, random(0,360))
	WARR MMMMM 1 Bright A_CustomMissile("Kaboom17", Random(10,50), 0, random(0,360), 2, random(0,360))
	TNT1 AA 0 A_SpawnItemEx("GibbedGenerator",0,0,0,0,0,0,0,128,0)
	TNT1 AAAA 0 A_CustomMissile("SmokeFX2", 0, 0, random(0,360), 2, random(0,360))
	WARR MMNNN 1 Bright A_CustomMissile("Kaboom17", Random(10,50), 0, random(0,360), 2, random(0,360))
	TNT1 AA 0 A_SpawnItemEx("GibbedGenerator",0,0,0,0,0,0,0,128,0)
	TNT1 AAAA 0 A_CustomMissile("SmokeFX2", 0, 0, random(0,360), 2, random(0,360))
    WARR N 6 A_NoBlocking
    WARR O -1
    Stop
  Raise:
    TNT1 A 0
	TNT1 A 0 A_SpawnItemEx("VileHealEffect",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
    WARR ONMLKJ 6
    Stop
	}   
}

ACTOR WarFlamethrower : MagmaBreath
{ 
  Species "Skeletons"
  DamageType "CadaverRocket"
  Speed 25
  States 
  { 
  Spawn: 
	FIR1 LKJIHGFEDCB 3 Bright A_Explode(Random(1,2),76)
	FIR1 AA 2 Bright A_FadeOut(0.15)
	Stop
	} 
}

ACTOR WarShoulderRocket : HellfireRocket
{
Speed 30
States
{
Spawn:
    TNT1 A 0 Bright A_CustomMissile("MissileTrail",0,Random(-2,2))
    CBRK A 1 Bright A_CustomMissile("ProjectileTrailParticleOrange",0,Random(-2,2))
    Loop
    }
}

ACTOR WarShoulderRocketHoming : WarShoulderRocket
{
States
{
Spawn:
	TNT1 A 0 Bright A_SeekerMissile(10,15)
    TNT1 A 0 Bright A_CustomMissile("MissileTrail",0,Random(-2,2))
    CBRK A 1 Bright A_CustomMissile("ProjectileTrailParticleOrange",0,Random(-2,2))
    TNT1 A 0 Bright A_CustomMissile("MissileTrail",0,Random(-2,2))
    CBRK A 1 Bright A_CustomMissile("ProjectileTrailParticleOrange",0,Random(-2,2))
    TNT1 A 0 Bright A_CustomMissile("MissileTrail",0,Random(-2,2))
    CBRK A 1 Bright A_CustomMissile("ProjectileTrailParticleOrange",0,Random(-2,2))
    TNT1 A 0 Bright A_CustomMissile("MissileTrail",0,Random(-2,2))
    CBRK A 1 Bright A_CustomMissile("ProjectileTrailParticleOrange",0,Random(-2,2))
	TNT1 A 0 Bright A_SeekerMissile(10,15)
    TNT1 A 0 Bright A_CustomMissile("MissileTrail",0,Random(-2,2))
    CBRK A 1 Bright A_CustomMissile("ProjectileTrailParticleOrange",0,Random(-2,2))
    TNT1 A 0 Bright A_CustomMissile("MissileTrail",0,Random(-2,2))
    CBRK A 1 Bright A_CustomMissile("ProjectileTrailParticleOrange",0,Random(-2,2))
    TNT1 A 0 Bright A_CustomMissile("MissileTrail",0,Random(-2,2))
    CBRK A 1 Bright A_CustomMissile("ProjectileTrailParticleOrange",0,Random(-2,2))
    TNT1 A 0 Bright A_CustomMissile("MissileTrail",0,Random(-2,2))
    CBRK A 1 Bright A_CustomMissile("ProjectileTrailParticleOrange",0,Random(-2,2))		
	TNT1 A 0 Bright A_PlaySound("monster/homingrockbeep")
    Loop
    }
}

ACTOR WarNapalmBall
{
  Projectile
  Height 10
  Radius 8
  Speed 25
  FastSpeed 40
  Damage 8
  RenderStyle Add
  Alpha 1
  Scale 1.5
  Species "Skeletons"
  Damagetype "CadaverRocket"
  +FORCERADIUSDMG
  SeeSound "comet/launch"
  DeathSound "comet/explosion"
  States
  {
  Spawn:
	WARN AB 1 Bright A_SpawnItemEx("WarNapalmBallTrail",0,0,0,frandom(-5,0),frandom(-3,3),frandom(0,8))
	Loop
  Death:
	TNT1 A 0 A_Explode(50,100)
	TNT1 A 0 A_SpawnItemEx("OrangeParticleSpawner", 0, 0, 0, 0, 0, 0, 0, 128) 
	TNT1 AAA 0 A_CustomMissile("Kaboom3", 0, 0, random(0,360), 2, random(0,360))
	TNT1 AAA 0 A_CustomMissile("SmokeFX2", 0, 0, random(0,360), 2, random(0,360))	
	TNT1 AAAAAAA 0 A_SpawnItemEx("WarFireFlare",0,0,0,random(0,10),0,random(0,3),random(0,360))
	WARN CDE 6 Bright
	Stop
  }
}

ACTOR WarNapalmBallTrail : ImpBallTrail
{
  RenderStyle Add
  Alpha 1
  Scale 0.4
  States
  {
  Spawn:
   TNT1 A 0
   TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(304) == 1, "Toaster")
   FIR1 ABCDEFGHIJK 1 Bright A_FadeOut
   Stop
  }
}

ACTOR WarFireFlare
{
  Projectile
  Height 4
  Radius 2
  Gravity 0.52
  Scale 1.8
  Renderstyle Add
  +DONTFALL
  -NOGRAVITY
  +NODAMAGETHRUST
  -EXTREMEDEATH
  +DONTHARMSPECIES
  +FORCERADIUSDMG
  Species "Skeletons"
  Damagetype "CadaverRocket"
  var int user_fireloop;
  States
  {
  Spawn:
  Death:
	TNT1 A 0
	TNT1 A 0 A_JumpIf(waterlevel > 1, "MyFireDoesntActuallySuckUnlikeHEMCustom")
	TNT1 A 0 A_ChangeFlag(MOVEWITHSECTOR,1)
	TNT1 A 0 A_SetUserVar("user_fireloop",random(0,8))
	TNT1 A 0 A_PlaySound("monster/ambientfire",7,1.0,1)
  DeathLoop:
	TNT1 A 0 A_JumpIf(user_fireloop >= 20,"Death2")	 
	TNT1 A 0 A_SetUserVar("user_fireloop",user_fireloop+1)
	WARF AABBCC 1 Bright A_spawnItemEx("WarFireFlareParticle",random(-6,6),random(-6,6),random(0,3),random(-2,2),random(-2,2),random(2,7),random(0,360))
	TNT1 A 0 A_Explode(2,60)
	TNT1 A 0 A_JumpIf(user_fireloop >= 20,"Death2")	 
	TNT1 A 0 A_SetUserVar("user_fireloop",user_fireloop+1)
	WARF DDEEFF 1 Bright A_spawnItemEx("WarFireFlareParticle",random(-6,6),random(-6,6),random(0,3),random(-2,2),random(-2,2),random(2,7),random(0,360))
	TNT1 A 0 A_Explode(2,60)
	TNT1 A 0 A_JumpIf(user_fireloop >= 20,"Death2")	 
	TNT1 A 0 A_SetUserVar("user_fireloop",user_fireloop+1)
	WARF GGHHII 1 Bright A_spawnItemEx("WarFireFlareParticle",random(-6,6),random(-6,6),random(0,3),random(-2,2),random(-2,2),random(2,7),random(0,360))
	TNT1 A 0 A_Explode(2,60)
	TNT1 A 0 A_JumpIf(user_fireloop >= 20,"Death2")	 
	TNT1 A 0 A_SetUserVar("user_fireloop",user_fireloop+1)
	WARF KKLLMM 1 Bright A_spawnItemEx("WarFireFlareParticle",random(-6,6),random(-6,6),random(0,3),random(-2,2),random(-2,2),random(2,7),random(0,360))
	TNT1 A 0 A_Explode(2,60)
	Loop
  Death2:
	TNT1 A 0 A_StopSound(7)
	WARF MNOP 2 Bright
	Stop
  MyFireDoesntActuallySuckUnlikeHEMCustom:
	TNT1 A 1
	Stop
	}
}

ACTOR WarFireFlareParticle : WarNapalmBallTrail
{
  Scale 0.25
}