Actor CyberBrute
{
Monster
Health 1000
Speed 6
Mass 500
Height 59
Radius 24
MeleeDamage 25
MeleeRange 24
Bloodcolor Purple
Painchance 64
Painchance "Mine", 256
+FLOORCLIP
+MISSILEMORE
+MISSILEEVENMORE
+FASTMELEE
+QUICKTORETALIATE
+DONTHARMSPECIES
Species "EliteZombies"
Damagefactor "Acid", 3.8
//No Infighting
DamageFactor "RST", 0.0
Damagefactor "ZExplosiveBullets", 0.0
Damagefactor "HTZombie", 0.0
DamageFactor "ZombieCannon", 0.0
DamageFactor "MiniRocket", 0.0
DropItem "PortableMedCell", 196, 1
DropItem "HEMArmorBonusMax7", 196
DropItem "PureRage", 128
DropItem "ArmorCharge", 160
DropItem "HealthFlask", 180
DropItem "HandGrenadeAmmo", 180, 1
DropItem "MineAmmo", 180, 1
DropItem "SpringMine", 50, 1
DropItem "AmmoPack", 180, 1
DropItem "NewCell", 96
DropItem "Rocket Launcher", 96
SEESOUND "Monsters/NBSight"
ACTIVESOUND "Monsters/NBAct"
PAINSOUND "Monsters/NBPain"
DEATHSOUND "Monsters/NBDeath"
MeleeSound "imp/melee"
Obituary "%o was immediately gunned down by a Cyber Brute."
HitObituary "%o was blown away by the fists of a Cyber Brute."
Tag  "\ccCyber Brute\c-"
var int user_currenthp;
var int user_lcounter;
var int user_rush;
States
	{
	Spawn:
		CBRT A 0
		TNT1 A 0 A_SetUserVar("user_currenthp",ACS_NamedExecuteWithResult("Hem_GetCurrentHealth"))
	Spawnloop:
		CBRT A 10 A_Look
		TNT1 A 0 A_JumpIf(user_currenthp > ACS_NamedExecuteWithResult("Hem_GetCurrentHealth"),"Idle")
		Loop
	Idle:
		TNT1 A 0
		TNT1 A 0 A_ChangeFlag(NOPAIN,0)
	IdleLoop:
		TNT1 A 0 A_SpawnItemEx("FootStep2",0,0,5,0,0,-20)
		CBRT AAAA 4 A_Wander
		TNT1 A 0 A_Look
		CBRT BBBB 4 A_Wander
		TNT1 A 0 A_Look
		TNT1 A 0 A_SetUserVar("user_currenthp",ACS_NamedExecuteWithResult("Hem_GetCurrentHealth"))
		TNT1 A 0 A_SpawnItemEx("FootStep2",0,0,5,0,0,-20)
		CBRT CCCC 4 A_Wander
		TNT1 A 0 A_Look
		CBRT DDDD 4 A_Wander
		TNT1 A 0 A_Look
		TNT1 A 0 A_SetUserVar("user_currenthp",ACS_NamedExecuteWithResult("Hem_GetCurrentHealth"))
		Loop
	See:
		TNT1 A 0
		TNT1 A 0 A_JumpIf(user_rush == 1,"Rush")
		TNT1 A 0 A_ChangeFlag(NOPAIN,0)
		TNT1 A 0 A_SetUserVar("user_lcounter",0)
	SeeLoop:
		TNT1 A 0 A_SpawnItemEx("FootStep2",0,0,5,0,0,-20)
		CBRT AAAABBBB 2 A_Chase
		TNT1 A 0 A_SpawnItemEx("FootStep2",0,0,5,0,0,-20)
		CBRT CCCCDDDD 2 A_Chase
		TNT1 A 0 A_Jump(8,"Rush")
		TNT1 A 0 A_JumpIf(user_lcounter > 10,"Rush")
		TNT1 A 0 A_SetUserVar("user_lcounter",user_lcounter+1)
		Loop
	Rush:
		TNT1 A 0
		TNT1 A 0 A_ChangeFlag(NOPAIN,1)
		TNT1 A 0 A_SetUserVar("user_lcounter",0)
		TNT1 A 0 A_SetUserVar("user_rush",1)
	RushLoop:
		CBRT A 1 A_Chase
		CBRT A 1 A_Chase
		CBRT A 1 A_Chase
		CBRT A 1 A_Chase
		CBRT B 1 A_Chase
		CBRT B 1 A_Chase
		CBRT B 1 A_Chase
		CBRT B 1 A_Chase
		TNT1 A 0 A_SpawnItemEx("FootStep2",0,0,5,0,0,-20)
		CBRT C 1 A_Chase
		CBRT C 1 A_Chase
		CBRT C 1 A_Chase
		CBRT C 1 A_Chase
		CBRT D 1 A_Chase
		CBRT D 1 A_Chase
		CBRT D 1 A_Chase
		CBRT D 1 A_Chase
		TNT1 AAA 0 A_FastChase
		TNT1 A 0 A_SpawnItemEx("FootStep2",0,0,5,0,0,-20)
		TNT1 A 0 A_CheckSight("RushEnd")
		TNT1 A 0 A_SetUserVar("user_lcounter",user_lcounter+1)
		TNT1 A 0 A_JumpIf(user_lcounter > 10,"Missile")
		TNT1 A 0 A_Jump(64,"RushLoop2")
		Loop
	RushLoop2:
		CBRT A 1 A_FastChase
		CBRT A 1 A_FastChase
		CBRT A 1 A_FastChase
		CBRT A 1 A_FastChase
		CBRT B 1 A_FastChase
		CBRT B 1 A_FastChase
		CBRT B 1 A_FastChase
		CBRT B 1 A_FastChase
		TNT1 A 0 A_SpawnItemEx("FootStep2",0,0,5,0,0,-20)
		CBRT C 1 A_FastChase
		CBRT C 1 A_FastChase
		CBRT C 1 A_FastChase
		CBRT C 1 A_FastChase
		CBRT D 1 A_FastChase
		CBRT D 1 A_FastChase
		CBRT D 1 A_FastChase
		CBRT D 1 A_FastChase
		TNT1 AAA 0 A_Chase
		TNT1 A 0 A_SpawnItemEx("FootStep2",0,0,5,0,0,-20)
		TNT1 A 0 A_CheckSight("RushEnd")
		TNT1 A 0 A_SetUserVar("user_lcounter",user_lcounter+1)
		TNT1 A 0 A_JumpIf(user_lcounter > 10,"Missile")
		TNT1 A 0 A_Jump(128,"RushLoop")
		Loop
	RushEnd:
		TNT1 A 0
		TNT1 A 0 A_SetUserVar("user_rush",0)
		Goto See
	Melee:
		TNT1 A 0
		TNT1 A 0 A_ChangeFlag(NOPAIN,0)
		CBRT DG 2
	Meleeloop:
		CBRT HH 1 A_FaceTarget
		CBRT I 4 A_CustomMeleeAttack(random(20,30),"imp/melee","","Melee")
		CBRT HH 1 A_FaceTarget
		CBRT G 2
		Goto See
	Missile:
		TNT1 A 0
		TNT1 A 0 A_ChangeFlag(NOPAIN,0)
		TNT1 A 0 A_JumpIfTargetInLos("Missile2",360,JLOSF_DEADNOJUMP|JLOSF_TARGETLOS)
		GoTo See
	Missile2:
		TNT1 A 0 A_JumpIfCloser(500,"PlasmaAndChainGuns")
		TNT1 A 0 A_JumpIfCloser(1000,"ChainGunsAndRockets")
		Goto RailGun
	RailGun:
		TNT1 A 0
		CBRT EEEEEEEEEEEEEEEEEE 1 A_FaceTarget(45)
		TNT1 A 0 Bright A_PlaySound("railgunner/chargedshot")
		TNT1 A 0 Bright A_CustomMissile("RailgunImpactRed",38,15,0)
        CBRT F 5 Bright A_CustomRailgun(Random(15,25),0,"Red",None,RGF_NOPIERCING,1)
        CBRT E 40
		TNT1 A 0 A_Jump(128,"Rocket","Plasma")
		Goto See
	PlasmaAndChainGuns:
		TNT1 A 0 A_Jump(128,"Plasma")
		Goto ChainGuns
	ChainGunsAndRockets:
		TNT1 A 0 A_Jump(128,"ChainGuns")
		Goto Rocket
	Rocket:
		CBRT EE 1 A_FaceTarget(45)
		CBRT FF 1 A_FaceTarget(45)
		TNT1 A 0 A_FaceTarget
		CBRT FFF 4 Bright A_CustomMissile("ZMiniRocket",38,15,0,CMF_TRACKOWNER)
		CBRT EE 1 Bright A_FaceTarget
		TNT1 A 0 A_Jump(128,"RailGun","Plasma")
		Goto See
	ChainGuns:
		CBRT EE 3 A_FaceTarget(45)
		CBRT FF 3 A_FaceTarget(45)
		TNT1 A 0 A_FaceTarget
	ChainGunsLoop:
		TNT1 A 0 A_PlaySound("Exterminator/Fire",CHAN_WEAPON)
		CBRT F 1 Bright A_CustomBulletAttack(12,12,1,8,"ZBulletPuff")
		TNT1 A 0 A_CustomMissile("MonsterTracer",38,0,Random(5,-5),0)
		TNT1 A 0 A_SpawnItemEx("RifleCasing",24,-15,38,Random(2,6),0,Random(1,3),Random(80,90),SXF_CLIENTSIDE,0)
		CBRT E 1 Bright A_FaceTarget
		TNT1 A 0 A_PlaySound("Exterminator/Fire",CHAN_WEAPON)
		CBRT F 1 Bright A_CustomBulletAttack(12,12,1,8,"ZBulletPuff")
		TNT1 A 0 A_CustomMissile("MonsterTracer",38,0,Random(5,-5),0)
		TNT1 A 0 A_SpawnItemEx("RifleCasing",24,-15,38,Random(2,6),0,Random(1,3),Random(80,90),SXF_CLIENTSIDE,0)
		CBRT E 1 Bright A_FaceTarget
		TNT1 A 0 A_PlaySound("Exterminator/Fire",CHAN_WEAPON)
		CBRT F 1 Bright A_CustomBulletAttack(12,12,1,8,"ZBulletPuff")
		TNT1 A 0 A_CustomMissile("MonsterTracer",38,0,Random(5,-5),0)
		TNT1 A 0 A_SpawnItemEx("RifleCasing",24,-15,38,Random(2,6),0,Random(1,3),Random(80,90),SXF_CLIENTSIDE,0)
		CBRT E 1 Bright A_FaceTarget
		TNT1 A 0 A_SentinelRefire
		Loop
	Plasma:
		CBRT EE 3 A_FaceTarget(45)
		CBRT FF 3 A_FaceTarget(45)
		TNT1 A 0 A_FaceTarget
	PlasmaLoop:
		CBRT FFF 4 Bright A_CustomMissile("ZFusionShot",38,15,random(-2,2))
		CBRT EEE 1 Bright A_FaceTarget
		CBRT E 1 Bright A_SentinelRefire
		Loop
	Pain:
		"####" "#" 0
		"####" "#" 0 A_ChangeFlag(NOPAIN,1)
		"####" "#" 0 A_Pain
		"####" "#" 0 A_JumpIf((user_currenthp - ACS_NamedExecuteWithResult("Hem_GetCurrentHealth")) <= 0,2)
		"####" "#" 1
		"####" "#" 0 A_SetUserVar("user_currenthp",ACS_NamedExecuteWithResult("Hem_GetCurrentHealth"))
		"####" "#" 0
		Goto See
	XDeath:	
	Death:
		TNT1 A 0
		CBRD A 4 A_Scream
		CBRD B 4 A_Fall
		CBRD CD 4
		CBRD E 63000 CanRaise
		Stop
	Raise:
		TNT1 A 0
		TNT1 A 0 A_SpawnItemEx("VileHealEffect",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
		CBRD EDCBA 4
		Goto See
	}
}