actor EvilRobotBoss 11114
{
//$Category MM8BDM-Bosses
Height 80
Radius 40
Scale 2.5
Health 9000
mass 99999999
Speed 0
MONSTER
//damagefactor "normal", 0.0
damagefactor "DuoFist1", 0.0
damagefactor "DuoFist2", 0.0
damagefactor "DuoFist3", 1.0
damagetype "DuoFist1"
Obituary "%o could not comprehend the power of the \ctevil robot\c-."
painchance 256
+NOGRAVITY
+GHOST
-ISMONSTER
+DONTRIP
+NORADIUSDMG
+INVULNERABLE
-COUNTKILL
+THRUSPECIES
species "EvilRobot"
States
{
Spawn:
ERO2 B 0 A_JumpIfHealthLower(9000, "Pain")
ERO2 B 0 A_JumpIfInventory("CutterFlag",1,"Punch")
ERO2 B 0 A_JumpIfInventory("FlameSwordAmmo",1,"FlameSwings")
ERO2 B 4 //A_GiveInventory("BusterAmmo",1) // WOMBO COMBO MODE
ERO2 BBBBB 35
ERO2 B 10 A_Look
Goto Spawn+2

See:
ERO2 B 0 A_JumpIfHealthLower(9000, "Pain")
ERO2 B 0 A_JumpIfInventory("CutterFlag",1,"Punch")
ERO2 B 0 A_JumpIfInventory("FlameSwordAmmo",1,"FlameSwings")
ERO2 B 0 A_PlaySoundEx("weapon/timestopper","Item",0,1)
ERO2 B 1 ACS_NamedExecuteWithResult("ActivateEvilRobotShield", 1)//A_GiveToTarget("EvilRobotShield",1)
Idle:
ERO2 B 35 ACS_NamedExecuteAlways("TC_TargetRandomPlayer") //A_ChangeFlag("FLOATBOB",1)
ERO2 B 0 //A_TakeInventory("CutterFlag",1)
ERO2 B 0 //A_JumpIfInventory("CutterFlag",1,"Idle")
Goto WepSelect
WepSelect:
ERO2 B 0 //A_Chase
ERO2 B 10// A_ChangeFlag("FLOATBOB",0)
ERO2 B 1 A_FaceTarget
ERO2 VWVWVW 4
ERO2 B 0 A_PlaySoundEx("weapon/pharaoh2","Item",0,1)
ERO2 B 0 A_SpawnItemEx("ThunderClawSkull",0,100,180)
ERO2 B 0 A_SpawnItemEx("WaterBalloonSkull",0,-100,180)
ERO2 VWVWVW 4
ERO2 B 0 A_PlaySoundEx("weapon/pharaoh2","Item",0,1)
ERO2 B 0 A_SpawnItemEx("AstroCrushSkull",0,180,100)
ERO2 B 0 A_SpawnItemEx("FlameSwordSkull",0,-180,100)
ERO2 VWVWVW 4
ERO2 B 0 A_PlaySoundEx("weapon/pharaoh2","Item",0,1)
ERO2 B 0 A_SpawnItemEx("FlashBombSkull",0,180,-50)
ERO2 B 0 A_SpawnItemEx("HomingSniperSkull",0,-180,-50)
ERO2 VWVWVW 4
ERO2 B 0 A_PlaySoundEx("weapon/pharaoh2","Item",0,1)
ERO2 B 0 A_SpawnItemEx("TornadoHoldSkull",0,-100,-130)
ERO2 B 0 A_SpawnItemEx("IceWaveSkull",0,100,-130)
ERO2 VWVWVW 4
ERO2 B 20 A_JumpIfInventory("BusterAmmo",1,"SelectWombo")
ERO2 B 0 A_Jump(256,"SelectFlame","SelectTornado","SelectIce","SelectSearch","SelectThunder","SelectWater","SelectAstro","SelectFlash")
Goto SelectAstro

SelectWombo:
ERO2 B 0 A_Jump(256,"SelectTornado","SelectIce","SelectAstro")
Goto SelectTornado

WomboCombo:
ERO2 B 10// A_ChangeFlag("FLOATBOB",0)
ERO2 B 1 A_FaceTarget
ERO2 B 0 A_SpawnItemEx("ThunderClawSkull",0,100,180)
ERO2 B 0 A_SpawnItemEx("WaterBalloonSkull",0,-100,180)
ERO2 B 0 A_SpawnItemEx("AstroCrushSkull",0,180,100)
ERO2 B 0 A_SpawnItemEx("FlameSwordSkull",0,-180,100)
ERO2 B 0 A_SpawnItemEx("FlashBombSkull",0,180,-50)
ERO2 B 0 A_SpawnItemEx("HomingSniperSkull",0,-180,-50)
ERO2 B 0 A_SpawnItemEx("TornadoHoldSkull",0,-100,-130)
ERO2 B 0 A_SpawnItemEx("IceWaveSkull",0,100,-130)
ERO2 VWV 4
ERO2 B 0 A_Jump(256,"SelectFlame","SelectSearch","SelectThunder","SelectWater","SelectFlash")
Goto SelectFlame

SelectFlash:
ERO2 N 0 Thing_Remove(666)
ERO2 B 0 A_PlaySoundEx("weapon/pharaoh1","Item",0,1)
ERO2 F 50 A_SpawnItemEx("FlashBombSelection",0,180,-50)
ERO2 F 0 A_SpawnItemEx("GigaFlashBombChaser")
ERO2 F 1 ACS_Execute(40,0)
Goto FlashChase

FlashChase:
ERO4 EE 1 A_SpawnItemEx("EvilRoboJetPack",-34,0,46)
ERO4 E 8 
ERO4 E 0 A_FaceTarget
ERO4 E 0 A_PlaySoundEx("weapon/magnetmissile","Weapon",0,1)
ERO4 E 0 A_CustomMissile("GigaFlashBomb",20,20,0,2,0)
ERO4 E 0 A_CustomMissile("GigaFlashBomb",20,20,8,2,0)
ERO4 E 0 A_CustomMissile("GigaFlashBomb",20,20,16,2,0)
ERO4 E 0 A_CustomMissile("GigaFlashBomb",20,20,24,2,0)
ERO4 E 0 A_CustomMissile("GigaFlashBomb",20,20,-8,2,0)
ERO4 E 0 A_CustomMissile("GigaFlashBomb",20,20,-16,2,0)
ERO4 E 0 A_CustomMissile("GigaFlashBomb",20,20,-24,2,0)
ERO4 EE 1 A_SpawnItemEx("EvilRoboJetPack",-34,0,46)
ERO4 E 0 A_JumpIfInventory("FlashBombAmmo",5,"FlashEnd")
ERO4 E 8 
ERO4 EE 1 A_SpawnItemEx("EvilRoboJetPack",-34,0,46)
ERO4 E 8 
ERO4 EE 1 A_SpawnItemEx("EvilRoboJetPack",-34,0,46)
ERO4 E 8 
ERO4 E 0 A_FaceTarget
ERO4 E 0 A_PlaySoundEx("weapon/magnetmissile","Weapon",0,1)
ERO4 E 0 A_CustomMissile("GigaFlashBomb",20,20,0,2,16)
ERO4 E 0 A_CustomMissile("GigaFlashBomb",20,20,0,2,24)
ERO4 E 0 A_CustomMissile("GigaFlashBomb",20,20,0,2,0)
ERO4 E 0 A_CustomMissile("GigaFlashBomb",20,20,0,2,-8)
ERO4 E 0 A_CustomMissile("GigaFlashBomb",20,20,0,2,8)
ERO4 E 0 A_CustomMissile("GigaFlashBomb",20,20,0,2,-16)
ERO4 E 0 A_CustomMissile("GigaFlashBomb",20,20,0,2,-24)
ERO4 EE 1 A_SpawnItemEx("EvilRoboJetPack",-34,0,46)
ERO4 E 8 
ERO4 EE 1 A_SpawnItemEx("EvilRoboJetPack",-34,0,46)
ERO4 E 8 A_GiveInventory("FlashBombAmmo",1)
loop

FlashEnd:
ERO2 G 8 A_TakeInventory("FlashBombAmmo",999)
ERO2 N 0 Thing_Remove(669)
ERO2 C 0 ACS_Terminate(40,0)
ERO2 C 30 A_Stop
Goto ChargeSeek

SelectFlame:
ERO2 N 0 Thing_Remove(666)
ERO2 B 0 A_PlaySoundEx("weapon/pharaoh1","Item",0,1)
ERO2 F 50 A_SpawnItemEx("FlameSwordSelection",0,-180,100)
ERO2 G 5
ERO2 H 5
ERO2 O 10 A_PlaySoundEx("weapon/mirrorabsorb","Item",0,1)
Goto FlameStart

FlameStart:
ERO2 I 0 A_ChangeFlag("THRUACTORS",1)
ERO2 I 0 A_JumpIfInventory("FlameSwordAmmo",2,"FlameEnd")
ERO2 I 0 A_GiveInventory("FlameSwordAmmo",1)
TNT1 A 0 A_PlaySoundEx("weapon/superboost","Item",0,1)
Goto FlameDash

FlameEnd:
ERO2 I 0 A_ChangeFlag("THRUACTORS",0)
ERO2 C 4 A_TakeInventory("FlameSwordAmmo",999)
ERO2 B 4
Goto ChargeSeek

FlameDash:
ERO2 I 0 A_FaceTarget
ERO2 I 0 A_TakeInventory("CutterFlag",999)
ERO2 I 0 A_SkullAttack(50)
ERO2 I 0 A_JumpIfCloser(400,"FlameSwings")
ERO4 CC 1 A_SpawnItemEx("EvilRoboJetPack",-34,0,46)
ERO2 I 0 A_JumpIfCloser(400,"FlameSwings")
ERO4 CC 1 //A_SpawnItemEx("EvilRoboJetPack",-34,0,46)
ERO2 I 0 A_JumpIfCloser(400,"FlameSwings")
ERO4 CC 1 //A_SpawnItemEx("EvilRoboJetPack",-34,0,46)
ERO2 I 0 A_JumpIfCloser(400,"FlameSwings")
ERO4 CC 1 //A_SpawnItemEx("EvilRoboJetPack",-34,0,46)
Goto FlameDash

FlameSwings:
ERO2 I 0 A_Stop
ERO2 I 0 A_FaceTarget
ERO2 O 5
ERO2 O 0 A_PlaySoundEx("weapon/atomicfire","Item",0,1)
ERO2 P 8 A_CustomMissile("GigaFlameSwing1",0,0,0,0)
ERO2 Q 12
ERO2 R 5
ERO2 O 0 A_PlaySoundEx("weapon/atomicfire","Item",0,1)
ERO2 S 8 A_CustomMissile("GigaFlameSwing2",0,0,0,0)
ERO2 T 30
Goto FlameStart

SelectWater:
ERO2 N 0 Thing_Remove(666)
ERO2 B 0 A_PlaySoundEx("weapon/pharaoh1","Item",0,1)
ERO2 F 40 A_SpawnItemEx("WaterBalloonSelection",0,-100,180)
ERO2 F 10 
ERO2 F 0 A_FaceTarget 
ERO2 U 50 A_CustomMissile("GigaBalloon",0,0,0,0)
ERO2 F 0 A_FaceTarget 
ERO2 U 50 A_CustomMissile("GigaBalloon",0,0,0,0)
ERO2 F 0 A_FaceTarget 
ERO2 U 50 A_CustomMissile("GigaBalloon",0,0,0,0)
ERO2 F 0 A_FaceTarget 
ERO2 U 50 A_CustomMissile("GigaBalloon",0,0,0,0)
Goto ChargeSeek

SelectThunder:
ERO2 N 0 Thing_Remove(666)
ERO2 B 0 A_PlaySoundEx("weapon/pharaoh1","Item",0,1)
ERO2 F 40 A_SpawnItemEx("ThunderClawSelection",0,100,180)
ERO2 L 40 A_FaceTarget
ERO2 L 0 A_SpawnItemEx("GigaThunderClawChaser")
ERO2 LLLLLLLLLLLLL 2 A_SpawnItemEx("GigaThunderClaw",0,0,18)
ERO2 L 0 ACS_Execute(40,0) 
Goto ThunderClawSpin

ThunderClawSpin:
ERO2 L 0 A_SetAngle(8 + angle) 
ERO2 L 0 A_GiveInventory("CutterFlag",1)
ERO2 L 0 A_JumpIfInventory("CutterFlag",150,"ThunderClawEnd")
ERO2 L 2 A_SpawnItemEx("GigaThunderClaw",0,0,18)
loop

ThunderClawEnd:
ERO2 L 0 A_Stop
ERO2 U 0 ACS_Terminate(40,0)
ERO2 U 0 A_TakeInventory("CutterFlag",1000)
ERO2 N 0 Thing_Remove(669)
ERO2 L 60 A_FaceTarget
ERO2 B 2
Goto ChargeSeek

SelectSearch:
ERO2 N 0 Thing_Remove(666)
ERO2 B 0 A_PlaySoundEx("weapon/pharaoh1","Item",0,1)
ERO2 F 40 A_SpawnItemEx("HomingSniperSelection",0,-180,-50)
ERO2 U 0 A_CustomMissile("GigaSniper",20,20,0)
Goto SearchWait

SearchWait:
ERO2 U 1 A_JumpIfInventory("Clip",1,"SearchFire")
loop

SearchFire:
ERO2 U 0 A_FaceTarget
ERO2 U 0 A_TakeInventory("Clip",999)
ERO2 U 0 A_ChangeFlag("SOLID",0)
ERO2 U 0 A_ChangeFlag("SHOOTABLE",0)
ERO2 UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU 1 A_SpawnItemEx("GigaMissiles",20,random(-80,80),random(-8,82))
ERO2 U 0 A_TakeInventory("Clip",1)
ERO2 U 50
ERO2 U 0 A_ChangeFlag("SOLID",1)
ERO2 U 0 A_ChangeFlag("SHOOTABLE",1)
Goto ChargeSeek

SelectAstro:
ERO2 N 0 Thing_Remove(666)
ERO2 B 0 A_PlaySoundEx("weapon/pharaoh1","Item",0,1)
ERO2 F 40 A_SpawnItemEx("AstroCrushSelection",0,180,100)
ERO2 B 10 
ERO2 B 0 A_PlaySoundEx("weapon/mirrorabsorb","Item",0,1)
ERO2 B 1 A_FaceTarget
ERO2 M 20
ERO2 M 50 A_SpawnItemEx("GigaAstroCrush",0,0,0) 
ERO2 M 50 A_JumpIfInventory("BusterAmmo",1,"WomboCombo")
Goto ChargeSeek

SelectTornado:
ERO2 N 0 Thing_Remove(666)
ERO2 B 0 A_PlaySoundEx("weapon/pharaoh1","Item",0,1)
ERO2 F 40 A_SpawnItemEx("TornadoHoldSelection",0,-100,-130)
ERO2 C 0 Teleport(163)
ERO2 B 1 A_FaceTarget
ERO2 LLLLLLLL 8 A_SetAngle(15 + angle) 
ERO2 LLLLLLLLLLLL 2 A_SetAngle(15 + angle) 
ERO2 LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL 1 A_SetAngle(30 + angle) 
ERO2 L 0 A_CustomMissile("GigaTornadoNoise",0,0,0,2)
ERO2 L 0 A_CustomMissile("GigaTornado",0,0,0,2)
ERO2 LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL 1 A_SetAngle(30 + angle) 
ERO2 L 0 A_CustomMissile("GigaTornado",0,0,0,2)
ERO2 LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL 1 A_SetAngle(30 + angle) 
ERO2 L 0 A_CustomMissile("GigaTornado",0,0,0,2)
ERO2 LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL 1 A_SetAngle(30 + angle) 
ERO2 L 0 A_CustomMissile("GigaTornado",0,0,0,2)
ERO2 LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL 1 A_SetAngle(30 + angle) 
ERO2 L 0 A_CustomMissile("GigaTornado",0,0,0,2)
ERO2 LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL 1 A_SetAngle(30 + angle) 
ERO2 L 0 A_CustomMissile("GigaTornado",0,0,0,2)
ERO2 LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL 1 A_SetAngle(30 + angle) 
ERO2 L 0 A_CustomMissile("GigaTornado",0,0,0,2)
ERO2 LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL 1 A_SetAngle(30 + angle) 
ERO2 L 0 A_CustomMissile("GigaTornado",0,0,0,2)
ERO2 LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL 1 A_SetAngle(30 + angle) 
ERO2 L 0 A_CustomMissile("GigaTornado",0,0,0,2)
ERO2 LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL 1 A_SetAngle(30 + angle) 
ERO2 L 0 A_CustomMissile("GigaTornado",0,0,0,2)
ERO2 LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL 1 A_SetAngle(30 + angle) 
ERO2 L 0 A_CustomMissile("GigaTornado",0,0,0,2)
ERO2 LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL 1 A_SetAngle(30 + angle) 
ERO2 L 0 A_CustomMissile("GigaTornado",0,0,0,2)
ERO2 LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL 1 A_SetAngle(30 + angle) 
ERO2 L 0 A_CustomMissile("GigaTornado",0,0,0,2)
ERO2 LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL 1 A_SetAngle(30 + angle) 
ERO2 L 0 A_CustomMissile("GigaTornado",0,0,0,2)
ERO2 LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL 1 A_SetAngle(30 + angle) 
ERO2 L 0 A_CustomMissile("GigaTornado",0,0,0,2)
ERO2 L 0 A_JumpIfInventory("BusterAmmo",1,"WomboCombo")
ERO2 LLLLL 8 A_SetAngle(15 + angle) 
ERO2 D 2 A_FaceTarget
Goto ChargeSeek

SelectIce:
ERO2 N 0 Thing_Remove(666)
ERO2 B 0 A_PlaySoundEx("weapon/pharaoh1","Item",0,1)
ERO2 F 40 A_SpawnItemEx("IceWaveSelection",0,100,-130)
ERO2 B 8
ERO2 A 0 A_FaceTarget
ERO2 B 0 A_PlaySoundEx("weapon/pcharge","Item",0,1)
ERO2 N 34 A_SpawnItemEx("IceWaveCharging",5,20,42)
ERO2 M 0 A_JumpIfInventory("BusterAmmo",1,"WomboIce")
ERO2 N 1 A_CustomMissile("GigaIceWave",20,20,0)
ERO2 B 200 
Goto ChargeSeek

WomboIce:
ERO2 N 1 A_CustomMissile("GigaIceWave2",20,20,0)
ERO2 B 200 
Goto WomboCombo

ChargePunch:
ER02 B 0 ACS_NamedExecuteAlways("TC_TargetRandomPlayer")
ERO2 B 1 Thing_Damage(667,255,0)
ERO2 B 1 A_GiveInventory("CutterFlag",1)
ERO2 B 1 A_PlaySoundEx("weapon/adaptercharge","Item",0,1)
ERO2 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 1 A_SpawnItemEx("EvilRoboFistCharger",random(256,-256),random(256,-256),random(256,-256))
ERO2 F 5 A_PlaySoundEx("weapon/adapterreturn","Item",0,1)
ERO2 GHGHGHG 5
ERO2 H 1 A_JumpIfInventory("BusterAmmo",1,"ChargingX")
ERO2 GHGHGHG 5
ERO2 H 1 A_PlaySoundEx("misc/gutsgboost","Item",0,1)
ERO2 IJIJ 5 A_FaceTarget
ERO2 IJIJ 5 A_SpawnItemEx("EvilRoboJetPack",-34,0,42)
ERO2 I 1 //A_ChangeFlag("SOLID",0)
Goto Charging

ChargingX:
ERO2 H 1 A_PlaySoundEx("misc/gutsgboost","Item",0,1)
ChargingX2:
ERO2 I 1 A_FaceTarget
ERO2 I 1 A_SkullAttack(40)
ERO2 I 0 A_JumpIfCloser(500,"Charging2")
ERO2 IJ 1 A_SpawnItemEx("EvilRoboJetPack",-34,0,46)
ERO2 I 0 A_JumpIfCloser(500,"Charging2")
ERO2 IJ 1 //A_SpawnItemEx("EvilRoboJetPack",-34,0,46)
ERO2 I 0 A_JumpIfCloser(500,"Charging2")
ERO2 IJ 1 //A_SpawnItemEx("EvilRoboJetPack",-34,0,46)
ERO2 I 0 A_JumpIfCloser(500,"Charging2")
ERO2 IJ 1 //A_SpawnItemEx("EvilRoboJetPack",-34,0,46)
loop

Charging:
ERO2 I 1 A_FaceTarget
ERO2 I 1 A_SkullAttack(20)
ERO2 I 0 A_JumpIfCloser(350,"Charging2")
ERO2 IJ 1 A_SpawnItemEx("EvilRoboJetPack",-34,0,46)
ERO2 I 0 A_JumpIfCloser(350,"Charging2")
ERO2 IJ 1 //A_SpawnItemEx("EvilRoboJetPack",-34,0,46)
ERO2 I 0 A_JumpIfCloser(350,"Charging2")
ERO2 IJ 1 //A_SpawnItemEx("EvilRoboJetPack",-34,0,46)
ERO2 I 0 A_JumpIfCloser(350,"Charging2")
ERO2 IJ 1 //A_SpawnItemEx("EvilRoboJetPack",-34,0,46)
loop

Charging2:
ERO2 I 0 ACS_NamedExecuteWithResult("ActivateEvilRobotShield", 0)//A_TakeFromTarget("EvilRobotShield",1)
ERO2 I 0 //A_ChangeFlag("SOLID",1)
ERO2 I 1 Thing_SetTranslation(0,60)
ERO2 I 1 A_ChangeFlag("INVULNERABLE",0)
ERO2 I 1 A_FaceTarget
ERO2 I 1 A_SkullAttack(25)
ERO2 I 0 A_JumpIfCloser(100,"Punch")
ERO2 I 1 A_SpawnItemEx("EvilRoboJetPack",-34,0,46)
ERO2 I 0 A_JumpIfCloser(100,"Punch")
ERO2 J 1 A_SpawnItemEx("EvilRoboJetPack",-34,0,46)
ERO2 I 0 A_JumpIfCloser(100,"Punch")
ERO2 I 1// A_SpawnItemEx("EvilRoboJetPack",-34,0,46)
ERO2 I 0 A_JumpIfCloser(100,"Punch")
ERO2 J 1// A_SpawnItemEx("EvilRoboJetPack",-34,0,46)
ERO2 I 0 A_JumpIfCloser(100,"Punch")
ERO2 I 1 //A_SpawnItemEx("EvilRoboJetPack",-34,0,46)
ERO2 I 0 A_JumpIfCloser(100,"Punch")
ERO2 J 1 //A_SpawnItemEx("EvilRoboJetPack",-34,0,46)
loop

Punch:
ERO2 I 1 A_Stop
ERO2 I 0 //A_ChangeFlag("SOLID",1)
ERO2 K 2
ERO2 F 0 A_PlaySoundEx("weapon/cfire","Item",0,1)
ERO2 K 30 A_CustomMissile("EvilGigaFist",5,20,0)
ERO2 I 0 A_PlaySoundEx("weapon/timestopper","Item",0,1)
ERO2 I 0 ACS_NamedExecuteWithResult("ActivateEvilRobotShield", 1)//A_GiveToTarget("EvilRobotShield",1)
ERO2 I 0 A_ChangeFlag("INVULNERABLE",1)
ERO2 K 30 Thing_SetTranslation(0,0)
ERO2 G 20 A_TakeInventory("CutterFlag",999)
Goto Seek

Pain:
ER02 I 0 A_JumpIf(CallACS("TC_IsNetworkGame")==1, "PainCoop")
ERO2 I 0 A_TakeFromTarget("BossHealth1", 150)
ERO2 B 0 A_JumpIfInTargetInventory("BossHealth1", 1, "Damaged")
ERO2 B 0 A_Die
Goto Death

PainCoop:
ERO2 I 0 ACS_NamedExecute("EvilRobotDamage", 0)
ER02 I 0
ER02 B 0
ER02 B 0

Damaged:
ERO2 I 0 ACS_Execute(57,0)
ERO2 I 0 A_Stop
ERO2 I 0 A_ChangeFlag("INVULNERABLE",1)
ERO2 I 0 A_FaceTarget
ERO2 I 0 A_Recoil(15)
ERO2 I 0 A_TakeInventory("CutterFlag",999)
ERO2 F 0 A_PlaySoundEx("misc/hugequake","Item",0,1)
ERO2 EEEEEEE 12 A_SpawnItemEx("DrillExplode",0,0,32)
ERO2 C 8 HealThing(9000)
ERO2 I 0 Thing_SetTranslation(0,0)
ERO2 I 0 ACS_NamedExecuteWithResult("ActivateEvilRobotShield", 1)//A_GiveToTarget("EvilRobotShield",1)
ERO2 I 0 A_PlaySoundEx("weapon/timestopper","Item",0,1)
ERO2 D 30 A_Stop
ERO2 B 15 A_JumpIfInTargetInventory("BossHealth1", 440, "Seek")
ERO2 B 1 A_GiveInventory("BusterAmmo",1)
Goto Seek

Seek:
ER02 B 1 A_LookEx(0, 0, 0, 0, 360, "Idle")
loop
ChargeSeek:
ER02 B 1 A_LookEx(0, 0, 0, 0, 360, "ChargePunch")
loop

Death:
ERO2 I 0 A_Stop
ERO2 I 0 A_ChangeFlag("NOGRAVITY",1)
ERO2 I 0 ThrustThingZ(0,5,0,0)
Dying1:
ERO4 I 0 A_JumpIfInventory("CutterFlag",10,"Dying2")
ERO4 I 0 A_GiveInventory("CutterFlag",1)
ERO4 I 0 A_PlaySoundEx("weapon/coilexplode","Auto",0,1)
ERO4 HIJ 2 A_SpawnItemEx("BoosterFX",random(-50,50),random(-50,50),random(-10,80))
ERO4 I 0 A_PlaySoundEx("weapon/coilexplode","Auto",0,1)
ERO4 HIJ 2 A_SpawnItemEx("BoosterFX",random(-50,50),random(-50,50),random(-10,80))
ERO4 I 0 A_PlaySoundEx("weapon/coilexplode","Auto",0,1)
loop
Dying2:
ERO4 I 0 A_JumpIfInventory("CutterFlag",14,"Dying3")
ERO4 I 0 A_GiveInventory("CutterFlag",1)
ERO4 I 0 A_PlaySoundEx("weapon/coilexplode","Auto",0,1)
ERO4 I 0 A_Stop
ERO4 HIJ 2 A_SpawnItemEx("DrillExplode",random(-90,50),random(-90,90),random(-30,90))
ERO4 I 0 A_PlaySoundEx("weapon/coilexplode","Auto",0,1)
ERO4 HIJ 2 A_SpawnItemEx("FlashBombExplosion",random(-90,90),random(-90,90),random(-30,90))
loop
Dying3:
ERO4 I 0 A_JumpIfInventory("CutterFlag",23,"Dead")
ERO4 I 0 A_GiveInventory("CutterFlag",1)
ERO4 I 0 A_PlaySoundEx("weapon/coilexplode","Auto",0,1)
TNT1 A 2 A_SpawnItemEx("DrillExplode",random(-90,50),random(-90,90),random(-30,90))
ERO4 I 0 A_PlaySoundEx("weapon/coilexplode","Auto",0,1)
TNT1 A 2 A_SpawnItemEx("FlashBombExplosion",random(-90,90),random(-90,90),random(-30,90))
loop
Dead:
ERO2 I 0 A_FaceTarget
ERO2 I 0 A_GiveToTarget("MM8EndingTrigger",1)
ERO2 I 0 A_PlaySoundEx("misc/devildeath","Auto",0,1)
ERO2 I 0 A_SpawnItemEx("FakeDeathFX")
ERO2 I 0 A_SpawnItemEx("EvilRobotBit1",0,0,32,0,0,2)
ERO2 I 0 A_SpawnItemEx("EvilRobotBit2",0,0,32,-2,0,0)
ERO2 I 0 A_SpawnItemEx("EvilRobotBit4",0,0,32,0,-3,0)
ERO2 I 0 A_SpawnItemEx("EvilRobotBit3",0,0,32,-2,2,0)
ERO2 I 0 A_SpawnItemEx("EvilRobotBit5",0,0,32,0,2,-2)
ERO2 I 0 A_SpawnItemEx("EvilRobotBit6",0,0,32,2,-3,-2)
stop
}
}

actor MM8EndingTrigger : CustomInventory
{
+AUTOACTIVATE
States
{
Pickup:
TNT1 A 0 ACS_Execute(44,0)
stop
}
}

actor EvilRobotBit1
{
Scale 2.5
+MISSILE
+NOGRAVITY
+NOINTERACTION
States
{
Spawn:
ERO2 X -1
stop
}
}

actor EvilRobotBit2
{
Scale 2.5
+MISSILE
+NOGRAVITY
+NOINTERACTION
States
{
Spawn:
ERO2 Y -1
stop
}
}

actor EvilRobotBit3
{
Scale 2.5
+MISSILE
+NOGRAVITY
+NOINTERACTION
States
{
Spawn:
ERO2 Z -1
stop
}
}

actor EvilRobotBit4
{
Scale 2.5
+MISSILE
+NOGRAVITY
+NOINTERACTION
States
{
Spawn:
ERO3 A -1
stop
}
}

actor EvilRobotBit5
{
Scale 2.5
+MISSILE
+NOGRAVITY
+NOINTERACTION
States
{
Spawn:
ERO3 B -1
stop
}
}

actor EvilRobotBit6
{
Scale 2.5
+MISSILE
+NOGRAVITY
+NOINTERACTION
States
{
Spawn:
ERO3 C -1
stop
}
}

// If you use ALL the following crap in your classes mod you are bad and you should feel bad
actor GigaFlashBomb : FlashBomb
{
Speed 40
Damage (10)
radius 12
height 10
reactiontime 10
States
{
Spawn:
FLSB BCDE 3 A_CountDown
loop
}
}

actor GigaFlameSwing1
{
+MISSILE
speed 1
+NOGRAVITY
+NOINTERACTION
states
{
Spawn:
TNT1 A 0
TNT1 A 1 A_SpawnItemEx("GigaFlameTip",3,320,280,38)
TNT1 A 0 A_SpawnItemEx("GigaFlameTip",3,290,260,38)
TNT1 A 1 A_SpawnItemEx("GigaFlame",3,260,240,38)
TNT1 A 0 A_SpawnItemEx("GigaFlame",3,230,220,38)
TNT1 A 1 A_SpawnItemEx("GigaFlame",3,200,200,38)
TNT1 A 0 A_SpawnItemEx("GigaFlame",3,170,180,38)
TNT1 A 1 A_SpawnItemEx("GigaFlame",3,140,160,38)
TNT1 A 0 A_SpawnItemEx("GigaFlame",3,110,140,38)
TNT1 A 1 A_SpawnItemEx("GigaFlame",3,80,120,38)
TNT1 A 0 A_SpawnItemEx("GigaFlame",3,50,100,38)
TNT1 A 1 A_SpawnItemEx("GigaFlame",3,20,80,38)
TNT1 A 0 A_SpawnItemEx("GigaFlame",3,-10,60,38) // Middle
TNT1 A 1 A_SpawnItemEx("GigaFlame",3,-40,40,38) 
TNT1 A 0 A_SpawnItemEx("GigaFlame",3,-70,20,38)
TNT1 A 1 A_SpawnItemEx("GigaFlame",3,-100,0,38)
TNT1 A 0 A_SpawnItemEx("GigaFlame",3,-130,-20,38)
TNT1 A 1 A_SpawnItemEx("GigaFlame",3,-160,-40,38)
TNT1 A 0 A_SpawnItemEx("GigaFlame",3,-190,-60,38)
TNT1 A 1 A_SpawnItemEx("GigaFlame",3,-220,-80,38)
TNT1 A 0 A_SpawnItemEx("GigaFlame",3,-250,-100,38)
TNT1 A 1 A_SpawnItemEx("GigaFlame",3,-280,-120,38)
TNT1 A 0 A_SpawnItemEx("GigaFlameTip",3,-310,-140,38)
TNT1 A 1 A_SpawnItemEx("GigaFlameTip",3,-340,-160,38)
stop
}
}

actor GigaFlameSwing2
{
+MISSILE
speed 1
+NOGRAVITY
+NOINTERACTION
states
{
Spawn:
TNT1 A 0
TNT1 A 1 A_SpawnItemEx("GigaFlameTip",3,-320,280,38)
TNT1 A 0 A_SpawnItemEx("GigaFlameTip",3,-290,260,38)
TNT1 A 1 A_SpawnItemEx("GigaFlame",3,-260,240,38)
TNT1 A 0 A_SpawnItemEx("GigaFlame",3,-230,220,38)
TNT1 A 1 A_SpawnItemEx("GigaFlame",3,-200,200,38)
TNT1 A 0 A_SpawnItemEx("GigaFlame",3,-170,180,38)
TNT1 A 1 A_SpawnItemEx("GigaFlame",3,-140,160,38)
TNT1 A 0 A_SpawnItemEx("GigaFlame",3,-110,140,38)
TNT1 A 1 A_SpawnItemEx("GigaFlame",3,-80,120,38)
TNT1 A 0 A_SpawnItemEx("GigaFlame",3,-50,100,38)
TNT1 A 1 A_SpawnItemEx("GigaFlame",3,-20,80,38)
TNT1 A 0 A_SpawnItemEx("GigaFlame",3,10,60,38) // Middle
TNT1 A 1 A_SpawnItemEx("GigaFlame",3,40,40,38) 
TNT1 A 0 A_SpawnItemEx("GigaFlame",3,70,20,38)
TNT1 A 1 A_SpawnItemEx("GigaFlame",3,100,0,38)
TNT1 A 0 A_SpawnItemEx("GigaFlame",3,130,-20,38)
TNT1 A 1 A_SpawnItemEx("GigaFlame",3,160,-40,38)
TNT1 A 0 A_SpawnItemEx("GigaFlame",3,190,-60,38)
TNT1 A 1 A_SpawnItemEx("GigaFlame",3,220,-80,38)
TNT1 A 0 A_SpawnItemEx("GigaFlame",3,250,-100,38)
TNT1 A 1 A_SpawnItemEx("GigaFlame",3,280,-120,38)
TNT1 A 0 A_SpawnItemEx("GigaFlameTip",3,310,-140,38)
TNT1 A 1 A_SpawnItemEx("GigaFlameTip",3,340,-160,38)
stop
}
}

actor GigaFlame
{
PROJECTILE
+THRUGHOST
+RIPPER
Height 32
Radius 40
Scale 2.5
Damage (3)
reactiontime 6
states
{
Spawn:
FIRT A 0 A_CountDown
FIRT A 0 A_SpawnItemEx("GigaFlameFX",0,0,80,-6,0,5)
FIRT A 3 A_SpawnItemEx("GigaFlameFX",0,0,0,-6,0,-5)
FIRT A 0 A_SpawnItemEx("GigaFlameFX",0,0,80,-6,0,5)
FIRT B 3 A_SpawnItemEx("GigaFlameFX",0,0,0,-6,0,-5)
FIRT A 0 A_SpawnItemEx("GigaFlameFX",0,0,80,-6,0,5)
FIRT C 3 A_SpawnItemEx("GigaFlameFX",0,0,0,-6,0,-5)
loop
}
}

actor GigaFlameTip : GigaFlame
{
renderstyle none
}

actor GigaFlameFX
{
+MISSILE
+NOINTERACTION
Damage 0
Scale 4.0
States
{
Spawn:
FSWD D 0
FSWD D 1
Death:
FSWD DEF 4
stop
}
}

actor GigaBalloon
{
PROJECTILE
Speed 30
+THRUGHOST
Height 128
Radius 128
Damage (20)
Scale 2.5
Alpha 0.1
reactiontime 5
renderstyle Translucent
States
{
Spawn:
ERO3 Z 0
ERO3 Z 0 A_PlaySoundEx("weapon/waterballoon","Voice",0,1)
ERO3 Z 4 A_FadeIn(0.1)
ERO4 AB 4 A_FadeIn(0.1)
ERO3 Z 4 A_FadeIn(0.1)
ERO4 AB 4 A_FadeIn(0.1)
ERO3 Z 4 A_FadeIn(0.1)
Goto Float
Float:
ERO4 A 0 A_Stop
ERO3 Z 4 A_Countdown
ERO4 AB 4
loop
Death:
TNT1 A 0 A_SpawnItemEx("GigaBalloon2",0,0,0,0,8+random(-10,10),8+random(-10,10),random(-10,10))
TNT1 A 0 A_SpawnItemEx("GigaBalloon2",0,0,0,0,-8+random(-10,10),8+random(-10,10),random(-10,10))
TNT1 A 0 A_SpawnItemEx("GigaBalloon2",0,0,0,0,8+random(-10,10),-8+random(-10,10),random(-10,10))
TNT1 A 0 A_SpawnItemEx("GigaBalloon2",0,0,0,0,-8+random(-10,10),-8+random(-10,10),random(-10,10))
TNT1 A 0 A_SpawnItemEx("GigaBalloon2",0,0,0,0,8+random(-10,10),8+random(-10,10),random(80,100))
TNT1 A 0 A_SpawnItemEx("GigaBalloon2",0,0,0,0,-8+random(-10,10),8+random(-10,10),random(80,100))
TNT1 A 0 A_SpawnItemEx("GigaBalloon2",0,0,0,0,8+random(-10,10),-8+random(-10,10),random(80,100))
TNT1 A 0 A_SpawnItemEx("GigaBalloon2",0,0,0,0,-8+random(-10,10),-8+random(-10,10),random(80,100))
XDeath:
TNT1 A 0 A_PlaySoundEx("misc/splash","Auto",0,0)
TNT1 AAAAAA 1 A_SpawnItemEx("GigaSplash",random(-128,128),random(-128,128),random(-128,128))
stop
}
}

actor GigaBalloon2 : GigaBalloon
{
Height 80
Radius 80
Scale 1.5
Alpha 0.8
Speed 25
Damage (15)
reactiontime 4
States
{
Spawn:
ERO3 Z 4 A_Countdown
ERO4 AB 4
loop
Float:
ERO3 Z 4 A_Countdown
ERO4 AB 4
Death:
TNT1 A 0 A_SpawnItemEx("GigaBalloon3",0,0,0,0,10+random(-10,10),10+random(-10,10),random(-10,10))
TNT1 A 0 A_SpawnItemEx("GigaBalloon3",0,0,0,0,-10+random(-10,10),10+random(-10,10),random(-10,10))
TNT1 A 0 A_SpawnItemEx("GigaBalloon3",0,0,0,0,10+random(-10,10),-10+random(-10,10),random(-10,10))
TNT1 A 0 A_SpawnItemEx("GigaBalloon3",0,0,0,0,-10+random(-10,10),-10+random(-10,10),random(-10,10))
TNT1 A 0 A_SpawnItemEx("GigaBalloon3",0,0,0,0,10+random(-10,10),10+random(-10,10),random(80,100))
TNT1 A 0 A_SpawnItemEx("GigaBalloon3",0,0,0,0,-10+random(-10,10),10+random(-10,10),random(80,100))
TNT1 A 0 A_SpawnItemEx("GigaBalloon3",0,0,0,0,10+random(-10,10),-10+random(-10,10),random(80,100))
TNT1 A 0 A_SpawnItemEx("GigaBalloon3",0,0,0,0,-10+random(-10,10),-10+random(-10,10),random(80,100))
XDeath:
TNT1 A 0 A_PlaySoundEx("misc/splash","Auto",0,0)
TNT1 AAAA 1 A_SpawnItemEx("GigaSplash2",random(-80,80),random(-80,80),random(-80,80))
stop
}
}

actor GigaBalloon3 : GigaBalloon
{
Height 64
Radius 64
Scale 0.5
Alpha 0.8
Speed 50
Damage (8)
reactiontime 6
States
{
Spawn:
ERO3 Z 4 A_Countdown
ERO4 AB 4
loop
Float:
ERO3 Z 4 A_Countdown
ERO4 AB 4
Death:
TNT1 A 0 A_PlaySoundEx("misc/splash","Auto",0,0)
TNT1 A 1 A_SpawnItemEx("GigaSplash3",0,0,0)
stop
}
}

actor GigaSplash
{
-SOLID
+MISSILE
+NOINTERACTION
+NOGRAVITY
Scale 4.0
states
{
Spawn:
WTRB KLMN 2
stop
}
}

actor GigaSplash2 : GigaSplash
{
Scale 2.0
}

actor GigaSplash3 : GigaSplash
{
Scale 1.0
}


actor GigaThunderClawChaser
{
renderstyle none
+FLOAT
-SOLID
+NOGRAVITY
+LOOKALLAROUND
speed 10
States
{
Spawn:
TNT1 A 0
PLAY A 0 Thing_ChangeTid(0,669)
PLAY BBBBBB 10 A_PlaySoundEx("misc/wilylightning","Voice",0,1)
PLAY A 0 A_Look
loop
See:
PLAY B 0 A_PlaySoundEx("misc/wilylightning","Voice",0,1)
PLAY BBBBBBBBBB 1 A_Chase
loop
}
}

actor GigaFlashBombChaser : GigaThunderClawChaser
{
speed 13
States
{
Spawn:
TNT1 A 0
PLAY A 0 Thing_ChangeTid(0,669)
PLAY A 1 A_Look
loop
See:
PLAY B 0// A_PlaySoundEx("misc/wilylightning","Voice",0,1)
PLAY BBBBBBBBBB 1 A_Chase
loop
}
}

actor GigaTornadoChaser : GigaThunderClawChaser
{
speed 6
States
{
Spawn:
TNT1 A 0
PLAY A 0 Thing_ChangeTid(0,669)
PLAY A 1 A_Look
loop
See:
PLAY B 0// A_PlaySoundEx("misc/wilylightning","Voice",0,1)
PLAY BBBBBBBBBB 1 A_Chase
loop
}
}


actor GigaThunderClaw
{
+MISSILE
+NOGRAVITY
-SOLID
states
{
Spawn:
TNT1 A 0
TNT1 A 0 A_SpawnItemEx("GigaThunderClawBit", 0,0,0,0,100,0)
TNT1 A 1 A_SpawnItemEx("GigaThunderClawBit", 0,0,0,0,-100,0)
stop
}
}

actor GigaThunderClawBit
{
Scale 4.0
Radius 40
Height 55
damagetype "ThunderClaw"
PROJECTILE
Damage (5)
States
{
Spawn:
WCPJ JKLMNOJKLMNOJKLMNO 1
stop
}
}

actor GigaMissiles
{
+MISSILE
scale 2.5
+NOINTERACTION
+NOGRAVITY
-SOLID
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_PlaySoundEx("weapon/magnetmissile","Voice",0,1)
TNT1 A 0 Thing_ProjectileAimed(0, 200, 1060, 668, 0)
MMFX BCDE 6
stop
}
}

actor GigaMissile
{
scale 4.5
SpawnID 200 // I hate this method
PROJECTILE
+THRUGHOST
Radius 40
Height 40
Damage (8)
States
{
Spawn:
HSNM BC 2
loop
Death:
MMFX BCDE 6
stop
}
}

actor GigaSniper : MageStaffFX2
{
+MISSILE
+RIPPER
+SEEKERMISSILE
height 8
Radius 8
damage 0
Speed 21
damagetype "Misc"
scale 4.0
States
{
Spawn:
Homing:
TNT1 A 0 A_GiveInventory("CutterFlag",1)
TNT1 A 0 A_PlaySoundEx("misc/BombCount","Voice",0,1)
ERO3 WWWWXXXXYYYY 1 A_MStaffTrack
ERO3 WWWWXXXXYYYY 1 A_MStaffTrack
TNT1 A 0 A_JumpIfInventory("CutterFlag",2,"Homing2")
loop
Homing2:
TNT1 A 0 A_JumpIfInventory("CutterFlag",8,"Homing3")
TNT1 A 0 A_GiveInventory("CutterFlag",1)
TNT1 A 0 A_PlaySoundEx("misc/BombCount","Voice",0,1)
ERO3 WWWWXX 1 A_MStaffTrack
TNT1 A 0 A_PlaySoundEx("misc/BombCount","Voice",0,1)
ERO3 XXYYYY 1 A_MStaffTrack
loop
Homing3:
TNT1 A 0 A_JumpIfInventory("CutterFlag",18,"Locked")
TNT1 A 0 A_GiveInventory("CutterFlag",1)
TNT1 A 0 A_PlaySoundEx("misc/BombCount","Voice",0,1)
ERO3 WXY 1 A_MStaffTrack
loop
Locked:
ERO3 W 0 A_Stop
ERO3 W 0 A_GiveToTarget("Clip",1)
ERO3 W 0 Thing_ChangeTID(0,668)
ERO3 Y 100
stop
}
}

actor GigaAstroCrush 
{
+MISSILE
+NOGRAVITY
reactiontime 35
States
{
Spawn:
TNT1 A 1 A_CountDown
TNT1 A 6 A_SpawnItemEx("GigaMeteor",-500,random(-1500,1500),random(-1000,1000),0,0,0,0,0)
loop
}
}

actor GigaMeteor
{
PROJECTILE
Scale 4.0
renderstyle translucent
//+NOINTERACTION
alpha 0.1
+THRUGHOST
Damage (15)
Radius 180
Height 230
States
{
Spawn:
TNT1 A 0
TNT1 A 0 //A_PlaySoundEx("weapon/pharaoh2","Item",0,1)
ERO3 VVVVVVVVVVVVV 1 A_FadeIn(0.1)
ERO3 V 1 A_Recoil(-35)
Travel:
ERO3 V 1 A_FadeIn(0.5)
ERO3 V 0 A_GiveInventory("CutterFlag",1)
ERO3 V 1 A_SpawnItemEx("GigaMeteorFX")
ERO3 V 1 A_FadeIn(0.5)
ERO3 V 0 A_GiveInventory("CutterFlag",1)
ERO3 V 1 //A_SpawnItemEx("GigaMeteorFX")
ERO3 V 1 A_FadeIn(0.5)
ERO3 V 0 A_GiveInventory("CutterFlag",1)
ERO3 V 1 //A_SpawnItemEx("GigaMeteorFX")
ERO3 V 1 A_FadeIn(0.5)
ERO3 V 0 A_GiveInventory("CutterFlag",1)
ERO3 V 1 //A_SpawnItemEx("GigaMeteorFX")
ERO3 V 1 A_ChangeFlag("NOINTERACTION",0)
loop
Real:
ERO3 V 0// A_ChangeFlag("NOINTERACTION",0)
Goto Spawn
Death:
TNT1 A 1 A_JumpIfInventory("CutterFlag",1,"Death2")
stop
Death2:
TNT1 A 0 A_playSoundEx("weapon/astrocrush","Weapon",0,1)
TNT1 AAAAAAAAAAAAAAAAA 1 A_SpawnItemEx("GigaAstroExplode",random(-300,300),random(-300,300),random(-300,300))
stop
}
}

actor GigaAstroExplode
{
+NOGRAVITY
-SOLID
scale 2.5
+NOINTERACTION
States
{
Spawn:
ASEX A 0
ASEX ABCDEF 2
stop
}
}

actor GigaMeteorFX
{
+NOGRAVITY
Scale 4.0
-SOLID
alpha 0.3
renderstyle translucent
States
{
Spawn:
ERO3 V 2 A_FadeOut(0.02)
loop
}
}

actor GigaTornadoNoise
{
PROJECTILE
+FLOORHUGGER
reactiontime 23
scale 2.5
States
{
Spawn:
TNT1 A 0 A_Countdown
TNT1 A 0 A_Recoil(-1)
TNT1 A 0 A_Stop
TNT1 A 0 A_PlaySoundEx("weapon/superboost","Item",0,1)
ERO3 STUSTU 3 
loop
}
}

actor GigaTornado
{
PROJECTILE
+FLOORHUGGER
scale 2.5
renderstyle Translucent
Alpha 0.7
reactiontime 38
States
{
Spawn:
ERO3 S 0 A_CountDown
ERO3 S 0 A_SpawnItemEx("GigaTornadoDamager",0,0,0,0,0,100,0)
ERO3 S 1 A_Recoil(-10)
ERO3 S 0 A_Stop
ERO3 S 1 A_Recoil(-10)
ERO3 S 0 A_Stop
ERO3 S 1 A_Recoil(-10)
ERO3 S 0 A_Stop
ERO3 T 1 A_Recoil(-10)
ERO3 T 0 A_Stop
ERO3 T 1 A_Recoil(-10)
ERO3 T 0 A_Stop
ERO3 T 1 A_Recoil(-10)
ERO3 T 0 A_Stop
ERO3 U 1 A_Recoil(-10)
ERO3 U 0 A_Stop
ERO3 U 1 A_Recoil(-10)
ERO3 U 0 A_Stop
ERO3 U 1 A_Recoil(-10)
ERO3 U 0 A_Stop
ERO3 S 0 A_SetAngle(9 + angle)
loop
Death:
ERO3 S 0 A_FadeOut(0.3)
ERO3 S 0 A_SetAngle(9 + angle)
ERO3 S 0 A_SpawnItemEx("GigaTornadoDamager",0,0,0,0,0,100,0)
ERO3 S 1 A_Recoil(-10)
ERO3 S 0 A_Stop
ERO3 S 1 A_Recoil(-10)
ERO3 S 0 A_Stop
ERO3 S 1 A_Recoil(-10)
ERO3 S 0 A_Stop
ERO3 T 1 A_Recoil(-10)
ERO3 T 0 A_Stop
ERO3 T 1 A_Recoil(-10)
ERO3 T 0 A_Stop
ERO3 T 1 A_Recoil(-10)
ERO3 T 0 A_Stop
ERO3 U 1 A_Recoil(-10)
ERO3 U 0 A_Stop
ERO3 U 1 A_Recoil(-10)
ERO3 U 0 A_Stop
ERO3 U 1 A_Recoil(-10)
ERO3 U 0 A_Stop
loop
}
}

actor GigaTornadoDamager
{
+THRUGHOST
PROJECTILE
damagetype "Misc"
Damage (8)
Radius 100
Height 128
States
{
Spawn:
TNT1 A 1
loop
}
}

actor EvilGigaFist : GigaFist
{
Translation "192:193=176:176", "194:195=79:79"
+RIPPER
Damage 0
States
{
Spawn:
GIGF F 0
GIGF F 1 A_Explode(48,50,0)//A_Explode(48,2000,0)
Goto Fly
Fly:
GIGF F 2
GIGF F 1 A_SpawnItemEx("EvilGigaFistFX",64,0,0,momx/7,momy/7,momz/7,0,SXF_ABSOLUTEMOMENTUM)
GIGF G 2
loop
Death:
GIGF F 0 
GIGF F 0 A_Recoil(5)
GIGF F 1 A_FadeOut
Goto Death+2
}
}

actor EvilGigaFistFX : GigaFistFX
{
Translation "192:193=176:176", "194:195=79:79"
}

actor EvilRoboJetPack
{
-SOLID
+NOGRAVITY
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_SpawnItemEx("BoosterFX",0,-32,0)
TNT1 A 0 A_SpawnItemEx("BoosterFX",0,32,0)
TNT1 A 1
stop
}
}

actor EvilRoboFistCharger
{
-SOLID
+NOGRAVITY
+MISSILE
States
{
Spawn:
TNT1 A 0
TNT1 A 1 A_FaceTarget
TNT1 A 0 A_CustomMissile("EvilRoboFistChargeFX",0,0,0,0)
stop
}
}

actor EvilRoboFistChargeFX
{
scale 2.5
+THRUGHOST
PROJECTILE
translation "198:198=176:176", "4:4=79:79"
speed 30
states
{
Spawn:
GAMA PQPQ 2
stop
}
}

actor GigaIceWave
{
PROJECTILE
Height 64
Radius 64
+SEEKERMISSILE
+THRUGHOST
+RIPPER
Speed 15
Damage (0)
reactiontime 20
States
{
Spawn:
TNT1 A 8
Goto Travel
Travel:
TNT1 A 0 A_CountDown
TNT1 A 0 A_SpawnItemEx("GigaIceWavePart",0,0,-128)
TNT1 A 0 A_PlaySoundEx("weapon/icewavespawn","Voice",0,1)
TNT1 AAAAAAAAA 1 A_Tracer2
loop
Death:
TNT1 A 0
stop
}
}

actor GigaIceWave2 : GigaIceWave
{
reactiontime 28
}

actor GigaIceWavePart
{
PROJECTILE
Height 256
renderstyle add
alpha 0.9
+SHOOTABLE
//+SOLID
mass 9999999
health 1
damagetype "GigaIceWave"
//damagefactor "normal", 0.0
damagefactor "DuoFist1", 1.0
damagefactor "DuoFist2", 1.0
damagefactor "DuoFist3", 1.0
damagefactor "ThunderClaw", 0.0
damagefactor "Misc", 0.0
+THRUGHOST
+GHOST
-NOBLOCKMAP
scale 2.5
Radius 128
Speed 0
Damage (10)
States
{
Spawn:
ERO3 PQ 5
ERO3 R 800 Thing_ChangeTID(0,667)
Goto Death
Death:
ERO3 R 0 A_PlaySound("weapon/centaurflash")
ERO3 RRRRRRRR 0 A_SpawnItemEx("IceWaveShards",random(-128,128),random(-128,128),random(10,250),random(-5,5),random(-5,5),random(-5,5),random(0,360))
stop
}
}

actor IceWaveCharging
{
-SOLID
+NOGRAVITY
translation "209:218=69:69"
scale 2.5
states
{
Spawn:
BOMB RQPONMLKJIHGFEDCB 2
stop
}
}

actor IceWaveShards
{
-SOLID
+NOGRAVITY
+MISSILE
+RIPPER
renderstyle add
alpha 0.9
+THRUGHOST
damage 0
speed 2
scale 4.5
states
{
Spawn:
ICEW FGH 30
stop
}
}

actor ThunderClawSkull
{
Scale 2.5
-SOLID
+NOGRAVITY
states
{
Spawn:
ERO3 I 2 Thing_ChangeTID(0,666)
TNT1 A 2 A_Explode(10,128,0)
loop
}
}

actor ThunderClawSelection
{
scale 2.5
PROJECTILE
+RIPPER
states
{
Spawn:
ERO3 N 0
ERO3 N 0 A_FaceTarget
ERO3 IIIIIIIIIIIIIIIIIIIIIIII 2 A_CustomMissile("SelectionFX",0,0,0,0)
stop
}
}

actor SelectionFX
{
scale 2.5
+THRUGHOST
PROJECTILE
speed 30
renderstyle translucent
alpha 0.7
states
{
Spawn:
GAMA Q 7
stop
}
}

actor AstroCrushSkull : ThunderClawSkull
{
states
{
Spawn:
ERO3 J 2 Thing_ChangeTID(0,666)
TNT1 A 2 A_Explode(10,128,0)
loop
}
}


actor AstroCrushSelection
{
scale 2.5
PROJECTILE
+RIPPER
states
{
Spawn:
ERO3 N 0
ERO3 N 0 A_FaceTarget
ERO3 JJJJJJJJJJJJJJJJJJJJJJJJ 2 A_CustomMissile("SelectionFX",0,0,0,0)
stop
}
}


actor FlashBombSkull : ThunderClawSkull
{
states
{
Spawn:
ERO3 K 2 Thing_ChangeTID(0,666)
TNT1 A 2 A_Explode(10,128,0)
loop
}
}


actor FlashBombSelection
{
scale 2.5
PROJECTILE
+RIPPER
states
{
Spawn:
ERO3 N 0
ERO3 N 0 A_FaceTarget
ERO3 KKKKKKKKKKKKKKKKKKKKKKKK 2 A_CustomMissile("SelectionFX",0,0,0,0)
stop
}
}



actor FlameSwordSkull : ThunderClawSkull
{
states
{
Spawn:
ERO3 L 2 Thing_ChangeTID(0,666)
TNT1 A 2 A_Explode(10,128,0)
loop
}
}

actor FlameSwordSelection
{
scale 2.5
PROJECTILE
+RIPPER
states
{
Spawn:
ERO3 N 0
ERO3 N 0 A_FaceTarget
ERO3 LLLLLLLLLLLLLLLLLLLLLLLL 2 A_CustomMissile("SelectionFX",0,0,0,0)
stop
}
}


actor HomingSniperSkull : ThunderClawSkull
{
states
{
Spawn:
ERO3 M 2 Thing_ChangeTID(0,666)
TNT1 A 2 A_Explode(10,128,0)
loop
}
}

actor HomingSniperSelection
{
scale 2.5
PROJECTILE
+RIPPER
states
{
Spawn:
ERO3 N 0
ERO3 N 0 A_FaceTarget
ERO3 MMMMMMMMMMMMMMMMMMMMMMMM 2 A_CustomMissile("SelectionFX",0,0,0,0)
stop
}
}


actor IceWaveSkull : ThunderClawSkull
{
states
{
Spawn:
ERO3 N 2 Thing_ChangeTID(0,666)
TNT1 A 2 A_Explode(10,128,0)
loop
}
}

actor IceWaveSelection
{
scale 2.5
PROJECTILE
+RIPPER
states
{
Spawn:
ERO3 N 0
ERO3 N 0 A_FaceTarget
ERO3 NNNNNNNNNNNNNNNNNNNNNNNN 2 A_CustomMissile("SelectionFX",0,0,0,0)
stop
}
}

actor WaterBalloonSkull : ThunderClawSkull
{
states
{
Spawn:
ERO3 O 2 Thing_ChangeTID(0,666)
TNT1 A 2 A_Explode(10,128,0)
loop
}
}

actor WaterBalloonSelection
{
scale 2.5
PROJECTILE
+RIPPER
states
{
Spawn:
ERO3 N 0
ERO3 N 0 A_FaceTarget
ERO3 OOOOOOOOOOOOOOOOOOOOOOOO 2 A_CustomMissile("SelectionFX",0,0,0,0)
stop
}
}

actor TornadoHoldSkull : ThunderClawSkull
{
states
{
Spawn:
ERO3 H 2 Thing_ChangeTID(0,666)
TNT1 A 2 A_Explode(10,128,0)
loop
}
}

actor TornadoHoldSelection
{
scale 2.5
PROJECTILE
+RIPPER
states
{
Spawn:
ERO3 N 0
ERO3 N 0 A_FaceTarget
ERO3 HHHHHHHHHHHHHHHHHHHHHHHH 2 A_CustomMissile("TornadoHoldSelectionFX",0,0,0,0)
stop
}
}

actor TornadoHoldSelectionFX
{
scale 2.5
+THRUGHOST
PROJECTILE
speed 30
states
{
Spawn:
GAMA P 7
stop
}
}

actor EvilRoboArena 11113
{
//$Category MM8BDM-Bosses
  //RenderStyle None
  Radius 2048
  Height 20
  +SOLID
  +NOGRAVITY
  +NOLIFTDROP
  +ACTLIKEBRIDGE
  +GHOST
  +THRUSPECIES
species "EvilRobot"
  renderstyle none
  States
  {
  Spawn:
     PLAY A -1
     loop
  }
}

actor SpaceBattle : CustomInventory
{
inventory.amount 1
inventory.maxamount 1
States
{
Spawn:
TNT1 A 0
stop
Pickup:
TNT1 A 0
TNT1 A 0 A_ChangeFlag("NOGRAVITY",1)
stop
}
}

actor EvilRoboBarrierBot 11115
{
//$Category MM8BDM-Props
+NOGRAVITY
renderstyle none
+NOINTERACTION
+GHOST
States
{
Spawn:
ASUN A 8
Active:
ASUN A 2 A_SpawnItemEx("EvilRoboBarrierBeam",0,0,0,15,0,0)
ASUN A 0 A_SpawnItemEx("EvilRoboBarrierBeam",0,0,0,0,15,0)
ASUN A 0 A_SpawnItemEx("EvilRoboBarrierBeam",0,0,0,0,0,15)
loop
Inactive:
ASUN A -1
stop
}
}

actor EvilRoboBarrierTop 11116
{
//$Category MM8BDM-Props
+NOGRAVITY
renderstyle none
+NOINTERACTION
+GHOST
States
{
Spawn:
ASUN A 8
Active:
ASUN A 2 A_SpawnItemEx("EvilRoboBarrierBeam",0,0,0,15,0,0)
ASUN A 0 A_SpawnItemEx("EvilRoboBarrierBeam",0,0,0,0,15,0)
ASUN A 0 A_SpawnItemEx("EvilRoboBarrierBeam",0,0,0,0,0,-15)
loop
Inactive:
ASUN A -1
stop
}
}


actor EvilRoboBarrierBeam
{
-SOLID
+NOINTERACTION
+NOGRAVITY
+THRUGHOST
States
{
Spawn:
MMFX BCDE 3
stop
}
}

actor EvilEnergyFX
{
scale 1.5
PROJECTILE
alpha 0.5
renderstyle translucent
translation "64:78=62:62", "208:208=66:66"
speed 10
states
{
Spawn:
GAMA PQ 2
loop
}
}

actor EvilRobotProp
{
+NOGRAVITY
+SHOOTABLE
+INVULNERABLE
Height 80
Radius 40
scale 2.5
States
{
Spawn:
ERO2 B 0
ERO2 B 0 ThrustThingZ(0,10,1,0)
ERO2 B 1 A_JumpIf(z-floorz==0,"Land")
loop
Land:
ERO2 A 1
loop
Drain:
ERO2 G 4 A_SpawnItemEx("PropRadiusExplosion")
Goto Draining
Draining:
ERO2 G 0 A_JumpIfInventory("CutterFlag",8,"Done")
ERO2 G 0 A_PlaySoundEx("misc/wilystart","Item",0,1)
ERO2 GHGHGHGH 2
ERO2 G 0 A_GiveInventory("CutterFlag",1)
loop
Done:
ERO2 G 80
ERO2 I 0 ThrustThingZ(0,2,0,0)
ERO2 IIIIIIIIII 2 A_SpawnItemEx("EvilRoboJetPack",-34,0,46)
ERO2 I 0  A_PlaySoundEx("misc/gutsgboost","Item",0,1)
ERO2 I 0 ThrustThingZ(0,50,0,0) 
ERO2 IIIIIIIIIIIIIIIIIIIIIIIIIIIIII 2 A_SpawnItemEx("EvilRoboJetPack",-34,0,46)
stop
}
}

actor PropRadiusExplosion
{
+MISSILE
states
{
Spawn:
TNT1 A 0
TNT1 A 1 A_Explode(10,1000,0)
stop
}
}

actor EvilRobotBaseExplode
{
+NOGRAVITY
+NOINTERACTION
reactiontime 50
states
{
Spawn:
TNT1 A 0 A_CountDown
TNT1 A 0 A_PlaySoundEx("weapon/coilexplode","Auto",0,1)
TNT1 A 0 A_SpawnItemEx("GigaAstroExplode",random(-500,500),random(-500,500),random(-5,5))
TNT1 A 0 A_SpawnItemEx("GigaAstroExplode",random(-500,500),random(-500,500),random(-5,5))
TNT1 A 1 A_SpawnItemEx("GigaAstroExplode",random(-500,500),random(-500,500),random(-5,5))
loop
}
}

actor EvilRobotShield : Once {}

actor EvilEnergyProp
{
+NOINTERACTION
+NOGRAVITY
scale 2.5
states
{
Spawn:
ERO4 FG 7
loop
}
}

