actor EvilFistC : BaseMM8BDMWep_CBM
{
Weapon.SlotNumber 1
tag "Giga Evil Beam"
dropitem "DuoFistUpgrade2GiverDropped"
Weapon.AmmoUse 1
Weapon.AmmoGive 3
Obituary "$OB_EVILBEAM"//$OB_EVILFIST//Due to NONETID it uses the Weapon Obit
Inventory.Pickupmessage "You got the Evil Fist!"
weapon.ammotype "A1EvilAmmo"
States
{
Spawn:
C_08 K 1
loop
Ready:
ERO8 A 1
ERO8 A 0 A_JumpIfInventory("Once",1,"Ready2")
ERO8 A 0 ACS_ExecuteAlways(981,0,0)
ERO8 A 0 ACS_NamedExecuteAlways("cbm_CopyWepAmmoSet",0,2,3)
//ERO8 A 0 A_GiveInventory("LMSCheckPickup",1)
ERO8 A 0 A_SpawnItemEX("TrioRageManager")
ERO8 A 0 A_GiveInventory("Once",1) 
Goto Ready2
Ready2:
ERO8 A 0 ACS_ExecuteAlways(998,0,DYE_EVILROBOT)
ERO8 A 0 ACS_ExecuteAlways(998,0,DYE_EVILROBOT,1)
ERO8 A 1 A_TakeInventory("WeaponCharge",999)
ERO8 A 1 A_WeaponReady
Goto Ready2+3
Deselect:
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower
ER08 A 1 A_Lower
Loop
Select:
TNT1 A 0 A_TakeInventory("GigaMans",99)
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise
ER08 A 1 A_Raise
Goto Select+3

Fire:
"####" A 0 ACS_NamedExecute("BULL_SetState",0,5)
"####" B 0 A_Refire("FireH")
goto Fire2
Fire2:
"####" A 0 ACS_NamedExecute("BULL_SetState",0,2)
"####" B 0 A_TakeInventory("WeaponCharge",999)
"####" B 0 ACS_ExecuteAlways(991,0,DYE_EVILROBOT)
"####" B 0 A_PlaySoundEx("weapon/DuoShot2","Weapon")
"####" B 0 A_GiveInventory("EvilMain2_CI",1)

//"####" GH 1
//"####" IJ 8

"####" B 2 Offset(-12,12) // offset(-6,29)
"####" L 2 Offset(-20,12) // offset(-12,26)
"####" L 2 Offset(-12,20) // offset(-14,24)
"####" B 2 Offset(8,40) // offset(-11,25)
"####" K 2 Offset(4,36)  // offset(-8,27)
"####" B 2  //Offset(4,36) // offset(-6,29)
"####" K 3 offset(-4,30)
"####" B 3 offset(-2,31)
"####" B 4
"####" A 8
"####" A 0 
goto Ready2+2
Fire3:
"####" A 0 ACS_NamedExecute("BULL_SetState",0,2)
"####" B 0 A_TakeInventory("WeaponCharge",999)
"####" B 0 ACS_ExecuteAlways(991,0,DYE_EVILROBOT)
"####" B 0 A_PlaySoundEx("weapon/DuoShot3","Weapon")
"####" B 0 A_GiveInventory("EvilMain3_CI",1)

//"####" GH 2
//"####" IJ 8
"####" H 0 A_JumpIfInventory("PowerRage_ST",1,"Fire3_R")
"####" H 1 Offset(-1,34)
"####" H 1 Offset(-10,28)
"####" JIJIJ 2 Offset(-14,24)
"####" J 1 Offset(-14,24)
"####" J 1 Offset(-11,25)
"####" J 1 Offset(-8,26)
"####" J 1 Offset(-6,27)
"####" J 1 Offset(-4,28)
"####" J 1 Offset(-3,29)
"####" J 1 Offset(-2,30)
"####" J 1 Offset(-1,31)

"####" A 2 A_WeaponReady(14)
"####" A 6
"####" A 0 A_Refire("FireH")
goto Ready2+2
Fire3_R:
"####" H 1 Offset(-5,34)
"####" JIJIJ 2 Offset(-14,24)
"####" J 1 Offset(-11,25)
"####" J 1 Offset(-8,26)
"####" J 1 Offset(-4,28)
"####" J 1 Offset(-2,30)

"####" A 2 A_WeaponReady(14)
"####" A 6
"####" A 0 A_Refire("FireH")
goto Ready2+2


FireH:
"####" A 0 ACS_NamedExecute("BULL_SetState",0,5)
"####" B 0 A_JumpIfInventory("WeaponCharge",10,"FireH0")
"####" B 1 A_GiveInventory("WeaponCharge_RC",1)
"####" B 0 A_Refire("FireH")
Goto Fire2
FireH0:
"####" A 0 ACS_NamedExecute("BULL_SetState",0,5)
"####" C 0 A_GunFlash
goto FireH1
FireH1:
"####" A 0 ACS_NamedExecute("BULL_SetState",0,5)
"####" B 0 A_JumpIfInventory("WeaponCharge",28,"Charge0")
"####" B 1 A_GiveInventory("WeaponCharge_RC",1)
"####" B 0 A_Refire("FireH1")
Goto Fire2
Charge0:
"####" A 0 ACS_NamedExecute("BULL_SetState",0,5)
"####" D 0 A_PlaySoundEx("weapon/TrioCharge1","Weapon")
Goto Charge1
Charge1:
"####" A 0 ACS_NamedExecute("BULL_SetState",0,5)
"####" C 0 A_JumpIfInventory("WeaponCharge",45,"Charge2Flash")
"####" C 1 ACS_ExecuteAlways(998,0,DYE_TRIO_CHARGE1,5)
"####" C 0 A_Refire("Charge1.a")
Goto Fire2
Charge1.a:
"####" A 0 ACS_NamedExecute("BULL_SetState",0,5)
"####" B 1 ACS_ExecuteAlways(998,0,DYE_EVILROBOT,1)
"####" B 0 A_GiveInventory("WeaponCharge_RC",1)
"####" B 0 A_Refire("Charge1")
Goto Fire2
Charge2Flash:
"####" E 0 ACS_NamedExecute("BULL_SetState",0,5)
"####" E 0 A_GunFlash("Flash2")
"####" E 1 Offset(2,34)ACS_ExecuteAlways(998,0,DYE_TRIO_CHARGE2,6)
"####" E 0 A_Refire(1)
Goto Fire3
"####" F 0 ACS_NamedExecute("BULL_SetState",0,5)
"####" F 1 Offset(4,36)ACS_ExecuteAlways(998,0,DYE_TRIO_CHARGE3,7)
"####" F 0 A_Refire(1)
Goto Fire3
"####" G 0 ACS_NamedExecute("BULL_SetState",0,5)
"####" G 1 Offset(6,38)ACS_ExecuteAlways(998,0,DYE_EVILROBOT,1)
"####" G 0 A_Refire(1)
Goto Fire3
"####" E 0 ACS_NamedExecute("BULL_SetState",0,5)
"####" E 1 Offset(7,39)ACS_ExecuteAlways(998,0,DYE_TRIO_CHARGE2,6)
"####" E 0 A_Refire(1)
Goto Fire3
"####" F 0 ACS_NamedExecute("BULL_SetState",0,5)
"####" F 1 Offset(8,40)ACS_ExecuteAlways(998,0,DYE_TRIO_CHARGE3,7)
"####" F 0 A_Refire(1)
Goto Fire3
"####" G 0 ACS_NamedExecute("BULL_SetState",0,5)
"####" G 1 Offset(9,41)ACS_ExecuteAlways(998,0,DYE_EVILROBOT,1)
"####" G 0 A_Refire("Charge2")
Goto Fire3
Charge2:
"####" E 0 ACS_NamedExecute("BULL_SetState",0,3)
"####" E 1 ACS_ExecuteAlways(998,0,DYE_TRIO_CHARGE2,6)
"####" E 0 A_Refire("Charge2.a")
Goto Fire3
Charge2.a:
"####" F 0 ACS_NamedExecute("BULL_SetState",0,5)
"####" F 1 ACS_ExecuteAlways(998,0,DYE_TRIO_CHARGE3,7)
"####" F 0 A_Refire("Charge2.b")
Goto Fire3
Charge2.b:
"####" G 0 ACS_NamedExecute("BULL_SetState",0,4)
"####" G 1 ACS_ExecuteAlways(998,0,DYE_EVILROBOT,1)
"####" G 0 A_JumpIfInventory("IsBot",1,"BotFire")
"####" G 0 A_Refire("Charge2")
Goto Fire3
BotFire:
"####" D 0 A_Jump(16,"Fire3")
"####" D 0 A_Refire("Charge2")
Goto Fire3

Flash:
TNT1 A 1
TNT1 A 0 A_JumpIfInventory("IsDead",1,"NoFlash")
TNT1 A 0 A_JumpIfInventory("WeaponCharge",1,1)
stop
TNT1 A 1
TNT1 A 0 A_JumpIfInventory("IsDead",1,"NoFlash")
TNT1 A 0 A_JumpIfInventory("WeaponCharge",1,1)
stop
TNT1 A 1
TNT1 A 0 A_JumpIfInventory("IsDead",1,"NoFlash")
TNT1 A 0 A_JumpIfInventory("WeaponCharge",1,1)
stop
TNT1 A 1
TNT1 A 0 A_JumpIfInventory("IsDead",1,"NoFlash")
TNT1 A 0 A_JumpIfInventory("WeaponCharge",1,1)
stop
TNT1 A 1
TNT1 A 0 A_JumpIfInventory("IsDead",1,"NoFlash")
TNT1 A 0 A_JumpIfInventory("WeaponCharge",1,1)
stop
TNT1 A 1
TNT1 A 0 A_JumpIfInventory("IsDead",1,"NoFlash")
TNT1 A 0 A_JumpIfInventory("WeaponCharge",1,"Flash")
stop

Flash2:
TNT1 A 0 A_PlaySoundEx("weapon/TrioCharge2","Weapon")
TNT1 A 1
TNT1 A 0 A_JumpIfInventory("IsDead",1,"NoFlash")
TNT1 A 0 A_JumpIfInventory("WeaponCharge",1,1)
stop
TNT1 A 1
TNT1 A 0 A_JumpIfInventory("IsDead",1,"NoFlash")
TNT1 A 0 A_JumpIfInventory("WeaponCharge",1,1)
stop
TNT1 A 1
TNT1 A 0 A_JumpIfInventory("IsDead",1,"NoFlash")
TNT1 A 0 A_JumpIfInventory("WeaponCharge",1,1)
stop
TNT1 A 1
TNT1 A 0 A_JumpIfInventory("IsDead",1,"NoFlash")
TNT1 A 0 A_JumpIfInventory("WeaponCharge",1,1)
stop
TNT1 A 1
TNT1 A 0 A_JumpIfInventory("IsDead",1,"NoFlash")
TNT1 A 0 A_JumpIfInventory("WeaponCharge",1,"Flash2")
stop

User1Fire:
"####" B 0 A_TakeInventory("WeaponCharge",999)
"####" B 0 ACS_ExecuteAlways(991,0,DYE_EVILROBOT)
"####" B 0 A_PlaySoundEx("weapon/DuoShot2","Weapon")
"####" B 0 A_GiveInventory("EvilMain2_CI",1)
"####" B 2 Offset(-12,12) // offset(-6,29)
"####" L 2 Offset(-20,12) // offset(-12,26)
"####" L 2 Offset(-12,20) // offset(-14,24)
"####" B 2 Offset(8,40) // offset(-11,25)
"####" K 2 Offset(4,36)  // offset(-8,27)
"####" B 2  //Offset(4,36) // offset(-6,29)
"####" K 3 offset(-4,30)
"####" B 3 offset(-2,31)
"####" B 4
"####" A 8
"####" A 0 
goto Ready2+2

Altfire:
ERO8 A 0 A_JumpIf(ACS_NamedExecuteWithResult("cbm_user1_check")==1, "User1Fire")
"####" A 0 A_JumpIfInventory("TrioRageWeakness",1,"EvilAlt0")
"####" A 0 A_JumpIfInventory("EvilRageAmmo",1120,"RageActivate")
Goto Ready2+3
RageActivate:
"####" A 0 ACS_NamedExecute("BULL_SetState",0,1)
"####" A 0 A_PlaySoundEx("weapon/TrioRage","SoundSlot7")
"####" A 0 A_GiveInventory("TrioRageOnPickup",1)
"####" A 2 Offset(2,34)
"####" B 2 Offset(5,37)
"####" C 2 Offset(8,40)
"####" D 0 A_JumpIfInventory("PowerRage_ST",1,"RageActivate_R")
"####" DEFDEFDEF 1 Offset(11,43)
"####" C 2 Offset(8,40)
"####" B 2 Offset(5,37)
"####" A 2 Offset(2,34)
Goto Ready2+3
RageActivate_R:
"####" A 0 ACS_NamedExecute("BULL_SetState",0,1)
"####" DEFDEF 1 Offset(11,43)
"####" C 2 Offset(8,40)
"####" B 2 Offset(5,37)
"####" A 2 Offset(2,34)
Goto Ready2+3

EvilAlt8://AstroCrush
ERO8 A 0 ACS_NamedExecute("BULL_SetState",0,1)
ERO7 A 0 A_PlaySoundEx("weapon/mirrorabsorb","Weapon")
ERO7 A 0 A_TakeInventory("EvilRageAmmo",560)
ERO7 A 0 A_GiveInventory("IsAngery")
ERO7 A 0 A_SpawnItemEx("TrioAstroCrush",0,0,0,0,0,0,0,1)
//ERO7 ABCDEEDCBA 3
ERO7 BBAACCDD 3
TNT1 AA 3
TNT1 A 2
TNT1 A 0 A_TakeInventory("IsAngery",99)
ER88 A 0
goto EvilAltEnd
EvilAlt7://IceWave
ERO8 A 0 ACS_NamedExecute("BULL_SetState",0,1)
ERO7 F 0 A_GiveInventory("IsAngery")
ERO7 F 4 OffSet(0,24)A_PlaySoundEx("weapon/pcharge","Weapon")
ERO7 F 4 OffSet(0,-6)
ERO7 F 4 OffSet(0,-36)A_SpawnItemEx("TrioIceWaveCharging",0,0,28,0,0,0,0,1)
ERO7 F 4 OffSet(0,-66)

ERO7 G 2 OffSet(1,-66)
ERO7 G 2 OffSet(-3,-66)
ERO7 G 2 OffSet(1,-66)
ERO7 G 2 OffSet(-3,-66)
ERO7 G 2 OffSet(1,-66)
ERO7 G 2 OffSet(-3,-66)
ERO7 G 2 OffSet(1,-66)
ERO7 G 2 OffSet(-3,-66)
ERO7 G 2 OffSet(1,-66)

ERO8 A 0 ACS_NamedExecute("BULL_SetState",0,1)
ERO7 G 0 A_PlaySoundEx("weapon/BlizzStrike","Weapon")
ERO7 G 0 A_TakeInventory("EvilRageAmmo",560)

ERO7 G 0 A_WeaponReady(14)
ERO7 G 3 Offset(0,-19)A_SpawnItemEx("TrioIceWave",0,0,8,cos(-pitch)*20,0,sin(-pitch)*20,0,1)
ERO7 H 3 Offset(0,28)A_TakeInventory("TrioFireFlag",1)
ERO7 H 21 Offset(0,48)
ERO7 H 3 OffSet(0,40)
ERO7 H 0 A_TakeInventory("IsAngery",99)
ER78 A 0
goto EvilAltEnd
EvilAlt6://WaterBalloon
ERO7 I 0 A_GiveInventory("IsAngery")
ERO7 I 2 OffSet(8,44)
ERO7 I 2 A_WeaponReady(14)
ERO8 A 0 ACS_NamedExecute("BULL_SetState",0,1)
ERO7 I 0 A_PlaySoundEx("weapon/waterballoon","Weapon")
ERO7 I 0 A_TakeInventory("EvilRageAmmo",280)
ERO7 I 0 A_SpawnItemEx("TrioBalloon",0,0,28,cos(-pitch)*15,0,sin(-pitch)*15,0,1)
ERO7 JKLMN 3
ERO7 I 6 OffSet(24,56)
ERO7 I 2 OffSet(8,44)
ERO7 I 2 A_WeaponReady(14)
ERO8 A 0 ACS_NamedExecute("BULL_SetState",0,1)
ERO7 I 0 A_PlaySoundEx("weapon/waterballoon","Weapon")
ERO7 I 0 A_TakeInventory("EvilRageAmmo",280)
ERO7 I 0 A_SpawnItemEx("TrioBalloon",0,0,28,cos(-pitch)*15,0,sin(-pitch)*15,0,1)
ERO7 J 0 A_TakeInventory("TrioFireFlag",1)
ERO7 JKLMN 3
ERO7 N 18 OffSet(24,56)
ERO7 N 0 A_TakeInventory("IsAngery",99)
goto EvilAltEnd6
EvilAlt5://HomingSniper
ERO7 O 0 A_SpawnItemEx("TrioSniper",0,0,28,cos(-pitch)*100,0,sin(-pitch)*100,0,1)
ERO8 A 0 ACS_NamedExecute("BULL_SetState",0,1)
ERO7 O 0 A_WeaponReady(14)
ERO7 O 0 A_GiveInventory("IsAngery")
ERO7 O 1 A_GiveInventory("AdapterWaitCount",1)
ERO7 O 0 A_JumpIfInventory("AdapterWaitCount",100,"EvilAlt5End")
ERO7 O 0 A_JumpIfInventory("CutterFlag",1,"EvilAlt5_Fire")
goto EvilAlt5+1
EvilAlt5End:
ERO7 O 0 A_TakeInventory("CutterFlag",999)
ERO7 O 0 A_TakeInventory("AdapterWaitCount",999)
ERO7 O 0 A_TakeInventory("EvilRageAmmo",70)
ERO7 O 0 Thing_Remove(TID+7000)
ERO7 O 0 A_TakeInventory("IsAngery",99)
ERO7 RORO 2 A_PlaySoundEx("S3_K/MetalSpark","Weapon")
ERO7 O 0 A_TakeInventory("CutterFlag",999)
ERO7 O 0 A_TakeInventory("AdapterWaitCount",999)
ERO7 O 0 A_TakeInventory("TrioFireFlag",1)
ERO7 RO 2 A_PlaySoundEx("S3_K/MetalSpark","Weapon")
goto EvilAltEnd
EvilAlt5_Fire:
ERO7 O 0 A_TakeInventory("CutterFlag",999)
ERO7 O 0 A_TakeInventory("AdapterWaitCount",999)
ERO7 O 0 A_TakeInventory("EvilRageAmmo",560)
ERO8 A 0 ACS_NamedExecute("BULL_SetState",0,1)
ERO7 PQRPQRPQRPQRPQRPQRPQRPQRPQRPQRPQRPQRPQRPQRPQRPQRPQRPQRPQRPQR 1 A_SpawnItemEx("TrioMissiles",20,random(-64,64),random(-8,70),0,0,0,0,1)
ERO7 O 0 A_TakeInventory("CutterFlag",999)
ERO7 O 0 A_TakeInventory("AdapterWaitCount",999)
ERO7 O 0 A_TakeInventory("TrioFireFlag",1)
ERO7 PQRO 2
ERO7 O 15
ERO7 O 0 A_TakeInventory("IsAngery",99)
goto EvilAltEnd
EvilAlt4://ThunderClaw
ERO7 A 0 A_GiveInventory("IsAngery")
ERO7 S 0 A_TakeInventory("EvilRageAmmo",560)
ERO7 S 0 A_SpawnItemEx("TrioThunderClawHelper",0,0,0,0,0,0,0,1)
ERO7 S 0 A_PlaySoundEx("misc/wilylightning","Weapon")
ERO8 A 0 ACS_NamedExecute("BULL_SetState",0,1)
ERO7 TUV 3
ERO7 U 1
ERO7 U 2 A_PlaySoundEx("misc/wilylightning","Weapon")
ERO8 A 0 ACS_NamedExecute("BULL_SetState",0,1)
ERO7 TU 3
ERO7 V 2
ERO7 V 1 A_PlaySoundEx("misc/wilylightning","Weapon")
ERO8 A 0 ACS_NamedExecute("BULL_SetState",0,1)
ERO7 UTU 3
ERO7 V 0 A_PlaySoundEx("misc/wilylightning","Weapon")
ERO8 A 0 ACS_NamedExecute("BULL_SetState",0,1)
ERO7 VUTUV 3
ERO7 S 0 A_PlaySoundEx("misc/wilylightning","Weapon")
ERO8 A 0 ACS_NamedExecute("BULL_SetState",0,1)
ERO7 TUV 3
ERO7 U 1
ERO7 U 2 A_PlaySoundEx("misc/wilylightning","Weapon")
ERO8 A 0 ACS_NamedExecute("BULL_SetState",0,1)
ERO7 TU 3
ERO7 V 2
ERO7 V 1 A_PlaySoundEx("misc/wilylightning","Weapon")
ERO8 A 0 ACS_NamedExecute("BULL_SetState",0,1)
ERO7 UTU 3
ERO7 V 0 A_PlaySoundEx("misc/wilylightning","Weapon")
ERO8 A 0 ACS_NamedExecute("BULL_SetState",0,1)
ERO7 VUTUV 3
ERO7 V 15 A_TakeInventory("TrioFireFlag",1)
ERO7 V 0 A_TakeInventory("IsAngery",99)
goto EvilAltEnd
EvilAlt3://TornadoHold
ERO8 A 0 ACS_NamedExecute("BULL_SetState",0,1)
ERO7 A 0 A_GiveInventory("IsAngery")
ERO7 W 0 A_SpawnItemEx("TrioTornadoHelper")
ERO7 WWWWWWWWWWWWWWWWWWWWWWWW 1
ERO8 A 0 ACS_NamedExecute("BULL_SetState",0,1)
ERO7 X 0 A_TakeInventory("EvilRageAmmo",560)
ERO7 X 0 A_SpawnItemEx("TrioTornado",0,0,0,20,0,0,0,1)
ERO7 X 0 A_SpawnItemEx("TrioTornado",0,0,0,20,0,0,90,1)
ERO7 X 0 A_SpawnItemEx("TrioTornado",0,0,0,20,0,0,-90,1)
ERO7 X 0 A_SpawnItemEx("TrioTornado",0,0,0,20,0,0,180,1)
ERO7 X 0 A_TakeInventory("TrioFireFlag",1)
ERO7 XY 3
ERO7 Y 3 OffSet(12,47)
ERO7 Y 3 OffSet(26,62)
ERO7 Y 0 A_TakeInventory("IsAngery",99)
goto EvilAltEnd
EvilAlt2://FlashBomb
ERO8 A 0 ACS_NamedExecute("BULL_SetState",0,1)
ERO7 A 0 A_GiveInventory("IsAngery")
ERO8 Q 1
ERO8 Q 0 A_PlaySoundEx("weapon/magnetmissile","Weapon")
ERO8 Q 0 A_TakeInventory("EvilRageAmmo",560)

ERO8 Q 0 A_SpawnItemEx("TrioFlashBomb",cos(-pitch)*9,8,28+(sin(-pitch)*9),cos(-pitch)*55,8,sin(-pitch)*55,0,1)
////ERO8 Q 0 A_SpawnItemEx("TrioFlashBomb",cos(-pitch)*9,8,28+(sin(-pitch)*9),cos(-pitch)*55,16,sin(-pitch)*55,0,1)
//ERO8 Q 0 A_SpawnItemEx("TrioFlashBomb",cos(-pitch)*9,8,28+(sin(-pitch)*9),cos(-pitch)*55,24,sin(-pitch)*55,0,1)

ERO8 Q 0 A_SpawnItemEx("TrioFlashBomb",cos(-pitch)*9,8,28+(sin(-pitch)*9),cos(-pitch)*55,-8,sin(-pitch)*55,0,1)
////ERO8 Q 0 A_SpawnItemEx("TrioFlashBomb",cos(-pitch)*9,8,28+(sin(-pitch)*9),cos(-pitch)*55,-16,sin(-pitch)*55,0,1)
//ERO8 Q 0 A_SpawnItemEx("TrioFlashBomb",cos(-pitch)*9,8,28+(sin(-pitch)*9),cos(-pitch)*55,-24,sin(-pitch)*55,0,1)

ERO8 Q 0 A_SpawnItemEx("TrioFlashBomb",cos(-pitch)*9,8,28+(sin(-pitch)*9),cos(-pitch)*55,0,sin(-pitch)*55,0,1)

//ERO8 Q 0 A_SpawnItemEx("TrioFlashBomb",cos(-pitch)*9,8,28+(sin(-pitch)*9),cos(-pitch)*55,0,sin(-pitch)*55+24,0,1)
////ERO8 Q 0 A_SpawnItemEx("TrioFlashBomb",cos(-pitch)*9,8,28+(sin(-pitch)*9),cos(-pitch)*55,0,sin(-pitch)*55+16,0,1)
ERO8 Q 0 A_SpawnItemEx("TrioFlashBomb",cos(-pitch)*9,8,28+(sin(-pitch)*9),cos(-pitch)*55,0,sin(-pitch)*55+8,0,1)

ERO8 Q 0 A_SpawnItemEx("TrioFlashBomb",cos(-pitch)*9,8,28+(sin(-pitch)*9),cos(-pitch)*55,0,sin(-pitch)*55-8,0,1)
////ERO8 Q 0 A_SpawnItemEx("TrioFlashBomb",cos(-pitch)*9,8,28+(sin(-pitch)*9),cos(-pitch)*55,0,sin(-pitch)*55-16,0,1)
//ERO8 Q 0 A_SpawnItemEx("TrioFlashBomb",cos(-pitch)*9,8,28+(sin(-pitch)*9),cos(-pitch)*55,0,sin(-pitch)*55-24,0,1)

ERO8 Q 4 OffSet(22,56)A_TakeInventory("TrioFireFlag",1)
ERO8 Q 4 OffSet(42,75)
ERO8 Q 4 OffSet(22,56)
ERO8 Q 35 A_WeaponReady(14)
ERO7 Q 0 A_TakeInventory("IsAngery",99)
goto EvilAltEnd2
EvilAlt1://FlameSword
ERO8 A 0 ACS_NamedExecute("BULL_SetState",0,1)
ERO7 A 0 A_GiveInventory("IsAngery")
ERO8 R 2 OffSet(136,-13)A_PlaySoundEx("weapon/mirrorabsorb","Weapon")
ERO8 R 2 OffSet(98,-1)
ERO8 R 2 OffSet(60,11)
ERO8 R 2 OffSet(30,22)
ERO8 R 6 OffSet(1,33)
ERO8 R 2 OffSet(20,18)
ERO8 S 2 OffSet(1,33)
ERO8 A 0 ACS_NamedExecute("BULL_SetState",0,1)
ERO8 S 0 A_PlaySoundEx("weapon/atomicfire","Weapon")
ERO8 S 0 A_TakeInventory("EvilRageAmmo",280)
ERO8 S 2 OffSet(50,18)A_SpawnItemEx("TrioFlameSwing1",0,0,28,cos(-pitch)*1,0,sin(-pitch)*1,0,1)
ERO8 S 2 OffSet(91,-3)
ERO8 T 2 OffSet(1,33)
ERO8 T 2 OffSet(50,33)
TNT1 A 4
ERO8 U 2 OffSet(24,19)
ERO8 A 0 ACS_NamedExecute("BULL_SetState",0,1)
ERO8 U 0 A_PlaySoundEx("weapon/atomicfire","Weapon")
ERO8 U 0 A_TakeInventory("EvilRageAmmo",280)
ERO8 U 2 OffSet(1,33)A_SpawnItemEx("TrioFlameSwing2",0,0,28,cos(-pitch)*1,0,sin(-pitch)*1,0,1)
ERO8 V 2 OffSet(1,33)A_TakeInventory("TrioFireFlag",1)
ERO8 V 2 OffSet(-57,43)
ERO8 V 2 OffSet(-143,56)
ERO8 W 2 OffSet(17,21)
ERO8 W 2 OffSet(8,27)
ERO8 W 16 OffSet(-1,33)
ERO8 W 2 OffSet(26,31)
ERO8 W 2 OffSet(52,29)
ERO8 W 2 OffSet(78,28)
ERO8 W 2 OffSet(102,27)
ERO8 W 2 OffSet(124,26)
ERO8 W 2 OffSet(144,25)
ERO7 W 0 A_TakeInventory("IsAngery",99)
goto EvilAltEnd1
EvilAlt0://EvilLaser
ERO8 B 0 ACS_ExecuteAlways(444,0,2,3)//C_JAX_SPECTRUM_SET1
ERO8 B 0 ACS_ExecuteAlways(445,0,angle,pitch)//C_JAX_SPECTRUM_SET2
ERO8 B 0 A_PlaySoundEx("weapon/TrioCharge3","SoundSlot6")
ERO8 B 0 A_GiveInventory("TrioGigaFlag",1)
ERO8 B 0 A_JumpIfInventory("TrioExodiaFlag",1,2)
ERO8 B 0 A_TakeInventory("PowerSpread_ST",1)
ERO8 BCKL 1
goto EvilAlt0_0
EvilAlt0_0:
ERO8 K 1 A_GiveInventory("FireTrioSpectrum1",1)
ERO8 K 0 A_Refire("EvilAlt0_1")
goto EvilAlt0_1E
EvilAlt0_1:
ERO8 L 0 A_JumpIfInventory("PowerRage_ST",1,"EvilAlt0_2")
ERO8 L 1 A_GiveInventory("FireTrioSpectrum1",1)
ERO8 L 0 A_Refire("EvilAlt0_2")
goto EvilAlt0_2E
EvilAlt0_2:
ERO8 K 1 A_GiveInventory("FireTrioSpectrum1",1)
ERO8 K 0 A_Refire("EvilAlt0_3")
goto EvilAlt0_3E
EvilAlt0_3:
ERO8 L 0 A_JumpIfInventory("PowerRage_ST",1,"EvilAlt0_4")
ERO8 L 1 A_GiveInventory("FireTrioSpectrum1",1)
ERO8 L 0 A_Refire("EvilAlt0_4")
goto EvilAlt0_4E
EvilAlt0_4:
ERO8 K 1 A_GiveInventory("FireTrioSpectrum2",1)
ERO8 K 0 A_Refire("EvilAlt0_5")
goto EvilAlt0_5E
EvilAlt0_5:
ERO8 L 1 A_GiveInventory("FireTrioSpectrum3",1)
ERO8 L 0 A_JumpIfInventory("EvilRageAmmo",1,1)
goto EvilAlt0End
ERO8 K 0 A_Refire("EvilAlt0_0")
goto EvilAlt0End
EvilAlt0_0E:
ERO8 K 1 A_GiveInventory("FireTrioSpectrum1",1)
EvilAlt0_1E:
ERO8 L 0 A_JumpIfInventory("PowerRage_ST",1,"EvilAlt0_2E")
ERO8 L 1 A_GiveInventory("FireTrioSpectrum1",1)
EvilAlt0_2E:
ERO8 K 1 A_GiveInventory("FireTrioSpectrum1",1)
EvilAlt0_3E:
ERO8 K 0 A_JumpIfInventory("PowerRage_ST",1,"EvilAlt0_4E")
ERO8 H 1 A_GiveInventory("FireTrioSpectrum1",1)
EvilAlt0_4E:
ERO8 L 1 A_GiveInventory("FireTrioSpectrum2",1)
EvilAlt0_5E:
ERO8 K 1 A_GiveInventory("FireTrioSpectrum3",1)
EvilAlt0End:
ERO8 K 0 A_TakeInventory("TrioGigaFlag",1)
ERO8 LKCB 1
ERO8 B 6 A_GiveInventory("TrioSpreadRuneRevert",1)
ERO8 H 0 A_ClearRefire
goto Ready2+2

EvilAltEnd:
"----" "#" 0 A_TakeInventory("TrioGigaFlag",9)
"----" "#" 10 A_TakeInventory("TrioFireFlag",1)
"----" "#" 0 A_WeaponReady(14)
goto Ready2+2

EvilAltEnd1:
ERO8 W 0 A_TakeInventory("TrioGigaFlag",9)
ERO8 W 10 A_TakeInventory("TrioFireFlag",1)
ERO8 W 0 A_WeaponReady(14)
goto Ready2+2

EvilAltEnd2:
ERO8 Q 0 A_TakeInventory("TrioGigaFlag",9)
ERO8 Q 10 A_TakeInventory("TrioFireFlag",1)
ERO8 Q 0 A_WeaponReady(14)
goto Ready2+2

EvilAltEnd6:
ERO7 N 0 A_TakeInventory("TrioGigaFlag",9)
ERO7 N 10 A_TakeInventory("TrioFireFlag",1)
ERO7 N 0 A_WeaponReady(14)
goto Ready2+2

}
}

//GFS
actor EvilFistCSword : EvilFistC
{
Weapon.SlotNumber 2
tag "Giga Flame Sword"
dropitem "DuoFistUpgrade2GiverDropped"
Weapon.AmmoUse 1
Weapon.AmmoGive 3 
Obituary "$OB_EVILBEAM"//$OB_EVILFIST//Due to NONETID it uses the Weapon Obit
Inventory.Pickupmessage "You got the Evil Fist!"
weapon.ammotype "A1EvilAmmo"
States
{
Spawn:
C_08 K 1
loop
Ready:
ER18 A 1
ER18 A 0 A_JumpIfInventory("Once",1,"Ready2")
ER18 A 0 ACS_ExecuteAlways(981,0,0)
ER18 A 0 ACS_NamedExecuteAlways("cbm_CopyWepAmmoSet",0,2,3)
//ER28 A 0 A_GiveInventory("LMSCheckPickup",1)
ER18 A 0 A_SpawnItemEX("TrioRageManager")
ER18 A 0 A_GiveInventory("Once",1) 
Goto Ready2
Ready2:
ER18 A 0 ACS_ExecuteAlways(998,0,DYE_EVILROBOT)
ER18 A 0 ACS_ExecuteAlways(998,0,DYE_EVILROBOT,1)
ER18 A 1 A_TakeInventory("WeaponCharge",999)
ER18 A 1 A_WeaponReady
Goto Ready2+3
Deselect:
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower
ER08 A 1 A_Lower
Loop
Select:
TNT1 A 0 A_TakeInventory("GigaMans",99)
TNT1 A 0 A_GiveInventory("GigaMans",1)
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise
ER08 A 1 A_Raise
Goto Select+3

Altfire:
ER18 A 0 A_JumpIf(ACS_NamedExecuteWithResult("cbm_user1_check")==1, "User1Fire")
"####" A 0 A_JumpIfInventory("TrioRageWeakness",1,"EvilAlt1")
"####" A 0 A_JumpIfInventory("EvilRageAmmo",1120,"RageActivate")
Goto Ready2+3

}
}

//GFB

actor EvilFistCBomb : EvilFistCSword
{
Weapon.SlotNumber 3
tag "Giga Flash Bomb"
dropitem "DuoFistUpgrade2GiverDropped"
Weapon.AmmoUse 1
Weapon.AmmoGive 3 
Obituary "$OB_EVILBEAM"//$OB_EVILFIST//Due to NONETID it uses the Weapon Obit
Inventory.Pickupmessage "You got the Evil Fist!"
weapon.ammotype "A1EvilAmmo"
States
{
Spawn:
C_08 K 1
loop
Ready:
ER28 A 1
ER28 A 0 A_JumpIfInventory("Once",1,"Ready2")
ER28 A 0 ACS_ExecuteAlways(981,0,0)
ER28 A 0 ACS_NamedExecuteAlways("cbm_CopyWepAmmoSet",0,2,3)
//ER28 A 0 A_GiveInventory("LMSCheckPickup",1)
ER28 A 0 A_SpawnItemEX("TrioRageManager")
ER28 A 0 A_GiveInventory("Once",1) 
Goto Ready2
Ready2:
ER28 A 0 ACS_ExecuteAlways(998,0,DYE_EVILROBOT)
ER28 A 0 ACS_ExecuteAlways(998,0,DYE_EVILROBOT,1)
ER28 A 1 A_TakeInventory("WeaponCharge",999)
ER28 A 1 A_WeaponReady
Goto Ready2+3
Deselect:
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower
ER08 A 1 A_Lower
Loop
Select:
TNT1 A 0 A_TakeInventory("GigaMans",99)
TNT1 A 0 A_GiveInventory("GigaMans",2)
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise
ER08 A 1 A_Raise
Goto Select+3

Altfire:
ER28 A 0 A_JumpIf(ACS_NamedExecuteWithResult("cbm_user1_check")==1, "User1Fire")
"####" A 0 A_JumpIfInventory("TrioRageWeakness",1,"EvilAlt2")
"####" A 0 A_JumpIfInventory("EvilRageAmmo",1120,"RageActivate")
Goto Ready2+3
}
}

//GTH

actor EvilFistCTornado : EvilFistCSword
{
Weapon.SlotNumber 4
tag "Giga Tornado Hold"
dropitem "DuoFistUpgrade2GiverDropped"
Weapon.AmmoUse 1
Weapon.AmmoGive 3 
Obituary "$OB_EVILBEAM"//$OB_EVILFIST//Due to NONETID it uses the Weapon Obit
Inventory.Pickupmessage "You got the Evil Fist!"
weapon.ammotype "A1EvilAmmo"
States
{
Spawn:
C_08 K 1
loop
Ready:
ER38 A 1
ER38 A 0 A_JumpIfInventory("Once",1,"Ready2")
ER38 A 0 ACS_ExecuteAlways(981,0,0)
ER38 A 0 ACS_NamedExecuteAlways("cbm_CopyWepAmmoSet",0,2,3)
//ER38 A 0 A_GiveInventory("LMSCheckPickup",1)
ER38 A 0 A_SpawnItemEX("TrioRageManager")
ER38 A 0 A_GiveInventory("Once",1) 
Goto Ready2
Ready2:
ER38 A 0 ACS_ExecuteAlways(998,0,DYE_EVILROBOT)
ER38 A 0 ACS_ExecuteAlways(998,0,DYE_EVILROBOT,1)
ER38 A 1 A_TakeInventory("WeaponCharge",999)
ER38 A 1 A_WeaponReady
Goto Ready2+3
Deselect:
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower
ER08 A 1 A_Lower
Loop
Select:
TNT1 A 0 A_TakeInventory("GigaMans",99)
TNT1 A 0 A_GiveInventory("GigaMans",3)
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise
ER08 A 1 A_Raise
Goto Select+3

Altfire:
ER38 A 0 A_JumpIf(ACS_NamedExecuteWithResult("cbm_user1_check")==1, "User1Fire")
"####" A 0 A_JumpIfInventory("TrioRageWeakness",1,"EvilAlt3")
"####" A 0 A_JumpIfInventory("EvilRageAmmo",1120,"RageActivate")
Goto Ready2+3
}
}

//GTC

actor EvilFistCElec : EvilFistCSword
{
Weapon.SlotNumber 5
tag "Giga Thunder Claw"
dropitem "DuoFistUpgrade2GiverDropped"
Weapon.AmmoUse 1
Weapon.AmmoGive 3 
Obituary "$OB_EVILBEAM"//$OB_EVILFIST//Due to NONETID it uses the Weapon Obit
Inventory.Pickupmessage "You got the Evil Fist!"
weapon.ammotype "A1EvilAmmo"
States
{
Spawn:
C_08 K 1
loop
Ready:
ER48 A 1
ER48 A 0 A_JumpIfInventory("Once",1,"Ready2")
ER48 A 0 ACS_ExecuteAlways(981,0,0)
ER48 A 0 ACS_NamedExecuteAlways("cbm_CopyWepAmmoSet",0,2,3)
//ER48 A 0 A_GiveInventory("LMSCheckPickup",1)
ER48 A 0 A_SpawnItemEX("TrioRageManager")
ER48 A 0 A_GiveInventory("Once",1) 
Goto Ready2
Ready2:
ER48 A 0 ACS_ExecuteAlways(998,0,DYE_EVILROBOT)
ER48 A 0 ACS_ExecuteAlways(998,0,DYE_EVILROBOT,1)
ER48 A 1 A_TakeInventory("WeaponCharge",999)
ER48 A 1 A_WeaponReady
Goto Ready2+3
Deselect:
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower
ER08 A 1 A_Lower
Loop
Select:
TNT1 A 0 A_TakeInventory("GigaMans",99)
TNT1 A 0 A_GiveInventory("GigaMans",4)
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise
ER08 A 1 A_Raise
Goto Select+3

Altfire:
ER48 A 0 A_JumpIf(ACS_NamedExecuteWithResult("cbm_user1_check")==1, "User1Fire")
"####" A 0 A_JumpIfInventory("TrioRageWeakness",1,"EvilAlt4")
"####" A 0 A_JumpIfInventory("EvilRageAmmo",1120,"RageActivate")
Goto Ready2+3
}
}

//GHS

actor EvilFistCMissile : EvilFistCSword
{
Weapon.SlotNumber 6
tag "Giga Homing Sniper"
dropitem "DuoFistUpgrade2GiverDropped"
Weapon.AmmoUse 1
Weapon.AmmoGive 3 
Obituary "$OB_EVILBEAM"//$OB_EVILFIST//Due to NONETID it uses the Weapon Obit
Inventory.Pickupmessage "You got the Evil Fist!"
weapon.ammotype "A1EvilAmmo"
States
{
Spawn:
C_08 K 1
loop
Ready:
ER58 A 1
ER58 A 0 A_JumpIfInventory("Once",1,"Ready2")
ER58 A 0 ACS_ExecuteAlways(981,0,0)
ER58 A 0 ACS_NamedExecuteAlways("cbm_CopyWepAmmoSet",0,2,3)
//ER58 A 0 A_GiveInventory("LMSCheckPickup",1)
ER58 A 0 A_SpawnItemEX("TrioRageManager")
ER58 A 0 A_GiveInventory("Once",1) 
Goto Ready2
Ready2:
ER58 A 0 ACS_ExecuteAlways(998,0,DYE_EVILROBOT)
ER58 A 0 ACS_ExecuteAlways(998,0,DYE_EVILROBOT,1)
ER58 A 1 A_TakeInventory("WeaponCharge",999)
ER58 A 1 A_WeaponReady
Goto Ready2+3
Deselect:
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower
ER08 A 1 A_Lower
Loop
Select:
TNT1 A 0 A_TakeInventory("GigaMans",99)
TNT1 A 0 A_GiveInventory("GigaMans",5)
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise
ER08 A 1 A_Raise
Goto Select+3

Altfire:
ER58 A 0 A_JumpIf(ACS_NamedExecuteWithResult("cbm_user1_check")==1, "User1Fire")
"####" A 0 A_JumpIfInventory("TrioRageWeakness",1,"EvilAlt5")
"####" A 0 A_JumpIfInventory("EvilRageAmmo",1120,"RageActivate")
Goto Ready2+3
}
}

//GWB

actor EvilFistCWater : EvilFistCSword
{
Weapon.SlotNumber 7
tag "Giga Water Balloon"
dropitem "DuoFistUpgrade2GiverDropped"
Weapon.AmmoUse 1
Weapon.AmmoGive 3 
Obituary "$OB_EVILBEAM"//$OB_EVILFIST//Due to NONETID it uses the Weapon Obit
Inventory.Pickupmessage "You got the Evil Fist!"
weapon.ammotype "A1EvilAmmo"
States
{
Spawn:
C_08 K 1
loop
Ready:
ER68 A 1
ER68 A 0 A_JumpIfInventory("Once",1,"Ready2")
ER68 A 0 ACS_ExecuteAlways(981,0,0)
ER68 A 0 ACS_NamedExecuteAlways("cbm_CopyWepAmmoSet",0,2,3)
//ER68 A 0 A_GiveInventory("LMSCheckPickup",1)
ER68 A 0 A_SpawnItemEX("TrioRageManager")
ER68 A 0 A_GiveInventory("Once",1) 
Goto Ready2
Ready2:
ER68 A 0 ACS_ExecuteAlways(998,0,DYE_EVILROBOT)
ER68 A 0 ACS_ExecuteAlways(998,0,DYE_EVILROBOT,1)
ER68 A 1 A_TakeInventory("WeaponCharge",999)
ER68 A 1 A_WeaponReady
Goto Ready2+3
Deselect:
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower
ER08 A 1 A_Lower
Loop
Select:
TNT1 A 0 A_TakeInventory("GigaMans",99)
TNT1 A 0 A_GiveInventory("GigaMans",6)
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise
ER08 A 1 A_Raise
Goto Select+3

Altfire:
ER68 A 0 A_JumpIf(ACS_NamedExecuteWithResult("cbm_user1_check")==1, "User1Fire")
"####" A 0 A_JumpIfInventory("TrioRageWeakness",1,"EvilAlt6")
"####" A 0 A_JumpIfInventory("EvilRageAmmo",1120,"RageActivate")
Goto Ready2+3
}
}

//GIW

actor EvilFistCIce : EvilFistCSword
{
Weapon.SlotNumber 8
tag "Giga Ice Wave"
dropitem "DuoFistUpgrade2GiverDropped"
Weapon.AmmoUse 1
Weapon.AmmoGive 3 
Obituary "$OB_EVILBEAM"//$OB_EVILFIST//Due to NONETID it uses the Weapon Obit
Inventory.Pickupmessage "You got the Evil Fist!"
weapon.ammotype "A1EvilAmmo"
States
{
Spawn:
C_08 K 1
loop
Ready:
ER78 A 1
ER78 A 0 A_JumpIfInventory("Once",1,"Ready2")
ER78 A 0 ACS_ExecuteAlways(981,0,0)
ER78 A 0 ACS_NamedExecuteAlways("cbm_CopyWepAmmoSet",0,2,3)
//ER78 A 0 A_GiveInventory("LMSCheckPickup",1)
ER78 A 0 A_SpawnItemEX("TrioRageManager")
ER78 A 0 A_GiveInventory("Once",1) 
Goto Ready2
Ready2:
ER78 A 0 ACS_ExecuteAlways(998,0,DYE_EVILROBOT)
ER78 A 0 ACS_ExecuteAlways(998,0,DYE_EVILROBOT,1)
ER78 A 1 A_TakeInventory("WeaponCharge",999)
ER78 A 1 A_WeaponReady
Goto Ready2+3
Deselect:
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower
ER08 A 1 A_Lower
Loop
Select:
TNT1 A 0 A_TakeInventory("GigaMans",99)
TNT1 A 0 A_GiveInventory("GigaMans",7)
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise
ER08 A 1 A_Raise
Goto Select+3

Altfire:
ER78 A 0 A_JumpIf(ACS_NamedExecuteWithResult("cbm_user1_check")==1, "User1Fire")
"####" A 0 A_JumpIfInventory("TrioRageWeakness",1,"EvilAlt7")
"####" A 0 A_JumpIfInventory("EvilRageAmmo",1120,"RageActivate")
Goto Ready2+3
}
}

//GAC

actor EvilFistCAstro : EvilFistCSword
{
Weapon.SlotNumber 9
tag "Giga Astro Crush"
dropitem "DuoFistUpgrade2GiverDropped"
Weapon.AmmoUse 1
Weapon.AmmoGive 3 
Obituary "$OB_EVILBEAM"//$OB_EVILFIST//Due to NONETID it uses the Weapon Obit
Inventory.Pickupmessage "You got the Evil Fist!"
weapon.ammotype "A1EvilAmmo"
States
{
Spawn:
C_08 K 1
loop
Ready:
ER88 A 1
ER88 A 0 A_JumpIfInventory("Once",1,"Ready2")
ER88 A 0 ACS_ExecuteAlways(981,0,0)
ER88 A 0 ACS_NamedExecuteAlways("cbm_CopyWepAmmoSet",0,2,3)
//ER88 A 0 A_GiveInventory("LMSCheckPickup",1)
ER88 A 0 A_SpawnItemEX("TrioRageManager")
ER88 A 0 A_GiveInventory("Once",1) 
Goto Ready2
Ready2:
ER88 A 0 ACS_ExecuteAlways(998,0,DYE_EVILROBOT)
ER88 A 0 ACS_ExecuteAlways(998,0,DYE_EVILROBOT,1)
ER88 A 1 A_TakeInventory("WeaponCharge",999)
ER88 A 1 A_WeaponReady
Goto Ready2+3
Deselect:
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower
ER08 A 1 A_Lower
Loop
Select:
TNT1 A 0 A_TakeInventory("GigaMans",99)
TNT1 A 0 A_GiveInventory("GigaMans",8)
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise
ER08 A 1 A_Raise
Goto Select+3

Altfire:
ER88 A 0 A_JumpIf(ACS_NamedExecuteWithResult("cbm_user1_check")==1, "User1Fire")
"####" A 0 A_JumpIfInventory("TrioRageWeakness",1,"EvilAlt8")
"####" A 0 A_JumpIfInventory("EvilRageAmmo",1120,"RageActivate")
Goto Ready2+3
}
}

actor A1EvilAmmo : Ammo
{
inventory.amount 1
inventory.maxamount 3
+INVENTORY.IGNORESKILL
}

actor EvilRageAmmo : Ammo
{
inventory.amount 1
inventory.maxamount 1120
+INVENTORY.IGNORESKILL
}

actor GigaMans : Inventory
{
inventory.amount 1
inventory.maxamount 8
}

actor GigaType : Inventory
{
inventory.amount 1
inventory.maxamount 8
}

actor IsAngery : Inventory
{
inventory.amount 1
inventory.maxamount 1
}

actor TrioFireFlag : OnceC {}
actor TrioGigaFlag : OnceC {}
actor TrioRuneFlag : OnceC {}


actor TrioRageOnPickup : CustomInventory
{
States
{
Pickup:
//TNT1 A 0 A_GiveInventory("SpreadRune_ST",1)
TNT1 A 0 A_GiveInventory("TrioRuneFlag",1)
TNT1 A 0 A_GiveInventory("TrioRageWeakness",1)
TNT1 A 0 A_GiveInventory("GuardDownFlag",1)
TNT1 A 0 A_SpawnItemEx("TrioRageFXBeginHelper",0,0,28,0,0,0,0,1)
//TNT1 A 0 A_JumpIfInventory("IsLMSFlag",1,2)
//TNT1 A 0 ACS_NamedExecuteAlways("cbm_CopyWepAmmoRatioGive",0,100)//DocRobot Ammo//stop
//TNT1 A 0 ACS_NamedExecuteAlways("cbm_CopyWepAmmoRatioGive",0,50)//DocRobot Ammo
stop
//TNT1 A 0 ACS_ExecuteAlways(992,0,0,1)//MTank Ammo
}
}


actor TrioRageOffPickup : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_TakeInventory("TrioRuneFlag",1)
TNT1 A 0 A_TakeInventory("TrioRageWeakness",1)
TNT1 A 0 A_TakeInventory("GuardDownFlag",1)
TNT1 A 0 A_JumpIfInventory("TrioExodiaFlag",1,"Pickup2")
goto Pickup1
Pickup1:
TNT1 A 0 A_TakeInventory("PowerSpread_ST",1)
stop
Pickup2:
TNT1 A 0
stop

}
}

actor TrioSpreadRuneRevert : CustomInventory
{
states
{
Pickup:
TNT1 A 0 A_JumpIfInventory("TrioRuneFlag",1,"Pickup2")
stop
Pickup2:
TNT1 A 0 //A_GiveInventory("SpreadRune_ST",1)
stop
}
}

actor TrioRageWeakness : BasePowerWeak
{
damagefactor "Normal", 1.5
}

actor TrioRageManager : BasicHelper
{
States
{
Spawn:
TNT1 A 0
Spawn2:
TNT1 A 1
TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(C_CHECK_TARGET_OOC)==0,"Death")
TNT1 A 0 A_JumpIfInTargetInventory("EvilFistC",1,1)
goto Death
TNT1 A 0 A_GiveToTarget("TrioRageItem",1)
goto Spawn2
Death:
TNT1 A 0
stop
}
}

actor TrioRageItem : CustomInventory
{
States
{
Pickup:
TNT1 A 0
TNT1 A 0 A_JumpIfInventory("IsAngery",1,"End")
TNT1 A 0 A_JumpIfInventory("TrioRageWeakness",1,"Pickup_Rage")
TNT1 A 0 A_JumpIfInventory("PowerRage_ST",1,"PickupR")
TNT1 A 0 //A_JumpIfInventory("EnergyBalancerActive",1,2)
TNT1 A 0 A_GiveInventory("EvilRageAmmo",2)
goto End
TNT1 A 0 A_GiveInventory("EvilRageAmmo",3)
goto End
PickupR:
TNT1 A 0 //A_JumpIfInventory("EnergyBalancerActive",1,2)
TNT1 A 0 A_GiveInventory("EvilRageAmmo",4)
goto End
TNT1 A 0 A_GiveInventory("EvilRageAmmo",6)
goto End
Pickup_Rage:
TNT1 A 0 A_GiveInventory("TrioRageFX_Pickup",1)
TNT1 A 0 A_JumpIfInventory("TrioGigaFlag",1,"End")
TNT1 A 0 //A_JumpIfInventory("EnergyBalancerActive",1,3)
TNT1 A 0 A_TakeInventory("EvilRageAmmo",4)
TNT1 A 0 A_JumpIfInventory("EvilRageAmmo",1,"End")
goto Pickup_RageEnd
TNT1 A 0 A_TakeInventory("EvilRageAmmo",3)
TNT1 A 0 A_JumpIfInventory("EvilRageAmmo",1,"End")
goto Pickup_RageEnd
Pickup_RageEnd:
TNT1 A 0 A_GiveInventory("TrioRageOffPickup",1)
goto End

End:
TNT1 A 0
stop
}
}

actor TrioRageFX_Pickup : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_SpawnItemEx("TrioRageFX",random(24,56),0,random(8,48),0,0,2,random(0,359),1)
stop
}
}

actor TrioRageFX : BasicClientSide
{
renderstyle translucent
alpha 0.8
Scale 1.5
States
{
Spawn:
EVFL XXXXYYYYYZZZZZ 1 A_FadeOut(0.06)
wait
}
}

actor TrioRageFXBeginHelper : BasicHelper
{
States
{
Spawn:
TNT1 A 0
TNT1 A 1 A_SpawnItemEx("TrioRageFXBegin",0,0,0,0,0,0,0,1)
stop
}
}

actor TrioRageFXBegin : BasicClientSide
{
var int user_A;
reactiontime 18
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_SetUserVar("user_A",random(0,20))
TNT1 A 0 A_SpawnItemEx("TrioRageFX",10,0,30,5,0,9,user_A+15,37)
TNT1 A 0 A_SpawnItemEx("TrioRageFX",20,0,20,10,0,6,user_A+10,37)
TNT1 A 0 A_SpawnItemEx("TrioRageFX",30,0,10,15,0,3,user_A+5,37)
TNT1 A 0 A_SpawnItemEx("TrioRageFX",40,0,0,20,0,0,user_A,37)
TNT1 A 0 A_SpawnItemEx("TrioRageFX",30,0,-10,15,0,-3,user_A+5,37)
TNT1 A 0 A_SpawnItemEx("TrioRageFX",20,0,-20,10,0,-6,user_A+10,37)
TNT1 A 0 A_SpawnItemEx("TrioRageFX",10,0,-30,5,0,-9,user_A+15,37)
TNT1 A 0 A_SetUserVar("user_A",user_A+20)
TNT1 A 0 A_Countdown
goto Spawn+2
Death:
TNT1 A 0
TNT1 A 0 A_SpawnItemEx("TrioRageFX",0,0,40,0,0,12,0,37)
TNT1 A 0 A_SpawnItemEx("TrioRageFX",0,0,-40,0,0,-12,0,37)
stop
}
}
//weapon/TrioCharge0
actor Trio_BeamProtect : PowerProtection
{
Powerup.Duration 6
damagefactor "Trio_Beam", 0.0
}

actor TrioSpectrumWeaken : BasePowerDamage
{
Powerup.Duration 200
damagefactor "Normal", 0.75
}

actor Trio_Beam_P : CustomInventory
{
States
{
Pickup:
TNT1 A 0 
TNT1 A 0 A_JumpIfInventory("TrioSpectrumWeaken",1,2)
TNT1 A 0 A_SpawnItemEx("TrioSpectrumWeaken_H")
TNT1 A 0 A_GiveInventory("TrioSpectrumWeaken",1)
TNT1 A 0 A_GiveInventory("Trio_BeamProtect",1)
stop
}
}

actor TrioSpectrumWeaken_H : BasicHelper
{
States
{
Spawn:
TNT1 A 0 
TNT1 A 3 A_GiveToTarget("TrioSpectrumWeakenFX_P",1)
TNT1 A 0 A_JumpIfInTargetInventory("TrioSpectrumWeaken",1,"Spawn")
stop
}
}

actor TrioSpectrumWeakenFX_P : CustomInventory
{
States
{
Pickup:
TNT1 A 0
TNT1 A 0 A_SpawnItemEx("TrioSpectrumWeakenFX",random(24,64),0,Random(48,64),0,0,-1.5,random(0,359))//,1)
stop
}
}

actor TrioSpectrumWeakenFX
{
Translation "192:192=41:41", "198:198=249:249"
//+FLOATBOB
+NOGRAVITY
+THRUACTORS
+CLIENTSIDEONLY
+FORCEXYBILLBOARD
+MISSILE
RenderStyle "Translucent"
Alpha 0.6
ReactionTime 1//20
Damage(0)
Height 0
Radius 0
Scale 1.25
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_Jump(256,"Spawn2","Spawn3")
goto Spawn2
Spawn2:
ERO9 K 40
ERO9 K 2 A_CountDown
wait
Spawn3:
ERO9 L 40
ERO9 L 2 A_CountDown
wait
Death:
"####" "#" 1 A_JumpIfInventory("CutterFlag",1,"Death2")
stop
Death2:
"####" "#" 0 ThrustThingZ(0,4,1,1)
"####" "###" 2 A_FadeOut(0.15)
stop
}
}

actor FireTrioSpectrum1 : TeamColor_CI
{
states
{
Pickup:
TNT1 A 0 A_TakeInventory("EvilRageAmmo",8)
TNT1 A 0 A_PlaySoundEx("weapon/TrioCharge4","Weapon")
TNT1 A 0 ACS_ExecuteAlways(C_JAX_SPECTRUM_TURN,0,angle,pitch)
TNT1 A 0 A_JumpIf((ACS_ExecuteWithResult(C_GET_USER_VAR,WEPANGLE_NUM,1)-angle)*(ACS_ExecuteWithResult(C_GET_USER_VAR,WEPANGLE_NUM,1)-angle)<1 && (pitch-ACS_ExecuteWithResult(C_GET_USER_VAR,WEPPITCH_NUM,1))*(pitch-ACS_ExecuteWithResult(C_GET_USER_VAR,WEPPITCH_NUM,1))<1, "Pickup2")
Goto Super::Pickup
FireX:
TNT1 A 0 A_FireCustomMissile("TrioSpectrumS",ACS_ExecuteWithResult(C_GET_USER_VAR,WEPANGLE_NUM,1)-angle,0,0,0,0,pitch-ACS_ExecuteWithResult(C_GET_USER_VAR,WEPPITCH_NUM,1))
goto Done
FireB:
TNT1 A 0 A_FireCustomMissile("TrioSpectrumSB",ACS_ExecuteWithResult(C_GET_USER_VAR,WEPANGLE_NUM,1)-angle,0,0,0,0,pitch-ACS_ExecuteWithResult(C_GET_USER_VAR,WEPPITCH_NUM,1))
goto Done
FireR:
TNT1 A 0 A_FireCustomMissile("TrioSpectrumSR",ACS_ExecuteWithResult(C_GET_USER_VAR,WEPANGLE_NUM,1)-angle,0,0,0,0,pitch-ACS_ExecuteWithResult(C_GET_USER_VAR,WEPPITCH_NUM,1))
goto Done
FireO:
TNT1 A 0 A_FireCustomMissile("TrioSpectrumSO",ACS_ExecuteWithResult(C_GET_USER_VAR,WEPANGLE_NUM,1)-angle,0,0,0,0,pitch-ACS_ExecuteWithResult(C_GET_USER_VAR,WEPPITCH_NUM,1))
goto Done
FireP:
TNT1 A 0 A_FireCustomMissile("TrioSpectrumSP",ACS_ExecuteWithResult(C_GET_USER_VAR,WEPANGLE_NUM,1)-angle,0,0,0,0,pitch-ACS_ExecuteWithResult(C_GET_USER_VAR,WEPPITCH_NUM,1))
goto Done

Pickup2:
TNT1 A 0 A_JumpIfInventory("LightTeamFlag",1,"FireB2")
TNT1 A 0 A_JumpIfInventory("WilyTeamFlag",1,"FireR2")
TNT1 A 0 A_JumpIfInventory("CossackTeamFlag",1,"FireO2")
TNT1 A 0 A_JumpIfInventory("KingTeamFlag",1,"FireP2")
TNT1 A 0 A_JumpIfInventory("IsInGame",1,"FireX2")
goto Done
FireX2:
TNT1 A 0 A_FireCustomMissile("TrioSpectrumS",0,0,0,0,0,0)
goto Done
FireB2:
TNT1 A 0 A_FireCustomMissile("TrioSpectrumSB",0,0,0,0,0,0)
goto Done
FireR2:
TNT1 A 0 A_FireCustomMissile("TrioSpectrumSR",0,0,0,0,0,0)
goto Done
FireO2:
TNT1 A 0 A_FireCustomMissile("TrioSpectrumSO",0,0,0,0,0,0)
goto Done
FireP2:
TNT1 A 0 A_FireCustomMissile("TrioSpectrumSP",0,0,0,0,0,0)
goto Done
}
}

actor FireTrioSpectrum2 : TeamColor_CI
{
states
{
Pickup:
TNT1 A 0 A_TakeInventory("EvilRageAmmo",8)
TNT1 A 0 A_PlaySoundEx("weapon/TrioCharge4","Weapon")
TNT1 A 0 ACS_ExecuteAlways(C_JAX_SPECTRUM_TURN,0,angle,pitch)
TNT1 A 0 A_JumpIf((ACS_ExecuteWithResult(C_GET_USER_VAR,WEPANGLE_NUM,1)-angle)*(ACS_ExecuteWithResult(C_GET_USER_VAR,WEPANGLE_NUM,1)-angle)<1 && (pitch-ACS_ExecuteWithResult(C_GET_USER_VAR,WEPPITCH_NUM,1))*(pitch-ACS_ExecuteWithResult(C_GET_USER_VAR,WEPPITCH_NUM,1))<1, "Pickup2")
Goto Super::Pickup
FireX:
TNT1 A 0 A_FireCustomMissile("TrioSpectrum2S",ACS_ExecuteWithResult(C_GET_USER_VAR,WEPANGLE_NUM,1)-angle,0,0,0,0,pitch-ACS_ExecuteWithResult(C_GET_USER_VAR,WEPPITCH_NUM,1))
TNT1 A 0 A_FireCustomMissile("TrioSpectrum3",ACS_ExecuteWithResult(C_GET_USER_VAR,WEPANGLE_NUM,1)-angle,0,0,0,0,pitch-ACS_ExecuteWithResult(C_GET_USER_VAR,WEPPITCH_NUM,1))
goto Done
FireB:
TNT1 A 0 A_FireCustomMissile("TrioSpectrum2SB",ACS_ExecuteWithResult(C_GET_USER_VAR,WEPANGLE_NUM,1)-angle,0,0,0,0,pitch-ACS_ExecuteWithResult(C_GET_USER_VAR,WEPPITCH_NUM,1))
TNT1 A 0 A_FireCustomMissile("TrioSpectrum3B",ACS_ExecuteWithResult(C_GET_USER_VAR,WEPANGLE_NUM,1)-angle,0,0,0,0,pitch-ACS_ExecuteWithResult(C_GET_USER_VAR,WEPPITCH_NUM,1))
goto Done
FireR:
TNT1 A 0 A_FireCustomMissile("TrioSpectrum2SR",ACS_ExecuteWithResult(C_GET_USER_VAR,WEPANGLE_NUM,1)-angle,0,0,0,0,pitch-ACS_ExecuteWithResult(C_GET_USER_VAR,WEPPITCH_NUM,1))
TNT1 A 0 A_FireCustomMissile("TrioSpectrum3R",ACS_ExecuteWithResult(C_GET_USER_VAR,WEPANGLE_NUM,1)-angle,0,0,0,0,pitch-ACS_ExecuteWithResult(C_GET_USER_VAR,WEPPITCH_NUM,1))
goto Done
FireO:
TNT1 A 0 A_FireCustomMissile("TrioSpectrum2SO",ACS_ExecuteWithResult(C_GET_USER_VAR,WEPANGLE_NUM,1)-angle,0,0,0,0,pitch-ACS_ExecuteWithResult(C_GET_USER_VAR,WEPPITCH_NUM,1))
TNT1 A 0 A_FireCustomMissile("TrioSpectrum3O",ACS_ExecuteWithResult(C_GET_USER_VAR,WEPANGLE_NUM,1)-angle,0,0,0,0,pitch-ACS_ExecuteWithResult(C_GET_USER_VAR,WEPPITCH_NUM,1))
goto Done
FireP:
TNT1 A 0 A_FireCustomMissile("TrioSpectrum2SP",ACS_ExecuteWithResult(C_GET_USER_VAR,WEPANGLE_NUM,1)-angle,0,0,0,0,pitch-ACS_ExecuteWithResult(C_GET_USER_VAR,WEPPITCH_NUM,1))
TNT1 A 0 A_FireCustomMissile("TrioSpectrum3P",ACS_ExecuteWithResult(C_GET_USER_VAR,WEPANGLE_NUM,1)-angle,0,0,0,0,pitch-ACS_ExecuteWithResult(C_GET_USER_VAR,WEPPITCH_NUM,1))
goto Done

Pickup2:
TNT1 A 0 A_JumpIfInventory("LightTeamFlag",1,"FireB2")
TNT1 A 0 A_JumpIfInventory("WilyTeamFlag",1,"FireR2")
TNT1 A 0 A_JumpIfInventory("CossackTeamFlag",1,"FireO2")
TNT1 A 0 A_JumpIfInventory("KingTeamFlag",1,"FireP2")
TNT1 A 0 A_JumpIfInventory("IsInGame",1,"FireX2")
goto Done
FireX2:
TNT1 A 0 A_FireCustomMissile("TrioSpectrum2S",0,0,0,0,0,0)
TNT1 A 0 A_FireCustomMissile("TrioSpectrum3",0,0,0,0,0,0)
goto Done
FireB2:
TNT1 A 0 A_FireCustomMissile("TrioSpectrum2SB",0,0,0,0,0,0)
TNT1 A 0 A_FireCustomMissile("TrioSpectrum3B",0,0,0,0,0,0)
goto Done
FireR2:
TNT1 A 0 A_FireCustomMissile("TrioSpectrum2SR",0,0,0,0,0,0)
TNT1 A 0 A_FireCustomMissile("TrioSpectrum3R",0,0,0,0,0,0)
goto Done
FireO2:
TNT1 A 0 A_FireCustomMissile("TrioSpectrum2SO",0,0,0,0,0,0)
TNT1 A 0 A_FireCustomMissile("TrioSpectrum3O",0,0,0,0,0,0)
goto Done
FireP2:
TNT1 A 0 A_FireCustomMissile("TrioSpectrum2SP",0,0,0,0,0,0)
TNT1 A 0 A_FireCustomMissile("TrioSpectrum3P",0,0,0,0,0,0)
goto Done
}
}

actor FireTrioSpectrum3 : TeamColor_CI
{
states
{
Pickup:
TNT1 A 0 A_TakeInventory("EvilRageAmmo",8)
TNT1 A 0 A_PlaySoundEx("weapon/TrioCharge4","Weapon")
TNT1 A 0 ACS_ExecuteAlways(C_JAX_SPECTRUM_TURN,0,angle,pitch)
TNT1 A 0 A_JumpIf((ACS_ExecuteWithResult(C_GET_USER_VAR,WEPANGLE_NUM,1)-angle)*(ACS_ExecuteWithResult(C_GET_USER_VAR,WEPANGLE_NUM,1)-angle)<1 && (pitch-ACS_ExecuteWithResult(C_GET_USER_VAR,WEPPITCH_NUM,1))*(pitch-ACS_ExecuteWithResult(C_GET_USER_VAR,WEPPITCH_NUM,1))<1, "Pickup2")
Goto Super::Pickup
FireX:
TNT1 A 0 A_FireCustomMissile("TrioSpectrum2S",ACS_ExecuteWithResult(C_GET_USER_VAR,WEPANGLE_NUM,1)-angle,0,0,0,0,pitch-ACS_ExecuteWithResult(C_GET_USER_VAR,WEPPITCH_NUM,1))
goto Done
FireB:
TNT1 A 0 A_FireCustomMissile("TrioSpectrum2SB",ACS_ExecuteWithResult(C_GET_USER_VAR,WEPANGLE_NUM,1)-angle,0,0,0,0,pitch-ACS_ExecuteWithResult(C_GET_USER_VAR,WEPPITCH_NUM,1))
goto Done
FireR:
TNT1 A 0 A_FireCustomMissile("TrioSpectrum2SR",ACS_ExecuteWithResult(C_GET_USER_VAR,WEPANGLE_NUM,1)-angle,0,0,0,0,pitch-ACS_ExecuteWithResult(C_GET_USER_VAR,WEPPITCH_NUM,1))
goto Done
FireO:
TNT1 A 0 A_FireCustomMissile("TrioSpectrum2SO",ACS_ExecuteWithResult(C_GET_USER_VAR,WEPANGLE_NUM,1)-angle,0,0,0,0,pitch-ACS_ExecuteWithResult(C_GET_USER_VAR,WEPPITCH_NUM,1))
goto Done
FireP:
TNT1 A 0 A_FireCustomMissile("TrioSpectrum2SP",ACS_ExecuteWithResult(C_GET_USER_VAR,WEPANGLE_NUM,1)-angle,0,0,0,0,pitch-ACS_ExecuteWithResult(C_GET_USER_VAR,WEPPITCH_NUM,1))
goto Done

Pickup2:
TNT1 A 0 A_JumpIfInventory("LightTeamFlag",1,"FireB2")
TNT1 A 0 A_JumpIfInventory("WilyTeamFlag",1,"FireR2")
TNT1 A 0 A_JumpIfInventory("CossackTeamFlag",1,"FireO2")
TNT1 A 0 A_JumpIfInventory("KingTeamFlag",1,"FireP2")
TNT1 A 0 A_JumpIfInventory("IsInGame",1,"FireX2")
goto Done
FireX2:
TNT1 A 0 A_FireCustomMissile("TrioSpectrum2S",0,0,0,0,0,0)
goto Done
FireB2:
TNT1 A 0 A_FireCustomMissile("TrioSpectrum2SB",0,0,0,0,0,0)
goto Done
FireR2:
TNT1 A 0 A_FireCustomMissile("TrioSpectrum2SR",0,0,0,0,0,0)
goto Done
FireO2:
TNT1 A 0 A_FireCustomMissile("TrioSpectrum2SO",0,0,0,0,0,0)
goto Done
FireP2:
TNT1 A 0 A_FireCustomMissile("TrioSpectrum2SP",0,0,0,0,0,0)
goto Done
}
}

actor TrioSpectrum
{
Translation "192:192=41:41", "198:198=249:249"
PROJECTILE
Obituary "$OB_EVILBEAM"
DamageType "Trio_Beam"
+RIPPER
+DONTBLAST
+DONTREFLECT
+CLIENTSIDEONLY
//+NONETID
+PAINLESS
damage (0)
Radius 11
Height 11
speed 30
scale 1.5
renderstyle translucent
alpha 0.75
states
{
Spawn:
EVFL A 0
EVFL A 0 A_SpawnItemEx("TrioSpectrum",0,0,0,momx,momy,momz,0,41)
EVFL A 0 A_Stop
Death:
ERO9 B 1 
stop
}
}

actor TrioSpectrumS : TrioSpectrum
{
+INVISIBLE
-CLIENTSIDEONLY
+NONETID
}

actor TrioSpectrumSB : TrioSpectrumS{translation "192:192=205:205","198:198=74:74"}
actor TrioSpectrumSR : TrioSpectrumS{translation "192:192=171:171","198:198=41:41"}
actor TrioSpectrumSO : TrioSpectrumS{translation "192:192=104:104","198:198=128:128"}
actor TrioSpectrumSP : TrioSpectrumS{translation "192:192=229:229","198:198=232:232"}

actor TrioSpectrum2 : TrioSpectrum
{
states
{
Spawn:
EVFL B 0
EVFL B 0 A_SpawnItemEx("TrioSpectrum2",0,0,0,momx,momy,momz,0,41)
EVFL B 0 A_Stop
Death:
ERO9 B 1 
stop
}
}

actor TrioSpectrum2S : TrioSpectrum2
{
+INVISIBLE
-CLIENTSIDEONLY
+NONETID
}


actor TrioSpectrum2SB : TrioSpectrum2S{translation "192:192=205:205","198:198=74:74"}
actor TrioSpectrum2SR : TrioSpectrum2S{translation "192:192=171:171","198:198=41:41"}
actor TrioSpectrum2SO : TrioSpectrum2S{translation "192:192=104:104","198:198=128:128"}
actor TrioSpectrum2SP : TrioSpectrum2S{translation "192:192=229:229","198:198=232:232"}

actor TrioSpectrum3 : TrioSpectrum
{
damage (5)
+THRUGHOST
-PAINLESS
-CLIENTSIDEONLY
+NONETID
states
{
Spawn:
TNT1 A 0
TNT1 A 0 A_SpawnItemEx("TrioSpectrum3",0,0,0,momx,momy,momz,0,41)
TNT1 A 0 A_Stop
Death:
TNT1 A 0
stop
}
}

actor TrioSpectrum3B : TrioSpectrum3{translation "192:192=205:205","198:198=74:74"}
actor TrioSpectrum3R : TrioSpectrum3{translation "192:192=171:171","198:198=41:41"}
actor TrioSpectrum3O : TrioSpectrum3{translation "192:192=104:104","198:198=128:128"}
actor TrioSpectrum3P : TrioSpectrum3{translation "192:192=229:229","198:198=232:232"}


actor MidFistEvil
{
//Translation "192:192=176:176", "198:198=79:79"
Translation "192:192=41:41", "198:198=249:249"
PROJECTILE
damagetype "Trio_Shot2"
Obituary "$OB_EVILFIST"
+SKYEXPLODE
+EXPLODEONWATER
Damage (30)//350
Radius 16
Height 16//10
Speed 26
Scale 2.5
States
{
Spawn:
TNT1 A 0
TNT1 A 0 ACS_NamedExecuteAlways("BULL_Tidifier", 0)
SpawnLOOP:
EVFL CD 1
Loop
Death:
TNT1 A 0 A_PlaySoundEx("weapon/fistimpact","Body")
EVFL F 0 A_Recoil(5)
DeathLOOP:
EVFL CD 1 A_FadeOut
loop
}
}

actor MidFistEvilB : MidFistEvil{translation "192:192=205:205","198:198=74:74"}
actor MidFistEvilR : MidFistEvil{translation "192:192=171:171","198:198=41:41"}
actor MidFistEvilO : MidFistEvil{translation "192:192=104:104","198:198=128:128"}
actor MidFistEvilP : MidFistEvil{translation "192:192=229:229","198:198=232:232"}


actor GigaFistEvil
{
//Translation "192:192=176:176", "198:198=79:79"
Translation "192:192=41:41", "198:198=249:249"
PROJECTILE
damagetype "Trio_Shot3"
Obituary "$OB_EVILFIST"
+SKYEXPLODE
+EXPLODEONWATER
RenderStyle "Translucent"
Alpha 0.98
Damage (55)
Radius 24
Height 20
Speed 26
scale 2.5
States
{
Spawn:
TNT1 A 0
TNT1 A 0 ACS_NamedExecuteAlways("BULL_Tidifier", 0)
SpawnLOOP:
TNT1 A 0 A_PlaySoundEx("weapon/TrioCharge2","Weapon")
TNT1 A 0 A_PlaySoundEx("weapon/fistringtravel","Body")
EVFL F 2
EVFL F 1 A_SpawnItemEx("GigaFistEvilFX",64,0,0,momx/7,momy/7,momz/7,0,9)
EVFL G 2
loop
Death:
EVFL F 0 
TNT1 A 0 A_PlaySoundEx("weapon/fistimpact","Weapon")
TNT1 A 0 A_PlaySoundEx("weapon/DuoShot2","Body")
EVFL F 0 A_Recoil(5)
EVFL F 1 A_FadeOut
wait
}
}

actor GigaFistEvilB : GigaFistEvil{translation "192:192=205:205","198:198=74:74"}
actor GigaFistEvilR : GigaFistEvil{translation "192:192=171:171","198:198=41:41"}
actor GigaFistEvilO : GigaFistEvil{translation "192:192=104:104","198:198=128:128"}
actor GigaFistEvilP : GigaFistEvil{translation "192:192=229:229","198:198=232:232"}

Actor GigaFistEvilFX : BasicClientSide
{
States
{
Spawn:
TNT1 A 1
EVFL H 3
EVFL I 5
EVFL I 1 A_FadeOut(0.5)
wait
}
}

actor EvilMain2_CI : TeamColor_CI
{
states
{
FireX:
TNT1 A 0 A_FireCustomMissile("MidFistEvil",0,0,8,0)
goto Done
FireB:
TNT1 A 0 A_FireCustomMissile("MidFistEvilB",0,0,8,0)
goto Done
FireR:
TNT1 A 0 A_FireCustomMissile("MidFistEvilR",0,0,8,0)
goto Done
FireO:
TNT1 A 0 A_FireCustomMissile("MidFistEvilO",0,0,8,0)
goto Done
FireP:
TNT1 A 0 A_FireCustomMissile("MidFistEvilP",0,0,8,0)
goto Done
}
}

actor EvilMain3_CI : TeamColor_CI
{
states
{
FireX:
TNT1 A 0 A_FireCustomMissile("GigaFistEvil",0,0,8,0)
goto Done
FireB:
TNT1 A 0 A_FireCustomMissile("GigaFistEvilB",0,0,8,0)
goto Done
FireR:
TNT1 A 0 A_FireCustomMissile("GigaFistEvilR",0,0,8,0)
goto Done
FireO:
TNT1 A 0 A_FireCustomMissile("GigaFistEvilO",0,0,8,0)
goto Done
FireP:
TNT1 A 0 A_FireCustomMissile("GigaFistEvilP",0,0,8,0)
goto Done
}
}


actor EvilTrioSparkle : BasicClientSide
{
Translation "198:198=4:4","192:192=4:4"
Renderstyle "Translucent"
Alpha 0.95
ReactionTime 10
States
{
Spawn:
X_2F A 0
X_2F A 0 A_Jump(256,1,2,3,4,5,6)
X_2F ABC 2 bright A_CountDown
goto Spawn+2
X_2F DEF 2 bright A_CountDown
goto Spawn+5
}
}

//Quote from EvilRobot actor in core file.
////
// If you use ALL the following crap in your classes mod you are bad and you should feel bad
//no u
//-MGO
////

////
////////
//TornadoHold
////////
////
actor TrioTornadoHelper : BasicHelper
{
ReactionTime 28
States
{
Spawn:
TNT1 A 0 A_CountDown
TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(C_CHECK_TARGET_OOC)==0,"Death")
TNT1 A 1 A_GiveToTarget("TrioTornadoThrust",1)
loop
}
}

actor TrioTornadoThrust : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_JumpIfInventory("FlightDisableFlag",1,2)
TNT1 A 0 ThrustThingZ(0,40,0,0)
TNT1 A 0
stop
}
}



actor TrioTornado
{
Translation "250:250=34:34", "194:194=39:39"
PROJECTILE
Obituary "$OB_GIGA_TORNADOHOLD"
damagetype "TrioTornadoHold"
+FLOORHUGGER
+RIPPER
+THRUGHOST
+NOCLIP
+DONTSPLASH
renderstyle Translucent
damage (0)
Radius 10
Height 10
Speed 20
Alpha 0.7
reactiontime 16
scale 2.5
States
{
Spawn:
TNT1 A 0
TNT1 A 0 ACS_NamedExecuteAlways("BULL_Tidifier", 0)
SpawnLOOP:
EVFL N 0 A_CountDown
EVFL NOP 2 A_SpawnItemEx("TrioTornadoDamager",0,0,0,0,0,0,0)
EVFL N 0 A_PlaySoundEx("weapon/superboost","Weapon")
loop
}
}

actor TrioTornadoDamager
{
PROJECTILE
Obituary "$OB_GIGA_TORNADOHOLD"
damagetype "TrioTornadoHold"
+RIPPER
+DONTSPLASH
+DONTBLAST
+THRUGHOST
Damage (5)
Radius 65
Height 1350
Speed 0
States
{
Spawn:
TNT1 A 2
stop
}
}

////
////////
//AstroCrush
////////
////
actor TrioAstroCrush
{
PROJECTILE
+NOINTERACTION
height 1
radius 1
States
{
Spawn:
TNT1 A 0
TNT1 A 5 A_SpawnItemEx("TrioMeteor",2,0,0,17,0,0,0,1)
TNT1 A 5 A_SpawnItemEx("TrioMeteor",2,0,0,17,random(-30,30),random(-15,15),0,1)
TNT1 A 5 A_SpawnItemEx("TrioMeteor",2,0,0,17,random(-30,30),random(-15,15),0,1)
TNT1 A 5 A_SpawnItemEx("TrioMeteor",2,0,0,17,random(-30,30),random(-15,15),0,1)
TNT1 A 5 A_SpawnItemEx("TrioMeteor",2,0,0,17,random(-30,30),random(-15,15),0,1)
TNT1 A 5 A_SpawnItemEx("TrioMeteor",2,0,0,17,random(-30,30),random(-15,15),0,1)
TNT1 A 5 A_SpawnItemEx("TrioMeteor",2,0,0,17,random(-30,30),random(-15,15),0,1)
TNT1 A 5 A_SpawnItemEx("TrioMeteor",2,0,0,17,random(-30,30),random(-15,15),0,1)
TNT1 A 5 A_SpawnItemEx("TrioMeteor",2,0,0,17,random(-30,30),random(-15,15),0,1)
TNT1 A 5 A_SpawnItemEx("TrioMeteor",2,0,0,17,random(-30,30),random(-15,15),0,1)
stop
}
}

actor TrioMeteor
{
var int user_A;
PROJECTILE
Obituary "$OB_GIGA_ASTROCRUSH"
Damagetype "TrioAstroCrush"
+THRUACTORS
+HEXENBOUNCE
renderstyle translucent
alpha 0.1
Damage (5)
Radius 52//260
Height 60//300
Speed 35
Scale 2.0//4.0
States
{
Spawn:
TNT1 A 0
TNT1 A 0 ACS_NamedExecuteAlways("BULL_Tidifier", 0)
SpawnLOOP:
EVFL Q 0
EVFL Q 0 ACS_ExecuteAlways(259,0,0)//Change pitch to player pitch
EVFL Q 0 A_SetUserVar("user_A",ACS_ExecuteWithResult(259,4)*360/256)//Record player angle
goto Spawn2
Spawn2:
EVFL Q 0 A_JumpIfInventory("CutterFlag",16,"Spawn3")
EVFL QQ 0 A_SpawnItemEx("EvilTrioSparkle",random(-16,16),random(-16,16),random(-16,16),0,0,0,0,1)
EVFL Q 1 A_Recoil(2.5)
EVFL Q 0 A_GiveInventory("CutterFlag",1)
loop
Spawn3:
EVFL Q 0 A_Stop
EVFL Q 0 A_GiveInventory("ResyncPickup",1)
goto Spawn4
Spawn4:
EVFL Q 0 A_JumpIfInventory("CutterFlag",18,"SpawnEnd")
EVFL QQQ 0 A_SpawnItemEx("EvilTrioSparkle",random(-32,32),random(-32,32),random(8,56),0,0,0,0,1)
EVFL Q 1
EVFL QQQ 0 A_SpawnItemEx("EvilTrioSparkle",random(-32,32),random(-32,32),random(8,56),0,0,0,0,1)
EVFL Q 1
EVFL QQQ 0 A_SpawnItemEx("EvilTrioSparkle",random(-32,32),random(-32,32),random(8,56),0,0,0,0,1)
EVFL Q 1
EVFL QQQ 0 A_SpawnItemEx("EvilTrioSparkle",random(-32,32),random(-32,32),random(8,56),0,0,0,0,1)
EVFL Q 1
EVFL QQQ 0 A_SpawnItemEx("EvilTrioSparkle",random(-32,32),random(-32,32),random(8,56),0,0,0,0,1)
EVFL Q 0 A_FadeIn(0.1)
EVFL Q 1 A_GiveInventory("CutterFlag",1)
loop
SpawnEnd:
EVFL Q 0 A_SpawnItemEx("TrioMeteor2",0,0,0,cos(-pitch)*35,0,sin(-pitch)*35,user_A,5)
stop
Death:
TNT1 A 0
TNT1 A 1 A_JumpIfInventory("CutterFlag",8,"Death2")
stop
Death2:
TNT1 A 0 A_playSoundEx("weapon/astrocrush","Weapon")
TNT1 A 0 A_Explode(20,256,0,0,256)
TNT1 AAAAAAAAAAAAAAAAA 1 A_SpawnItemEx("TrioMeteorExplodeFX",random(-72,72),random(-72,72),random(-72,72),0,0,0,0,1)
stop
}
}

actor GigaAstroCrushProtect : PowerProtection
{
Powerup.Duration 15
DamageFactor "TrioAstroCrush", 0.2//0.375
}

actor TrioMeteor2 : TrioMeteor
{
-HEXENBOUNCE
-THRUACTORS
alpha 1.0
Damage (5)
Speed 35
Scale 2.0
States
{
Spawn:
TNT1 A 0
TNT1 A 0 ACS_NamedExecuteAlways("BULL_Tidifier", 0)
EVFL Q 1
EVFL Q 0 A_ChangeFlag("NOEXPLODEFLOOR",FALSE)
SpawnLOOP:
EVFL Q 4 A_SpawnItemEx("TrioMeteorFX",0,0,0,0,0,0,0,1)
EVFK Q 0 A_CheckFloor("Death2")
loop
Death:
TNT1 A 0
goto Death2
}
}

actor TrioMeteorExplodeFX : BasicClientSide
{
scale 2.0
States
{
Spawn:
TNT1 A 0
TNT1 A 0 ACS_NamedExecuteAlways("BULL_Tidifier", 0)
SpawnLOOP:
X_8B A 0
X_8B ABCDEF 2
stop
}
}

actor TrioMeteorFX : BasicClientSide
{
alpha 0.3
renderstyle translucent
Scale 2.0//4.0
States
{
Spawn:
TNT1 A 0
TNT1 A 0 ACS_NamedExecuteAlways("BULL_Tidifier", 0)
SpawnLOOP:
EVFL Q 0
EVFL Q 2 A_FadeOut(0.02)
wait
}
}

////
////////
//FlameSword
////////
////
actor TrioFlameSwing1
{
+MISSILE
speed 1
+NOGRAVITY
+NOINTERACTION
states
{
Spawn:
TNT1 A 0
TNT1 A 0 ACS_NamedExecuteAlways("BULL_Tidifier", 0)

TNT1 A 1 A_SpawnItemEx("TrioFlameTip",3,315,240,momx*38,momy*38,momz*38,0,9)
TNT1 A 0 A_SpawnItemEx("TrioFlameTip",3,280,220,momx*38,momy*38,momz*38,0,9)
TNT1 A 1 A_SpawnItemEx("TrioFlame",3,245,200,momx*38,momy*38,momz*38,0,9)
TNT1 A 0 A_SpawnItemEx("TrioFlame",3,210,180,momx*38,momy*38,momz*38,0,9)
TNT1 A 1 A_SpawnItemEx("TrioFlame",3,175,160,momx*38,momy*38,momz*38,0,9)
TNT1 A 0 A_SpawnItemEx("TrioFlame",3,140,140,momx*38,momy*38,momz*38,0,9)
TNT1 A 1 A_SpawnItemEx("TrioFlame",3,105,120,momx*38,momy*38,momz*38,0,9)
TNT1 A 0 A_SpawnItemEx("TrioFlame",3,70,100,momx*38,momy*38,momz*38,0,9)
TNT1 A 1 A_SpawnItemEx("TrioFlame",3,35,80,momx*38,momy*38,momz*38,0,9)

TNT1 A 0 A_SpawnItemEx("TrioFlame",3,0,60,momx*38,momy*38,momz*38,0,9)//Middle

TNT1 A 1 A_SpawnItemEx("TrioFlame",3,-35,40,momx*38,momy*38,momz*38,0,9)
TNT1 A 0 A_SpawnItemEx("TrioFlame",3,-70,20,momx*38,momy*38,momz*38,0,9)
TNT1 A 1 A_SpawnItemEx("TrioFlame",3,-105,0,momx*38,momy*38,momz*38,0,9)
TNT1 A 0 A_SpawnItemEx("TrioFlame",3,-140,-20,momx*38,momy*38,momz*38,0,9)
TNT1 A 1 A_SpawnItemEx("TrioFlame",3,-175,-40,momx*38,momy*38,momz*38,0,9)
TNT1 A 0 A_SpawnItemEx("TrioFlame",3,-210,-60,momx*38,momy*38,momz*38,0,9)
TNT1 A 1 A_SpawnItemEx("TrioFlame",3,-245,-80,momx*38,momy*38,momz*38,0,9)
TNT1 A 0 A_SpawnItemEx("TrioFlameTip",3,-280,-100,momx*38,momy*38,momz*38,0,9)
TNT1 A 1 A_SpawnItemEx("TrioFlameTip",3,-315,-120,momx*38,momy*38,momz*38,0,9)

stop
}
}

actor TrioFlameSwing2
{
+MISSILE
speed 1
+NOGRAVITY
+NOINTERACTION
states
{
Spawn:
TNT1 A 0
TNT1 A 0 ACS_NamedExecuteAlways("BULL_Tidifier", 0)

TNT1 A 1 A_SpawnItemEx("TrioFlameTip",3,-315,120,momx*38,momy*38,momz*38,0,9)
TNT1 A 0 A_SpawnItemEx("TrioFlameTip",3,-280,240,momx*38,momy*38,momz*38,0,9)
TNT1 A 1 A_SpawnItemEx("TrioFlame",3,-245,200,momx*38,momy*38,momz*38,0,9)
TNT1 A 0 A_SpawnItemEx("TrioFlame",3,-210,180,momx*38,momy*38,momz*38,0,9)
TNT1 A 1 A_SpawnItemEx("TrioFlame",3,-175,160,momx*38,momy*38,momz*38,0,9)
TNT1 A 0 A_SpawnItemEx("TrioFlame",3,-140,140,momx*38,momy*38,momz*38,0,9)
TNT1 A 1 A_SpawnItemEx("TrioFlame",3,-105,120,momx*38,momy*38,momz*38,0,9)
TNT1 A 0 A_SpawnItemEx("TrioFlame",3,-70,100,momx*38,momy*38,momz*38,0,9)
TNT1 A 1 A_SpawnItemEx("TrioFlame",3,-35,80,momx*38,momy*38,momz*38,0,9)

TNT1 A 0 A_SpawnItemEx("TrioFlame",3,0,60,momx*38,momy*38,momz*38,0,9)//Middle

TNT1 A 1 A_SpawnItemEx("TrioFlame",3,35,40,momx*38,momy*38,momz*38,0,9)
TNT1 A 0 A_SpawnItemEx("TrioFlame",3,70,20,momx*38,momy*38,momz*38,0,9)
TNT1 A 1 A_SpawnItemEx("TrioFlame",3,105,0,momx*38,momy*38,momz*38,0,9)
TNT1 A 0 A_SpawnItemEx("TrioFlame",3,140,-20,momx*38,momy*38,momz*38,0,9)
TNT1 A 1 A_SpawnItemEx("TrioFlame",3,175,-40,momx*38,momy*38,momz*38,0,9)
TNT1 A 0 A_SpawnItemEx("TrioFlame",3,210,-60,momx*38,momy*38,momz*38,0,9)
TNT1 A 1 A_SpawnItemEx("TrioFlame",3,245,-80,momx*38,momy*38,momz*38,0,9)
TNT1 A 0 A_SpawnItemEx("TrioFlameTip",3,280,-100,momx*38,momy*38,momz*38,0,9)
TNT1 A 1 A_SpawnItemEx("TrioFlameTip",3,315,-120,momx*38,momy*38,momz*38,0,9)

stop
}
}


actor TrioFlame
{
PROJECTILE
Obituary "$OB_GIGA_FLAMESWORD"
Damagetype "TrioFlameSword"
+NOCLIP
+NOINTERACTION
+THRUGHOST
Damage (0)//3
Height 2//32
Radius 2//40
reactiontime 3//6
Scale 3.5
states
{
Spawn:
TNT1 A 0
TNT1 A 0 ACS_NamedExecuteAlways("BULL_Tidifier", 0)
SpawnLOOP:
FWVE M 0 A_CountDown
FWVE M 0 A_Explode(6,80,0,0,80)
FWVE M 0 A_SpawnItemEx("TrioFlameFX",0,0,40,-6,0,5,0,1)
FWVE M 0 A_SpawnItemEx("TrioFlameFX",0,0,-40,-6,0,-5,0,1)
FWVE MMM 1 A_Explode(6,80,0,0,80)
FWVE N 0 A_SpawnItemEx("TrioFlameFX",0,0,40,-6,0,5,0,1)
FWVE N 0 A_SpawnItemEx("TrioFlameFX",0,0,-40,-6,0,-5,0,1)
FWVE NNN 1 A_Explode(6,80,0,0,80)
FWVE O 0 A_SpawnItemEx("TrioFlameFX",0,0,40,-6,0,5,0,1)
FWVE O 0 A_SpawnItemEx("TrioFlameFX",0,0,-40,-6,0,-5,0,1)
FWVE OOO 1 A_Explode(6,80,0,0,80)
loop
}
}

actor TrioFlameTip : TrioFlame
{
renderstyle none
}

actor TrioFlameFX : BasicClientSide
{
Scale 4.0
States
{
Spawn:
TNT1 A 0
TNT1 A 0 ACS_NamedExecuteAlways("BULL_Tidifier", 0)
SpawnLOOP:
X_8C E 0
X_8C E 1
Death:
X_8C EFG 4
stop
}
}

actor TrioFlameSwordProtect : PowerProtection
{
Powerup.Duration 3
DamageFactor "TrioFlameSword", 0.0//0.375
}

////
////////
//ThunderClaw
////////
////
actor TrioThunderClawHelper : BasicHelper
{
translation "204:204=204:204", "195:195=195:195"
var int user_TID;
var int user_A1;
ReactionTime 90
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_SetUserVar("user_TID",ACS_ExecuteWithResult(257,0))
TNT1 A 0 A_SetUserVar("user_A1",90)
goto SpawnFire
SpawnFire:
TNT1 A 0 Thing_Move(0,user_TID,1)
TNT1 A 0 A_SpawnItemEx("TrioThunderClawBit",8,0,10,80,0,0,user_A1,33,0)
TNT1 A 0 A_SpawnItemEx("TrioThunderClawBit",-8,0,10,-80,0,0,user_A1,33,0)
TNT1 A 0 A_CountDown
TNT1 A 0 A_SetUserVar("user_A1",user_A1+8)
TNT1 A 1 A_JumpIf(ACS_ExecuteWithResult(C_CHECK_TARGET_OOC)==0,"Death")
loop
}
}

actor TrioThunderClawBit
{
var int user_D;
PROJECTILE
+THRUGHOST
damagetype "TrioThunderClaw"
Obituary "$OB_GIGA_THUNDERCLAW"
Damage (4+user_D)
Radius 32//40
Height 46//55

Speed 80
Scale 3.0//4.0
States
{
Spawn:
TNT1 A 0
TNT1 A 0 ACS_NamedExecuteAlways("BULL_Tidifier", 0)
SpawnLOOP:
TNT1 A 1
WISS KLMNOJKLMNOJKLMNO 1 A_SetUserVar("user_D",user_D+1)
WISS JKLMNO 1
stop
XDeath:
TNT1 A 1
stop
Death:
TNT1 A 1 A_Explode(user_D+4,64+user_D*2,0,0,32+user_D*1.25)
stop
}
}

////
////////
//HomingSniper
////////
////

actor TrioSniper : FastProjectile
{
PROJECTILE
damagetype "TrioHomingSniperShock"
Obituary "$OB_GIGA_HOMINGSNIPER"

//+SEEKERMISSILE
+SKYEXPLODE
+THRUGHOST
+DONTREFLECT
+DONTBLAST
+HITTRACER

ReactionTime 1
damage (6)
height 12
Radius 12
Speed 500
MissileHeight 8
//MissileType "TrioSniperFX"
scale 4.0
States
{
Spawn:
TNT1 A 0
TNT1 A 0 //ACS_NamedExecuteAlways("BULL_Tidifier", 0)
Homing:
TNT1 A 0 A_GiveInventory("CutterFlag",1)
TNT1 A 0 A_PlaySoundEx("misc/BombCount","Weapon")
EVFL R 1 A_SpawnItemEx("EvilTrioSparkle",0,0,0,0,0,0,0,1)
EVFL R 0 ACS_ExecuteWithResult(259,1)
EVFL R 0 A_ChangeVelocity(cos(-pitch)*100,0,sin(-pitch)*100,3)
EVFL R 1 A_SpawnItemEx("EvilTrioSparkle",0,0,0,0,0,0,0,1)
EVFL R 0 ACS_ExecuteWithResult(259,1)
EVFL R 0 A_ChangeVelocity(cos(-pitch)*100,0,sin(-pitch)*100,3)
EVFL R 1 A_SpawnItemEx("EvilTrioSparkle",0,0,0,0,0,0,0,1)
EVFL R 0 ACS_ExecuteWithResult(259,1)
EVFL R 0 A_ChangeVelocity(cos(-pitch)*100,0,sin(-pitch)*100,3)
EVFL R 1 A_SpawnItemEx("EvilTrioSparkle",0,0,0,0,0,0,0,1)
EVFL R 0 ACS_ExecuteWithResult(259,1)
EVFL R 0 A_ChangeVelocity(cos(-pitch)*100,0,sin(-pitch)*100,3)
EVFL S 1 A_SpawnItemEx("EvilTrioSparkle",0,0,0,0,0,0,0,1)
EVFL S 0 ACS_ExecuteWithResult(259,1)
EVFL S 0 A_ChangeVelocity(cos(-pitch)*100,0,sin(-pitch)*100,3)
EVFL S 1 A_SpawnItemEx("EvilTrioSparkle",0,0,0,0,0,0,0,1)
EVFL S 0 ACS_ExecuteWithResult(259,1)
EVFL S 0 A_ChangeVelocity(cos(-pitch)*100,0,sin(-pitch)*100,3)
EVFL S 1 A_SpawnItemEx("EvilTrioSparkle",0,0,0,0,0,0,0,1)
EVFL S 0 ACS_ExecuteWithResult(259,1)
EVFL S 0 A_ChangeVelocity(cos(-pitch)*100,0,sin(-pitch)*100,3)
EVFL S 1 A_SpawnItemEx("EvilTrioSparkle",0,0,0,0,0,0,0,1)
EVFL S 0 ACS_ExecuteWithResult(259,1)
EVFL S 0 A_ChangeVelocity(cos(-pitch)*100,0,sin(-pitch)*100,3)
EVFL T 1 A_SpawnItemEx("EvilTrioSparkle",0,0,0,0,0,0,0,1)
EVFL T 0 ACS_ExecuteWithResult(259,1)
EVFL T 0 A_ChangeVelocity(cos(-pitch)*100,0,sin(-pitch)*100,3)
EVFL T 1 A_SpawnItemEx("EvilTrioSparkle",0,0,0,0,0,0,0,1)
EVFL T 0 ACS_ExecuteWithResult(259,1)
EVFL T 0 A_ChangeVelocity(cos(-pitch)*100,0,sin(-pitch)*100,3)
EVFL T 1 A_SpawnItemEx("EvilTrioSparkle",0,0,0,0,0,0,0,1)
EVFL T 0 ACS_ExecuteWithResult(259,1)
EVFL T 0 A_ChangeVelocity(cos(-pitch)*100,0,sin(-pitch)*100,3)
EVFL T 1 A_SpawnItemEx("EvilTrioSparkle",0,0,0,0,0,0,0,1)
EVFL T 0 ACS_ExecuteWithResult(259,1)
EVFL T 0 A_ChangeVelocity(cos(-pitch)*100,0,sin(-pitch)*100,3)
EVFL R 1 A_SpawnItemEx("EvilTrioSparkle",0,0,0,0,0,0,0,1)
EVFL R 0 ACS_ExecuteWithResult(259,1)
EVFL R 0 A_ChangeVelocity(cos(-pitch)*100,0,sin(-pitch)*100,3)
EVFL R 1 A_SpawnItemEx("EvilTrioSparkle",0,0,0,0,0,0,0,1)
EVFL R 0 ACS_ExecuteWithResult(259,1)
EVFL R 0 A_ChangeVelocity(cos(-pitch)*100,0,sin(-pitch)*100,3)
EVFL R 1 A_SpawnItemEx("EvilTrioSparkle",0,0,0,0,0,0,0,1)
EVFL R 0 ACS_ExecuteWithResult(259,1)
EVFL R 0 A_ChangeVelocity(cos(-pitch)*100,0,sin(-pitch)*100,3)
EVFL R 1 A_SpawnItemEx("EvilTrioSparkle",0,0,0,0,0,0,0,1)
EVFL R 0 ACS_ExecuteWithResult(259,1)
EVFL R 0 A_ChangeVelocity(cos(-pitch)*100,0,sin(-pitch)*100,3)
EVFL S 1 A_SpawnItemEx("EvilTrioSparkle",0,0,0,0,0,0,0,1)
EVFL S 0 ACS_ExecuteWithResult(259,1)
EVFL S 0 A_ChangeVelocity(cos(-pitch)*100,0,sin(-pitch)*100,3)
EVFL S 1 A_SpawnItemEx("EvilTrioSparkle",0,0,0,0,0,0,0,1)
EVFL S 0 ACS_ExecuteWithResult(259,1)
EVFL S 0 A_ChangeVelocity(cos(-pitch)*100,0,sin(-pitch)*100,3)
EVFL S 1 A_SpawnItemEx("EvilTrioSparkle",0,0,0,0,0,0,0,1)
EVFL S 0 ACS_ExecuteWithResult(259,1)
EVFL S 0 A_ChangeVelocity(cos(-pitch)*100,0,sin(-pitch)*100,3)
EVFL S 1 A_SpawnItemEx("EvilTrioSparkle",0,0,0,0,0,0,0,1)
EVFL S 0 ACS_ExecuteWithResult(259,1)
EVFL S 0 A_ChangeVelocity(cos(-pitch)*100,0,sin(-pitch)*100,3)
EVFL T 1 A_SpawnItemEx("EvilTrioSparkle",0,0,0,0,0,0,0,1)
EVFL T 0 ACS_ExecuteWithResult(259,1)
EVFL T 0 A_ChangeVelocity(cos(-pitch)*100,0,sin(-pitch)*100,3)
EVFL T 1 A_SpawnItemEx("EvilTrioSparkle",0,0,0,0,0,0,0,1)
EVFL T 0 ACS_ExecuteWithResult(259,1)
EVFL T 0 A_ChangeVelocity(cos(-pitch)*100,0,sin(-pitch)*100,3)
EVFL T 1 A_SpawnItemEx("EvilTrioSparkle",0,0,0,0,0,0,0,1)
EVFL T 0 ACS_ExecuteWithResult(259,1)
EVFL T 0 A_ChangeVelocity(cos(-pitch)*100,0,sin(-pitch)*100,3)
EVFL T 1 A_SpawnItemEx("EvilTrioSparkle",0,0,0,0,0,0,0,1)
EVFL T 0 ACS_ExecuteWithResult(259,1)
EVFL T 0 A_ChangeVelocity(cos(-pitch)*100,0,sin(-pitch)*100,3)
TNT1 A 0 A_JumpIfInventory("CutterFlag",2,"Homing2")
loop
Homing2:
TNT1 A 0 A_JumpIfInventory("CutterFlag",30,"Homing3")
TNT1 A 0 A_GiveInventory("CutterFlag",1)
TNT1 A 0 A_PlaySoundEx("misc/BombCount","Weapon")
EVFL RRRRSS 1 A_SpawnItemEx("EvilTrioSparkle",0,0,0,0,0,0,0,1)
TNT1 A 0 A_PlaySoundEx("misc/BombCount","Weapon")
EVFL SSTTTT 1 A_SpawnItemEx("EvilTrioSparkle",0,0,0,0,0,0,0,1)
loop
Homing3:
EVFL SSTTT 1 A_CountDown
loop

Death:
TNT1 A 0 A_JumpIfInventory("CutterFlag",18,"Locked")
TNT1 A 0 A_GiveInventory("CutterFlag",1)
TNT1 A 0 A_PlaySoundEx("misc/BombCount","Weapon")
EVFL RST 1 //A_MStaffTrack
loop

XDeath:
TNT1 A 0 A_JumpIfInventory("CutterFlag",18,"Locked")
TNT1 A 0 A_GiveInventory("CutterFlag",1)
TNT1 A 0 A_PlaySoundEx("misc/BombCount","Weapon")
EVFL RST 1 A_Warp(AAPTR_TRACER,0,0,28,180,0)
loop

Locked:
EVFL T 0 A_Stop
EVFL T 0 A_GiveToTarget("CutterFlag",1)

EVFL T 0 Thing_Remove(ACS_ExecuteWithResult(257,0)+7000)
EVFL T 0 Thing_ChangeTID(0,ACS_ExecuteWithResult(257,0)+7000)

EVFL TTTTTTTTTT 1 A_Warp(AAPTR_TRACER,0,0,28,180,0)
EVFL T 90
TNT1 A 0
stop
}
}

actor TrioSniperFX : BasicClientSide
{
States
{
Spawn:
TNT1 A 0
TNT1 AAAA 0 A_SpawnItemEx("EvilTrioSparkle",random(-16,16),random(-16,16),random(-16,16),0,0,0,0,1)
stop
}
}

actor TrioMissiles
{
damagetype "TrioHomingSniper"
Obituary "$OB_GIGA_HOMINGSNIPER"
+MISSILE
+NOINTERACTION
+NOEXPLODEFLOOR
+NOGRAVITY
-SOLID
scale 2.0
States
{
Spawn:
TNT1 A 0
TNT1 A 0 ACS_NamedExecuteAlways("BULL_Tidifier", 0)
SpawnLOOP:
TNT1 A 1 ACS_ExecuteAlways(989,0,ACS_ExecuteWithResult(257)+7000,8)
TNT1 A 1 A_PlaySoundEx("weapon/TrioMagnet","Weapon")
TNT1 A 0 A_SpawnItemEx("TrioMissile",cos(-pitch)*8,0,8+(sin(-pitch)*8),cos(-pitch)*132,0,sin(-pitch)*132,0,1,0)//random(-4,4)
TMFX ABCD 2
stop
}
}

actor TrioMissile
{
PROJECTILE
damagetype "TrioHomingSniper"
Obituary "$OB_GIGA_HOMINGSNIPER"
+THRUGHOST
Damage (8)
Radius 40
Height 40
Speed 264
scale 3.5
States
{
Spawn:
TNT1 A 0
TNT1 A 0 ACS_NamedExecuteAlways("BULL_Tidifier", 0)
SpawnLOOP:
X_8E BC 2
loop
Death:
TMFX ABCD 2
stop
}
}

////
////////
//IceWave
////////
////
actor TrioIceWave
{
PROJECTILE
Damagetype "TrioIceWave"
Obituary "$OB_GIGA_ICEWAVE"
-NOGRAVITY
+DONTREFLECT
+SKYEXPLODE
+HEXENBOUNCE
+DONTSPLASH
+THRUGHOST
+THRUACTORS
Gravity 0.75
BounceFactor 0.95
WallBounceFactor 0.99
BounceCount 40
Renderstyle Translucent
alpha 0.5
Reactiontime 20
Radius 16
Height 16
damage (0)
speed 16
scale 1.0
States
{
Spawn:
TNT1 A 0
TNT1 A 0 ACS_NamedExecuteAlways("BULL_Tidifier", 0)
SpawnLOOP:
EVFL K 1 A_GiveInventory("WeaponCharge",1)
EVFL KKKKK 0 A_SpawnItemEx("TrioIceWaveFX",random(-48,48),random(-48,48),random(2,48),0,0,0,0,1)
EVFL K 0 A_JumpIfInventory("WeaponCharge",8,1)
loop
EVFL K 0 A_PlaySoundEx("weapon/icewavespawn","Weapon")
EVFL K 0 A_SpawnItemEx("TrioIceWavePart",0,0,0,0,0,0,0,1)
EVFL K 0 A_CountDown
EVFL K 0 A_TakeInventory("WeaponCharge",99)
//+SEEKERMISSILE
//A_Tracer2
loop
Death:
TNT1 A 1
stop
}
}
//TrioIceWave2
//reactiontime 40

actor TrioIceWaveFX
{
+CLIENTSIDEONLY
+MISSILE
+DONTSPLASH
+NOINTERACTION
Gravity 0.2
Damage (0)
height 0
radius 0
scale 3.0
States
{
Spawn:
TNT1 A 0
TNT1 A 0 ACS_NamedExecuteAlways("BULL_Tidifier", 0)
SpawnLOOP:
TNT1 A 0 A_Jump(256,"Spawn1","Spawn2")
Spawn1:
MRFP M 4
MRFP N 15
MRFP N 1 A_Fadeout
wait
Spawn2:
MRFP K 4
MRFP L 15
MRFP L 1 A_Fadeout
wait
}
}

actor TrioIceWavePart
{
PROJECTILE
Damagetype "TrioIceWave"
Obituary "$OB_GIGA_ICEWAVE"
+SHOOTABLE
+THRUGHOST
+GHOST
-NOBLOCKMAP
+HEXENBOUNCE
BounceFactor 0.95
WallBounceFactor 0.95
BounceCount 20
//+SOLID
mass 9999999
health 1
Renderstyle Translucent
alpha 0.5
ReactionTime 1
Damage (15)
Radius 64
Height 64
Speed 0
scale 1.25//2.5
States
{
Spawn:
TNT1 A 0
TNT1 A 0 ACS_NamedExecuteAlways("BULL_Tidifier", 0)
SpawnLOOP:
EVFL K 0
EVFL KKKKKKKKKK 0 A_SpawnItemEx("TrioIceWaveFX",random(-48,48),random(-48,48),random(2,48),3,0,random(1,3),random(0,359),1)
EVFL KL 5
EVFL M 0 A_SetArg(3,40)
Spawn2:
EVFL M 0 A_Stop
EVFL MM 10 A_JumpIf(ACS_ExecuteWithResult(C_CHECK_TARGET_OOC)==0,"Death2")
EVFL M 0 A_CountdownArg(3)
loop
//goto Death2
Death2:
EVFL M 1 A_CountDown
wait
Death:
TNT1 A 0
TNT1 A 0 A_PlaySound("weapon/centaurflash")
TNT1 AAAAAA 0 A_SpawnItemEx("TrioIceWaveShards",random(-64,64),random(-64,64),random(5,60),random(-3,3),random(-3,3),random(-3,3),random(0,360),1)
TNT1 A 2
stop
}
}

actor TrioIceWaveCharging : BasicExplosion
{
scale 2.5
states
{
Spawn:
TNT1 A 0
TNT1 A 0 A_JumpIfInTargetInventory("PowerRage_ST",1,2)
X_1D NN 1 A_Warp(2,0,0,28,0,24)
TNT1 A 0 A_JumpIfInTargetInventory("PowerRage_ST",1,2)
X_1D MM 1 A_Warp(2,0,0,28,0,24)
TNT1 A 0 A_JumpIfInTargetInventory("PowerRage_ST",1,2)
X_1D LL 1 A_Warp(2,0,0,28,0,24)
TNT1 A 0 A_JumpIfInTargetInventory("PowerRage_ST",1,2)
X_1D KK 1 A_Warp(2,0,0,28,0,24)
TNT1 A 0 A_JumpIfInTargetInventory("PowerRage_ST",1,2)
X_1D JJ 1 A_Warp(2,0,0,28,0,24)
TNT1 A 0 A_JumpIfInTargetInventory("PowerRage_ST",1,2)
X_1D II 1 A_Warp(2,0,0,28,0,24)
TNT1 A 0 A_JumpIfInTargetInventory("PowerRage_ST",1,2)
X_1D HH 1 A_Warp(2,0,0,28,0,24)
TNT1 A 0 A_JumpIfInTargetInventory("PowerRage_ST",1,2)
X_1D GG 1 A_Warp(2,0,0,28,0,24)
TNT1 A 0 A_JumpIfInTargetInventory("PowerRage_ST",1,2)
X_1D FF 1 A_Warp(2,0,0,28,0,24)
TNT1 A 0 A_JumpIfInTargetInventory("PowerRage_ST",1,2)
X_1D EE 1 A_Warp(2,0,0,28,0,24)
TNT1 A 0 A_JumpIfInTargetInventory("PowerRage_ST",1,2)
X_1D DD 1 A_Warp(2,0,0,28,0,24)
TNT1 A 0 A_JumpIfInTargetInventory("PowerRage_ST",1,2)
X_1D CC 1 A_Warp(2,0,0,28,0,24)
TNT1 A 0 A_JumpIfInTargetInventory("PowerRage_ST",1,2)
X_1D BB 1 A_Warp(2,0,0,28,0,24)
stop
}
}

actor TrioIceWaveShards
{
-SOLID
+NOGRAVITY
+MISSILE
+THRUACTORS
+THRUGHOST
+CLIENTSIDEONLY
Renderstyle Translucent
alpha 0.5
Damage (0)
Radius 10
Height 10
Speed 2
Scale 3.0//4.5
States
{
Spawn:
TNT1 A 0
TNT1 A 0 ACS_NamedExecuteAlways("BULL_Tidifier", 0)
SpawnLOOP:
X_8F FGH 20//30
stop
}
}

////
////////
//FlashBomb
////////
////

actor TrioFlashBomb
{
PROJECTILE
Obituary "$OB_GIGA_FLASHBOMB"
Damagetype "TrioFlashBomb2"
+THRUGHOST
+FORCEXYBILLBOARD
reactiontime 10
damage (3)
radius 12
height 10
Speed 40
scale 2.5
States
{
Spawn:
TNT1 A 0
TNT1 A 0 ACS_NamedExecuteAlways("BULL_Tidifier", 0)
SpawnLOOP:
X_8G WXYZ 3 A_CountDown
loop
Death:
Y_8G A 0 A_Stop
Y_8G A 0 A_PlaySoundEx("weapon/flashbomb","Weapon")
Y_8G A 1 A_SpawnItemEx("TrioFlashBombExplosion",0,0,0,0,0,0,0,1)
stop
}
}

actor TrioFlashBombExplosion : TrioFlashBomb
{
var int user_Flash;
damagetype "TrioFlashBomb"
+NOCLIP
+DONTBLAST
+DONTSPLASH
Reactiontime 12//5
Scale 3.5
States
{
Spawn:
Y_8G A 0
Y_8G A 0 A_SetUserVar("user_Flash",20)
Y_8G AB 1 bright 
Y_8G CD 1 bright
Y_8G A 0 A_Explode(30,80,0,0,16)
Y_8G EE 0 A_SpawnItemEx("FlashBombFX2_B",Random(-16, 16),Random(-40, 40), Random(-32, 32),0,0,0,0,1)
Y_8G EF 1 bright A_SpawnItemEx("FlashBombFX1_B",0,0,0,random(-7, 7),random(-7, 7),random(-7, 7),random(0,360),1)
Y_8G EE 0 A_SpawnItemEx("FlashBombFX2_B",Random(-16, 16),Random(-40, 40), Random(-32, 32),0,0,0,0,1)
Y_8G GF 1 bright A_SpawnItemEx("FlashBombFX1_B",0,0,0,random(-7, 7),random(-7, 7),random(-7, 7),random(0,360),1)
Y_8G A 0 A_Explode(29,80,0,0,16)
Goto Pattern1
Pattern1:
Y_8G EF 1 bright A_SpawnItemEx("FlashBombFX1_B",0,0,0,random(-7, 7),random(-7, 7),random(-7, 7),random(0,360),1)
Y_8G E 0 A_SpawnItemEx("FlashBombFX2_B",Random(-16, 16),Random(-16, -40), Random(-32, 32),0,0,0,0,1)
Y_8G GF 1 bright A_SpawnItemEx("FlashBombFX2_B",Random(-16, 16),Random(16, 40), Random(-32, 32),0,0,0,0,1)
Y_8G G 0 A_SpawnItemEx("FlashBombFX1_B",0,0,0,random(-7, 7),random(-7, 7),random(-7, 7),random(0,360),1)
Goto DamageNow
Pattern2:
Y_8G EF 1 bright A_SpawnItemEx("FlashBombFX1_B",0,0,0,random(-7, 7),random(-7, 7),random(-7, 7),random(0,360),1)
Y_8G E 0 A_SpawnItemEx("FlashBombFX2_B",Random(-16, 16),Random(32, 64), Random(-32, 40),0,0,0,0,1)
Y_8G E 0 A_SpawnItemEx("FlashBombFX2_B",Random(-16, 16),Random(-32, -64), Random(-32, 40),0,0,0,0,1)
Y_8G EF 1 bright A_SpawnItemEx("FlashBombFX2_B",Random(-16, 16),Random(-40, 40), Random(-32, 32),0,0,0,0,1)
Y_8G G 0 A_SpawnItemEx("FlashBombFX1_B",0,0,0,random(-7, 7),random(-7, 7),random(-7, 7),random(0,360),1)
Goto DamageNow
DamageNow:
Y_8G A 0 A_Explode(user_Flash,80,0,0,8)
Goto Continue
Continue:
Y_8G A 0 A_CountDown
Y_8G A 0 A_SetUserVar("user_Flash",user_Flash-1)
Y_8G A 0 A_Jump(256,"Pattern1","Pattern2")
Goto Death
Death:
Y_8G A 0 A_Changeflag("NOGRAVITY",1)
Y_8G G 1 bright
TNT1 A 1
Y_8G D 1 bright
TNT1 A 1
Y_8G D 1 bright
TNT1 A 1
Y_8G N 1 bright
stop
}
}

actor TrioFlashBombProtect : PowerProtection
{
Powerup.Duration 15
DamageFactor "TrioFlashBomb", 0.25//0.125
}

actor TrioIceWaveProtect : PowerProtection
{
Powerup.Duration 1
DamageFactor "TrioIceWave", 0.20
}

////
////////
//WaterBalloon
////////
////
actor TrioBalloon
{
PROJECTILE
Obituary "$OB_GIGA_WATERBALLOON"
damagetype "TrioWaterBalloon"
+THRUGHOST
+HEXENBOUNCE
-ALLOWBOUNCEONACTORS
+CANBOUNCEWATER
WALLBOUNCEFACTOR 1.0
BOUNCEFACTOR 1.0
BounceCount 10
renderstyle Translucent
Alpha 0.2
reactiontime 6
Damage (30)//25
Height 56
Radius 56
Speed 30
Scale 2.0//2.5
States
{
Spawn:
TNT1 A 0
TNT1 A 0 ACS_NamedExecuteAlways("BULL_Tidifier", 0)
SpawnLOOP:
EVFL U 0
EVFL U 4 A_FadeIn(0.1)
EVFL VW 4 A_FadeIn(0.1)
EVFL U 4 A_FadeIn(0.1)
EVFL VW 4 A_FadeIn(0.1)
EVFL U 4 A_FadeIn(0.1)
Goto Spawn2
Spawn2:
EVFL U 0 A_ScaleVelocity(0.85)
EVFL U 4 A_Countdown
EVFL VW 4
loop
Death:
TNT1 AA 0 A_SpawnItemEx("TrioBalloon2",0,0,0,random(-8,8),0,random(-7,7),random(0,359),1)
TNT1 A 0 A_SpawnItemEx("TrioBalloon2",0,0,0,random(5,14),0,random(-7,7),random(-10,10),1)
TNT1 A 0 A_SpawnItemEx("TrioBalloon2",0,0,0,random(5,14),0,random(-7,7),random(80,100),1)
TNT1 A 0 A_SpawnItemEx("TrioBalloon2",0,0,0,random(5,14),0,random(-7,7),random(170,190),1)
TNT1 A 0 A_SpawnItemEx("TrioBalloon2",0,0,0,random(5,14),0,random(-7,7),random(260,280),1)
XDeath:
TNT1 A 0 A_PlaySoundEx("misc/splash","Weapon")
TNT1 AAAAAA 1 A_SpawnItemEx("TrioSplash",random(-96,96),random(-96,96),random(-96,96),0,0,0,0,1)
stop
}
}

actor TrioBalloon2 : TrioBalloon
{
-NOGRAVITY
Gravity 0.50
BounceCount 15
Alpha 0.8
reactiontime 1
Damage (12)//15
Radius 32
Height 32
Speed 35
Scale 1.25
States
{
Spawn:
TNT1 A 0
TNT1 A 0 ACS_NamedExecuteAlways("BULL_Tidifier", 0)
SpawnLOOP:
EVFL U 4 A_FadeIn(0.1)
EVFL VW 4 A_FadeIn(0.1)
EVFL U 0 A_GiveInventory("CutterFlag",random(1,7))
Goto Spawn2
Spawn2:
EVFL U 4 A_JumpIfInventory("CutterFlag",12,"SpawnEnd")
EVFL VW 4
EVFL U 0 A_GiveInventory("CutterFlag",1)
loop
SpawnEnd:
EVFL U 1 A_Countdown
loop
Death:
TNT1 AA 0 A_SpawnItemEx("TrioBalloon3",0,0,0,random(-8,8),0,random(-4,7),random(0,359),1)
TNT1 A 0 A_SpawnItemEx("TrioBalloon3",0,0,0,random(4,10),0,random(1,9),0,1)
TNT1 A 0 A_SpawnItemEx("TrioBalloon3",0,0,0,random(4,10),0,random(-5,5),30,1)
TNT1 A 0 A_SpawnItemEx("TrioBalloon3",0,0,0,random(4,10),0,random(-5,5),-30,1)
TNT1 A 0 A_SpawnItemEx("TrioBalloon3",0,0,0,random(4,10),0,random(-1,-9),0,1)
XDeath:
TNT1 A 0 A_PlaySoundEx("weapon/TrioSplash","Weapon")
TNT1 AAAA 1 A_SpawnItemEx("TrioSplash2",random(-64,64),random(-64,64),random(-64,64),0,0,0,0,1)
stop
}
}

actor TrioBalloon3 : TrioBalloon2
{
Gravity 0.35
BounceCount 20
reactiontime 1
Damage (8)
Radius 16
Height 16
Speed 40
Scale 0.75
States
{
Spawn:
TNT1 A 0
TNT1 A 0 ACS_NamedExecuteAlways("BULL_Tidifier", 0)
SpawnLOOP:
EVFL U 4 A_FadeIn(0.1)
EVFL VW 4 A_FadeIn(0.1)
EVFL U 0 A_GiveInventory("CutterFlag",random(1,7))
Goto Spawn2
Spawn2:
EVFL U 4 A_JumpIfInventory("CutterFlag",13,"SpawnEnd")
EVFL VW 4
EVFL U 0 A_GiveInventory("CutterFlag",1)
loop
SpawnEnd:
EVFL U 1 A_Countdown
loop
XDeath:
Death:
TNT1 A 0 A_PlaySoundEx("weapon/TrioSplash","Weapon")
TNT1 A 1 A_SpawnItemEx("TrioSplash3",0,0,0,0,0,0,0,1)
stop
}
}

actor TrioSplash : BasicClientSide
{
Scale 2.5
states
{
Spawn:
TNT1 A 0
TNT1 A 0 ACS_NamedExecuteAlways("BULL_Tidifier", 0)
SpawnLOOP:
WTRB KLMN 2
stop
}
}

actor TrioSplash2 : TrioSplash
{
Scale 2.0
}

actor TrioSplash3 : TrioSplash
{
Scale 1.5
}

