ACTOR HunterSlayer 27266
{
//Creator: Titanium
//Origin: TXS
//Sprite: ZEXE
//Title: "Executioner"
Health 3500
Radius 20
Height 56
Speed 12
Mass 100
PainChance 20
DropItem "HandGrenadeAmmo" 237 2
DropItem "MineAmmo" 242 2
DropItem "Backpack" 202 1
DropItem "Armorplate" 212 1
DropItem "Portablemedkit" 217 1
DropItem "StimKit" 222 3
DropItem "HealthFlask" 227 5
DropItem "PortableMedCell" 192 1
DropItem "PortableMedCellPack" 177 1
DropItem "Explosive Minigun" 180
DropItem "Megapack" 10 1
MONSTER
Species "EliteZombies"
DamageFactor 0.5
Damagefactor "ZombieDemonTech", 0
Damagefactor "RedZombieDemonTech", 0
DamageFactor "RedZDemonTechProjectile", 0.0
Damagefactor "ZombieRocket", 0
DamageFactor "GeneralTracer", 0.0
DamageFactor "EMGEx", 0.0
DamageFactor "RST", 0.0
DamageFactor "SoulToxic", 0.0
DamageFactor "BeheComet", 0.0
DamageFactor "FatFlamer", 0.0
Damagefactor "HTZombie", 0.0
DamageFactor "MiniRocket", 0.0
DamageFactor "ZombieCannon", 0.0
Damagefactor "ZExplosiveBullets", 0.0
Damagefactor "ZGrenade", 0.0
DamageFactor "PlayerNemesisPlasma", 0.0
DamageFactor "Explosion", 0.2 //0.4
DamageFactor "PlayerDTRG", 0.5
DamageFactor "DTRailgun", 0.5
DamageFactor "Player",0.1
DamageFactor "Legendary",0.0
DamageFactor "SuperWeapon", 0.75
DamageFactor "LegendaryPlayer", 0.0
DamageFactor "LegendaryGuruPlayer", 0.0
DamageFactor "PlayerDevBall", 0.65
DamageFactor "PlayerDevTracer", 0.15
DamageFactor "PowerDoubleDamage", 0.35
DamageFactor "PlayerBHole", 0.025
DamageFactor "PlayerDBFG", 0.015
DamageFactor "PlayerDBFG2", 0.015
DamageFactor "BFG10K", 0.65
DamageFactor "BFG9500Ball", 0.1
DamageFactor "CustomSpray", 0.1
DamageFactor "BFGSplash", 0.5
DamageFactor "BFGSpray", 0.1
DamageFactor "PDTBFG", 0.5
DamageFactor "PDTBFGTracer", 0.5
DamageFactor "PlayerDTBFGRailgunSlug", 0.5
DamageFactor "PDTPuff", 0.5
DamageFactor "SatanGuard", 0.0
DamageFactor "Moloch", 0.0
DamageFactor "ZombieDev", 0.0
DamageFactor "Terminator", 0.0
DamageFactor "Legendary1", 0.0
DamageFactor "LegendaryGuru", 0.0
DamageFactor "UltimateLegendary", 0.0
DamageFactor "Cybers", 0.0
DamageFactor "Hell", 0.0
DamageFactor "Commander", 0.0
DamageFactor "NobleComet", 0.0
DamageFactor "Baby15K", 0.0
DamageFactor "Cyber10K", 0.0
DamageFactor "DemolisherEx", 0.0
DamageFactor "DarkDemoEx", 0.0
DamageFactor "CerChainguns", 0.0
DamageFactor "CerEnergyBall", 0.0
DamageFactor "HellComet", 0.0
DamageFactor "HFCyber", 0.0
DamageFactor "DBFG2", 0.1
DamageFactor "DBFG10K2", 0.1
DamageFactor "DBFGSplash2", 0.1
DamageFactor "LegMind", 0.0
SeeSound "UltraZombie/see"
PainSound "UltraZombie/pain"
DeathSound "UltraZombie/die"
ActiveSound "UltraZombie/idle"
Obituary "%o was turned into a fleck by an Executioner."
var int user_music;
Tag "\c[z4]True \c[v9]Hunter\c-"
+Boss
+FLOORCLIP
+MISSILEMORE
+MISSILEEVENMORE
+QUICKTORETALIATE
+DONTHURTSPECIES
+NODROPOFF
+NOTARGET
+NORADIUSDMG
+FORCERADIUSDMG
+NOFEAR
States
{
  Spawn:
    ZEXE A 10 A_Look
	TNT1 A 0 Healthing(2)
    Loop
  See:
    ZEXE AABB 2 A_Chase
    TNT1 A 0 A_SpawnItem("FootStep",0,0,0,0)
    ZEXE CCDD 2 A_Chase
    TNT1 A 0 A_SpawnItem("FootStep",0,0,0,0)
	TNT1 A 0 Healthing(2)
    Loop
  Rush: //Not used
	TNT1 A 0 A_SpawnItem("FootStep",0,0,0,0)
	TNT1 A 0 A_SpawnItemEx("ExecutionerGhostA",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION)
	ZEXE A 1 A_Chase
	TNT1 A 0 A_SpawnItemEx("ExecutionerGhostA",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION)
	ZEXE A 1 A_Chase
	TNT1 A 0 A_SpawnItemEx("ExecutionerGhostB",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION)
	ZEXE B 1 A_Chase
	TNT1 A 0 A_SpawnItemEx("ExecutionerGhostB",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION)
	ZEXE B 1 A_Chase
	TNT1 A 0 A_SpawnItem("FootStep",0,0,0,0)
	TNT1 A 0 A_SpawnItemEx("ExecutionerGhostC",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION)
	ZEXE C 1 A_Chase
	TNT1 A 0 A_SpawnItemEx("ExecutionerGhostC",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION)
	ZEXE C 1 A_Chase
	TNT1 A 0 A_SpawnItemEx("ExecutionerGhostD",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION)
	ZEXE D 1 A_Chase
	TNT1 A 0 A_SpawnItemEx("ExecutionerGhostD",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION)
	ZEXE D 1 A_Chase
	TNT1 A 0 A_SpawnItem("FootStep",0,0,0,0)
	TNT1 A 0 A_Jump(85,"See")
	TNT1 A 0 Healthing(2)
	Loop
	Missile:
	TNT1 A 0 A_Jump(20,"Dodge")
	TNT1 A 0 A_Jump(10,"Heal")
	TNT1 A 0 A_JumpIfCloser(750,"Close")
	Far:
    ZEXE E 5 A_FaceTarget
	TNT1 A 0 A_GiveInventory("DTZombieStrafing",1)
    TNT1 A 0 A_SpawnItemEx("OrangeShellCasing", 12, 6, 30, Random(2, 6), 0, Random(1, 3), Random(-80, -90), 128)
	TNT1 A 0 A_PlaySound("sentient/fire")
    TNT1 A 0 A_CustomMissile("MinigunnerExplosiveTracer",30,0,0,0)
	ZEXE F 4 Bright A_CPosAttack
    ZEXE E 2 A_FaceTarget
	TNT1 A 0 A_GiveInventory("DTZombieStrafing",1)
	TNT1 A 0 A_SpawnItemEx("OrangeShellCasing", 12, 6, 30, Random(2, 6), 0, Random(1, 3), Random(-80, -90), 128)
	TNT1 A 0 A_PlaySound("sentient/fire")
    TNT1 A 0 A_CustomMissile("MinigunnerExplosiveTracer",30,0,0,0)
	ZEXE F 4 Bright A_CPosAttack
    ZEXE E 2 A_FaceTarget
	TNT1 A 0 A_GiveInventory("DTZombieStrafing",1)
    TNT1 A 0 A_SpawnItemEx("OrangeShellCasing", 12, 6, 30, Random(2, 6), 0, Random(1, 3), Random(-80, -90), 128)
	TNT1 A 0 A_PlaySound("sentient/fire")
    TNT1 A 0 A_CustomMissile("MinigunnerExplosiveTracer",30,0,0,0)
	ZEXE F 4 Bright A_CPosAttack
    ZEXE E 5 A_FaceTarget
	TNT1 A 0 A_GiveInventory("DTZombieStrafing",1)
    TNT1 A 0 A_CPosRefire
    Goto See
  MLGRocket:
	TNT1 A 0 A_ChangeFlag("NOPAIN",1)
	WDMK G 0 A_JumpIf(ceilingz-floorz<=100,"DTBFG10K")
	ZEXE E 10 A_FaceTarget
	ZEXE E 5 A_FaceTarget
	ZEXE F 4 Bright A_CustomMissile("RSTRocketJump",-10,10,0)
	ZEXE A 0 ThrustThingZ(0,70,0,1)
	ZEXE F 0 Bright A_PlaySound ("Cardinal/9k")
	ZEXE E 2 Bright A_FaceTarget
	ZEXE E 2 Bright A_FaceTarget
	ZEXE E 2 Bright A_FaceTarget
	ZEXE E 2 Bright A_FaceTarget
	ZEXE E 2 Bright A_FaceTarget
	ZEXE F 2 Bright A_FaceTarget
	ZEXE F 2 Bright A_FaceTarget
	ZEXE F 2 Bright A_CustomMissile("ZombieDTBFG10KBall")
	TNT1 A 0 A_ChangeFlag("NOPAIN",0)
	Goto See
  Close:
    ZEXE E 5 A_FaceTarget
	TNT1 A 0 A_GiveInventory("DTZombieStrafing",1)
    TNT1 A 0 A_SpawnItemEx("OrangeShellCasing", 12, 6, 30, Random(2, 6), 0, Random(1, 3), Random(-80, -90), 128)
	TNT1 A 0 A_PlaySound("sentient/fire")
	TNT1 A 0 A_CustomMissile("MinigunnerExplosiveTracer",30,0,0,0)
    ZEXE F 2 Bright A_CPosAttack
    ZEXE E 3 A_FaceTarget		
     TNT1 A 0 A_CPosRefire
	Goto Close+1
   SeeShield:
	TNT1 A 0 A_SetInvulnerable
	TNT1 A 0 A_JumpIfTargetInLOS("StrafingShield")
    ZEXE E 1 A_Chase
    TNT1 A 0 A_SpawnItem("FootStep",0,0,0,0)
    ZEXE A 1 A_Chase
    TNT1 A 0 A_SpawnItem("FootStep",0,0,0,0)
	TNT1 A 0 A_Jump(48,"See")
  Heal:
	TNT1 A 0 A_SpawnItem("GHellionSmokeSpawner",0,0,0,0)
	ZEXE A 5 A_FaceTarget
	TNT1 A 0 A_SpawnItem("GHellionSmokeSpawner",0,0,0,0)
	TNT1 A 0 HealThing(500)
	TNT1 A 0 A_PlaySound("MedCellPack/Use",0,1.0,0)
	Goto See
  Dodge:
	ZEXE A 1 A_FaceTarget
	ZEXE E 1 ThrustThingZ(0, 20, 0, 0)
	ZEXE A 0 A_Jump(256, "DodgeRight", "DodgeLeft")
  DodgeLeft:
	ZEXE E 1 ThrustThing(angle*256/360+192, 15, 0, 0)
	TNT1 A 0 A_Jump(40,"Heal")
	Goto Missile
  DodgeRight:
	ZEXE E 1 ThrustThing(angle*256/360+64, 15, 0, 0)
	TNT1 A 0 A_Jump(40,"Heal")
	Goto Missile
  Pain:
	TNT1 A 0 A_JumpIf(84,"PainMissile")
    ZEXE G 3 A_Pain
    Goto See
  PainMissile:
	TNT1 A 0 A_JumpIf(64,"Dodge")
    ZEXE G 3 A_Pain
    Goto Missile
  Death:
    ZEXE H 5  
    ZEXE I 5 A_Scream
    ZEXE J 5 A_Fall
    ZEXE K 5 A_SpawnItem("BodyCrash",0,0,0,0)
    ZEXE L -1
    Stop
  Raise:
	TNT1 A 0
	TNT1 A 0 A_SpawnItemEx("VileHealEffect",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
    ZEXE KJIH 5
    Goto See
	}
}

ACTOR ExecutionerGhostA
{
Scale 1.1
Radius 20
Height 56
Speed 0
Alpha 0.7
PROJECTILE
RENDERSTYLE Translucent
+CLIENTSIDEONLY
+NOINTERACTION
+NOTIMEFREEZE
States
{
  Spawn:
    TNT1 A 0
	TNT1 A 1 A_JumpIf(ACS_ExecuteWithResult(304) == 1,"NULL")
    ZEXE A 2 A_FadeOut(0.10)
    Wait
    }
}

ACTOR ExecutionerGhostB : ExecutionerGhostA
{   
States
{
  Spawn:
    TNT1 A 0
	TNT1 A 1 A_JumpIf(ACS_ExecuteWithResult(304) == 1,"NULL")
    ZEXE B 2 A_FadeOut(0.10)
    Wait
    }
}

ACTOR ExecutionerGhostC : ExecutionerGhostA
{   
States
{
  Spawn:
    TNT1 A 0
	TNT1 A 1 A_JumpIf(ACS_ExecuteWithResult(304) == 1,"NULL")
    ZEXE C 2 A_FadeOut(0.10)
    Wait
    }
}

ACTOR ExecutionerGhostD : ExecutionerGhostA
{   
States
{
  Spawn:
    TNT1 A 0
	TNT1 A 1 A_JumpIf(ACS_ExecuteWithResult(304) == 1,"NULL")
    ZEXE D 2 A_FadeOut(0.10)
    Wait
    }
}