Actor EnragedLegendaryChainsawZombie : LegChainsawZombie
{
Health 2350
Speed 45
Mass 150
PainChance 1
BloodColor "Red"
DropItem "EnragedLegendaryChainsaw" 128
DropItem "ILDemonAmmo" 250
DropItem "ILDemonAmmoBox" 125 200
DropItem "EnragedLegendaryArmor" 90 1
DropItem "LegAmmoSphere" 93 3
DropItem "HandGrenadeAmmo" 235 2
DropItem "MineAmmo" 240 2
DropItem "Backpack" 200 1
DropItem "Armorplate" 210 1
DropItem "Portablemedkit" 215 1
DropItem "StimKit" 220 3
DropItem "HealthFlask" 225 5
DropItem "LegendaryRune" 50 1
DropItem "EnragedLegendaryPowerShard" 35 1
DropItem "LegendaryPowerSphere" 35 1
SeeSound "EnragedChainsawZombie/sight" 
ActiveSound "EnragedChainsawZombie/Active"
Obituary "%o's entrails were masticated by an Enraged Legendary Chainsaw Zombie."
Tag "\c[m6]Enraged\c- \c[z3]Legendary Chainsaw Zombie\c-"
States
	{
	Spawn:
		TNT1 A 0 NoDelay A_Jump(100,"Remove")
	Spawn2:
		ECSZ A 10 Bright A_Look
		TNT1 A 0 A_SpawnItemEx("EnragedHellionSmokeSpawner",0,0,0,0,0,0,0,SXF_CLIENTSIDE,64)
		Loop
	Remove:
		TNT1 A 1
		TNT1 A 0 A_SpawnItemEx("Zombieman",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
		TNT1 A 0 A_ChangeFlag("COUNTKILL", FALSE)
		TNT1 A 0
		Stop
	Idle:
		TNT1 A 0 A_PlaySound("MadSaw/Idle",CHAN_WEAPON,1.0,1)
		TNT1 A 0 A_SpawnItem("EnragedHellionSmokeSpawner",0,0,0,0)
		TNT1 A 0 A_SpawnItemEx("FootStep",0,0,5,0,0,-20)
		ECSZ A 3 Bright A_Wander
		TNT1 A 0 A_Look
		ECSZ A 3 Bright A_Wander
		TNT1 A 0 A_Look
		ECSZ A 3 Bright A_Wander
		TNT1 A 0 A_Look
		TNT1 A 0 A_SpawnItem("EnragedHellionSmokeSpawner",0,0,0,0)
		TNT1 A 0 A_SpawnItemEx("FootStep",0,0,5,0,0,-20)
		ECSZ B 3 Bright A_Wander
		TNT1 A 0 A_Look
		ECSZ B 3 Bright A_Wander
		TNT1 A 0 A_Look
		ECSZ B 3 Bright A_Wander
		TNT1 A 0 A_Look
		TNT1 A 0 A_SpawnItem("EnragedHellionSmokeSpawner",0,0,0,0)
		TNT1 A 0 A_SpawnItemEx("FootStep",0,0,5,0,0,-20)
		ECSZ C 3 Bright A_Wander
		TNT1 A 0 A_Look
		ECSZ C 3 Bright A_Wander
		TNT1 A 0 A_Look
		ECSZ C 3 Bright A_Wander
		TNT1 A 0 A_Look
		TNT1 A 0 A_SpawnItem("EnragedHellionSmokeSpawner",0,0,0,0)
		TNT1 A 0 A_SpawnItemEx("FootStep",0,0,5,0,0,-20)
		ECSZ D 3 Bright A_Wander
		TNT1 A 0 A_Look
		ECSZ D 3 Bright A_Wander
		TNT1 A 0 A_Look
		ECSZ D 3 Bright A_Wander
		TNT1 A 0 A_Look
		Loop
	See:
		TNT1 A 0 A_JumpIf(user_music == 1,3)
		TNT1 A 0 ACS_NamedExecuteAlways("StartMonsterMusic",0,75)
		TNT1 A 0 A_SetUserVar("user_music",1)
		TNT1 A 0 A_PlaySound("MadSaw/Idle",CHAN_WEAPON,1.0,1)
		TNT1 A 0 A_SpawnItem("EnragedHellionSmokeSpawner",0,0,0,0)
		TNT1 A 0 A_SpawnItemEx("FootStep",0,0,5,0,0,-20)
		ECSZ AAA 2 Bright A_FastChase
		TNT1 A 0 A_SpawnItem("EnragedHellionSmokeSpawner",0,0,0,0)
		TNT1 A 0 A_SpawnItemEx("FootStep",0,0,5,0,0,-20)
		ECSZ BBB 2 Bright A_FastChase
		TNT1 A 0 A_SpawnItem("EnragedHellionSmokeSpawner",0,0,0,0)
		TNT1 A 0 A_SpawnItemEx("FootStep",0,0,5,0,0,-20)
		ECSZ CCC 2 Bright A_FastChase
		TNT1 A 0 A_SpawnItem("EnragedHellionSmokeSpawner",0,0,0,0)
		TNT1 A 0 A_SpawnItemEx("FootStep",0,0,5,0,0,-20)
		ECSZ DDD 2 Bright A_FastChase
		Loop
	Missile:
		TNT1 A 0 A_Jump(100,"LegRipper","Charge1")
		Goto LegCharge
	Charge1:
		TNT1 A 0 A_PlaySound("MadSaw/Attack",CHAN_WEAPON,1.0,1)
		ECSZ AAAAAAAAAA 1 Bright A_FaceTarget
	Charge2:
		TNT1 A 0 A_PlaySound("MadSaw/Attack",CHAN_WEAPON,1.0,1)
		TNT1 A 0 A_FaceTarget
		TNT1 A 0 A_GiveInventory("ChainSawJumping",1)
		TNT1 A 0 A_Recoil(-20)
		TNT1 A 0 A_SpawnItem("ELFiendFlameSpawner",0,0,0,0)
		TNT1 A 0 A_SpawnItemEx("ELCHSGhost",0,0,0,0,0,0,0,128)
		TNT1 A 0 A_CustomMissile("BigELFLunge",18,0,0,CMF_AIMDIRECTION)
		ECSZ EE 1 Bright A_JumpIfTargetInLOS("Melee2",90,JLOSF_DEADNOJUMP|JLOSF_TARGETLOS,90,0)
		TNT1 A 0 A_FaceTarget
		TNT1 A 0 A_Recoil(-20)
		TNT1 A 0 A_SpawnItem("ELFiendFlameSpawner",0,0,0,0)
		TNT1 A 0 A_SpawnItemEx("ELCHSGhost",0,0,0,0,0,0,0,128)
		TNT1 A 0 A_CustomMissile("BigELFLunge",18,0,0,CMF_AIMDIRECTION)
		ECSZ EE 1 Bright A_JumpIfTargetInLOS("Melee2",90,JLOSF_DEADNOJUMP|JLOSF_TARGETLOS,90,0)
		TNT1 A 0 A_FaceTarget
		TNT1 A 0 A_Recoil(-20)
		TNT1 A 0 A_SpawnItem("ELFiendFlameSpawner",0,0,0,0)
		TNT1 A 0 A_SpawnItemEx("ELCHSGhost",0,0,0,0,0,0,0,128)
		TNT1 A 0 A_CustomMissile("BigELFLunge",18,0,0,CMF_AIMDIRECTION)
		ECSZ EE 1 Bright A_JumpIfTargetInLOS("Melee2",90,JLOSF_DEADNOJUMP|JLOSF_TARGETLOS,90,0)
		TNT1 A 0 A_FaceTarget
		TNT1 A 0 A_Recoil(-20)
		TNT1 A 0 A_SpawnItem("ELFiendFlameSpawner",0,0,0,0)
		TNT1 A 0 A_SpawnItemEx("ELCHSGhost",0,0,0,0,0,0,0,128)
		TNT1 A 0 A_CustomMissile("BigELFLunge",18,0,0,CMF_AIMDIRECTION)
		ECSZ EE 1 Bright A_JumpIfTargetInLOS("Melee2",90,JLOSF_DEADNOJUMP|JLOSF_TARGETLOS,90,0)
		Goto Missile2
	Missile2:
		TNT1 A 0 A_JumpIf(velx != 0 || vely != 0,"Charge2")
		Goto Charge1Stop
	Charge1Stop:
		ECSZ A 1 Bright A_Stop
		TNT1 A 0 A_JumpIfInTargetLOS("Melee2",90,JLOSF_DEADNOJUMP,200)
		Goto See
	LegRipper:		
		ECSZ EEEEEEEEEFFFFFFFFF 1 Bright A_FaceTarget
		ECSZ EFE 3 Bright A_CustomMissile("ELegChainRipper",32,0,random(-2,2))
		TNT1 A 0 A_FaceTarget
		ECSZ EFE 3 Bright A_CustomMissile("ELegChainRipper",32,0,random(-2,2))
		TNT1 A 0 A_FaceTarget
		ECSZ EFE 3 Bright A_CustomMissile("ELegChainRipper",32,0,random(-2,2))
		ECSZ F 2 Bright A_FaceTarget
		Goto See
	LegCharge:
		TNT1 A 0 A_PlaySound("MadSaw/Attack",CHAN_WEAPON,1.0,1)
		ECSZ AAAAAAAAAAAAAAAAAAAA 1 Bright A_FaceTarget
		TNT1 A 0 A_Jump(96,"ChargeAttack2")
	ChargeAttack:
		TNT1 A 0 ThrustThingZ(0,30,0,1)
		TNT1 A 0 A_ChangeFlag(SLIDESONWALLS,1)
		TNT1 A 0 A_ChangeFlag(NOPAIN,1)
		TNT1 A 0 A_Recoil(-130)
		ECSZ AA 2 Bright A_FaceTarget
		TNT1 A 0 A_CposRefire
		TNT1 A 0 A_FaceTarget
		TNT1 A 0 A_SpawnItem("ELFiendFlameSpawner",0,0,0,0)
		TNT1 A 0 A_SpawnItemEx("ELCHSGhost",0,0,0,0,0,0,0,128)
		TNT1 A 0 A_CustomMissile("BigELFLunge",18,0,0,CMF_AIMDIRECTION)
		ECSZ EF 2 Bright A_CustomMissile("ELegChainSawAttack",18,0,0,CMF_AIMDIRECTION)
		TNT1 A 0 A_SpawnItem("ELFiendFlameSpawner",0,0,0,0)
		TNT1 A 0 A_SpawnItemEx("ELCHSGhost",0,0,0,0,0,0,0,128)
		TNT1 A 0 A_CustomMissile("BigELFLunge",18,0,0,CMF_AIMDIRECTION)
		ECSZ EF 2 Bright A_CustomMissile("ELegChainSawAttack",18,0,0,CMF_AIMDIRECTION)
		TNT1 A 0 A_SpawnItem("ELFiendFlameSpawner",0,0,0,0)
		TNT1 A 0 A_SpawnItemEx("ELCHSGhost",0,0,0,0,0,0,0,128)
		TNT1 A 0 A_CustomMissile("BigELFLunge",18,0,0,CMF_AIMDIRECTION)
		ECSZ EF 2 Bright A_CustomMissile("ELegChainSawAttack",18,0,0,CMF_AIMDIRECTION)
		TNT1 A 0 A_SpawnItem("ELFiendFlameSpawner",0,0,0,0)
		TNT1 A 0 A_SpawnItemEx("ELCHSGhost",0,0,0,0,0,0,0,128)
		TNT1 A 0 A_SpawnItem("ELFiendFlameSpawner",0,0,0,0)
		ECSZ EFEF 1 Bright A_JumpIfCloser(90,"Melee2")
		Goto Melee2
	ChargeStop:
		TNT1 A 0 A_SpawnItem("EnragedHellionSmokeSpawner",0,0,0,0)
		ECSZ E 1 Bright A_Stop
		Goto See
	ChargeAttack2:	
		ECSZ E 0 A_FaceTarget
		TNT1 A 0 A_SpawnItemEx("ELCZLungeGhost")
		ECSZ E 20
		TNT1 A 0 A_FaceTarget
		TNT1 A 0 A_SpawnItemEx("ELCZLungeGhost")
		ECSZ E 20 
		Goto ChargeAttack		
	Melee:
		TNT1 A 0 A_UnSetInvulnerable
		TNT1 A 0 A_SpawnItemEx("FootStep",0,0,5,0,0,-20)
		TNT1 A 0 A_FaceTarget
		TNT1 A 0 A_Recoil(-8)
		TNT1 A 0 A_TakeInventory("ChainSawJumping",1)
		TNT1 A 0 A_SpawnItem("EnragedHellionSmokeSpawner",0,0,0,0)
		TNT1 A 0 A_PlaySound("MadSaw/Attack",CHAN_WEAPON,1.0,1)
		TNT1 A 0 Bright A_CustomMissile("ELegChainSawAttack",18,0,0,CMF_AIMDIRECTION)
		ECSZ EF 2 Bright A_CustomMissile("ELegChainSawAttack",18,0,0,CMF_AIMDIRECTION)
		TNT1 A 0 A_SpawnItem("EnragedHellionSmokeSpawner",0,0,0,0)
		ECSZ EFEF 1 Bright A_JumpIfCloser(90,"See")
		Goto See
	Melee2:
		TNT1 A 0 A_UnSetInvulnerable
		TNT1 A 0 Bright A_SpawnItemEx("ELCHSGhost",0,0,0,0,0,0,0,128)
		TNT1 A 0 A_SpawnItemEx("FootStep",0,0,5,0,0,-20)
		TNT1 A 0 A_FaceTarget
		TNT1 A 0 A_Recoil(-8)
		TNT1 A 0 A_TakeInventory("ChainSawJumping",1)
		TNT1 A 0 A_SpawnItem("EnragedHellionSmokeSpawner",0,0,0,0)
		TNT1 A 0 A_SpawnItem("ELFiendFlameSpawner",0,0,0,0)
		TNT1 A 0 A_PlaySound("MadSaw/Attack",CHAN_WEAPON,1.0,1)
		TNT1 A 0 A_CustomMissile("BigELFLunge",18,0,0,CMF_AIMDIRECTION)
		ECSZ EF 2 Bright A_CustomMissile("ELegChainSawAttack",18,0,0,CMF_AIMDIRECTION)
		TNT1 A 0 A_CustomMissile("BigELFLunge",18,0,0,CMF_AIMDIRECTION)
		TNT1 A 0 A_SpawnItem("EnragedHellionSmokeSpawner",0,0,0,0)
		ECSZ EFEF 1 Bright A_JumpIfCloser(90,"Melee2")
		Goto See
	Pain:
		TNT1 A 0
		TNT1 A 0 A_SpawnItem("EnragedHellionSmokeSpawner",0,0,0,0)
		ECSZ G 3 Bright
		TNT1 A 0 A_SpawnItem("EnragedHellionSmokeSpawner",0,0,0,0)
		TNT1 AAA 0 A_StopSound(CHAN_WEAPON)
		ECSZ G 3 Bright A_Pain
		Goto See
	Death:
		TNT1 AAA 0
		TNT1 AAA 0 A_StopSound(CHAN_WEAPON)
		TNT1 A 0 A_Jump(36,"LegendarySoul")
		ECSZ H 5 A_Scream
		ECSZ I 5 A_Fall
		ECSZ J 5 A_SpawnItem("BodyCrash",0,0,0,0)
		ECSZ KL 5
		ECSZ M -1
		Stop
	LegendarySoul:
		TNT1 AAA 0 A_StopSound(CHAN_WEAPON)
		TNT1 A 0 A_SpawnItem("EnragedHellionSmokeSpawner",0,0,0,0)
		ECSZ H 5 A_Scream
		TNT1 A 0 A_SpawnItem("EnragedHellionSmokeSpawner",0,0,0,0)
		ECSZ I 5 A_Fall
		TNT1 A 0 A_SpawnItem("EnragedHellionSmokeSpawner",0,0,0,0)
		ECSZ J 5 A_SpawnItem("BodyCrash",0,0,0,0)
		TNT1 A 0 A_SpawnItem("EnragedHellionSmokeSpawner",0,0,0,0)
		ECSZ K 5 
		TNT1 A 0 A_SpawnItem("EnragedHellionSmokeSpawner",0,0,0,0)
		ECSZ L 5 
		TNT1 A 0 A_SpawnItem("EnragedHellionSmokeSpawner",0,0,0,0)
		ECSZ M 140
		TNT1 A 0 A_PlaySound("brain/spit",CHAN_VOICE,1.0,0,ATTN_NONE)
		ECSZ MMMMMMMMMMMMMMMMM 2 Bright A_GiveInventory("ELegSoulEvent",1)
		ECSZ MMMMMMMMMMMMMMMMM 2 Bright A_GiveInventory("ELegSoulEvent",1)
		ECSZ MMMMMMMMMMMMMMMMM 2 Bright A_GiveInventory("ELegSoulEvent",1)
		TNT1 A 0 A_SpawnItemEx("TeleportFog",0,0,16,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
		TNT1 A 0 A_SpawnItemEx("EnragedLegendarySoul",0,0,16,0,0,0,0,SXF_NOCHECKPOSITION,0)
		ECSZ M -1
		Stop
	XDeath:
		TNT1 AAA 0
		TNT1 AAA 0 A_StopSound(CHAN_WEAPON)
		ECSZ N 5 A_SpawnItemEx("GibbedGenerator",0,0,0,0,0,0,0,128,0)
		ECSZ O 5 A_XScream
		ECSZ P 5 A_Fall
		ECSZ QRSTUV 5
		ECSZ W -1
		Stop	
	}
}

Actor ELCZLungeGhost : ELFLungeGhost
{
Species "LegendaryZombie"
Scale 1.0
var int user_ragewait;
States
{
Spawn:
	ECSZ E 1
	TNT1 A 0 ThrustThingZ(0,35,0,1)
    TNT1 A 0 A_ChangeFlag(SLIDESONWALLS,1)
	ECSZ E 9 Bright
	ECSZ E 0 A_FaceTarget
	ECSZ E 3 Bright
	TNT1 A 0 ThrustThingZ(0,25,0,1)
    ECSZ E 2 A_Recoil(-100)
RageLoop:
    TNT1 A 0 A_JumpIf(user_ragewait >= 10,"Death")
	TNT1 A 0 A_SetUserVar("user_ragewait",user_ragewait+1)
	ECSZ E 0 A_SpawnItem("ELFiendFlameSpawner",0,0,0,0)
	ECSZ E 0 A_CustomMissile("BigELFGhostLunge",18,0,0,CMF_AIMDIRECTION)
	ECSZ E 2 Bright A_FaceTarget
	Loop
Death:
	ECSZ GGGGGGG 2 A_FadeOut(0.1)
	Stop
	}
}

ACTOR ELegChainSawAttack : LegChainSawAttack
{
Speed 45
Damage (2*Random(14,20))
States
	{
	Spawn:
		TNT1 A 2
		Stop
	XDeath:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("NewBlood")
		Stop
	}
}

Actor ELCHSGhost : LCHSGhost
{
States
	{
	Spawn:
		TNT1 A 1
		ECSZ A 2 A_FadeOut(0.09,1)
		Wait
	}
}

Actor ELegChainRipper : LegChainRipper
{
Speed 85
States
	{
	Spawn:
		TNT1 A 0
		TNT1 A 0 A_PlaySound("weapons/sawrotating",CHAN_WEAPON,1.0,0)
		SAWS EFGHABCDEFGHABCDEFGHABCDEFGHABCD 2 Bright A_SeekerMissile(90,90)
		TNT1 A 0 A_CountDown
		loop
	Death:
	XDeath:
		SAWE A 1 A_Gravity
		SAWE A 7 A_CustomMissile("RedParticleSpawner",0,0,180,2)
		SAWE BCDEFG 8
		Stop
	}
}