//Skin sprites created by Hansungkee
actor EvilRobot : TerminalArmorClass
{
Player.ScoreIcon "EVILMUGS"
player.startitem "BaseFlagPack", 1
PainSound "weapon/mm8pain"
player.displayname "EvilRobot"
player.soundclass "EvilRobotc"
player.morphweapon "HandOfDominationBoss"
player.viewheight 48
player.jumpz 12
player.forwardmove 0.75, 0.75
player.sidemove 0.73, 0.73
alpha 0.0
States
{
Spawn:
PLAY A 0
TRIO B 1 A_JumpIf(z-floorz>0,"Jumping")
Animation0:
TRIO A 1 A_JumpIf(z-floorz>0,"Jumping")
Goto Spawn+2
See:
TRIO BBBBBCCCCCDDDDDEEEEE 1 A_JumpIf(z-floorz>0,"Jumping")
Goto Spawn+1
Jumping:
TRIO K 1 A_JumpIf(z-floorz<=0,"Spawn")
wait

Animation1:
Missile:
TRIO FF 0
TRIO F 0 A_JumpIfInventory("Base56Ammo",56,"MissileCharged")
TRIO FFFFF 1 A_JumpIf(z-floorz>0,"JumpingMissile")
Goto Spawn+2
JumpingMissile:
TRIO GGGGG 1 A_JumpIf(z-floorz<=0,"Missile")
Goto Jumping
Animation2:
MissileCharged:
TRIO HHHHH 1 A_JumpIf(z-floorz>0,"JumpingMissileCharged")
Goto Spawn+2
JumpingMissileCharged:
TRIO IIIII 1 A_JumpIf(z-floorz<=0,"MissileCharged")
Goto Jumping

Animation3:
DarkSwipe:
TRIO LLLLL 1
DarkSwipe2:
TRIO LLLLL 1
Goto Spawn+2

Animation4:
EvilFist:
TRIO MMMMM 1 A_JumpIf(z-floorz>0,"JumpingEvilFist")
EvilFist2:
TRIO MMMMM 1 A_JumpIf(z-floorz>0,"JumpingEvilFist2")
Goto Spawn+2
JumpingEvilFist:
TRIO NNNNN 1 A_JumpIf(z-floorz<=0,"EvilFist")
JumpingEvilFist2:
TRIO NNNNN 1 A_JumpIf(z-floorz<=0,"EvilFist2")
Goto Jumping

Animation5:
GigaFist:
TRIO OOOOO 1 A_JumpIf(z-floorz>0,"JumpingGigaFist")
GigaFist2:
TRIO OOOOO 1 A_JumpIf(z-floorz>0,"JumpingGigaFist2")
Goto Spawn+2
JumpingGigaFist:
TRIO PPPPP 1 A_JumpIf(z-floorz<=0,"GigaFist")
JumpingGigaFist2:
TRIO PPPPP 1 A_JumpIf(z-floorz<=0,"GigaFist2")
Goto Jumping

Animation6:
TrioEvilEnergy:
TRI3 IIIII 1
TrioEvilEnergy2:
TRI3 IIIII 1
Goto Spawn+2

Animation7: GigaTornadoHoldA: TRI2 AA 1
Animation8: GigaTornadoHoldB: TRI2 BB 1
Animation9: GigaTornadoHoldC: TRI2 CC 1
Animation10: GigaTornadoHoldD: TRI2 DD 1
Animation11: GigaTornadoHoldE: TRI2 EE 1
Animation12: GigaTornadoHoldF: TRI2 FF 1
Animation13: GigaTornadoHoldG: TRI2 GG 1
Animation14: GigaTornadoHoldH: TRI2 HH 1
Goto Spawn+2

Animation15: GigaThunderClawA: TRIO SSS 1
Animation16: GigaThunderClawB: TRIO TTT 1
Animation17: GigaThunderClawC: TRIO UUU 1
Animation18: GigaThunderClawD: TRIO VVV 1
Animation19: GigaThunderClawE: TRIO WWW 1
Animation20: GigaThunderClawF: TRIO XXX 1
Animation21: GigaThunderClawG: TRIO YYY 1
Animation22: GigaThunderClawH: TRIO ZZZ 1
Goto Spawn+2

Animation23: GigaAstroCrush: TRIO QQ 1
Goto Spawn+2

Animation24: GigaFlashBomb: TRIO RR 1
Goto Spawn+2

Animation25: FlameSwordA: TRI2 LL 1
Animation26: FlameSwordB: TRI2 MM 1
Animation27: FlameSwordC: TRI2 NN 1
Animation28: FlameSwordD: TRI2 OO 1
Animation29: FlameSwordE: TRI2 PP 1
Animation30: FlameSwordE: TRI2 QQ 1
Animation31: FlameSwordE: TRI2 RR 1
Animation32: FlameSwordE: TRI2 SS 1
Goto Spawn+2

Animation33: DarkCharge: TRI2 II 1
Goto Spawn+2
Animation34: DarkChargeCharged: TRI2 JJ 1
Goto Spawn+2
Animation35: DarkChargeGigaFist: TRI2 KK 1
Goto Spawn+2

Animation36: DarkExclipseCannonA: TRI2 TT 1
Animation37: DarkExclipseCannonB: TRI2 UU 1
Animation38: DarkExclipseCannonC: TRI2 VV 1

Animation39: Invis: TNT1 AA 1
Goto Spawn+2

ClassPain:
TRIO JJJJJJJJJJ 2 A_SpawnItem("PainFX",0,3)
Goto Spawn+1
ClassDeath:
TNT1 A 0 A_SpawnItemEx("TrioDeath")
TNT1 A 20 ACS_ExecuteAlways(999,0,0)
NOFX A 1 A_CheckPlayerDone
wait
}
}

actor HandOfDominationBoss : VCBaseWeapon
{
weapon.ammotype "Base56Ammo"
weapon.ammotype2 "BaseAltfireAmmo"
Obituary "$OB_TRIO1"
const int FLHT_SPD = 20;
States
{
Ready:
TNT1 A 0
TNT1 A 1
TNT1 A 0 A_GiveInventory("TrioMorphHandler")
TNT1 A 0 SetPlayerProperty(0,1,4)
TNT1 A 0 ACS_ExecuteAlways(991,0,869)
TNT1 A 0 A_PlaySoundEx("misc/meltinghands","Body")
TNT1 A 0 A_PlaySoundEx("misc/eclipsetransform","Voice",True)
TNT1 A 0 A_PlaySoundEx("weapon/evilintro","Item",True)
TNT1 A 115 A_spawnItemEx("TrioIntroduction")
TNT1 A 2 Offset(36,68)A_GiveInventory("TrioIntroStats2",1)
ERO8 B 2 Offset(28,60)
ERO8 B 2 Offset(21,53)
ERO8 B 2 Offset(15,47)
ERO8 B 2 Offset(10,42)
ERO8 B 2 Offset(6,38)
ERO8 B 2 Offset(3,35)
ERO8 B 2 Offset(1,33) A_GiveInventory("ShadowVisible")
TNT1 A 0 A_TakeInventory("NoPushFlag")
TNT1 A 0 SetPlayerProperty(0,0,4)
TNT1 A 0 SetPlayerProperty(0,0,0)
ERO8 A 0 A_WeaponReady(WRF_NOFIRE)
ERO8 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 1 A_GiveInventory("ShadowVisible")
TNT1 A 0 A_ChangeFlag("INVULNERABLE",False)
TNT1 A 0 A_ChangeFlag("NOTELEFRAG",False)
TNT1 A 0 A_TakeInventory("InvProtection",1)
Goto Ready2
Ready.AltfireReturn:
TNT1 A 0 A_TakeInventory("EnergySwitchDisable")
TNT1 A 2 Offset(36,68)
ERO8 B 2 Offset(28,60)
ERO8 B 2 Offset(21,53)
ERO8 B 2 Offset(15,47)
ERO8 B 2 Offset(10,42)
ERO8 B 2 Offset(6,38)
ERO8 B 2 Offset(3,35)
ERO8 B 2 Offset(1,33)
ERO8 B 20 A_WeaponReady(WRF_NOFIRE)
TNT1 A 0 A_ChangeFlag("INVULNERABLE",False)
TNT1 A 0 A_ChangeFlag("NOTELEFRAG",False)
TNT1 A 0 A_TakeInventory("InvProtection",1)
TNT1 A 0 A_TakeInventory("NoPushFlag")
Ready2:
TNT1 A 0 A_JumpIfInventory("DarkCharging",1,"Ready2.NoTF")
ERO8 A 1 A_WeaponReady(WRF_NOSECONDARY*CallACS("VC_AmmoCheck",3,112))
TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("VC_CheckBtn",3)==3,"User1")
TNT1 A 0 A_JumpIfInventory("UltAttackFlag",1,"UltimateAttack")
loop
Ready2.NoTF:
ERO8 A 1 A_WeaponReady(WRF_NOSECONDARY*CallACS("VC_AmmoCheck",3,112))
TNT1 A 0 A_JumpIfInventory("UltAttackFlag",1,"UltimateAttack")
Goto Ready2

Deselect:
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower
ERO8 A 1 A_Lower
Loop
Select:
TNT1 A 0 ACS_ExecuteAlways(991,0,869)
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise
ERO8 A 1 A_Raise
Loop

Fire:
TNT1 A 0 A_GiveInventory("ShadowVisible")
TNT1 A 0 A_Refire("FireHold")
Goto DarkSwipe
FireHold:
TOAD A 0 A_GiveInventory("ToadChargeDamageGive")
TNT1 A 0 A_JumpIfInventory("Base56Ammo",28,"Charging0")
ERO8 B 1 A_GiveInventory("Base56Ammo",1)
TNT1 A 0 A_Refire("FireHold")
Goto DarkSwipe
Charging0:
TNT1 A 0 A_PlaySoundEx("weapon/TrioCharge1","Weapon")
Charging1:
TNT1 A 0 A_JumpIfInventory("Base56Ammo",56,"Charging2")
ERO8 C 1 ACS_ExecuteAlways(991,0,10867)
TNT1 A 0 A_GiveInventory("Base56Ammo",1)
TNT1 A 0 A_Refire("Charging1A")
Goto EvilFist
Charging1A:
ERO8 B 1 ACS_ExecuteAlways(998,0,869,1)
TNT1 A 0 A_GiveInventory("Base56Ammo",1)
TNT1 A 0 A_Refire("Charging1")
Goto EvilFist
Charging2:
TNT1 A 0 A_PlaySoundEx("weapon/TrioCharge2","Weapon")
ERO8 F 1 Offset(2,34)ACS_ExecuteAlways(991,0,10868)
TNT1 A 0 A_Refire(1)
Goto GigaFist
ERO8 G 1 Offset(4,36)ACS_ExecuteAlways(991,0,10869)
TNT1 A 0 A_Refire(1)
Goto GigaFist
TNT1 A 0 A_PlaySoundEx("weapon/TrioCharge2","Weapon")
ERO8 H 1 Offset(6,38)ACS_ExecuteAlways(991,0,869)
TNT1 A 0 A_Refire(1)
Goto GigaFist
ERO8 F 1 Offset(7,39)ACS_ExecuteAlways(991,0,10868)
TNT1 A 0 A_Refire(1)
Goto GigaFist
TNT1 A 0 A_PlaySoundEx("weapon/TrioCharge2","Weapon")
ERO8 G 1 Offset(8,40)ACS_ExecuteAlways(991,0,10869)
TNT1 A 0 A_Refire(1)
Goto GigaFist
ERO8 H 1 Offset(9,41)ACS_ExecuteAlways(991,0,869)
TNT1 A 0 A_Refire("Charging3")
Goto GigaFist
Charging3:
TNT1 A 0 A_PlaySoundEx("weapon/TrioCharge3","Weapon")
ERO8 F 1 ACS_ExecuteAlways(991,0,10868)
TNT1 A 0 A_Refire("Charging3A")
Goto GigaFist
Charging3A:
ERO8 G 1 ACS_ExecuteAlways(991,0,10869)
TNT1 A 0 A_Refire("Charging3B")
Goto GigaFist
Charging3B:
ERO8 H 1 ACS_ExecuteAlways(991,0,869)
TNT1 A 0 A_Refire("Charging3")
Goto GigaFist
DarkSwipe:
TNT1 A 0 ACS_NamedExecuteWithResult("VC_SetState",3)
ERO8 J 1 A_GiveInventory("TrioMainFirePickUp",1)
ER10 A 1 A_FireCustomMissile("DarkSwipe",-50,0 ,16,8,0)
TNT1 A 0 A_FireCustomMissile("DarkSwipe",-37,0, 12,8,0)
ER10 B 1 A_FireCustomMissile("DarkSwipe",-25,0,  8,8,0)
TNT1 A 0 A_FireCustomMissile("DarkSwipe",-12,0,  4,8,0)
ER10 C 1 A_FireCustomMissile("DarkSwipe",  0,0,  0,8,0)
ER10 D 1 A_FireCustomMissile("DarkSwipe", 12,0, -4,8,0)
TNT1 A 0 A_FireCustomMissile("DarkSwipe", 25,0, -8,8,0)
ER10 E 1 A_FireCustomMissile("DarkSwipe", 37,0,-16,8,0)
TNT1 A 0 A_FireCustomMissile("DarkSwipe", 50,0,-16,8,0)
ERO8 A 1 Offset(0,68)
ERO8 A 1 Offset(0,60)
ERO8 A 1 Offset(0,53)
ERO8 A 1 Offset(0,47)
ERO8 A 1 Offset(0,42)
ERO8 A 1 Offset(0,38)
ERO8 A 1 Offset(0,35)
ERO8 A 1 Offset(0,33)
Goto Ready2
EvilFist:
TNT1 A 0 ACS_NamedExecuteWithResult("VC_SetState",4)
ERO8 B 2 Offset(-12,12)A_GiveInventory("TrioMainFirePickUp",1)
ERO8 L 2 Offset(-20,12)
ERO8 L 2 Offset(-12,20)
ERO8 B 2 Offset(8,40)
ERO8 K 2 Offset(4,36)
ERO8 B 2 A_WeaponReady(WRF_NOFIRE)
ERO8 K 2
ERO8 B 10
Goto Ready2
GigaFist:
TNT1 A 0 ACS_NamedExecuteWithResult("VC_SetState",5)
ERO8 H 0 A_GiveInventory("TrioMainFirePickUp",1)
ERO8 JIJIJ 2 Offset(-14,24)
ERO8 J 1 Offset(-14,24)
ERO8 J 1 Offset(-11,25)
ERO8 J 1 Offset(-8,26)
ERO8 J 1 Offset(-6,27)
ERO8 J 1 Offset(-4,28)
ERO8 J 1 Offset(-3,29)
ERO8 J 1 Offset(-2,30)
ERO8 J 1 Offset(-1,31)
ERO8 J 8 A_WeaponReady(WRF_NOFIRE)
Goto Ready2

AltFire: 
TNT1 A 0 A_PlaySoundEx("weapon/TrioRage","Auto")
TNT1 A 0 A_GiveInventory("EnergySwitchDisable")
TRO1 A 0 A_JumpIfInventory("Trio057Flag",1,"GigaTornadoHold")
TRO3 A 0 A_JumpIfInventory("Trio058Flag",1,"GigaAstroCrush")
TRO5 A 0 A_JumpIfInventory("Trio059Flag",1,"GigaFlameSword")
TRO2 A 0 A_JumpIfInventory("Trio060Flag",1,"GigaThunderClaw")
TRO6 A 0 A_JumpIfInventory("Trio061Flag",1,"GigaHomingSniper")
TRO7 A 0 A_JumpIfInventory("Trio062Flag",1,"GigaIceWave")
TRO4 A 0 A_JumpIfInventory("Trio063Flag",1,"GigaFlashBomb")
TRO8 A 0 A_JumpIfInventory("Trio064Flag",1,"GigaWaterBalloon")
"####" "#" 3
Goto Ready2

GigaTornadoHold:
TRO1 A 0 A_SpawnItemEx("GigaTornadoHoldSkullWarper")
"####" "#" 1 A_Jump(256,"TrioEvilEnergyStartUp")
wait
GigaThunderClaw:
TRO2 A 0 A_SpawnItemEx("GigaThunderClawSkullWarper")
"####" "#" 1 A_Jump(256,"TrioEvilEnergyStartUp")
wait
GigaAstroCrush:
TRO3 A 0 A_SpawnItemEx("GigaAstroCrushSkullWarper")
"####" "#" 1 A_Jump(256,"TrioEvilEnergyStartUp")
wait
GigaFlashBomb:
TRO4 A 0 A_SpawnItemEx("GigaFlashBombSkullWarper")
"####" "#" 1 A_Jump(256,"TrioEvilEnergyStartUp")
wait
GigaFlameSword:
TRO5 A 0 A_SpawnItemEx("GigaFlameSwordSkullWarper")
"####" "#" 1 A_Jump(256,"TrioEvilEnergyStartUp")
wait
GigaHomingSniper:
TRO6 A 0 A_SpawnItemEx("GigaHomingSniperSkullWarper")
"####" "#" 1 A_Jump(256,"TrioEvilEnergyStartUp")
wait
GigaIceWave:
TRO7 A 0 A_SpawnItemEx("GigaIceWaveSkullWarper")
"####" "#" 1 A_Jump(256,"TrioEvilEnergyStartUp")
wait
GigaWaterBalloon:
TRO8 A 0 A_SpawnItemEx("GigaWaterBalloonSkullWarper")
"####" "#" 1 A_Jump(256,"TrioEvilEnergyStartUp")
wait

TrioEvilEnergyStartUp:
"####" A 1 Offset(2,34)ACS_NamedExecuteWithResult("VC_SetState",6)
"####" A 0 A_spawnItemEx("TrioStolenEnergyFXSpawner",0,0,32,Random(-60,60),Random(-60,60),Random(-60,60))
"####" B 1 Offset(4,36)ACS_NamedExecuteWithResult("VC_SetState",6)
"####" B 0 A_spawnItemEx("TrioStolenEnergyFXSpawner",0,0,32,Random(-60,60),Random(-60,60),Random(-60,60))
"####" C 1 Offset(7,39)ACS_NamedExecuteWithResult("VC_SetState",6)
"####" C 0 A_spawnItemEx("TrioStolenEnergyFXSpawner",0,0,32,Random(-60,60),Random(-60,60),Random(-60,60))
"####" A 1 Offset(8,40)ACS_NamedExecuteWithResult("VC_SetState",6)
"####" A 0 A_spawnItemEx("TrioStolenEnergyFXSpawner",0,0,32,Random(-60,60),Random(-60,60),Random(-60,60))
"####" B 1 Offset(9,41)ACS_NamedExecuteWithResult("VC_SetState",6)
"####" B 0 A_spawnItemEx("TrioStolenEnergyFXSpawner",0,0,32,Random(-60,60),Random(-60,60),Random(-60,60))
TrioEvilEnergyStartUpHold:
"####" C 1 Offset(9,41)ACS_NamedExecuteWithResult("VC_SetState",6) "####" C 0 A_GiveInventory("CutterFlag",1)
"####" C 0 A_spawnItemEx("TrioStolenEnergyFXSpawner",0,0,32,Random(-60,60),Random(-60,60),Random(-60,60))
"####" A 1 Offset(9,41)ACS_NamedExecuteWithResult("VC_SetState",6) "####" A 0 A_GiveInventory("CutterFlag",1)
"####" A 0 A_spawnItemEx("TrioStolenEnergyFXSpawner",0,0,32,Random(-60,60),Random(-60,60),Random(-60,60))
"####" B 1 Offset(9,41)ACS_NamedExecuteWithResult("VC_SetState",6) "####" B 0 A_GiveInventory("CutterFlag",1)
"####" B 0 A_spawnItemEx("TrioStolenEnergyFXSpawner",0,0,32,Random(-60,60),Random(-60,60),Random(-60,60))
"####" B 0 A_JumpIfInventory("CutterFlag",30,"TEESUHEnd")
loop
TEESUHEnd:
TNT1 A 0 SetPlayerProperty(0,1,3)
TNT1 A 0 A_TakeInventory("CutterFlag",35)
TNT1 A 0 A_JumpIfInventory("Trio057Flag",1,"GigaTornadoHoldReady")
TNT1 A 0 A_JumpIfInventory("Trio058Flag",1,"GigaAstroCrushReady")
TNT1 A 0 A_JumpIfInventory("Trio059Flag",1,"GigaFlameSwordReady")
TNT1 A 0 A_JumpIfInventory("Trio060Flag",1,"GigaThunderClawReady")
TNT1 A 0 A_JumpIfInventory("Trio061Flag",1,"GigaHomingSniperReady")
TNT1 A 0 A_JumpIfInventory("Trio062Flag",1,"GigaIceWaveReady")
TNT1 A 0 A_JumpIfInventory("Trio063Flag",1,"GigaFlashBombReady")
TNT1 A 0 A_JumpIfInventory("Trio064Flag",1,"GigaWaterBalloonReady")
ERO8 A 3
Goto Ready2

GigaTornadoHoldReady:
TNT1 A 0 A_GunFlash("GigaTornadoHoldSpin")
ERO7 W 15 A_PlaySoundEx("weapon/superboost","Weapon")
TNT1 A 0 A_GiveInventory("CutterFlag",1)
TNT1 A 0 A_JumpIfInventory("CutterFlag",3,1)
Goto GigaTornadoHoldReady+1
TNT1 A 0 A_GunFlash("EndFlash")
TNT1 A 0 ThrustThingZ(0,70,0,1)
TNT1 A 0 SetPlayerProperty(0,0,3)
TNT1 A 0 ACS_NamedExecuteWithResult("VC_SetState",0)
TNT1 A 0 A_TakeInventory("BaseAltfireAmmo",112)
TNT1 A 0 A_SpawnItemEx("TrioGigaTornadoHold",0,0,0,0.1,0,0,0,SXF_TRANSFERTRANSLATION)
ERO7 XY 3
ERO7 Y 3 OffSet(12,47)
ERO7 Y 3 OffSet(26,62)
Goto Ready.AltfireReturn

GigaThunderClawReady:
ERO7 S 0
ERO7 SSSSSSSSSS 1 ACS_NamedExecuteWithResult("VC_SetState",6)
TNT1 A 0 A_GunFlash("GigaThunderClawSpin")
TNT1 A 0 A_PlaySoundEx("misc/wilylightning","Body",True)
TNT1 A 0 A_FireCustomMissile("TrioGigaThunderWarper",0,0,0,0,0,0)
GigaThunderClawHold:
ERO7 TTUUVV 1
TNT1 A 0 A_JumpIfInventory("BaseAltfireAmmo",1,"GigaThunderClawHold")
ERO7 TTT 1 A_Jump(256,"GTCStop")
GTCStop:
TNT1 A 0 A_StopSoundEx("Body")
TNT1 A 0 A_GunFlash("EndFlash")
TNT1 A 0 SetPlayerProperty(0,0,3)
TNT1 A 0 ACS_NamedExecuteWithResult("VC_SetState",0)
Goto Ready.AltfireReturn

GigaAstroCrushReady:
TNT1 A 0 SetPlayerProperty(0,1,3)
TNT1 A 0 A_PlaySoundEx("weapon/mirrorabsorb","Weapon")
ERO7 A 1 A_Stop TNT1 A 0 ACS_NamedExecuteWithResult("VC_SetState",23) ERO7 A 1 A_Stop TNT1 A 0 ACS_NamedExecuteWithResult("VC_SetState",23)
ERO7 A 1 A_Stop TNT1 A 0 ACS_NamedExecuteWithResult("VC_SetState",23) ERO7 A 1 A_Stop TNT1 A 0 ACS_NamedExecuteWithResult("VC_SetState",23)
ERO7 A 1 A_Stop TNT1 A 0 ACS_NamedExecuteWithResult("VC_SetState",23) ERO7 A 1 A_Stop TNT1 A 0 ACS_NamedExecuteWithResult("VC_SetState",23)
ERO7 B 1 A_Stop TNT1 A 0 ACS_NamedExecuteWithResult("VC_SetState",23) ERO7 B 1 A_Stop TNT1 A 0 ACS_NamedExecuteWithResult("VC_SetState",23)
ERO7 B 1 A_Stop TNT1 A 0 ACS_NamedExecuteWithResult("VC_SetState",23) ERO7 B 1 A_Stop TNT1 A 0 ACS_NamedExecuteWithResult("VC_SetState",23)
ERO7 B 1 A_Stop TNT1 A 0 ACS_NamedExecuteWithResult("VC_SetState",23) ERO7 B 1 A_Stop TNT1 A 0 ACS_NamedExecuteWithResult("VC_SetState",23)
ERO7 C 1 A_Stop TNT1 A 0 ACS_NamedExecuteWithResult("VC_SetState",23) ERO7 C 1 A_Stop TNT1 A 0 ACS_NamedExecuteWithResult("VC_SetState",23)
ERO7 C 1 A_Stop TNT1 A 0 ACS_NamedExecuteWithResult("VC_SetState",23) ERO7 C 1 A_Stop TNT1 A 0 ACS_NamedExecuteWithResult("VC_SetState",23)
ERO7 C 1 A_Stop TNT1 A 0 ACS_NamedExecuteWithResult("VC_SetState",23) ERO7 C 1 A_Stop TNT1 A 0 ACS_NamedExecuteWithResult("VC_SetState",23)
ERO7 D 1 A_Stop TNT1 A 0 ACS_NamedExecuteWithResult("VC_SetState",23) ERO7 D 1 A_Stop TNT1 A 0 ACS_NamedExecuteWithResult("VC_SetState",23)
ERO7 D 1 A_Stop TNT1 A 0 ACS_NamedExecuteWithResult("VC_SetState",23) ERO7 D 1 A_Stop TNT1 A 0 ACS_NamedExecuteWithResult("VC_SetState",23)
ERO7 D 1 A_Stop TNT1 A 0 ACS_NamedExecuteWithResult("VC_SetState",23) ERO7 D 1 A_Stop TNT1 A 0 ACS_NamedExecuteWithResult("VC_SetState",23)
ERO7 E 1 A_Stop TNT1 A 0 ACS_NamedExecuteWithResult("VC_SetState",23) ERO7 E 1 A_Stop TNT1 A 0 ACS_NamedExecuteWithResult("VC_SetState",23)
ERO7 E 1 A_Stop TNT1 A 0 ACS_NamedExecuteWithResult("VC_SetState",23) ERO7 E 1 A_Stop TNT1 A 0 ACS_NamedExecuteWithResult("VC_SetState",23)
ERO7 E 1 A_Stop TNT1 A 0 ACS_NamedExecuteWithResult("VC_SetState",23) ERO7 E 1 A_Stop TNT1 A 0 ACS_NamedExecuteWithResult("VC_SetState",23)
GigaAstroCrushHold:
TNT1 A 0 A_TakeInventory("BaseAltfireAmmo",14)
TNT1 A 0 A_PlaysoundEx("misc/archiveawake","Weapon")
TNT1 A 0 A_SpawnItemEx("TrioCopyVision",0,0,32,Random(-80,80),Random(-80,80),Random(-80,80))
TNT1 AAAAAAAAA 1 ACS_NamedExecuteWithResult("VC_SetState",23)
TNT1 A 0 A_JumpIfInventory("BaseAltfireAmmo",1,"GigaAstroCrushHold")
TNT1 A 0 A_GunFlash("EndFlash")
TNT1 A 0 SetPlayerProperty(0,0,3)
TNT1 A 0 ACS_NamedExecuteWithResult("VC_SetState",0)
Goto Ready.AltfireReturn

GigaFlashBombReady:
ERO8 QQQQQQQQQQQQQQQ 1 ACS_NamedExecuteWithResult("VC_SetState",24)
TNT1 A 0 A_TakeInventory("BaseAltfireAmmo",28)
TNT1 A 0 A_PlaySoundEx("weapon/magnetmissile","Weapon")
TNT1 A 0 A_FireCustomMissile("TrioGigaFlashBomb",(6*5),0,8,0)
TNT1 A 0 A_FireCustomMissile("TrioGigaFlashBomb",(6*4),0,8,0)
TNT1 A 0 A_FireCustomMissile("TrioGigaFlashBomb",(6*3),0,8,0)
TNT1 A 0 A_FireCustomMissile("TrioGigaFlashBomb",(6*2),0,8,0)
TNT1 A 0 A_FireCustomMissile("TrioGigaFlashBomb",(6*1),0,8,0)
TNT1 A 0 A_FireCustomMissile("TrioGigaFlashBomb",(6*0),0,8,0)
TNT1 A 0 A_FireCustomMissile("TrioGigaFlashBomb",(6*-1),0,8,0)
TNT1 A 0 A_FireCustomMissile("TrioGigaFlashBomb",(6*-2),0,8,0)
TNT1 A 0 A_FireCustomMissile("TrioGigaFlashBomb",(6*-3),0,8,0)
TNT1 A 0 A_FireCustomMissile("TrioGigaFlashBomb",(6*-4),0,8,0)
TNT1 A 0 A_FireCustomMissile("TrioGigaFlashBomb",(6*-5),0,8,0)
ERO8 QQQQ 1 OffSet(22,56)ACS_NamedExecuteWithResult("VC_SetState",24)
ERO8 QQQQ 1 OffSet(42,75)ACS_NamedExecuteWithResult("VC_SetState",24)
ERO8 QQQQ 1 OffSet(22,56)ACS_NamedExecuteWithResult("VC_SetState",24)
ERO8 QQQQQQQQQQQQQQQ 1 ACS_NamedExecuteWithResult("VC_SetState",24)
TNT1 A 0 A_TakeInventory("BaseAltfireAmmo",28)
TNT1 A 0 A_PlaySoundEx("weapon/magnetmissile","Weapon")
TNT1 A 0 A_FireCustomMissile("TrioGigaFlashBomb",0,0,8,0,0,(6*5))
TNT1 A 0 A_FireCustomMissile("TrioGigaFlashBomb",0,0,8,0,0,(6*4))
TNT1 A 0 A_FireCustomMissile("TrioGigaFlashBomb",0,0,8,0,0,(6*3))
TNT1 A 0 A_FireCustomMissile("TrioGigaFlashBomb",0,0,8,0,0,(6*2))
TNT1 A 0 A_FireCustomMissile("TrioGigaFlashBomb",0,0,8,0,0,(6*1))
TNT1 A 0 A_FireCustomMissile("TrioGigaFlashBomb",0,0,8,0,0,(6*0))
TNT1 A 0 A_FireCustomMissile("TrioGigaFlashBomb",0,0,8,0,0,(6*-1))
TNT1 A 0 A_FireCustomMissile("TrioGigaFlashBomb",0,0,8,0,0,(6*-2))
TNT1 A 0 A_FireCustomMissile("TrioGigaFlashBomb",0,0,8,0,0,(6*-3))
TNT1 A 0 A_FireCustomMissile("TrioGigaFlashBomb",0,0,8,0,0,(6*-4))
TNT1 A 0 A_FireCustomMissile("TrioGigaFlashBomb",0,0,8,0,0,(6*-5))
ERO8 QQQQ 1 OffSet(22,56)ACS_NamedExecuteWithResult("VC_SetState",24)
ERO8 QQQQ 1 OffSet(42,75)ACS_NamedExecuteWithResult("VC_SetState",24)
ERO8 QQQQ 1 OffSet(22,56)ACS_NamedExecuteWithResult("VC_SetState",24)
TNT1 A 0 A_JumpIfInventory("BaseAltfireAmmo",1,"GigaFlashBombReady")
TNT1 A 0 SetPlayerProperty(0,0,3)
TNT1 A 0 ACS_NamedExecuteWithResult("VC_SetState",0)
Goto Ready.AltfireReturn

GigaFlameSwordReady:
TNT1 A 0 A_PlaySoundEx("weapon/mirrorabsorb","Weapon")
ERO8 RR 1 OffSet(136,-13)ACS_NamedExecuteWithResult("VC_SetState",25)
ERO8 RR 1 OffSet(98,-1)ACS_NamedExecuteWithResult("VC_SetState",25)
ERO8 RR 1 OffSet(60,11)ACS_NamedExecuteWithResult("VC_SetState",25)
ERO8 RR 1 OffSet(30,22)ACS_NamedExecuteWithResult("VC_SetState",25)
ERO8 RRR 1 OffSet(1,33)ACS_NamedExecuteWithResult("VC_SetState",25)
ERO8 RRR 1 Offset(1,33)ACS_NamedExecuteWithResult("VC_SetState",25)
ERO8 RR 1 OffSet(20,18)ACS_NamedExecuteWithResult("VC_SetState",25)
ERO8 SS 1 OffSet(1,33)ACS_NamedExecuteWithResult("VC_SetState",25)
TNT1 A 0 A_TakeInventory("BaseAltfireAmmo",28)
TNT1 A 0 A_PlaySoundEx("weapon/atomicfire","Weapon")
TNT1 A 0 A_SpawnItemEx("TrioFlameSwing1",0,0,28,cos(-pitch)*1,0,sin(-pitch)*1,0,1)
ERO8 SS 1 OffSet(50,18)ACS_NamedExecuteWithResult("VC_SetState",26)
ERO8 SS 1 OffSet(91,-3)ACS_NamedExecuteWithResult("VC_SetState",26)
ERO8 TT 1 OffSet(1,33)ACS_NamedExecuteWithResult("VC_SetState",27)
ERO8 TT 1 OffSet(50,33)ACS_NamedExecuteWithResult("VC_SetState",27)
TNT1 AA 1 OffSet(50,33)ACS_NamedExecuteWithResult("VC_SetState",28)
TNT1 AA 1 ACS_NamedExecuteWithResult("VC_SetState",29)
ERO8 UU 1 OffSet(24,19)ACS_NamedExecuteWithResult("VC_SetState",29)
TNT1 A 0 A_TakeInventory("BaseAltfireAmmo",28)
TNT1 A 0 A_PlaySoundEx("weapon/atomicfire","Weapon")
TNT1 A 0 A_SpawnItemEx("TrioFlameSwing2",0,0,28,cos(-pitch)*1,0,sin(-pitch)*1,0,1)
ERO8 UU 1 OffSet(1,33)ACS_NamedExecuteWithResult("VC_SetState",30)
ERO8 VV 1 OffSet(1,33)ACS_NamedExecuteWithResult("VC_SetState",30)
ERO8 VV 1 OffSet(-57,43)ACS_NamedExecuteWithResult("VC_SetState",31)
ERO8 VV 1 OffSet(-143,56)ACS_NamedExecuteWithResult("VC_SetState",31)
ERO8 WW 1 OffSet(17,21)ACS_NamedExecuteWithResult("VC_SetState",32)
ERO8 WW 1 OffSet(8,27)ACS_NamedExecuteWithResult("VC_SetState",32)
TNT1 A 0 A_WeaponReady(WRF_NOFIRE)
ERO8 WWWWWWWWWWWWWWWW 1 ACS_NamedExecuteWithResult("VC_SetState",32)
ERO8 WW 1 OffSet(26,31)ACS_NamedExecuteWithResult("VC_SetState",32)
ERO8 WW 1 OffSet(52,29)ACS_NamedExecuteWithResult("VC_SetState",32)
ERO8 WW 1 OffSet(78,28)ACS_NamedExecuteWithResult("VC_SetState",32)
ERO8 WW 1 OffSet(102,27)ACS_NamedExecuteWithResult("VC_SetState",32)
ERO8 WW 1 OffSet(124,26)ACS_NamedExecuteWithResult("VC_SetState",32)
ERO8 WW 1 OffSet(144,25)ACS_NamedExecuteWithResult("VC_SetState",32)
TNT1 A 0 A_JumpIfInventory("BaseAltfireAmmo",1,"GigaFlameSwordReady")
TNT1 A 0 SetPlayerProperty(0,0,3)
TNT1 A 0 ACS_NamedExecuteWithResult("VC_SetState",0)
Goto Ready.AltfireReturn

GigaHomingSniperReady:
TNT1 A 0 A_GunFlash("GigaHomingSniperLockOn")
TNT1 A 0 A_PlaySoundEx("misc/BombCount","Weapon")
ERO7 OOOOOOOOOOOOOOOOOOOOOOOOOOOO 1 A_JumpIfInventory("Base112Ammo",112,"GigaHomingSniperFire")
loop
GigaHomingSniperFire:
TNT1 A 0 A_Stop
TNT1 A 0 SetPlayerProperty(0,1,4)
TNT1 A 0 A_TakeInventory("Base112Ammo",112)
TNT1 A 0 A_GunFlash("GigaHomingSniperAttack")
TNT1 A 0 A_GiveInventory("HalfHalfDamageProtection")
GigaHomingSniperHold:
ERO7 P 1 ACS_NamedExecuteWithResult("VC_SetState",6) TNT1 A 0 A_TakeInventory("BaseAltfireAmmo",2) TNT1 A 0 A_Quake(2,5,0,100)
TNT1 A 0 A_PlaySoundEx("weapon/coilexplode","Weapon") TNT1 A 0 A_PlaySoundEx("weapon/searchdstorm","Body")
TNT1 AA 0 A_SpawnItemEx("TrioGigaHomingSniper",16,Random(-32,32),Random(8,48),100*cos(pitch),0,100*-sin(pitch),0,SXF_TRANSFERPITCH)
ERO7 Q 1 ACS_NamedExecuteWithResult("VC_SetState",6) TNT1 A 0 A_TakeInventory("BaseAltfireAmmo",2) TNT1 A 0 A_Quake(2,5,0,100)
TNT1 A 0 A_PlaySoundEx("weapon/coilexplode","Weapon") TNT1 A 0 A_PlaySoundEx("weapon/searchdstorm","Body")
TNT1 AA 0 A_SpawnItemEx("TrioGigaHomingSniper",16,Random(-32,32),Random(8,48),100*cos(pitch),0,100*-sin(pitch),0,SXF_TRANSFERPITCH)
ERO7 R 1 ACS_NamedExecuteWithResult("VC_SetState",6) TNT1 A 0 A_TakeInventory("BaseAltfireAmmo",2) TNT1 A 0 A_Quake(2,5,0,100)
TNT1 A 0 A_PlaySoundEx("weapon/coilexplode","Weapon") TNT1 A 0 A_PlaySoundEx("weapon/searchdstorm","Body")
TNT1 AA 0 A_SpawnItemEx("TrioGigaHomingSniper",16,Random(-32,32),Random(8,48),100*cos(pitch),0,100*-sin(pitch),0,SXF_TRANSFERPITCH)
TNT1 A 0 A_JumpIfInventory("BaseAltfireAmmo",1,"GigaHomingSniperHold")
TNT1 A 0 A_GunFlash("EndFlash")
TNT1 A 0 SetPlayerProperty(0,0,3)
TNT1 A 0 SetPlayerProperty(0,0,4)
TNT1 A 0 A_TakeInventory("HalfHalfDamageProtection")
Goto Ready.AltfireReturn

GigaIceWaveReady:
TNT1 A 0 A_SpawnItemEx("GigaIceWaveWarper")
TNT1 A 0 A_PlaySoundEx("weapon/pcharge","Weapon")
ERO7 FFFF 1 OffSet(0,24)ACS_NamedExecuteWithResult("VC_SetState",1)
ERO7 FFFF 1 OffSet(0,-6)ACS_NamedExecuteWithResult("VC_SetState",1)
ERO7 FFFF 1 OffSet(0,-36)ACS_NamedExecuteWithResult("VC_SetState",1)
ERO7 FFFF 1 OffSet(0,-66)ACS_NamedExecuteWithResult("VC_SetState",1)
ERO7 FF 1 OffSet(1,-66)ACS_NamedExecuteWithResult("VC_SetState",1)
ERO7 FF 1 OffSet(-3,-66)ACS_NamedExecuteWithResult("VC_SetState",1)
ERO7 FF 1 OffSet(1,-66)ACS_NamedExecuteWithResult("VC_SetState",1)
ERO7 FF 1 OffSet(-3,-66)ACS_NamedExecuteWithResult("VC_SetState",1)
ERO7 FF 1 OffSet(1,-66)ACS_NamedExecuteWithResult("VC_SetState",1)
ERO7 FF 1 OffSet(-3,-66)ACS_NamedExecuteWithResult("VC_SetState",1)
ERO7 FF 1 OffSet(1,-66)ACS_NamedExecuteWithResult("VC_SetState",1)
ERO7 F 1 OffSet(-3,-66)ACS_NamedExecuteWithResult("VC_SetState",1)
ERO7 F 1 OffSet(1,-66)ACS_NamedExecuteWithResult("VC_SetState",1)
TNT1 A 0 A_SpawnItemEx("FrostChargeFX",15,0,80)
TNT1 A 0 A_PlaySoundEx("weapon/frostcharge","Body")
GigaIceWaveHold:
ERO7 G 1 OffSet(0,-66)ACS_NamedExecuteWithResult("VC_SetState",2)
TNT1 A 0 A_SpawnItemEx("TrioFrostAir",random(25,35),random(-20,20),48,random(-2,2),0,random(-3,0))
TNT1 A 0 A_GiveInventory("CutterFlag",1)
TNT1 A 0 A_JumpIfInventory("CutterFlag",30,1)
loop
TNT1 A 0 A_Quake(3,35,0,300,0)
TNT1 A 0 A_TakeInventory("CutterFlag",30)
TNT1 A 0 A_TakeInventory("BaseAltfireAmmo",112)
TNT1 A 0 A_PlaySoundEx("weapon/blizzardbowl","Voice")
TNT1 A 0 A_FireCustomMissile("GigaIceWaveSpawner",0,0,0,0)
ERO7 GGG 1 Offset(0,-19)ACS_NamedExecuteWithResult("VC_SetState",6)
ERO7 HHH 1 Offset(0,28)ACS_NamedExecuteWithResult("VC_SetState",6)
ERO7 HHHHHHHHHHHHHHHHHHHHH 1 Offset(0,48)ACS_NamedExecuteWithResult("VC_SetState",6)
ERO7 HHH 1 OffSet(0,40)ACS_NamedExecuteWithResult("VC_SetState",6)
TNT1 A 0 SetPlayerProperty(0,0,3)
TNT1 A 0 ACS_NamedExecuteWithResult("VC_SetState",0)
Goto Ready.AltfireReturn

GigaWaterBalloonReady:
ERO7 IIIIIIIIIIIIIIIIIIII 1 ACS_NamedExecuteWithResult("VC_SetState",24)
ERO7 II 1 OffSet(8,44)ACS_NamedExecuteWithResult("VC_SetState",24)
TNT1 A 0 A_WeaponReady(WRF_NOFIRE)
ERO7 II 1 ACS_NamedExecuteWithResult("VC_SetState",24)
TNT1 A 0 A_TakeInventory("BaseAltfireAmmo",28)
TNT1 A 0 A_PlaySoundEx("weapon/waterballoon","Weapon")
TNT1 A 0 A_FireCustomMissile("TrioGigaWaterBalloon",0,0,0,0)
TNT1 AAAAA 0 A_FireCustomMissile("TrioAquaDrop",random(-8,8),0,1,random(8,14),0,random(0,4))
ERO7 JJJKKKLLLMMMNNN 1 ACS_NamedExecuteWithResult("VC_SetState",24)
ERO7 IIIIII 1 OffSet(24,56)ACS_NamedExecuteWithResult("VC_SetState",24)
ERO7 II 1 OffSet(8,44)ACS_NamedExecuteWithResult("VC_SetState",24)
TNT1 A 0 A_WeaponReady(WRF_NOFIRE)
TNT1 A 0 A_JumpIfInventory("BaseAltfireAmmo",1,"GigaWaterBalloonReady")
TNT1 A 0 SetPlayerProperty(0,0,3)
TNT1 A 0 ACS_NamedExecuteWithResult("VC_SetState",0)
Goto Ready.AltfireReturn

User1:
TNT1 A 0 A_GunFlash("DarkCharge")
TNT1 A 0 A_PlaySoundEx("misc/gutsgboost","Weapon")
ERO8 BB 1 Offset(10,42)A_GiveInventory("DarkCharging",1)
ERO8 BB 1 Offset(20,52)A_GiveInventory("DarkCharging",1)
ERO8 BB 1 Offset(30,62)A_GiveInventory("DarkCharging",1)
ChargeHold:
TNT1 A 0 A_JumpIfInventory("DarkCharging",35,"ChargedHold")
ERO8 B 1 Offset(30,62)A_GiveInventory("DarkCharging",1) TNT1 A 0 A_SpawnItemEx("DarkChargeHitBox",momx,momy,momz)
ERO8 BB 1 Offset(30,62)A_JumpIf(ACS_NamedExecuteWithResult("VC_CheckBtn",3)==3,"ChargeHold")
Goto ChargeEnd
ChargedHold:
TNT1 A 0 A_JumpIfInventory("DarkCharging",140,"DarkChargeGigaFist")
TNT1 A 0 A_GiveInventory("LeftClickFlag")
TNT1 A 0 Offset(30,62)A_JumpIf(ACS_NamedExecuteWithResult("VC_CheckBtn",3)==3 && ACS_NamedExecuteWithResult("VC_CheckBtn",4)==3,"DarkChargeGigaFist")
ER10 F 1 Offset(30,62)A_GiveInventory("DarkCharging",1) TNT1 A 0 A_SpawnItemEx("DarkChargeHitBox",momx,momy,momz)
ER10 FF 1 Offset(30,62)A_JumpIf(ACS_NamedExecuteWithResult("VC_CheckBtn",3)==3,"ChargedHold")
Goto ChargeEnd
DarkChargeGigaFist:
TNT1 A 0 A_GunFlash("DarkChargeFire")
TNT1 A 0 A_SpawnItemEx("DarkChargeWatcher")
TNT1 A 0 A_PlaySoundEx("weapon/DuoCharge3","Weapon")
TNT1 A 0 A_FireCustomMissile("TrioGigaFist",0,0,8,0)
ERO8 H 1 Offset(-1,34) A_TakeInventory("LeftClickFlag")
ERO8 H 1 Offset(-10,28)
ERO8 JIJIJ 2 Offset(-14,24)
ERO8 J 1 Offset(-14,24)
ERO8 J 1 Offset(-11,25)
ERO8 J 1 Offset(-8,26)
ERO8 J 1 Offset(-6,27)
ERO8 J 1 Offset(-4,28)
ERO8 J 1 Offset(-3,29)
ERO8 J 1 Offset(-2,30)
ERO8 J 1 Offset(-1,31)
TNT1 A 0 A_GunFlash("EndFlash")
TNT1 A 0 SetPlayerProperty(0,0,3)
TNT1 A 0 ACS_NamedExecuteWithResult("VC_SetState",0)
ERO8 J 8 A_WeaponReady(WRF_NOFIRE)
Goto Ready2
ChargeEnd:
TNT1 A 0 A_SpawnItemEx("DarkChargeWatcher")
ERO8 BB 1 Offset(30,62) A_TakeInventory("LeftClickFlag")
ERO8 BB 1 Offset(20,52)
ERO8 BB 1 Offset(10,42)
TNT1 A 0 A_GunFlash("EndFlash")
Goto Ready2

UltimateAttack:
ERO8 A 1
TNT1 A 0 A_Stop
TNT1 A 0 A_GunFlash("DarkEclipseCannonStart")
TNT1 A 0 A_GiveInventory("DarkExclipseCannonStartPickUp",1)
TNT1 A 0 A_SpawnItemEx("GigaUltimateSkullWarperTE") TNT1 A 0 A_SpawnItemEx("GigaUltimateSkullWarperCL")
TNT1 A 0 A_SpawnItemEx("GigaUltimateSkullWarperAS") TNT1 A 0 A_SpawnItemEx("GigaUltimateSkullWarperGR")
TNT1 A 0 A_SpawnItemEx("GigaUltimateSkullWarperSW") TNT1 A 0 A_SpawnItemEx("GigaUltimateSkullWarperSE")
TNT1 A 0 A_SpawnItemEx("GigaUltimateSkullWarperFR") TNT1 A 0 A_SpawnItemEx("GigaUltimateSkullWarperAQ")
UltStartHold:
ERO8 B 1 A_GiveInventory("CutterFlag",1) TNT1 A 0 A_JumpIfInventory("CutterFlag",55,"UltStartHold2")
ERO8 B 1 A_GiveInventory("CutterFlag",1) TNT1 A 0 A_JumpIfInventory("CutterFlag",55,"UltStartHold2")
ER10 G 1 A_GiveInventory("CutterFlag",1) TNT1 A 0 A_JumpIfInventory("CutterFlag",55,"UltStartHold2")
ER10 G 1 A_GiveInventory("CutterFlag",1) TNT1 A 0 A_JumpIfInventory("CutterFlag",55,"UltStartHold2")
loop
UltStartHold2:
TNT1 A 0 A_PlaySoundEx("weapon/TrioRage","Weapon") TNT1 A 0 ACS_ExecuteAlways(991,0,10867)
TRO9 A 1 Offset(2,34)A_spawnItemEx("TrioStolenEnergyFXSpawner2",0,0,32,Random(-60,60),Random(-60,60),Random(-60,60)) TNT1 C 0 A_GiveInventory("CutterFlag",1)
TRO9 B 1 Offset(4,36)A_spawnItemEx("TrioStolenEnergyFXSpawner2",0,0,32,Random(-60,60),Random(-60,60),Random(-60,60)) TNT1 C 0 A_GiveInventory("CutterFlag",1)
TRO9 C 1 Offset(7,39)A_spawnItemEx("TrioStolenEnergyFXSpawner2",0,0,32,Random(-60,60),Random(-60,60),Random(-60,60)) TNT1 C 0 A_GiveInventory("CutterFlag",1)
TRO9 A 1 Offset(8,40)A_spawnItemEx("TrioStolenEnergyFXSpawner2",0,0,32,Random(-60,60),Random(-60,60),Random(-60,60)) TNT1 C 0 A_GiveInventory("CutterFlag",1)
TRO9 B 1 Offset(9,41)A_spawnItemEx("TrioStolenEnergyFXSpawner2",0,0,32,Random(-60,60),Random(-60,60),Random(-60,60)) TNT1 C 0 A_GiveInventory("CutterFlag",1)
UltStartHold2B:
TRO9 C 1 Offset(9,41) A_GiveInventory("CutterFlag",1) TNT1 A 0 A_JumpIfInventory("CutterFlag",110,"DarkEclipseCannon")
TNT1 AAA 0 A_spawnItemEx("TrioStolenEnergyFXSpawner2",0,0,32,Random(-60,60),Random(-60,60),Random(-60,60))
TRO9 A 1 Offset(9,41) A_GiveInventory("CutterFlag",1) TNT1 A 0 A_JumpIfInventory("CutterFlag",110,"DarkEclipseCannon")
TNT1 AAA 0 A_spawnItemEx("TrioStolenEnergyFXSpawner2",0,0,32,Random(-60,60),Random(-60,60),Random(-60,60))
TRO9 B 1 Offset(9,41) A_GiveInventory("CutterFlag",1) TNT1 A 0 A_JumpIfInventory("CutterFlag",110,"DarkEclipseCannon")
TNT1 AAA 0 A_spawnItemEx("TrioStolenEnergyFXSpawner2",0,0,32,Random(-60,60),Random(-60,60),Random(-60,60))
loop
DarkEclipseCannon:
TNT1 A 0 SetPlayerProperty(0,0,0)
TNT1 A 0 A_GunFlash("DarkEclipseCannonFire")
TNT1 A 0 A_PlaySoundEx("weapon/trioult","Auto")
TNT1 A 0 A_JumpIfInventory("TerminationUltimateAmmo",1,1) Goto UltEnd ERO8 B 1 Offset(44,14)A_TakeInventory("TerminationUltimateAmmo",6)
TNT1 A 0 A_JumpIfInventory("TerminationUltimateAmmo",1,1) Goto UltEnd ERO8 B 1 Offset(42,17)A_TakeInventory("TerminationUltimateAmmo",6)
TNT1 A 0 A_JumpIfInventory("TerminationUltimateAmmo",1,1) Goto UltEnd ERO8 B 1 Offset(41,20)A_TakeInventory("TerminationUltimateAmmo",6)
TNT1 A 0 A_JumpIfInventory("TerminationUltimateAmmo",1,1) Goto UltEnd ERO8 B 1 Offset(43,18)A_TakeInventory("TerminationUltimateAmmo",6)
Goto DarkEclipseCannon+3
UltEnd:
TNT1 A 0 A_GunFlash("EndFlash")
TNT1 A 0 ACS_NamedExecuteWithResult("VC_SetState",0)
TNT1 A 0 A_GiveInventory("DarkExclipseCannonEndPickUp",1)
ERO8 B 1 Offset(44,31)
ERO8 B 1 Offset(33,31)
ERO8 B 1 Offset(22,31)
ERO8 B 1 Offset(11,31)
Goto Ready2

//Flash States
GigaTornadoHoldSpin:
TNT1 AA 1 ACS_NamedExecuteWithResult("VC_SetState",7) TNT1 A 0 A_JumpIfInventory("IsDead",1,"EndFlash")
TNT1 AA 1 ACS_NamedExecuteWithResult("VC_SetState",8) TNT1 A 0 A_JumpIfInventory("IsDead",1,"EndFlash")
TNT1 AA 1 ACS_NamedExecuteWithResult("VC_SetState",9) TNT1 A 0 A_JumpIfInventory("IsDead",1,"EndFlash")
TNT1 AA 1 ACS_NamedExecuteWithResult("VC_SetState",10) TNT1 A 0 A_JumpIfInventory("IsDead",1,"EndFlash")
TNT1 AA 1 ACS_NamedExecuteWithResult("VC_SetState",11) TNT1 A 0 A_JumpIfInventory("IsDead",1,"EndFlash")
TNT1 AA 1 ACS_NamedExecuteWithResult("VC_SetState",12) TNT1 A 0 A_JumpIfInventory("IsDead",1,"EndFlash")
TNT1 AA 1 ACS_NamedExecuteWithResult("VC_SetState",13) TNT1 A 0 A_JumpIfInventory("IsDead",1,"EndFlash")
TNT1 AA 1 ACS_NamedExecuteWithResult("VC_SetState",14) TNT1 A 0 A_JumpIfInventory("IsDead",1,"EndFlash")
loop
GigaThunderClawSpin:
TNT1 AAAA 1 ACS_NamedExecuteWithResult("VC_SetState",22) TNT1 A 0 A_JumpIfInventory("IsDead",1,"EndFlash")
TNT1 AAAA 1 ACS_NamedExecuteWithResult("VC_SetState",21) TNT1 A 0 A_JumpIfInventory("IsDead",1,"EndFlash")
TNT1 AAAA 1 ACS_NamedExecuteWithResult("VC_SetState",20) TNT1 A 0 A_JumpIfInventory("IsDead",1,"EndFlash")
TNT1 AAAA 1 ACS_NamedExecuteWithResult("VC_SetState",19) TNT1 A 0 A_JumpIfInventory("IsDead",1,"EndFlash")
TNT1 AAAA 1 ACS_NamedExecuteWithResult("VC_SetState",18) TNT1 A 0 A_JumpIfInventory("IsDead",1,"EndFlash")
TNT1 AAAA 1 ACS_NamedExecuteWithResult("VC_SetState",17) TNT1 A 0 A_JumpIfInventory("IsDead",1,"EndFlash")
TNT1 AAAA 1 ACS_NamedExecuteWithResult("VC_SetState",16) TNT1 A 0 A_JumpIfInventory("IsDead",1,"EndFlash")
TNT1 AAAA 1 ACS_NamedExecuteWithResult("VC_SetState",15) TNT1 A 0 A_JumpIfInventory("IsDead",1,"EndFlash")
loop
GigaHomingSniperLockOn:
TNT1 A 1 ACS_NamedExecuteWithResult("VC_SetState",4) TNT1 A 0 A_FireCustomMissile("GigaLockOn",0,0,8,0) TNT1 A 0 A_GiveInventory("Base112Ammo",1)
TNT1 A 1 ACS_NamedExecuteWithResult("VC_SetState",4) TNT1 A 0 A_FireCustomMissile("GigaLockOn",0,0,8,0) TNT1 A 0 A_GiveInventory("Base112Ammo",1)
TNT1 A 1 ACS_NamedExecuteWithResult("VC_SetState",4) TNT1 A 0 A_FireCustomMissile("GigaLockOn",0,0,8,0) TNT1 A 0 A_GiveInventory("Base112Ammo",1)
TNT1 A 0 A_JumpIfInventory("IsDead",1,"EndFlash")
TNT1 A 1 ACS_NamedExecuteWithResult("VC_SetState",4) TNT1 A 0 A_FireCustomMissile("GigaLockOn2",0,0,8,0) TNT1 A 0 A_GiveInventory("Base112Ammo",1)
TNT1 A 1 ACS_NamedExecuteWithResult("VC_SetState",4) TNT1 A 0 A_FireCustomMissile("GigaLockOn2",0,0,8,0) TNT1 A 0 A_GiveInventory("Base112Ammo",1)
TNT1 A 1 ACS_NamedExecuteWithResult("VC_SetState",4) TNT1 A 0 A_FireCustomMissile("GigaLockOn2",0,0,8,0) TNT1 A 0 A_GiveInventory("Base112Ammo",1)
TNT1 A 0 A_JumpIfInventory("IsDead",1,"EndFlash")
TNT1 A 1 ACS_NamedExecuteWithResult("VC_SetState",4) TNT1 A 0 A_FireCustomMissile("GigaLockOn3",0,0,8,0) TNT1 A 0 A_GiveInventory("Base112Ammo",1)
TNT1 A 1 ACS_NamedExecuteWithResult("VC_SetState",4) TNT1 A 0 A_FireCustomMissile("GigaLockOn3",0,0,8,0) TNT1 A 0 A_GiveInventory("Base112Ammo",1)
TNT1 A 1 ACS_NamedExecuteWithResult("VC_SetState",4) TNT1 A 0 A_FireCustomMissile("GigaLockOn3",0,0,8,0) TNT1 A 0 A_GiveInventory("Base112Ammo",1)
TNT1 A 0 A_JumpIfInventory("IsDead",1,"EndFlash")
TNT1 A 1 ACS_NamedExecuteWithResult("VC_SetState",4) TNT1 A 0 A_FireCustomMissile("GigaLockOn2",0,0,8,0) TNT1 A 0 A_GiveInventory("Base112Ammo",1)
TNT1 A 1 ACS_NamedExecuteWithResult("VC_SetState",4) TNT1 A 0 A_FireCustomMissile("GigaLockOn2",0,0,8,0) TNT1 A 0 A_GiveInventory("Base112Ammo",1)
TNT1 A 1 ACS_NamedExecuteWithResult("VC_SetState",4) TNT1 A 0 A_FireCustomMissile("GigaLockOn2",0,0,8,0) TNT1 A 0 A_GiveInventory("Base112Ammo",1)
TNT1 A 0 A_JumpIfInventory("IsDead",1,"EndFlash")
loop
GigaHomingSniperAttack:
TNT1 A 1 ACS_NamedExecuteWithResult("VC_SetState",6) TNT1 A 0 A_FireCustomMissile("GigaLockOn",0,0,8,0)
TNT1 A 1 ACS_NamedExecuteWithResult("VC_SetState",6) TNT1 A 0 A_FireCustomMissile("GigaLockOn",0,0,8,0)
TNT1 A 1 ACS_NamedExecuteWithResult("VC_SetState",6) TNT1 A 0 A_FireCustomMissile("GigaLockOn",0,0,8,0)
TNT1 A 0 A_JumpIfInventory("IsDead",1,"EndFlash")
TNT1 A 1 ACS_NamedExecuteWithResult("VC_SetState",6) TNT1 A 0 A_FireCustomMissile("GigaLockOn2",0,0,8,0)
TNT1 A 1 ACS_NamedExecuteWithResult("VC_SetState",6) TNT1 A 0 A_FireCustomMissile("GigaLockOn2",0,0,8,0)
TNT1 A 1 ACS_NamedExecuteWithResult("VC_SetState",6) TNT1 A 0 A_FireCustomMissile("GigaLockOn2",0,0,8,0)
TNT1 A 0 A_JumpIfInventory("IsDead",1,"EndFlash")
TNT1 A 1 ACS_NamedExecuteWithResult("VC_SetState",6) TNT1 A 0 A_FireCustomMissile("GigaLockOn3",0,0,8,0)
TNT1 A 1 ACS_NamedExecuteWithResult("VC_SetState",6) TNT1 A 0 A_FireCustomMissile("GigaLockOn3",0,0,8,0)
TNT1 A 1 ACS_NamedExecuteWithResult("VC_SetState",6) TNT1 A 0 A_FireCustomMissile("GigaLockOn3",0,0,8,0)
TNT1 A 0 A_JumpIfInventory("IsDead",1,"EndFlash")
TNT1 A 1 ACS_NamedExecuteWithResult("VC_SetState",6) TNT1 A 0 A_FireCustomMissile("GigaLockOn2",0,0,8,0)
TNT1 A 1 ACS_NamedExecuteWithResult("VC_SetState",6) TNT1 A 0 A_FireCustomMissile("GigaLockOn2",0,0,8,0)
TNT1 A 1 ACS_NamedExecuteWithResult("VC_SetState",6) TNT1 A 0 A_FireCustomMissile("GigaLockOn2",0,0,8,0)
TNT1 A 0 A_JumpIfInventory("IsDead",1,"EndFlash")
loop
DarkCharge:
TNT1 A 0 A_JumpIfInventory("DarkCharging",35,"DarkCharge2")
TNT1 A 1 ACS_NamedExecuteWithResult("VC_SetState",33)
TNT1 A 0 A_ChangeVelocity(cos(pitch)*20,0,-sin(pitch)*20,CVF_RELATIVE|CVF_REPLACE)
TNT1 A 0 A_JumpIfInventory("IsDead",1,"EndFlash")
loop
DarkCharge2:
TNT1 A 1 ACS_NamedExecuteWithResult("VC_SetState",34)
TNT1 A 0 A_ChangeVelocity(cos(pitch)*20,0,-sin(pitch)*20,CVF_RELATIVE|CVF_REPLACE)
TNT1 A 0 A_JumpIfInventory("IsDead",1,"EndFlash")
loop
DarkChargeFire:
TNT1 A 0 SetPlayerProperty(0,1,3)
TNT1 A 0 ACS_NamedExecuteWithResult("VC_SetState",35)
TNT1 A 1 A_Stop
TNT1 A 0 A_JumpIfInventory("IsDead",1,"EndFlash")
loop
DarkEclipseCannonStart:
TNT1 A 1 ACS_NamedExecuteWithResult("VC_SetState",36) TNT1 A 0 A_JumpIfInventory("IsDead",1,"EndFlash")
TNT1 A 1 ACS_NamedExecuteWithResult("VC_SetState",36) TNT1 A 0 A_JumpIfInventory("IsDead",1,"EndFlash")
TNT1 A 1 ACS_NamedExecuteWithResult("VC_SetState",37) TNT1 A 0 A_JumpIfInventory("IsDead",1,"EndFlash")
TNT1 A 0 ThrustThingZ(0,2,0,1)
TNT1 A 1 ACS_NamedExecuteWithResult("VC_SetState",37) TNT1 A 0 A_JumpIfInventory("IsDead",1,"EndFlash")
TNT1 A 1 ACS_NamedExecuteWithResult("VC_SetState",38) TNT1 A 0 A_JumpIfInventory("IsDead",1,"EndFlash")
TNT1 A 1 ACS_NamedExecuteWithResult("VC_SetState",38) TNT1 A 0 A_JumpIfInventory("IsDead",1,"EndFlash")
TNT1 A 0 ThrustThingZ(0,2,0,1)
loop
DarkEclipseCannonFire:
TNT1 A 1 ACS_ExecuteAlways(991,0,10867) TNT1 A 0 A_Quake(3,5,0,200,0) TNT1 A 0 ACS_NamedExecuteWithResult("VC_SetState",6)
TNT1 A 0 A_PlaySoundEx("misc/eclipsehealthup","SoundSlot5") TNT1 A 0 A_PlaySoundEx("weapon/TrioCharge4","Weapon")
TNT1 A 0 A_FireCustomMissile("DarkEclipseCannon",0,0,0,4) TNT1 A 0 A_FireCustomMissile("DarkEclipseCannonFX",0,0,0,4)
TNT1 A 0 A_JumpIfInventory("IsDead",1,"EndFlash")
TNT1 A 1 ACS_ExecuteAlways(991,0,10868) TNT1 A 0 A_Quake(3,5,0,200,0) TNT1 A 0 ACS_NamedExecuteWithResult("VC_SetState",6)
TNT1 A 0 A_PlaySoundEx("misc/eclipsehealthup","SoundSlot5") TNT1 A 0 A_PlaySoundEx("weapon/TrioCharge4","Weapon")
TNT1 A 0 A_FireCustomMissile("DarkEclipseCannon2",0,0,0,4) TNT1 A 0 A_FireCustomMissile("DarkEclipseCannonFX",0,0,0,4)
TNT1 A 0 A_JumpIfInventory("IsDead",1,"EndFlash")
TNT1 A 1 ACS_ExecuteAlways(991,0,10869) TNT1 A 0 A_Quake(3,5,0,200,0) TNT1 A 0 ACS_NamedExecuteWithResult("VC_SetState",6)
TNT1 A 0 A_PlaySoundEx("misc/eclipsehealthup","SoundSlot5") TNT1 A 0 A_PlaySoundEx("weapon/TrioCharge4","Weapon")
TNT1 A 0 A_FireCustomMissile("DarkEclipseCannon",0,0,0,4) TNT1 A 0 A_FireCustomMissile("DarkEclipseCannonFX",0,0,0,4)
TNT1 A 0 A_JumpIfInventory("IsDead",1,"EndFlash")
TNT1 A 1 ACS_ExecuteAlways(991,0,10867) TNT1 A 0 A_Quake(3,5,0,200,0) TNT1 A 0 ACS_NamedExecuteWithResult("VC_SetState",6)
TNT1 A 0 A_PlaySoundEx("misc/eclipsehealthup","SoundSlot5") TNT1 A 0 A_PlaySoundEx("weapon/TrioCharge4","Weapon")
TNT1 A 0 A_FireCustomMissile("DarkEclipseCannon2",0,0,0,4) TNT1 A 0 A_FireCustomMissile("DarkEclipseCannonFX",0,0,0,4)
TNT1 A 0 A_JumpIfInventory("IsDead",1,"EndFlash")
TNT1 A 1 ACS_ExecuteAlways(991,0,10868) TNT1 A 0 A_Quake(3,5,0,200,0) TNT1 A 0 ACS_NamedExecuteWithResult("VC_SetState",6)
TNT1 A 0 A_PlaySoundEx("misc/eclipsehealthup","SoundSlot5") TNT1 A 0 A_PlaySoundEx("weapon/TrioCharge4","Weapon")
TNT1 A 0 A_FireCustomMissile("DarkEclipseCannon",0,0,0,4) TNT1 A 0 A_FireCustomMissile("DarkEclipseCannonFX",0,0,0,4)
TNT1 A 0 A_JumpIfInventory("IsDead",1,"EndFlash")
TNT1 A 1 ACS_ExecuteAlways(991,0,10869) TNT1 A 0 A_Quake(3,5,0,200,0) TNT1 A 0 ACS_NamedExecuteWithResult("VC_SetState",6)
TNT1 A 0 A_PlaySoundEx("misc/eclipsehealthup","SoundSlot5") TNT1 A 0 A_PlaySoundEx("weapon/TrioCharge4","Weapon")
TNT1 A 0 A_FireCustomMissile("DarkEclipseCannon2",0,0,0,4) TNT1 A 0 A_FireCustomMissile("DarkEclipseCannonFX",0,0,0,4)
TNT1 A 0 A_JumpIfInventory("IsDead",1,"EndFlash")
loop
EndFlash:
TNT1 A 1
stop
}
}

actor TrioIntroduction
{
Translation "192:192=41:41", "198:198=249:249"
+NOGRAVITY
+NOINTERACTION
+DONTREFLECT
+MISSILE
ReactionTime 70
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_GiveToTarget("TrioIntroStats",1) TNT1 A 0 A_SetScale(ScaleX+0.1,ScaleY+0.1)
EVFL Z 1 A_Warp(AAPTR_TARGET,0,0,64,0,WARPF_INTERPOLATE|WARPF_NOCHECKPOSITION) TNT1 A 0 A_CountDown
TNT1 A 0 A_SpawnItemEx("TrioEvilEnergyFXSpawner",0,0,32,Random(-60,60),Random(-60,60),Random(-60,60))
EVFL Z 1 A_Warp(AAPTR_TARGET,0,0,64,0,WARPF_INTERPOLATE|WARPF_NOCHECKPOSITION) TNT1 A 0 A_CountDown
TNT1 A 0 A_SpawnItemEx("TrioEvilEnergyFXSpawner",0,0,32,Random(-60,60),Random(-60,60),Random(-60,60))
TNT1 A 0 A_SpawnItemEx("TrioEvilEnergyFXER2",Random(-96,96),Random(-96,96),Random(-64,64))
TNT1 A 0 A_GiveToTarget("TrioIntroStats",1) TNT1 A 0 A_SetScale(ScaleX+0.1,ScaleY+0.1)
TNT1 A 1 A_Warp(AAPTR_TARGET,0,0,64,0,WARPF_INTERPOLATE|WARPF_NOCHECKPOSITION) TNT1 A 0 A_CountDown
TNT1 A 0 A_SpawnItemEx("TrioEvilEnergyFXSpawner",0,0,32,Random(-60,60),Random(-60,60),Random(-60,60))
TNT1 A 1 A_Warp(AAPTR_TARGET,0,0,64,0,WARPF_INTERPOLATE|WARPF_NOCHECKPOSITION) TNT1 A 0 A_CountDown
TNT1 A 0 A_SpawnItemEx("TrioEvilEnergyFXSpawner",0,0,32,Random(-60,60),Random(-60,60),Random(-60,60))
TNT1 A 0 A_SpawnItemEx("TrioEvilEnergyFXER2",Random(-96,96),Random(-96,96),Random(-64,64))
TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0)==0,"End")
Goto Spawn+1
Death:
EVFL Z 1 A_Quake(3,5,0,200) TNT1 A 0 A_GiveInventory("CutterFlag",1) TNT1 A 0 A_SpawnItemEx("TrioEvilEnergyFXSpawner",0,0,32,Random(-60,60),Random(-60,60),Random(-60,60))
TNT1 A 1 A_Quake(3,5,0,200) TNT1 A 0 A_GiveInventory("CutterFlag",1) TNT1 A 0 A_SpawnItemEx("TrioEvilEnergyFXSpawner",0,0,32,Random(-60,60),Random(-60,60),Random(-60,60))
TNT1 A 0 A_SpawnItemEx("TrioEvilEnergyFXER2",Random(-96,96),Random(-96,96),Random(-64,64))
TNT1 A 0 A_JumpIfInventory("CutterFlag",45,1)
loop
TNT1 AAAAAAAAAAAAAAAAAAAAAAAAA 0 A_SpawnItemEx("TrioEvilEnergyFXER3",0,0,32,Random(5,20),0,Random(-20,20),Random(0,359))
TNT1 AAAAAAAAAAAAAAAAAAAAAAAAA 0 A_SpawnItemEx("TrioEvilEnergyFXER3",0,0,32,Random(5,20),0,Random(-20,20),Random(0,359))
TNT1 AAAAAAAAAAAAAAAAAAAAAAAAA 0 A_SpawnItemEx("TrioEvilEnergyFXER3",0,0,32,Random(5,20),0,Random(-20,20),Random(0,359))
TNT1 A 0 A_GiveToTarget("VCOnce",1)
End:
TNT1 A 0
stop
}
}

actor TrioIntroStats : CustomInventory
{
states
{
Pickup:
TNT1 A 0 A_SetGravity(0.0)
TNT1 A 0 A_ChangeFlag("NOTELEFRAG",True)
TNT1 A 0 A_ChangeFlag("INVULNERABLE",True)
TNT1 A 0 A_GiveInventory("InvProtection",1)
stop
}
}

actor TrioIntroStats2 : CustomInventory
{
states
{
Pickup:
TNT1 A 0 A_StopSoundEx("Item")
TNT1 A 0 A_StopSoundEx("Voice")
TNT1 A 0 A_SetTranslucent(1.0,0)
TNT1 A 0 A_GiveInventory("ShadowVisible")
TNT1 A 0 A_GiveInventory("GravityRestore")
TNT1 A 0 A_SpawnItemEx("TrioAltFireWatcher")
TNT1 A 0 ACS_NamedExecuteWithResult("VC_SetState",6)
TNT1 A 0 A_PlaySoundEx("misc/ERPossess","SoundSlot5")
TNT1 A 0 A_PlaySoundEx("weapon/hshbreath","SoundSlot6")
TNT1 A 0 A_PlaySoundEx("weapon/DuoCharge3","SoundSlot7")
stop
}
}

actor TrioEvilEnergyFXSpawner
{
+MISSILE//PROJECTILE
+THRUACTORS
+SKYEXPLODE
Height 8
Radius 8
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode")
TNT1 A 1 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0)==0,"End")
Death:
TNT1 A 0 A_CustomMissile("TrioEvilEnergyFXER",0,0,0)
End:
TNT1 A 0
stop
}
}

actor TrioEvilEnergyBase
{
PROJECTILE
+RIPPER
damage (1)
Obituary "$OB_EVILENERGY"
//+NOINTERACTION
Speed 22
Height 16
Radius 16
scale 2.0
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode")
TNT1 A 0 A_SpawnItemEx("TrioEvilEnergyFXEcho",0,0,0,0,0,0,0,1)
GAMA P 1 A_FaceTarget TNT1 A 0 A_JumpIfCloser(16,"End")
TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0)==0,"End")
TNT1 A 0 A_SpawnItemEx("TrioEvilEnergyFXEcho",0,0,0,0,0,0,0,1)
GAMA P 1 A_FaceTarget TNT1 A 0 A_JumpIfCloser(16,"End")
TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0)==0,"End")
TNT1 A 0 A_SpawnItemEx("TrioEvilEnergyFXEcho",0,0,0,0,0,0,0,1)
GAMA Q 1 A_FaceTarget TNT1 A 0 A_JumpIfCloser(16,"End")
TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0)==0,"End")
TNT1 A 0 A_SpawnItemEx("TrioEvilEnergyFXEcho",0,0,0,0,0,0,0,1)
GAMA Q 1 A_FaceTarget TNT1 A 0 A_JumpIfCloser(16,"End")
TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0)==0,"End")
Goto Energy
Energy:
TNT1 A 0
Goto End
End:
TNT1 A 0
stop
}
}

actor TrioEvilEnergyFXER : TrioEvilEnergyBase {Translation "198:198=176:176", "4:4=79:79"States{Energy:TNT1 A 0 A_CustomMissile("TrioEvilEnergyFXER",0,0,0)Goto End}}
actor TrioEvilEnergyFXTE : TrioEvilEnergyBase {Translation "198:198=194:194", "4:4=236:236"States{Energy:TNT1 A 0 A_CustomMissile("TrioEvilEnergyFXTE",0,0,0)Goto End}}
actor TrioEvilEnergyFXCL : TrioEvilEnergyBase {Translation "198:198=220:220", "4:4=192:192"States{Energy:TNT1 A 0 A_CustomMissile("TrioEvilEnergyFXCL",0,0,0)Goto End}}
actor TrioEvilEnergyFXAS : TrioEvilEnergyBase {Translation "198:198=128:128", "4:4=229:229"States{Energy:TNT1 A 0 A_CustomMissile("TrioEvilEnergyFXAS",0,0,0)Goto End}}
actor TrioEvilEnergyFXGR : TrioEvilEnergyBase {Translation "198:198=77:77", "4:4=229:229"States{Energy:TNT1 A 0 A_CustomMissile("TrioEvilEnergyFXGR",0,0,0)Goto End}}
actor TrioEvilEnergyFXSW : TrioEvilEnergyBase {Translation "198:198=41:41", "4:4=248:248"States{Energy:TNT1 A 0 A_CustomMissile("TrioEvilEnergyFXSW",0,0,0)Goto End}}
actor TrioEvilEnergyFXSE : TrioEvilEnergyBase {Translation "198:198=230:230", "4:4=192:192"States{Energy:TNT1 A 0 A_CustomMissile("TrioEvilEnergyFXSE",0,0,0)Goto End}}
actor TrioEvilEnergyFXFR : TrioEvilEnergyBase {Translation "198:198=205:205", "4:4=229:229"States{Energy:TNT1 A 0 A_CustomMissile("TrioEvilEnergyFXFR",0,0,0)Goto End}}
actor TrioEvilEnergyFXAQ : TrioEvilEnergyBase {Translation "198:198=62:62", "4:4=192:192"States{Energy:TNT1 A 0 A_CustomMissile("TrioEvilEnergyFXAQ",0,0,0)Goto End}}

actor TrioEvilEnergyFXEcho : TrioEvilEnergyBase
{
scale 3.125
renderstyle add
alpha 0.7
States
{
Spawn:
TNT1 A 0
TNT1 A 1
GAMA PPQQ 1 A_SetScale(scalex-0.625,scaley-0.625)
stop
}
}

actor TrioEvilEnergyFXER2 : TrioEvilEnergyBase
{
Translation "192:192=41:41", "198:198=249:249"
+FLOATBOB
Scale 1.0
Alpha 0.0
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode")
ERSK AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 1 A_FadeIn(0.05)
ERSK AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 1 A_FadeOut(0.05)
stop
}
}

actor TrioEvilEnergyFXER3 : TrioEvilEnergyBase
{
Translation "192:192=41:41", "198:198=249:249"
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode")
EVFL ZYX 10
stop
}
}

actor TrioEvilEnergyFXER3B : TrioEvilEnergyBase
{
Translation "192:192=41:41", "198:198=249:249"
RenderStyle Add
Alpha 0.7
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode")
EVFL ZYX 10
stop
}
}

actor TrioEvilEnergyFXER4 : TrioEvilEnergyBase
{
scale 1.0
renderstyle add
Translation "192:192=41:41", "198:198=249:249"
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode")
TNT1 A 0 A_Jump(64,"Continue")
stop

Continue:
EVFL Z 1
EVFL Z 1 A_SetScale(scalex-0.75,scaley-0.75)
EVFL Z 1 A_SetScale(scalex+1.25,scaley+1.25)
EVFL Z 1 A_SetScale(scalex-0.25,scaley-0.25)
EVFL Z 1 A_SetScale(scalex-0.25,scaley-0.25)
EVFL Z 1 A_SetScale(scalex-0.25,scaley-0.25)
EVFL Z 0 A_FadeOut(0.25)
EVFL Z 1 A_SetScale(scalex-0.25,scaley-0.25)
EVFL Z 0 A_FadeOut(0.25)
EVFL Z 1 A_SetScale(scalex-0.25,scaley-0.25)
EVFL Z 0 A_FadeOut(0.25)
EVFL Z 1 A_SetScale(scalex-0.25,scaley-0.25)
stop
}
}

actor TrioMainFirePickUp : CustomInventory
{
states
{
Pickup:
TOAD A 0 A_GiveInventory("ToadChargeDamageTake")
TNT1 A 0 ACS_ExecuteAlways(991,0,869)
TNT1 A 0 A_JumpIfInventory("Base56Ammo",56,"PickUp3")
TNT1 A 0 A_JumpIfInventory("Base56Ammo",28,"PickUp2")
TNT1 A 0 A_PlaySoundEx("weapon/slashclaw","Weapon")
TNT1 A 0 A_PlaySoundEx("weapon/trioslash","Body")
Goto PickUpEnd
PickUp2:
TNT1 A 0 A_FireCustomMissile("EvilFist",0,0,8,0)
TNT1 A 0 A_PlaySoundEx("weapon/DuoCharge2","Weapon")
Goto PickUpEnd
PickUp3:
TNT1 A 0 A_PlaySoundEx("weapon/DuoCharge3","Weapon")
TNT1 A 0 A_FireCustomMissile("TrioGigaFist",0,0,8,0)
PickUpEnd:
TNT1 A 0 A_TakeInventory("Base56Ammo",56)
stop
}
}

actor DarkSwipe
{
PROJECTILE
+RIPPER
+DONTREFLECT
Speed 26
height 8
radius 8
states
{
Spawn:
TNT1 A 0
TNT1 AAAA 1 A_SpawnItemEx("DarkSwipeTrail")
stop
}
}

actor DarkSwipeTrail
{
Translation "192:192=41:41", "198:198=249:249"
PROJECTILE
+RIPPER
+FORCEXYBILLBOARD
+DONTREFLECT
Obituary "$OB_TRIO1"
damagetype "TrioMain"
damage (4) 
height 8
radius 8
scale 1.0
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode",1)
TNT1 A 0 A_ChangeVelocity(0,-15,0,CVF_RELATIVE|CVF_REPLACE)
EVFL XYZ 2
stop
}
}

actor EvilFist
{
Translation "192:192=41:41", "198:198=249:249"
PROJECTILE
+SKYEXPLODE
+EXPLODEONWATER
Obituary "$OB_TRIO2"
damagetype "TrioFist"
Damage (30)
Radius 16
Height 16
Speed 26
Scale 2.5
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode",1)
EVFL CD 1
Goto Spawn+2
Death:
EVFL F 0 A_Recoil(5)
EVFL CD 1 A_FadeOut
Goto Death+1
}
}

actor TrioGigaFist
{
Translation "192:192=41:41", "198:198=249:249"
PROJECTILE
+SKYEXPLODE
+EXPLODEONWATER
Obituary "$OB_TRIO3"
damagetype "TrioFist"
RenderStyle "Translucent"
Damage (45)
Speed 40
Radius 24
Height 20
scale 2.5
Alpha 0.98
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode",1)
EVFL FG 3
TNT1 A 0 A_SpawnItemEx("TrioGigaFistFX",64,0,0,momx/7,momy/7,momz/7,0,9)
loop
Death:
EVFL F 0 A_Recoil(5)
EVFL FG 3 A_FadeOut
Goto Death+1
}
}

actor TrioGigaFistFX : BasicClientSide
{
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode",1)
TNT1 A 1
EVFL HHHIIIII 1
EVFL I 1 A_FadeOut(0.5)
wait
}
}

actor GigaSkullWarperBase
{
+MISSILE
-SOLID
+NOCLIP
+NOGRAVITY
+NOINTERACTION
+CLIENTSIDEONLY
+DONTREFLECT
Height 32
Radius 32
scale 2.5
const int SKULL_OFFSET = 128;
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode")
TNT1 A 1 A_Warp(AAPTR_TARGET,0,0,SKULL_OFFSET,0,WARPF_INTERPOLATE|WARPF_NOCHECKPOSITION) TNT1 A 0 A_GiveInventory("CutterFlag",1)
TNT1 A 1 A_Warp(AAPTR_TARGET,0,0,SKULL_OFFSET,0,WARPF_INTERPOLATE|WARPF_NOCHECKPOSITION) TNT1 A 0 A_GiveInventory("CutterFlag",1)
TNT1 A 1 A_Warp(AAPTR_TARGET,0,0,SKULL_OFFSET,0,WARPF_INTERPOLATE|WARPF_NOCHECKPOSITION) TNT1 A 0 A_GiveInventory("CutterFlag",1)
Spawn2:
ERSK A 1 A_Warp(AAPTR_TARGET,0,0,SKULL_OFFSET,0,WARPF_INTERPOLATE|WARPF_NOCHECKPOSITION)
TNT1 A 0 A_GiveInventory("CutterFlag",1) TNT1 A 0 A_JumpIfInventory("CutterFlag",35,"End")
ERSK A 1 A_Warp(AAPTR_TARGET,0,0,SKULL_OFFSET,0,WARPF_INTERPOLATE|WARPF_NOCHECKPOSITION)
TNT1 A 0 A_GiveInventory("CutterFlag",1) TNT1 A 0 A_JumpIfInventory("CutterFlag",35,"End")
TNT1 A 1 A_Warp(AAPTR_TARGET,0,0,SKULL_OFFSET,0,WARPF_INTERPOLATE|WARPF_NOCHECKPOSITION)
TNT1 A 0 A_GiveInventory("CutterFlag",1) TNT1 A 0 A_JumpIfInventory("CutterFlag",35,"End")
TNT1 A 1 A_Warp(AAPTR_TARGET,0,0,SKULL_OFFSET,0,WARPF_INTERPOLATE|WARPF_NOCHECKPOSITION)
TNT1 A 0 A_GiveInventory("CutterFlag",1) TNT1 A 0 A_JumpIfInventory("CutterFlag",35,"End")
loop
End:
TNT1 A 0
stop
}
}
actor GigaTornadoHoldSkullWarper : GigaSkullWarperBase {Translation "192:192=236:236", "198:198=194:194"}
actor GigaThunderClawSkullWarper : GigaSkullWarperBase {Translation "198:198=220:220"}
actor GigaAstroCrushSkullWarper : GigaSkullWarperBase {Translation "192:192=229:229", "198:198=128:128"}
actor GigaFlashBombSkullWarper : GigaSkullWarperBase {Translation "192:192=229:229", "198:198=77:77"}
actor GigaFlameSwordSkullWarper : GigaSkullWarperBase {Translation "192:192=248:248", "198:198=41:41"}
actor GigaHomingSniperSkullWarper : GigaSkullWarperBase {Translation "198:198=230:230"}
actor GigaIceWaveSkullWarper : GigaSkullWarperBase {Translation "192:192=229:229", "198:198=205:205"}
actor GigaWaterBalloonSkullWarper : GigaSkullWarperBase {Translation "198:198=62:62"}

actor TrioStolenEnergyFXSpawner : TrioEvilEnergyFXSpawner
{
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode")
TNT1 A 1 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0)==0,"End")
Death:
TNT1 A 0 A_JumpIfInTargetInventory("Trio057Flag",1,"Energy1")
TNT1 A 0 A_JumpIfInTargetInventory("Trio058Flag",1,"Energy2")
TNT1 A 0 A_JumpIfInTargetInventory("Trio059Flag",1,"Energy3")
TNT1 A 0 A_JumpIfInTargetInventory("Trio060Flag",1,"Energy4")
TNT1 A 0 A_JumpIfInTargetInventory("Trio061Flag",1,"Energy5")
TNT1 A 0 A_JumpIfInTargetInventory("Trio062Flag",1,"Energy6")
TNT1 A 0 A_JumpIfInTargetInventory("Trio063Flag",1,"Energy7")
TNT1 A 0 A_JumpIfInTargetInventory("Trio064Flag",1,"Energy8")
Goto End
Energy1: TNT1 A 0 A_CustomMissile("TrioEvilEnergyFXTE",0,0,0) stop
Energy2: TNT1 A 0 A_CustomMissile("TrioEvilEnergyFXAS",0,0,0) Goto End
Energy3: TNT1 A 0 A_CustomMissile("TrioEvilEnergyFXSW",0,0,0) Goto End
Energy4: TNT1 A 0 A_CustomMissile("TrioEvilEnergyFXCL",0,0,0) Goto End
Energy5: TNT1 A 0 A_CustomMissile("TrioEvilEnergyFXSE",0,0,0) Goto End
Energy6: TNT1 A 0 A_CustomMissile("TrioEvilEnergyFXFR",0,0,0) Goto End
Energy7: TNT1 A 0 A_CustomMissile("TrioEvilEnergyFXGR",0,0,0) Goto End
Energy8: TNT1 A 0 A_CustomMissile("TrioEvilEnergyFXAQ",0,0,0) Goto End
End:
TNT1 A 0
stop
}
}

actor TrioGigaTornadoHold
{
Translation "250:250=41:41", "194:194=249:249"
PROJECTILE
+RIPPER
+THRUACTORS
+FLOORHUGGER
+STEPMISSILE
+NOCLIP
+DONTREFLECT
ReactionTime 10
maxstepheight 999
scale 2.5
var int User_Degrees;
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode",1)
TNT1 A 0 A_SetUserVar("User_Degrees",0)
TNT1 A 0 A_PlaySoundEx("weapon/superboost","Weapon") TNT1 A 0 A_Countdown
EVFL NNNOOOPPP 1 A_SpawnItemEx("TrioGigaTornadoHoldDamager")
TNT1 AAA 0 A_SpawnItemEx("TrioTenguLeaf",random(-32,32),0,random(0,24),random(-5,5),0,random(-2,6),random(0,359))
EVFL NNNOOOPPP 1 A_SpawnItemEx("TrioGigaTornadoHoldDamager")
TNT1 AAA 0 A_SpawnItemEx("TrioTenguLeaf",random(-32,32),0,random(0,24),random(-5,5),0,random(-2,6),random(0,359))
TNT1 A 0 A_SpawnItemEx("TrioGigaTornadoHold2",0,0,0,10,0,0,User_Degrees,SXF_TRANSFERTRANSLATION)
TNT1 A 0 A_SpawnItemEx("TrioGigaTornadoHold2",0,0,0,10,0,0,User_Degrees+180,SXF_TRANSFERTRANSLATION)
TNT1 A 0 A_SetUserVar("User_Degrees",(45*Random(0,7)))
Goto Spawn+3
Death:
EVFL NNNOOOPPPNNNOOOPPP 1 A_FadeOut(0.05)
stop
}
}

actor TrioGigaTornadoHold2 : TrioGigaTornadoHold
{
var int user_speed;
var int user_maxturn;
var int user_turndivisor;
var int user_turndivisor_add;
-NOCLIP
States
{
Spawn:
TNT1 AA 0
TNT1 A 0 A_SetUserVar("user_speed", 22) TNT1 A 0 A_SetUserVar("user_maxturn", 1500)
TNT1 A 0 A_SetUserVar("user_turndivisor", 50) TNT1 A 0 A_SetUserVar("user_turndivisor_add", 12)
Spawn2:
TNT1 A 0 A_Setangle(angle-user_maxturn/user_turndivisor)
EVFL N 1 A_SpawnItemEx("TrioGigaTornadoHoldDamager") TNT1 A 0 A_ChangeVelocity(user_speed,0,0,CVF_RELATIVE|CVF_REPLACE) 
TNT1 A 0 A_SetUserVar("user_turndivisor",user_turndivisor+user_turndivisor_add) TNT1 A 0 A_Setangle(angle-user_maxturn/user_turndivisor)
EVFL N 1 A_SpawnItemEx("TrioGigaTornadoHoldDamager") TNT1 A 0 A_ChangeVelocity(user_speed,0,0,CVF_RELATIVE|CVF_REPLACE) 
TNT1 A 0 A_SetUserVar("user_turndivisor",user_turndivisor+user_turndivisor_add) TNT1 A 0 A_Setangle(angle-user_maxturn/user_turndivisor)
EVFL N 1 A_SpawnItemEx("TrioGigaTornadoHoldDamager") TNT1 A 0 A_ChangeVelocity(user_speed,0,0,CVF_RELATIVE|CVF_REPLACE) 
TNT1 A 0 A_SetUserVar("user_turndivisor",user_turndivisor+user_turndivisor_add) TNT1 A 0 A_Setangle(angle-user_maxturn/user_turndivisor)
EVFL O 1 A_SpawnItemEx("TrioGigaTornadoHoldDamager") TNT1 A 0 A_ChangeVelocity(user_speed,0,0,CVF_RELATIVE|CVF_REPLACE) 
TNT1 A 0 A_SetUserVar("user_turndivisor",user_turndivisor+user_turndivisor_add) TNT1 A 0 A_Setangle(angle-user_maxturn/user_turndivisor)
EVFL O 1 A_SpawnItemEx("TrioGigaTornadoHoldDamager") TNT1 A 0 A_ChangeVelocity(user_speed,0,0,CVF_RELATIVE|CVF_REPLACE) 
TNT1 A 0 A_SetUserVar("user_turndivisor",user_turndivisor+user_turndivisor_add) TNT1 A 0 A_Setangle(angle-user_maxturn/user_turndivisor)
EVFL O 1 A_SpawnItemEx("TrioGigaTornadoHoldDamager") TNT1 A 0 A_ChangeVelocity(user_speed,0,0,CVF_RELATIVE|CVF_REPLACE) 
TNT1 A 0 A_SetUserVar("user_turndivisor",user_turndivisor+user_turndivisor_add) TNT1 A 0 A_Setangle(angle-user_maxturn/user_turndivisor)
EVFL P 1 A_SpawnItemEx("TrioGigaTornadoHoldDamager") TNT1 A 0 A_ChangeVelocity(user_speed,0,0,CVF_RELATIVE|CVF_REPLACE) 
TNT1 A 0 A_SetUserVar("user_turndivisor",user_turndivisor+user_turndivisor_add) TNT1 A 0 A_Setangle(angle-user_maxturn/user_turndivisor)
EVFL P 1 A_SpawnItemEx("TrioGigaTornadoHoldDamager") TNT1 A 0 A_ChangeVelocity(user_speed,0,0,CVF_RELATIVE|CVF_REPLACE) 
TNT1 A 0 A_SetUserVar("user_turndivisor",user_turndivisor+user_turndivisor_add) TNT1 A 0 A_Setangle(angle-user_maxturn/user_turndivisor)
EVFL P 1 A_SpawnItemEx("TrioGigaTornadoHoldDamager") TNT1 A 0 A_ChangeVelocity(user_speed,0,0,CVF_RELATIVE|CVF_REPLACE) 
TNT1 A 0 A_SetUserVar("user_turndivisor",user_turndivisor+user_turndivisor_add)
TNT1 AAA 0 A_SpawnItemEx("TrioTenguLeaf",random(-32,32),0,random(0,24),random(-5,5),0,random(-2,6),random(0,359))
TNT1 A 0 A_GiveInventory("CutterFlag",1)
TNT1 A 0 A_JumpIfInventory("CutterFlag",50,"Death")
loop
}
}

actor TrioGigaTornadoHoldDamager
{
PROJECTILE
+DONTBLAST
+THRUGHOST
+DONTSPLASH
+DONTREFLECT
Obituary "$OB_TRIO4"
damagetype "TrioTornadoHold"
Damage (3)
Radius 120
Height 1500
States
{
Spawn:
TNT1 AA 0
TNT1 A 1
stop
}
}

actor TrioTenguLeaf : BasicClientSide
{
Translation "117:117=79:79","100:100=249:249","104:104=60:60"
gravity 0.3
+DOOMBOUNCE
bouncefactor 0.8
-NOGRAVITY
-NOINTERACTION
-NOEXPLODEFLOOR
reactiontime 20
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_Jump(256,"S1","S2")

S1:
TE8L ABCDE 3 A_Countdown
loop

S2:
TE8L FGHIJKLM 3 A_Countdown
loop

Death:
TNT1 A 0
stop
}
}

actor TrioGigaThunderWarper
{
Translation "192:192=249:249", "198:198=41:41"
Obituary "$OB_TRIO5"
damagetype "TrioThunderClaw"
+NOGRAVITY
+NOINTERACTION
+DONTREFLECT
Height 8
Radius 8
var int User_Degrees;
Scale 2.5
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode",1)
TNT1 A 0 A_SetUserVar("User_Degrees",0)
Spawn2:
TNT1 A 1 A_Warp(AAPTR_TARGET,0,0,0,0,WARPF_INTERPOLATE|WARPF_NOCHECKPOSITION) TNT1 A 0 A_TakeFromTarget("BaseAltFireAmmo",1)
TNT1 A 0 A_SpawnItemEx("TrioGigaThunder",0, 80,40,0, 40,0,User_Degrees,SXF_TRANSFERPOINTERS)
TNT1 A 0 A_SpawnItemEx("TrioGigaThunder",0,-80,40,0,-40,0,User_Degrees,SXF_TRANSFERPOINTERS)
TNT1 A 0 A_SetUserVar("User_Degrees",User_Degrees+10)
TNT1 A 0 A_JumpIfInTargetInventory("IsDead",1,"Death")
TNT1 A 0 A_JumpIfInTargetInventory("BaseAltFireAmmo",1,1)
Goto Death
TNT1 A 1 A_Warp(AAPTR_TARGET,0,0,0,0,WARPF_INTERPOLATE|WARPF_NOCHECKPOSITION) TNT1 A 0 A_TakeFromTarget("BaseAltFireAmmo",1)
TNT1 A 0 A_SpawnItemEx("TrioGigaThunder",0, 80,40,0, 40,0,User_Degrees,SXF_TRANSFERPOINTERS)
TNT1 A 0 A_SpawnItemEx("TrioGigaThunder",0,-80,40,0,-40,0,User_Degrees,SXF_TRANSFERPOINTERS)
TNT1 A 0 A_SetUserVar("User_Degrees",User_Degrees+10) TNT1 A 0 A_Explode(2,80,0,0,80)
TNT1 A 0 A_SpawnItemEx("TrioGigaThunderSpark",Random(-48,48),Random(-48,48),Random(0,48),0,0,0,0,SXF_TRANSFERTRANSLATION)
TNT1 A 0 A_JumpIfInTargetInventory("IsDead",1,"Death")
TNT1 A 0 A_JumpIfInTargetInventory("BaseAltFireAmmo",1,"Spawn2")
Goto Death
Death:
TNT1 A 0
stop
}
}

actor TrioGigaThunder
{
Translation "195:195=41:41", "204:204=249:249"
PROJECTILE
+DONTREFLECT
Obituary "$OB_TRIO5"
damagetype "TrioThunderClaw"
Height 40
Radius 20
scale 3.0
Damage (9)
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode",1)
WISS LKLMNJ 1
Goto Spawn+2
}
}

actor TrioGigaThunderSpark : BasicClientSide
{
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode",1)
TNT1 A 1 A_Jump(256,"SparkA","SparkB","SparkC","SparkD")
wait
SparkA:
CAUC ABCDE 2
stop
SparkB:
CAUW ABCDE 2
stop
SparkC:
CAUY ABCDE 2
stop
SparkD:
CAUB ABCDE 2
stop
}
}

actor TrioCopyVision : TrioEvilEnergyFXSpawner
{
Translation "192:192=39:39", "198:198=62:62","0:0=63:63", "215:215=35:35"
PROJECTILE
+SKYEXPLODE
RenderStyle "Translucent"
Radius 8
Height 8
Alpha 0.75
Scale 2.5
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode")
TNT1 A 1 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0)==0,"End")
Death:
TNT1 A 2 A_Stop
TRIO Q 2 A_Stop
TNT1 A 0 A_GiveInventory("CutterFlag",1)
TNT1 A 0 A_JumpIfInventory("CutterFlag",7,1)
loop
TNT1 AA 1 ACS_ExecuteAlways(259,0,0)
TNT1 A 0 A_SpawnItemEx("TrioGigaAsteroid",0,0,0,cos(pitch)*2,0,-sin(pitch)*2)
End:
TNT1 A 0
stop
}
}

actor TrioGigaAsteroid
{
Translation "249:249=79:79","199:199=249:249","202:202=60:60","250:250=58:58"
PROJECTILE
Obituary "$OB_TRIO6"
damagetype "TrioAstroCrush"
Radius 8
Height 8
scale 2.5
Alpha 0.0
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode",1)
TNT1 A 4
EVFL QQQQQQQQQQ 1 A_FadeIn(0.1)
EVFL QQQQQ 1 A_ScaleVelocity(2.0)
Spawn2:
EVFL Q 4 A_SpawnItemEx("TrioAsteroidFX",0,0,0,0,0,0,0,SXF_TRANSFERTRANSLATION)
loop
Death:
TNT1 A 0 A_Quake(4,30,0,500,0)
TNT1 A 0 A_Explode(44,500,0,0,200)
TNT1 A 0 A_playSoundEx("weapon/astrocrush","Auto")
TNT1 A 0 A_SpawnItemEx("TrioAsteroidExplodeFX")
TNT1 AAAAAA 5 A_SpawnItemEx("TrioAsteroidExplodeFX2",Random(-64,64),Random(-64,64),Random(-64,64))
stop
}
}

actor TrioAsteroidFX : BasicClientSide
{
States
{
Spawn:
TNT1 A 0
TNT1 A 1
EVFL Q 1 A_FadeOut(0.1)
wait
}
}

actor TrioAsteroidExplodeFX
{
Translation "4:4=249:249"
PROJECTILE
+NOINTERACTION
Scale 0.1
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode")
Spawn2:
RFLW BBBBBBBBBB 1 A_SetScale(scalex+0.1,scaley+0.1)
stop 
}
}

actor TrioAsteroidExplodeFX2 : TrioAsteroidExplodeFX
{
scale 2.5
States
{
Spawn:
RDUS ABCDEFJKLMNO 1
stop
}
}

//FlashBomb
actor TrioGigaFlashBomb
{
Translation "216:216=79:79", "4:4=176:176"
PROJECTILE
+SKYEXPLODE
+FORCEXYBILLBOARD
Obituary "$OB_TRIO7"
damagetype "TrioFlashBomb"
damage(20)
speed 60
Radius 12
Height 12
scale 2.5
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode")
TNT1 A 0 A_PlaySoundEx("weapon/drillfly","Body")
GREF AA 1 A_SpawnItemEx("GrenadeSmoke",0,0,0,0,0,2)
TNT1 A 0 A_PlaySoundEx("weapon/drillfly","Body")
GREF BB 1 A_SpawnItemEx("GrenadeSmoke",0,0,0,0,0,2)
TNT1 A 0 A_PlaySoundEx("weapon/drillfly","Body")
GREF CC 1 A_SpawnItemEx("GrenadeSmoke",0,0,0,0,0,2)
TNT1 A 0 A_PlaySoundEx("weapon/drillfly","Body")
GREF DD 1 A_SpawnItemEx("GrenadeSmoke",0,0,0,0,0,2)
goto Spawn+2
Death:
TNT1 A 0 A_ChangeFlag("NOINTERACTION",1)
TNT1 A 0 A_Stop
TNT1 A 0 A_PlaySound("weapon/flashbomb2",1,0.7)
TNT1 A 0 A_SpawnItemEx("TrioFlashBombExplosion")
TNT1 A 80 A_Quake(3,80,0,600)
stop
}
}

actor TrioFlashBombExplosion : TrioGigaFlashBomb
{
Translation "215:215=79:79"
-DONTBLAST
+DONTSPLASH
+NOGRAVITY
-NOINTERACTION
Reactiontime 17
damage(0)
Scale 3.5
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode")
FLEX AB 1 bright 
FLEX CD 1 bright
FLEX A 0 A_Explode(4,80,0,0,80)
FLEX EE 0 A_SpawnItemEx("TrioFlashBombFX2",Random(-16, 16),Random(-40, 40), Random(-32, 32),0,0,0,0,1)
FLEX EF 1 bright A_SpawnItemEx("TrioFlashBombFX",0,0,0,random(-7, 7),random(-7, 7),random(-7, 7),random(0,360),1)
FLEX EE 0 A_SpawnItemEx("TrioFlashBombFX2",Random(-16, 16),Random(-40, 40), Random(-32, 32),0,0,0,0,1)
FLEX GF 1 bright A_SpawnItemEx("TrioFlashBombFX",0,0,0,random(-7, 7),random(-7, 7),random(-7, 7),random(0,360),1)
FLEX A 0 A_Explode(4,80,0,0,80)
Goto Pattern1
Pattern1:
FLEX EF 1 bright A_SpawnItemEx("TrioFlashBombFX",0,0,0,random(-7, 7),random(-7, 7),random(-7, 7),random(0,360),1)
FLEX E 0 A_SpawnItemEx("TrioFlashBombFX2",Random(-16, 16),Random(-16, -40), Random(-32, 32),0,0,0,0,1)
FLEX GF 1 bright A_SpawnItemEx("TrioFlashBombFX2",Random(-16, 16),Random(16, 40), Random(-32, 32),0,0,0,0,1)
FLEX G 0 A_SpawnItemEx("TrioFlashBombFX",0,0,0,random(-7, 7),random(-7, 7),random(-7, 7),random(0,360),1)
Goto DamageNow
Pattern2:
FLEX EF 1 bright A_SpawnItemEx("TrioFlashBombFX",0,0,0,random(-7, 7),random(-7, 7),random(-7, 7),random(0,360),1)
FLEX E 0 A_SpawnItemEx("TrioFlashBombFX2",Random(-16, 16),Random(32, 64), Random(-32, 40),0,0,0,0,1)
FLEX E 0 A_SpawnItemEx("TrioFlashBombFX2",Random(-16, 16),Random(-32, -64), Random(-32, 40),0,0,0,0,1)
FLEX EF 1 bright A_SpawnItemEx("TrioFlashBombFX2",Random(-16, 16),Random(-40, 40), Random(-32, 32),0,0,0,0,1)
FLEX G 0 A_SpawnItemEx("TrioFlashBombFX",0,0,0,random(-7, 7),random(-7, 7),random(-7, 7),random(0,360),1)
Goto DamageNow
DamageNow:
FLEX A 0 A_Explode(4,80,0,0,80)
Goto Continue
Continue:
FLEX G 0 A_CountDown
FLEX G 0 A_Jump(256, "Pattern1", "Pattern2")
Goto Death
Death:
FLEX A 0 A_Changeflag("NOGRAVITY",1)
FLEX G 1 bright
TNT1 A 1 
FLEX D 1 bright
TNT1 A 1 
FLEX D 1 bright
TNT1 A 1 
FLEZ C 1 bright
stop
}
}

actor TrioFlashBombExplosion2 : TrioFlashBombExplosion
{
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode")
FLEX AB 1 bright 
FLEX CD 1 bright
FLEX EE 0 A_SpawnItemEx("TrioFlashBombFX2",Random(-16, 16),Random(-40, 40), Random(-32, 32),0,0,0,0,1)
FLEX EF 1 bright A_SpawnItemEx("TrioFlashBombFX",0,0,0,random(-7, 7),random(-7, 7),random(-7, 7),random(0,360),1)
FLEX EE 0 A_SpawnItemEx("TrioFlashBombFX2",Random(-16, 16),Random(-40, 40), Random(-32, 32),0,0,0,0,1)
FLEX GF 1 bright A_SpawnItemEx("TrioFlashBombFX",0,0,0,random(-7, 7),random(-7, 7),random(-7, 7),random(0,360),1)
Goto Pattern1
Pattern1:
FLEX EF 1 bright A_SpawnItemEx("TrioFlashBombFX",0,0,0,random(-7, 7),random(-7, 7),random(-7, 7),random(0,360),1)
FLEX E 0 A_SpawnItemEx("TrioFlashBombFX2",Random(-16, 16),Random(-16, -40), Random(-32, 32),0,0,0,0,1)
FLEX GF 1 bright A_SpawnItemEx("TrioFlashBombFX2",Random(-16, 16),Random(16, 40), Random(-32, 32),0,0,0,0,1)
FLEX G 0 A_SpawnItemEx("TrioFlashBombFX",0,0,0,random(-7, 7),random(-7, 7),random(-7, 7),random(0,360),1)
Goto DamageNow
Pattern2:
FLEX EF 1 bright A_SpawnItemEx("TrioFlashBombFX",0,0,0,random(-7, 7),random(-7, 7),random(-7, 7),random(0,360),1)
FLEX E 0 A_SpawnItemEx("TrioFlashBombFX2",Random(-16, 16),Random(32, 64), Random(-32, 40),0,0,0,0,1)
FLEX E 0 A_SpawnItemEx("TrioFlashBombFX2",Random(-16, 16),Random(-32, -64), Random(-32, 40),0,0,0,0,1)
FLEX EF 1 bright A_SpawnItemEx("TrioFlashBombFX2",Random(-16, 16),Random(-40, 40), Random(-32, 32),0,0,0,0,1)
FLEX G 0 A_SpawnItemEx("TrioFlashBombFX",0,0,0,random(-7, 7),random(-7, 7),random(-7, 7),random(0,360),1)
Goto DamageNow
DamageNow:
FLEX A 0
Goto Continue
Continue:
FLEX G 0 A_CountDown
FLEX G 0 A_Jump(256, "Pattern1", "Pattern2")
Goto Death
Death:
FLEX A 0 A_Changeflag("NOGRAVITY",1)
FLEX G 1 bright
TNT1 A 1 
FLEX D 1 bright
TNT1 A 1 
FLEX D 1 bright
TNT1 A 1 
FLEZ C 1 bright
stop
}
}

actor TrioFlashBombFX : FlashBombFX1
{
Translation "215:215=79:79"
}

actor TrioFlashBombFX2 : FlashBombFX2
{
Translation "215:215=79:79"
}

//Flame Sword
actor TrioFlameSwing1
{
+MISSILE
+NOGRAVITY
+NOINTERACTION
+DONTREFLECT
speed 1
states
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode")
TNT1 A 1 A_SpawnItemEx("TrioGigaFlameSwordTip",3,315,240,momx*38,momy*38,momz*38,0,9)
TNT1 A 0 A_SpawnItemEx("TrioGigaFlameSwordTip",3,280,220,momx*38,momy*38,momz*38,0,9)
TNT1 A 1 A_SpawnItemEx("TrioGigaFlameSword",3,245,200,momx*38,momy*38,momz*38,0,9)
TNT1 A 0 A_SpawnItemEx("TrioGigaFlameSword",3,210,180,momx*38,momy*38,momz*38,0,9)
TNT1 A 1 A_SpawnItemEx("TrioGigaFlameSword",3,175,160,momx*38,momy*38,momz*38,0,9)
TNT1 A 0 A_SpawnItemEx("TrioGigaFlameSword",3,140,140,momx*38,momy*38,momz*38,0,9)
TNT1 A 1 A_SpawnItemEx("TrioGigaFlameSword",3,105,120,momx*38,momy*38,momz*38,0,9)
TNT1 A 0 A_SpawnItemEx("TrioGigaFlameSword",3,70,100,momx*38,momy*38,momz*38,0,9)
TNT1 A 1 A_SpawnItemEx("TrioGigaFlameSword",3,35,80,momx*38,momy*38,momz*38,0,9)
TNT1 A 0 A_SpawnItemEx("TrioGigaFlameSword",3,0,60,momx*38,momy*38,momz*38,0,9)
TNT1 A 1 A_SpawnItemEx("TrioGigaFlameSword",3,-35,40,momx*38,momy*38,momz*38,0,9)
TNT1 A 0 A_SpawnItemEx("TrioGigaFlameSword",3,-70,20,momx*38,momy*38,momz*38,0,9)
TNT1 A 1 A_SpawnItemEx("TrioGigaFlameSword",3,-105,0,momx*38,momy*38,momz*38,0,9)
TNT1 A 0 A_SpawnItemEx("TrioGigaFlameSword",3,-140,-20,momx*38,momy*38,momz*38,0,9)
TNT1 A 1 A_SpawnItemEx("TrioGigaFlameSword",3,-175,-40,momx*38,momy*38,momz*38,0,9)
TNT1 A 0 A_SpawnItemEx("TrioGigaFlameSword",3,-210,-60,momx*38,momy*38,momz*38,0,9)
TNT1 A 1 A_SpawnItemEx("TrioGigaFlameSword",3,-245,-80,momx*38,momy*38,momz*38,0,9)
TNT1 A 0 A_SpawnItemEx("TrioGigaFlameSwordTip",3,-280,-100,momx*38,momy*38,momz*38,0,9)
TNT1 A 1 A_SpawnItemEx("TrioGigaFlameSwordTip",3,-315,-120,momx*38,momy*38,momz*38,0,9)
stop
}
}

actor TrioFlameSwing2 : TrioFlameSwing1
{
Translation "199:199=79:79", "202:202=176:176"
states
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode")
TNT1 A 1 A_SpawnItemEx("TrioGigaFlameSwordTip",3,-315,120,momx*38,momy*38,momz*38,0,9)
TNT1 A 0 A_SpawnItemEx("TrioGigaFlameSwordTip",3,-280,240,momx*38,momy*38,momz*38,0,9)
TNT1 A 1 A_SpawnItemEx("TrioGigaFlameSword",3,-245,200,momx*38,momy*38,momz*38,0,9)
TNT1 A 0 A_SpawnItemEx("TrioGigaFlameSword",3,-210,180,momx*38,momy*38,momz*38,0,9)
TNT1 A 1 A_SpawnItemEx("TrioGigaFlameSword",3,-175,160,momx*38,momy*38,momz*38,0,9)
TNT1 A 0 A_SpawnItemEx("TrioGigaFlameSword",3,-140,140,momx*38,momy*38,momz*38,0,9)
TNT1 A 1 A_SpawnItemEx("TrioGigaFlameSword",3,-105,120,momx*38,momy*38,momz*38,0,9)
TNT1 A 0 A_SpawnItemEx("TrioGigaFlameSword",3,-70,100,momx*38,momy*38,momz*38,0,9)
TNT1 A 1 A_SpawnItemEx("TrioGigaFlameSword",3,-35,80,momx*38,momy*38,momz*38,0,9)
TNT1 A 0 A_SpawnItemEx("TrioGigaFlameSword",3,0,60,momx*38,momy*38,momz*38,0,9)
TNT1 A 1 A_SpawnItemEx("TrioGigaFlameSword",3,35,40,momx*38,momy*38,momz*38,0,9)
TNT1 A 0 A_SpawnItemEx("TrioGigaFlameSword",3,70,20,momx*38,momy*38,momz*38,0,9)
TNT1 A 1 A_SpawnItemEx("TrioGigaFlameSword",3,105,0,momx*38,momy*38,momz*38,0,9)
TNT1 A 0 A_SpawnItemEx("TrioGigaFlameSword",3,140,-20,momx*38,momy*38,momz*38,0,9)
TNT1 A 1 A_SpawnItemEx("TrioGigaFlameSword",3,175,-40,momx*38,momy*38,momz*38,0,9)
TNT1 A 0 A_SpawnItemEx("TrioGigaFlameSword",3,210,-60,momx*38,momy*38,momz*38,0,9)
TNT1 A 1 A_SpawnItemEx("TrioGigaFlameSword",3,245,-80,momx*38,momy*38,momz*38,0,9)
TNT1 A 0 A_SpawnItemEx("TrioGigaFlameSwordTip",3,280,-100,momx*38,momy*38,momz*38,0,9)
TNT1 A 1 A_SpawnItemEx("TrioGigaFlameSwordTip",3,315,-120,momx*38,momy*38,momz*38,0,9)
stop
}
}


actor TrioGigaFlameSword
{

PROJECTILE
+NOCLIP
+THRUGHOST
+NOINTERACTION
+DONTREFLECT
Obituary "$OB_TRIO8"
Damagetype "TrioFlameSword"
Height 2
Radius 2
Scale 3.5
reactiontime 12
states
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode")
FWVE M 0 A_CountDown
FWVE M 0 A_SpawnItemEx("OilPitIgnite",0,0,8)
FWVE M 0 A_SpawnItemEx("TrioGigaFlameSwordFX",0,0,40,-6,0,5,0,1)
FWVE M 0 A_SpawnItemEx("TrioGigaFlameSwordFX",0,0,-40,-6,0,-5,0,1)
FWVE MMM 1 A_Explode(4,80,0,0,80)
FWVE N 0 A_SpawnItemEx("OilPitIgnite",0,0,8)
FWVE N 0 A_SpawnItemEx("TrioGigaFlameSwordFX",0,0,40,-6,0,5,0,1)
FWVE N 0 A_SpawnItemEx("TrioGigaFlameSwordFX",0,0,-40,-6,0,-5,0,1)
FWVE NNN 1 A_Explode(4,80,0,0,80)
FWVE O 0 A_SpawnItemEx("OilPitIgnite",0,0,8)
FWVE O 0 A_SpawnItemEx("TrioGigaFlameSwordFX",0,0,40,-6,0,5,0,1)
FWVE O 0 A_SpawnItemEx("TrioGigaFlameSwordFX",0,0,-40,-6,0,-5,0,1)
FWVE OOO 1 A_Explode(4,80,0,0,80)
loop
}
}
actor TrioGigaFlameSwordTip : TrioGigaFlameSword{renderstyle normal}

actor TrioGigaFlameSwordFX : BasicClientSide
{
Scale 4.0
States
{
Spawn:
TNT1 A 0
Y_8C E 1
Death:
Y_8C EFG 4
stop
}
}

//Homing Sniper
actor GigaLockOn : FastProjectile
{
PROJECTILE
+DONTBLAST
+SKYEXPLODE
+THRUACTORS
+NOEXPLODEFLOOR
+DONTREFLECT
speed 345
radius 16
height 16
Scale 2.5
states
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode",1)
TNT1 AAAAAAAAAA 1 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0)==0,"End")
Death:
TNT1 A 0 A_SpawnItemEx("GigaLockOnFX",0,0,0,0,0,0)
End:
TNT1 A 0
stop
}
}
actor GigaLockOn2 : GigaLockOn{states{Death:TNT1 A 0 A_SpawnItemEx("GigaLockOnFX2",0,0,0,0,0,0)stop}}
actor GigaLockOn3 : GigaLockOn{states{Death:TNT1 A 0 A_SpawnItemEx("GigaLockOnFX3",0,0,0,0,0,0)stop}}

actor GigaLockOnFX
{
Translation "198:198=79:79", "192:192=176:176"
PROJECTILE
+SKYEXPLODE
+NOEXPLODEFLOOR
+NOTARGETSWITCH
+DONTBLAST
scale 2.5
radius 8
height 8
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileFXCode",1)
EVFL R 2
stop
}
}

actor GigaLockOnFX2 : GigaLockOnFX
{
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileFXCode",1)
EVFL S 2
stop
}
}

actor GigaLockOnFX3 : GigaLockOnFX
{
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileFXCode",1)
EVFL T 2
stop
}
}

actor TrioGigaHomingSniper
{
Translation "198:198=79:79", "192:192=176:176"
PROJECTILE
+SKYEXPLODE
Obituary "$OB_TRIO9"
damagetype "TrioHomingSniper"
Damage(10)
Speed 80
Radius 16
Height 16
scale 2.5
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode",1)
TNT1 A 0 A_PlaySound("weapon/deadlystormloop","Weapon",1.0,True)
Spawn2:
X_8E BBCC 1 A_SpawnItemEx("TrioHomingSniperFX")
loop
Death:
TNT1 A 0 A_SpawnItemEx("TrioGigaHomingSniperExplode")
stop
}
}

actor TrioHomingSniperFX : BasicClientSide
{
Translation "95:95=79:79"
states
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode")
TNT1 AA 1
HSN8 NOP 2
stop
}
}

actor TrioGigaHomingSniperExplode
{
Translation "198:198=79:79", "192:192=4:4"
PROJECTILE
-SOLID
Obituary "$OB_TRIO9"
damagetype "TrioHomingSniper"
Damage(0)
Speed 80
Radius 16
Height 16
scale 2.5
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode",1)
TNT1 A 0 A_Explode(10,200,0,0,50)
TNT1 A 0 A_PlaySoundEx("weapon/hyperbomb", "Weapon")
MXP3 ABCDEFGHIJKLMN 1 A_Quake(1,5,0,200)
stop
}
}

//Ice Wave
actor GigaIceWaveWarper
{
Translation "198:198=176:176", "192:192=79:79"
+MISSILE
-SOLID
+NOCLIP
+NOGRAVITY
+NOINTERACTION
+CLIENTSIDEONLY
Height 8
Radius 8
scale 3.0
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode",1)
MXP3 NNMMLLKKJJIIHHGGFFEEDDCC 1 A_Warp(AAPTR_TARGET,96,0,48,0,WARPF_INTERPOLATE|WARPF_NOCHECKPOSITION)
Spawn2:
MXP3 B 1 A_Warp(AAPTR_TARGET,96,0,48,0,WARPF_INTERPOLATE|WARPF_NOCHECKPOSITION)
TNT1 A 0 A_JumpIfInTargetInventory("BaseAltfireAmmo",1,1) Goto End TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0)==0,"End")
MXP3 B 1 A_Warp(AAPTR_TARGET,96,0,48,0,WARPF_INTERPOLATE|WARPF_NOCHECKPOSITION)
TNT1 A 0 A_JumpIfInTargetInventory("BaseAltfireAmmo",1,1) Goto End TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0)==0,"End")
MXP3 A 1 A_Warp(AAPTR_TARGET,96,0,48,0,WARPF_INTERPOLATE|WARPF_NOCHECKPOSITION)
TNT1 A 0 A_JumpIfInTargetInventory("BaseAltfireAmmo",1,1) Goto End TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0)==0,"End")
MXP3 A 1 A_Warp(AAPTR_TARGET,96,0,48,0,WARPF_INTERPOLATE|WARPF_NOCHECKPOSITION)
TNT1 A 0 A_JumpIfInTargetInventory("BaseAltfireAmmo",1,1) Goto End TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0)==0,"End")
loop
End:
TNT1 A 0
stop
}
}

actor GigaIceWaveSpawner
{
PROJECTILE
-ALLOWBOUNCEONACTORS
+THRUACTORS
+HEXENBOUNCE
+SEEKERMISSILE
+LOOKALLAROUND
+CANBOUNCEWATER
WALLBOUNCEFactor 1
BOUNCEFactor 1
BOUNCECOUNT 99
Speed 12
Radius 8
Height 8
scale 2.5
ReactionTime 35
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode",1)
Spawn2:
TNT1 A 0 A_JumpIfInventory("CutterFlag",6,"Spawn3")
TNT1 AAAAA 1 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0)==0,"Death")
TNT1 A 0 A_PlaySoundEx("weapon/icewavespawn","weapon")
TNT1 A 0 A_SpawnItemEx("TrioGigaIceWave")
TNT1 A 0 A_CountDown
TNT1 A 0 A_GiveInventory("CutterFlag",1)
loop
Spawn3:
TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0)==0,"Death")
TNT1 AAAAA 1 A_SeekerMissile(90,360,SMF_LOOK|SMF_PRECISE,50,8)
TNT1 A 0 A_PlaySoundEx("weapon/icewavespawn","weapon")
TNT1 A 0 A_SpawnItemEx("TrioGigaIceWave")
TNT1 A 0 A_CountDown
loop
Death:
TNT1 A 0
stop
}
}

actor TrioGigaIceWave
{
Translation "198:198=176:176", "192:192=79:79"
PROJECTILE
+THRUGHOST
Damage (7)
Obituary "$OB_TRIO10"
damagetype "TrioIceWave"
ReactionTime 175
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode",1)
EVFL KLM 3 A_SpawnItemEx("IcePitFreeze")
Spawn2:
EVFL MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM 1 A_CountDown
TNT1 A 0 A_SpawnItemEx("TrioFrostAir",Random(-80,80),Random(-80,80),Random(0,80))
loop
Death:
TNT1 A 0 A_PlaySound("weapon/centaurflash")
TNT1 AAAAA 0 A_SpawnItemEx("TrioGigaIceWaveShard",random(-128,128),random(-128,128),0,random(-5,5),random(-5,5),random(-5,5),random(0,360),SXF_TRANSFERTRANSLATION)
stop
}
}

actor TrioGigaIceWaveShard
{
+MISSILE
-SOLID
+RIPPER
+THRUGHOST
+NOGRAVITY
scale 4.5
states
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode",1)
X_8F FFFFFGGGGGHHHHH 4 A_SpawnItemEx("IcePitFreeze")
stop
}
}

actor TrioFrostAir : BasicClientSide
{
Translation "204:204=176:176", "4:4=79:79"
-NOGRAVITY
-NOINTERACTION
gravity 0.2
alpha 0.9
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileFXCode")
FR9F A 5
FR9F BBBCCC 1 A_FadeOut(0.14)
stop
}
}

//Water Balloon
actor TrioGigaWaterBalloon
{
Translation "198:198=79:79", "192:192=176:176"
PROJECTILE
+SKYEXPLODE
+HEXENBOUNCE
Obituary "$OB_TRIO11"
damagetype "TrioWaterBalloon"
renderstyle Translucent
Alpha 0.0
BounceFactor 1.0
BounceCount 99
Damage(40)
Speed 25
Height 48
Radius 48
Scale 2.5
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode",1)
EVFL UUUUVVVVUUUUWWWWUUUUVVVVUUUUWWWW 1 A_FadeIn(0.05)
Spawn2:
EVFL U 1 A_GiveInventory("CutterFlag",1) TNT1 A 0 A_ScaleVelocity(0.99) TNT1 A 0 A_JumpIfInventory("CutterFlag",140,"Spawn3")
EVFL U 1 A_GiveInventory("CutterFlag",1) TNT1 A 0 A_ScaleVelocity(0.99) TNT1 A 0 A_JumpIfInventory("CutterFlag",140,"Spawn3")
EVFL U 1 A_GiveInventory("CutterFlag",1) TNT1 A 0 A_ScaleVelocity(0.99) TNT1 A 0 A_JumpIfInventory("CutterFlag",140,"Spawn3")
EVFL U 1 A_GiveInventory("CutterFlag",1) TNT1 A 0 A_ScaleVelocity(0.99) TNT1 A 0 A_JumpIfInventory("CutterFlag",140,"Spawn3")
EVFL V 1 A_GiveInventory("CutterFlag",1) TNT1 A 0 A_ScaleVelocity(0.99) TNT1 A 0 A_JumpIfInventory("CutterFlag",140,"Spawn3")
EVFL V 1 A_GiveInventory("CutterFlag",1) TNT1 A 0 A_ScaleVelocity(0.99) TNT1 A 0 A_JumpIfInventory("CutterFlag",140,"Spawn3")
EVFL V 1 A_GiveInventory("CutterFlag",1) TNT1 A 0 A_ScaleVelocity(0.99) TNT1 A 0 A_JumpIfInventory("CutterFlag",140,"Spawn3")
EVFL V 1 A_GiveInventory("CutterFlag",1) TNT1 A 0 A_ScaleVelocity(0.99) TNT1 A 0 A_JumpIfInventory("CutterFlag",140,"Spawn3")
EVFL U 1 A_GiveInventory("CutterFlag",1) TNT1 A 0 A_ScaleVelocity(0.99) TNT1 A 0 A_JumpIfInventory("CutterFlag",140,"Spawn3")
EVFL U 1 A_GiveInventory("CutterFlag",1) TNT1 A 0 A_ScaleVelocity(0.99) TNT1 A 0 A_JumpIfInventory("CutterFlag",140,"Spawn3")
EVFL U 1 A_GiveInventory("CutterFlag",1) TNT1 A 0 A_ScaleVelocity(0.99) TNT1 A 0 A_JumpIfInventory("CutterFlag",140,"Spawn3")
EVFL U 1 A_GiveInventory("CutterFlag",1) TNT1 A 0 A_ScaleVelocity(0.99) TNT1 A 0 A_JumpIfInventory("CutterFlag",140,"Spawn3")
EVFL W 1 A_GiveInventory("CutterFlag",1) TNT1 A 0 A_ScaleVelocity(0.99) TNT1 A 0 A_JumpIfInventory("CutterFlag",140,"Spawn3")
EVFL W 1 A_GiveInventory("CutterFlag",1) TNT1 A 0 A_ScaleVelocity(0.99) TNT1 A 0 A_JumpIfInventory("CutterFlag",140,"Spawn3")
EVFL W 1 A_GiveInventory("CutterFlag",1) TNT1 A 0 A_ScaleVelocity(0.99) TNT1 A 0 A_JumpIfInventory("CutterFlag",140,"Spawn3")
EVFL W 1 A_GiveInventory("CutterFlag",1) TNT1 A 0 A_ScaleVelocity(0.99) TNT1 A 0 A_JumpIfInventory("CutterFlag",140,"Spawn3")
loop
Spawn3:
EVFL UUUUVVVVUUUUWWWW 1 A_Jump(256,"Death")
loop
Death:
TNT1 A 0 A_PlaySoundEx("misc/splash","Auto")
TNT1 AAAAAAAA 0 A_SpawnItemEx("TrioGigaWaterBalloon2",0,0,0,random(-25,25),random(-25,25),random(-25,25))
TNT1 AAAAA 0 A_SpawnItemEx("TrioGigaWaterBalloonSplash",random(-128,128),random(-128,128),random(-128,128))
stop
}
}

actor TrioGigaWaterBalloon2 : TrioGigaWaterBalloon
{
Alpha 1.0
Height 32
Radius 32
Scale 1.5
Damage (20)
States
{
Spawn3:
EVFL UUUUVVVVUUUUWWWW 1 A_Jump(25,"Death")
loop
Death:
TNT1 A 0 A_PlaySound("misc/splash","Auto",0.5)
TNT1 AAAAAAAA 0 A_SpawnItemEx("TrioGigaWaterBalloon3",0,0,0,random(-25,25),random(-25,25),random(-25,25))
TNT1 AAA 0 A_SpawnItemEx("TrioGigaWaterBalloonSplash2",random(-80,80),random(-80,80),random(-80,80))
stop
}
}

actor TrioGigaWaterBalloon3 : TrioGigaWaterBalloon2
{
Height 16
Radius 16
Scale 0.5
Damage (10)
States
{
Death:
TNT1 A 0 A_PlaySound("misc/splash","Auto",0.5)
TNT1 A 0 A_SpawnItemEx("TrioGigaWaterBalloonSplash3")
stop
}
}

actor TrioAquaDrop : BasicClientSide
{
Translation "199:199=79:79","198:198=249:249","197:197=60:60","242:242=176:176","249:249=41:41","60:60=38:38"
PROJECTILE
-NOGRAVITY
-NOINTERACTION
gravity 0.5
speed 12
radius 3
height 3
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode")
AQPJ GIGIGIGIGIGIGIGIGIGIGIGIHIHIHIHIHIHIHIHIHIHIHIHI 1
stop
Death:
TNT1 A 0 A_ChangeFlag("NOGRAVITY",1)
TNT1 A 0 A_ChangeFlag("NOINTERACTION",1)
AQPJ JIKILIMINI 1
stop
}
}

actor TrioGigaWaterBalloonSplash
{
Translation "199:199=79:79","198:198=249:249","197:197=60:60","242:242=176:176","249:249=41:41","60:60=38:38"
+MISSILE
-SOLID
+NOGRAVITY
+NOINTERACTION
Scale 4.0
states
{
Spawn:
AQBA NOP 2
stop
}
}
actor TrioGigaWaterBalloonSplash2 : TrioGigaWaterBalloonSplash {Scale 2.0}
actor TrioGigaWaterBalloonSplash3 : TrioGigaWaterBalloonSplash {Scale 1.0}

actor DarkChargeHitBox
{
PROJECTILE
+DONTBLAST
+DONTREFLECT
-NOBLOCKMAP
+THRUSPECIES
+DONTREFLECT
damagetype "TrioDarkCharge"
Obituary "$OB_TRIO12"
damage (35)
Radius 32
Height 32
Speed 0
scale 2.5
States
{
Spawn:
TNT1 A 0
TNT1 A 1
Death:
XDeath:
TNT1 A 1
stop
}
}

actor DarkChargeFlinger
{
//+SERVERSIDEONLY
PROJECTILE
+NOINTERACTION
+NOCLIP
+DONTBLAST
damage 0
radius 1
height 1
speed 0
var int user_force;
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_JumpIfInTargetInventory("CannotBeMoved",1,"Death")
TNT1 A 0 A_SetUserVar("user_force",-30)
Spawn2:
TNT1 A 0 A_TransferPointer(AAPTR_TARGET,AAPTR_DEFAULT,AAPTR_TARGET,AAPTR_TRACER)
TNT1 A 0 A_FaceTracer
TNT1 A 0 ThrustThing(angle*256/360,user_force,1,ACS_ExecuteWithResult(257,0))
stop
Death:
TNT1 A 0
stop
}
}

actor DarkSwipeProtect : PowerProtection {Powerup.Duration 4 DamageFactor "TrioMain", 0.0}
actor GigaTornadoHoldProtect : PowerProtection {Powerup.Duration 4 DamageFactor "TrioTornadoHold", 0.0}
actor GigaThunderClawProtect : PowerProtection {Powerup.Duration 1 DamageFactor "TrioThunderClaw", 0.0}
actor GigaAstroCrushProtect : PowerProtection {Powerup.Duration 1 DamageFactor "TrioAstroCrush", 0.0}
actor GigaFlashBombProtect : PowerProtection {Powerup.Duration 3 DamageFactor "TrioFlashBomb", 0.0}
actor GigaFlameSwordProtect : PowerProtection {Powerup.Duration 2 DamageFactor "TrioFlameSword", 0.0}
actor GigaHomingSniperProtect : PowerProtection {Powerup.Duration 1 DamageFactor "TrioHomingSniper", 0.0}
actor GigaIceWaveProtect : PowerProtection {Powerup.Duration 3 DamageFactor "TrioIceWave", 0.0}
actor GigaWaterBalloonProtect : PowerProtection {Powerup.Duration 30 DamageFactor "TrioWaterBalloon", 0.0}
actor DarkChargeProtect : PowerProtection {Powerup.Duration 35 DamageFactor "TrioDarkCharge", 0.0}

actor DarkExclipseCannonStartPickUp : CustomInventory
{
states
{
Pickup:
TNT1 A 0 SetPlayerProperty(0,1,0)
TNT1 A 0 SetPlayerProperty(0,1,3)
TNT1 A 0 A_GiveInventory("NoPushFlag",1)
TNT1 A 0 A_GiveInventory("InvProtection")
TNT1 A 0 A_ChangeFlag("INVULNERABLE",True)
TNT1 A 0 A_TakeInventory("UltAttackFlag",1)
TNT1 A 0 A_GiveInventory("EnergySwitchDisable")
TNT1 A 0 A_SpawnItemEx("TerminatorUltimateAlarm")
TNT1 A 0 A_GiveInventory("PowerUltBuildCooldown",1)
TNT1 A 0 ACS_NamedExecuteAlways("VC_UltimateText",0,130)
TNT1 A 0 A_PlaySoundEx("classes/ultimateactivation","Auto")
stop
}
}

actor TrioStolenEnergyFXSpawner2 : TrioEvilEnergyFXSpawner
{
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode")
TNT1 A 1 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0)==0,"End")
Death:
TNT1 A 0 A_Jump(256,"Energy1","Energy2","Energy3","Energy4","Energy5","Energy6","Energy7","Energy8","Energy9")
stop
Energy1: TNT1 A 0 A_CustomMissile("TrioEvilEnergyFXTE",0,0,0) stop
Energy2: TNT1 A 0 A_CustomMissile("TrioEvilEnergyFXCL",0,0,0) stop
Energy3: TNT1 A 0 A_CustomMissile("TrioEvilEnergyFXAS",0,0,0) stop
Energy4: TNT1 A 0 A_CustomMissile("TrioEvilEnergyFXGR",0,0,0) stop
Energy5: TNT1 A 0 A_CustomMissile("TrioEvilEnergyFXSW",0,0,0) stop
Energy6: TNT1 A 0 A_CustomMissile("TrioEvilEnergyFXSE",0,0,0) stop
Energy7: TNT1 A 0 A_CustomMissile("TrioEvilEnergyFXFR",0,0,0) stop
Energy8: TNT1 A 0 A_CustomMissile("TrioEvilEnergyFXAQ",0,0,0) stop
Energy9: TNT1 A 0 A_CustomMissile("TrioEvilEnergyFXER",0,0,0) stop
End:
TNT1 A 0
stop
}
}

actor DarkExclipseCannonEndPickUp : CustomInventory
{
states
{
Pickup:
TNT1 A 0 SetPlayerProperty(0,0,3)
TNT1 A 0 ACS_ExecuteAlways(991,0,869)
TNT1 A 0 A_TakeInventory("NoPushFlag",1)
TNT1 A 0 A_TakeInventory("InvProtection")
TNT1 A 0 A_TakeInventory("CutterFlag",999)
TNT1 A 0 A_ChangeFlag("INVULNERABLE",False)
TNT1 A 0 A_TakeInventory("EnergySwitchDisable")
TNT1 A 0 A_TakeInventory("PowerUltBuildCooldown",1)
stop
}
}

actor DarkEclipseCannon : FastProjectile
{
PROJECTILE
+DONTBLAST
+DONTREFLECT
Obituary "$OB_TRIO13"
damagetype "TrioUlt"
damage (100)
speed 300
Radius 32
Height 32
scale 2.5
States
{
Spawn:
TNT1 A 0
TNT1 AAAA 1
stop

Death:
TNT1 A 0 A_Jump(64,"DeathEffect")
TNT1 A 1 A_Jump(256,"Death2")
wait
DeathEffect:
TNT1 A 0 A_SpawnItemEx("TrioEvilEnergyFXER3B",random(24,32),0,0,random(7,10),0,random(2,4),random(0,359))
TNT1 A 0 A_SpawnItemEx("DarkEclipseCannonMistFX",random(-64,64),random(-64,64),random(0,64),0,0,random(0,10),0,SXF_TRANSFERPOINTERS)
Death2:
TNT1 A 0 A_Explode(100,80,0)
TNT1 A 0 A_PlaySoundEx("weapon/punkdig","Weapon")
TNT1 A 5 A_Quake(4,5,0,400,0)
stop
}
}

actor DarkEclipseCannon2 : DarkEclipseCannon
{
States
{
Death:
TNT1 A 0
stop
}
}

actor DarkEclipseCannonFX// : BasicGraphicEffect
{
Translation "192:192=41:41","198:198=249:249"
PROJECTILE
+PAINLESS
+DONTBLAST
+DONTREFLECT
+CLIENTSIDEONLY
+FORCEYBILLBOARD 
Obituary "$OB_TRIO12"
damagetype "TrioUlt"
speed 16//8
Radius 8
Height 8
scale 2.5
states
{
Spawn:
TNT1 AA 0 //A_GiveInventory("ProjectileFXCode")
TNT1 A 0
TNT1 A 0 A_JumpIfCloser(1200,"Appear")
Goto Death

Appear:
TNT1 A 0 A_SetPitch(pitch+4)
//TNT1 A 0 A_SpawnItemEx("DarkEclipseCannonTrail",0,0,0,0,0,0,0,1)
TNT1 A 0 A_JumpIf(pitch>100 && pitch <3000,"FX2")
TNT1 A 0 A_SpawnItemEx("DarkEclipseCannonTrail",0,0,0,0,0,0,0,1)
TNT1 A 0 A_JumpIf(pitch>3000,"Death2")
TNT1 A 0 A_SpawnItemEx("DarkEclipseCannonFX",0,0,0,momx,momy,momz,0,553)
TNT1 A 1 A_Stop
stop

FX2:
TNT1 A 0 A_SpawnItemEx("DarkEclipseCannonTrailCopy",0,0,0,0,0,0,0,1)
TNT1 A 0 A_SpawnItemEx("DarkEclipseCannonFX",0,0,0,momx,momy,momz,0,553)
TNT1 A 1 A_Stop
stop

Death:
TNT1 A 0 A_spawnItemEx("DarkEclipseCannonHit")
stop

Death2:
TNT1 A 0 A_spawnItemEx("DarkEclipseCannonHit")
stop

End:
TNT1 A 0
stop
}
}

actor DarkEclipseCannonFX2 : DarkEclipseCannonFX
{
states
{
Appear:
TNT1 A 0 A_SetPitch(pitch+4)
TNT1 A 0 A_JumpIf(pitch>100 && pitch <3000,"FX2")
TNT1 A 0 A_SpawnItemEx("DarkEclipseCannonTrail2",0,0,0,0,0,0,0,1)
TNT1 A 0 A_JumpIf(pitch>3000,"Death2")
TNT1 A 0 A_SpawnItemEx("DarkEclipseCannonFX2",0,0,0,momx,momy,momz,0,553)
TNT1 A 1 A_Stop
stop

FX2:
TNT1 A 0 A_SpawnItemEx("DarkEclipseCannonTrail2Copy",0,0,0,0,0,0,0,1)
TNT1 A 0 A_SpawnItemEx("DarkEclipseCannonFX",0,0,0,momx,momy,momz,0,553)
TNT1 A 1 A_Stop
stop

Death:
TNT1 A 0 A_spawnItemEx("DarkEclipseCannonHit2")
stop

Death2:
TNT1 A 0 A_spawnItemEx("DarkEclipseCannonHit2")
stop
}
}

actor DarkEclipseCannonTrail : BaseDecorativeActor
{
Translation "192:192=41:41","198:198=249:249"
renderstyle "translucent"
scale 2.5
States
{
Spawn:
TNT1 AA 0 //A_GiveInventory("ProjectileFXCode")
TNT1 A 0
//TNT1 A 0 A_JumpIfCloser(24,"Death")
//TNT1 A 0 ACS_NamedExecuteWithResult("core_alphaprojectile", CallACS("core_getptrtid", AAPTR_TARGET), APROJ_TEAM, 6553, 320)
TNT1 A 0 A_Jump(256,"Appear")//TNT1 A 0 A_JumpIfCloser(1200,"Appear")
//stop

Appear:
TNT1 A 0 ACS_NamedExecuteWithResult("core_alphaprojectile", CallACS("core_getptrtid", AAPTR_TARGET), APROJ_TEAM, 6553, 320)
ERO9 A 1 A_SpawnItemEx("TrioEvilEnergyFXER4",0,random(-64,64),random(-64,64),0,0,0,0,0,240)
stop

Death:
TNT1 A 0
stop
}
}

actor DarkEclipseCannonTrailCopy : DarkEclipseCannonTrail
{
	States
	{
	Appear:
	//TNT1 A 0 ACS_NamedExecuteWithResult("core_alphaprojectile", CallACS("core_getptrtid", AAPTR_TARGET), APROJ_TEAM, 6553, 320)
	ERO9 A 1 A_SpawnItemEx("TrioEvilEnergyFXER4",0,random(-64,64),random(-64,64),0,0,0,0,0,240)
	stop
	}
}

actor DarkEclipseCannonTrail2 : DarkEclipseCannonTrail
{
States
{
Appear:
TNT1 A 0 ACS_NamedExecuteWithResult("core_alphaprojectile", CallACS("core_getptrtid", AAPTR_TARGET), APROJ_TEAM, 6553, 320)
ERO9 B 1
stop
}
}

actor DarkEclipseCannonTrail2Copy : DarkEclipseCannonTrail
{
States
{
Appear:
TNT1 A 0 //ACS_NamedExecuteWithResult("core_alphaprojectile", CallACS("core_getptrtid", AAPTR_TARGET), APROJ_TEAM, 6553, 320)
ERO9 B 1
stop
}
}

actor DarkEclipseCannonHit : DarkEclipseCannonTrail
{
scale 5.0
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileFXCode")
ERO9 C 1
stop
}
}

actor DarkEclipseCannonHit2 : DarkEclipseCannonHit
{
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileFXCode")
ERO9 D 1
stop
}
}

actor DarkEclipseCannonMistFX : BasicClientSide
{
Translation "192:192=41:41","198:198=249:249"
RenderStyle Add
Alpha 0.7
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode",1)
EVFL XXYYZZ 1 A_SetScale(scalex-0.16,scaley+0.165)
stop
}
}

actor DarkEclipseCannonFlash : CustomInventory
{
+INVENTORY.AUTOACTIVATE
States
{
Use:
TNT1 A 0 A_SetBlend("96 32 92", 1.0, 70)
stop
}
}

actor GigaUltimateSkullWarperBase
{
+MISSILE
+NOCLIP
-SOLID
+NOGRAVITY
+NOINTERACTION
+CLIENTSIDEONLY
+DONTREFLECT
RenderStyle Add
Alpha 0.7
Height 0
Radius 0
scale 3.0
var int User_Offset;
var int User_Deg;
const int X_OFS_INC = 3;
const int X_OFS_DEC = 6;
const int ANGLE_TRN = 8;
const int OFS_RNG = 256;
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode")
TNT1 A 0 A_SetUserVar("User_Offset",0)
Goto SkullEnter
SkullEnter:
ERSK A 1 A_Warp(AAPTR_TARGET,User_Offset,0,0,User_Deg,WARPF_INTERPOLATE|WARPF_NOCHECKPOSITION) TNT1 A 0 A_SetUserVar("User_Offset",User_Offset+3)
TNT1 A 0 A_SetUserVar("User_Deg",User_Deg+ANGLE_TRN) TNT1 A 0 A_JumpIf(User_Offset>=OFS_RNG,"SkullHold") TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0)==0,"End")
ERSK A 1 A_Warp(AAPTR_TARGET,User_Offset,0,0,User_Deg,WARPF_INTERPOLATE|WARPF_NOCHECKPOSITION) TNT1 A 0 A_SetUserVar("User_Offset",User_Offset+3)
TNT1 A 0 A_SetUserVar("User_Deg",User_Deg+ANGLE_TRN) TNT1 A 0 A_JumpIf(User_Offset>=OFS_RNG,"SkullHold") TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0)==0,"End")
TNT1 A 1 A_Warp(AAPTR_TARGET,User_Offset,0,0,User_Deg,WARPF_INTERPOLATE|WARPF_NOCHECKPOSITION) TNT1 A 0 A_SetUserVar("User_Offset",User_Offset+3)
TNT1 A 0 A_SetUserVar("User_Deg",User_Deg+ANGLE_TRN) TNT1 A 0 A_JumpIf(User_Offset>=OFS_RNG,"SkullHold") TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0)==0,"End")
TNT1 A 1 A_Warp(AAPTR_TARGET,User_Offset,0,0,User_Deg,WARPF_INTERPOLATE|WARPF_NOCHECKPOSITION) TNT1 A 0 A_SetUserVar("User_Offset",User_Offset+3)
TNT1 A 0 A_SetUserVar("User_Deg",User_Deg+ANGLE_TRN) TNT1 A 0 A_JumpIf(User_Offset>=OFS_RNG,"SkullHold") TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0)==0,"End")
loop
SkullHold:
ERSK A 1 A_Warp(AAPTR_TARGET,User_Offset,0,0,User_Deg,WARPF_INTERPOLATE|WARPF_NOCHECKPOSITION) TNT1 A 0 A_SetUserVar("User_Deg",User_Deg+ANGLE_TRN)
TNT1 A 0 A_JumpIfInTargetInventory("TerminationUltimateAmmo",1,1) Goto SkullReturn TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0)==0,"End")
ERSK A 1 A_Warp(AAPTR_TARGET,User_Offset,0,0,User_Deg,WARPF_INTERPOLATE|WARPF_NOCHECKPOSITION) TNT1 A 0 A_SetUserVar("User_Deg",User_Deg+ANGLE_TRN)
TNT1 A 0 A_JumpIfInTargetInventory("TerminationUltimateAmmo",1,1) Goto SkullReturn TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0)==0,"End")
TNT1 A 1 A_Warp(AAPTR_TARGET,User_Offset,0,0,User_Deg,WARPF_INTERPOLATE|WARPF_NOCHECKPOSITION) TNT1 A 0 A_SetUserVar("User_Deg",User_Deg+ANGLE_TRN)
TNT1 A 0 A_JumpIfInTargetInventory("TerminationUltimateAmmo",1,1) Goto SkullReturn TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0)==0,"End")
TNT1 A 1 A_Warp(AAPTR_TARGET,User_Offset,0,0,User_Deg,WARPF_INTERPOLATE|WARPF_NOCHECKPOSITION) TNT1 A 0 A_SetUserVar("User_Deg",User_Deg+ANGLE_TRN)
TNT1 A 0 A_JumpIfInTargetInventory("TerminationUltimateAmmo",1,1) Goto SkullReturn TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0)==0,"End")
loop
SkullReturn:
ERSK A 1 A_Warp(AAPTR_TARGET,User_Offset,0,0,User_Deg,WARPF_INTERPOLATE|WARPF_NOCHECKPOSITION) TNT1 A 0 A_SetUserVar("User_Offset",User_Offset-6)
TNT1 A 0 A_SetUserVar("User_Deg",User_Deg+ANGLE_TRN) TNT1 A 0 A_JumpIf(User_Offset<=0,"End") TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0) == 0, "End")
ERSK A 1 A_Warp(AAPTR_TARGET,User_Offset,0,0,User_Deg,WARPF_INTERPOLATE|WARPF_NOCHECKPOSITION) TNT1 A 0 A_SetUserVar("User_Offset",User_Offset-6)
TNT1 A 0 A_SetUserVar("User_Deg",User_Deg+ANGLE_TRN) TNT1 A 0 A_JumpIf(User_Offset<=0,"End") TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0) == 0, "End")
TNT1 A 1 A_Warp(AAPTR_TARGET,User_Offset,0,0,User_Deg,WARPF_INTERPOLATE|WARPF_NOCHECKPOSITION) TNT1 A 0 A_SetUserVar("User_Offset",User_Offset-6)
TNT1 A 0 A_SetUserVar("User_Deg",User_Deg+ANGLE_TRN) TNT1 A 0 A_JumpIf(User_Offset<=0,"End") TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0) == 0, "End")
TNT1 A 1 A_Warp(AAPTR_TARGET,User_Offset,0,0,User_Deg,WARPF_INTERPOLATE|WARPF_NOCHECKPOSITION) TNT1 A 0 A_SetUserVar("User_Offset",User_Offset-6)
TNT1 A 0 A_SetUserVar("User_Deg",User_Deg+ANGLE_TRN) TNT1 A 0 A_JumpIf(User_Offset<=0,"End") TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0) == 0, "End")
loop
End:
TNT1 A 0
stop
}
}

actor GigaUltimateSkullWarperCL : GigaUltimateSkullWarperBase
{
Translation "198:198=220:220", "192:192=192:192"
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode")
TNT1 A 0 A_SetUserVar("User_Offset",0)
TNT1 A 0 A_SetUserVar("User_Deg",45)
Goto SkullEnter
}
}

actor GigaUltimateSkullWarperTE : GigaUltimateSkullWarperBase
{
Translation "198:198=194:194", "192:192=236:236"
States
{
TNT1 AA 0 A_GiveInventory("ProjectileCode")
TNT1 A 0 A_SetUserVar("User_Offset",0)
TNT1 A 0 A_SetUserVar("User_Deg",45)
Goto SkullEnter
}
}

actor GigaUltimateSkullWarperAS : GigaUltimateSkullWarperBase
{
Translation "198:198=128:128", "192:192=229:229"
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode")
TNT1 A 0 A_SetUserVar("User_Offset",0)
TNT1 A 0 A_SetUserVar("User_Deg",90)
Goto SkullEnter
}
}

actor GigaUltimateSkullWarperGR : GigaUltimateSkullWarperBase
{
Translation "198:198=77:77", "192:192=229:229"
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode")
TNT1 A 0 A_SetUserVar("User_Offset",0)
TNT1 A 0 A_SetUserVar("User_Deg",135)
Goto SkullEnter
}
}

actor GigaUltimateSkullWarperSW : GigaUltimateSkullWarperBase
{
Translation "198:198=41:41", "192:192=248:248"
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode")
TNT1 A 0 A_SetUserVar("User_Offset",0)
TNT1 A 0 A_SetUserVar("User_Deg",180)
Goto SkullEnter
}
}

actor GigaUltimateSkullWarperSE : GigaUltimateSkullWarperBase
{
Translation "198:198=230:230", "192:192=192:192"
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode")
TNT1 A 0 A_SetUserVar("User_Offset",0)
TNT1 A 0 A_SetUserVar("User_Deg",225)
Goto SkullEnter
}
}

actor GigaUltimateSkullWarperFR : GigaUltimateSkullWarperBase
{
Translation "198:198=205:205", "192:192=229:229"
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode")
TNT1 A 0 A_SetUserVar("User_Offset",0)
TNT1 A 0 A_SetUserVar("User_Deg",270)
Goto SkullEnter
}
}

actor GigaUltimateSkullWarperAQ : GigaUltimateSkullWarperBase
{
Translation "198:198=62:62", "192:192=192:192"
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode")
TNT1 A 0 A_SetUserVar("User_Offset",0)
TNT1 A 0 A_SetUserVar("User_Deg",315)
Goto SkullEnter
}
}


actor TrioSkullEnergyVanish
{
Height 0
Radius 0
scale 5.0
+NOCLIP
-SOLID
+NOGRAVITY
+NOINTERACTION
+CLIENTSIDEONLY
+MISSILE
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode")
Spawn2:
TNT1 A 0 A_JumpIfInventory("CutterFlag",17,"End")
ERSK C 2 A_SetScale(scalex-0.1,scaley+0.1)
TNT1 A 2 A_SetScale(scalex-0.1,scaley+0.1)
TNT1 A 0 A_GiveInventory("CutterFlag",1)
loop
End:
TNT1 A 1
stop
}
}

actor TrioSkullEnergyFX
{
Translation "192:192=41:41", "198:198=249:249"
Height 0
Radius 0
scale 2.0
+NOCLIP
-SOLID
+NOGRAVITY
+NOINTERACTION
+CLIENTSIDEONLY
+MISSILE
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode")
EVFL ZYX 10
stop
}
}

actor TrioDeath
{
Translation "192:192=41:41", "198:198=249:249"
+SOLID
+NOGRAVITY
+DONTSPLASH
+THRUACTORS
meleerange 869
reactiontime 15
Damage(0)
height 1
radius 1
scale 2.5
const int DEG = 36;
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode")
TNT1 A 0 A_StopSoundEx("SoundSlot6")
TNT1 A 0 A_PlaySoundEx("weapon/coilexplode","SoundSlot5")
TRI2 WXYZ 2 A_SpawnItemEx("TrioDestroyedEnergyFX",Random(-48,48),Random(-48,48),Random(0,48),0,0,0,0,SXF_TRANSFERTRANSLATION)
TNT1 A 0 A_StopSoundEx("SoundSlot7")
TNT1 A 0 A_PlaySoundEx("weapon/coilexplode","SoundSlot6")
TRI2 WXYZ 2 A_SpawnItemEx("TrioDestroyedEnergyFX",Random(-48,48),Random(-48,48),Random(0,48),0,0,0,0,SXF_TRANSFERTRANSLATION)
TNT1 A 0 A_StopSoundEx("SoundSlot5")
TNT1 A 0 A_PlaySoundEx("weapon/coilexplode","SoundSlot7")
TRI2 WXYZ 2 A_SpawnItemEx("TrioDestroyedEnergyFX",Random(-48,48),Random(-48,48),Random(0,48),0,0,0,0,SXF_TRANSFERTRANSLATION)
TNT1 A 0 A_GiveInventory("CutterFlag",1)
TNT1 A 0 A_JumpIfInventory("CutterFlag",5,"Spawn2")
Goto Spawn+2
Spawn2:
TRI2 W 35 A_TakeInventory("CutterFlag",6)
TNT1 A 0 A_Quake(1,10,0,400)
TNT1 A 0 A_PlaySoundEx("weapon/coilexplode","SoundSlot5")
TNT1 AA 0 A_SpawnItemEx("TrioDeathExplosion",Random(-80,80),Random(-80,80),Random(0,80),0,0,0,0,SXF_TRANSFERTRANSLATION)
TRI3 G 35
TNT1 A 0 A_Quake(2,15,0,400)
TNT1 A 0 A_PlaySoundEx("weapon/coilexplode","SoundSlot5")
TNT1 A 0 A_PlaySoundEx("weapon/centaurflash","SoundSlot6")
TNT1 AAA 0 A_SpawnItemEx("TrioDeathExplosion",Random(-80,80),Random(-80,80),Random(-80,80),0,0,0,0,SXF_TRANSFERTRANSLATION)
Spawn2B:
TRI3 H 1 A_spawnItemEx("TrioDeathMistFX",0,0,80,Random(2,6),0,8,Random(0,360),SXF_TRANSFERTRANSLATION)
TNT1 A 0 A_GiveInventory("CutterFlag",1)
TNT1 A 0 A_JumpIfInventory("CutterFlag",35,"Spawn3")
loop
Spawn3:
TNT1 A 0 A_Quake(3,20,0,400)
TNT1 A 0 A_TakeInventory("CutterFlag",35)
TNT1 A 0 A_PlaySoundEx("weapon/coilexplode","SoundSlot5")
TNT1 AAAA 0 A_SpawnItemEx("TrioDeathExplosion",Random(-80,80),Random(-80,80),Random(0,80),0,0,0,0,SXF_TRANSFERTRANSLATION)
Spawn3B:
TRI3 H 1 Thing_SetTranslation(0,meleerange) TNT1 A 0 A_spawnItemEx("TrioDeathMistFX",0,0,80,Random(2,6),0,8,Random(0,360),SXF_TRANSFERTRANSLATION)
TNT1 A 0 A_GiveInventory("CutterFlag",1) TNT1 A 0 A_JumpIfInventory("CutterFlag",35,"Spawn4")
TRI3 H 1 Thing_SetTranslation(0,8454) TNT1 A 0 A_spawnItemEx("TrioDeathMistFX",0,0,80,Random(2,6),0,8,Random(0,360),SXF_TRANSFERTRANSLATION)
TNT1 A 0 A_GiveInventory("CutterFlag",1) TNT1 A 0 A_JumpIfInventory("CutterFlag",35,"Spawn4")
loop
Spawn4:
TNT1 A 0 A_Quake(4,25,0,400)
TNT1 A 0 Thing_SetTranslation(0,meleerange)
TNT1 A 0 A_PlaySoundEx("mm8/deathfx","Body")
TNT1 A 0 A_SpawnItemEx("MM8DeathFX",Random(0, 48),0,Random(0,64),0,0,0,random(0,359))
TNT1 A 0 bright A_SpawnItemEx("TrioFlashBombExplosion2",Random(-96,96),Random(-96,96),Random(0,96),0,0,0)
TRI3 H 1
TNT1 A 1
TRI3 H 1
TNT1 A 1
TRI3 H 1
TNT1 A 0 A_Countdown
TNT1 A 0 A_PlaySoundEx("mm8/deathfx","Body")
TNT1 A 0 A_SpawnItemEx("MM8DeathFX",Random(0, 48),0,Random(0,64),0,0,0,random(0,359))
TRI3 H 1
TNT1 A 1
TRI3 H 1
TNT1 A 1
TRI3 H 1
TNT1 A 0 A_Countdown
loop
Death:
TNT1 AA 0 A_PlaySoundEx("mm8/dead","Auto")
TNT1 A 0 A_SpawnItemEx("FakeDeathFXMM8",0,0,32,0,0,0,DEG*1)
TNT1 A 0 A_SpawnItemEx("FakeDeathFXMM8",0,0,32,0,0,0,DEG*2)
TNT1 A 0 A_SpawnItemEx("FakeDeathFXMM8",0,0,32,0,0,0,DEG*3)
TNT1 A 0 A_SpawnItemEx("FakeDeathFXMM8",0,0,32,0,0,0,DEG*4)
TNT1 A 0 A_SpawnItemEx("FakeDeathFXMM8",0,0,32,0,0,0,DEG*5)
TNT1 A 0 A_SpawnItemEx("FakeDeathFXMM8",0,0,32,0,0,0,DEG*6)
TNT1 A 0 A_SpawnItemEx("FakeDeathFXMM8",0,0,32,0,0,0,DEG*7)
TNT1 A 0 A_SpawnItemEx("FakeDeathFXMM8",0,0,32,0,0,0,DEG*8)
TNT1 A 0 A_SpawnItemEx("FakeDeathFXMM8",0,0,32,0,0,0,DEG*9)
TNT1 A 0 A_SpawnItemEx("FakeDeathFXMM8",0,0,32,0,0,0,DEG*10)
TNT1 AAAAAAAAAAAAAAAAAAAAAAAAA 0 A_SpawnItemEx("TrioEvilEnergyFXER3",0,0,32,Random(5,20),0,Random(-20,20),Random(0,359))
TNT1 AAAAAAAAAAAAAAAAAAAAAAAAA 0 A_SpawnItemEx("TrioEvilEnergyFXER3",0,0,32,Random(5,20),0,Random(-20,20),Random(0,359))
TNT1 AAAAAAAAAAAAAAAAAAAAAAAAA 0 A_SpawnItemEx("TrioEvilEnergyFXER3",0,0,32,Random(5,20),0,Random(-20,20),Random(0,359))
TNT1 A 2
stop
}
}

actor TrioDestroyedEnergyFX : BasicClientSide
{
Translation "192:192=41:41","198:198=249:249"
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode",1)
ERSK B 3
stop
}
}

actor TrioDeathMistFX : BasicClientSide
{
Translation "192:192=41:41","198:198=249:249"
Scale 0.5
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode",1)
EVFL XYZ 2
stop
}
}

actor TrioDeathExplosion
{
Speed 0
Damage 0
Scale 2.5
Height 0
Radius 0
+NOGRAVITY
-SOLID
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode",1)
RDUS ABCDEFJKLMNO 1
stop
}
}

actor DarkChargeWatcher
{
Height 0
Radius 0
+NOINTERACTION
-SOLID
+NOGRAVITY
+MISSILE
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0) == 0, "Death")
TNT1 A 1 A_GiveToTarget("TrioTFHandler")
TNT1 A 0 A_JumpIfInTargetInventory("DarkCharging",1,"Spawn")
Death:
TNT1 A 1
stop
}
}

actor TrioAltFireWatcher
{
PROJECTILE
+NOINTERACTION
+NOCLIP
Damage(0)
Height 1
Radius 1
Speed 0
Scale 2.5
States
{
Spawn:
TNT1 A 0 A_JumpIfInTargetInventory("EnergySwitchDisable",1,"NoGain")
TNT1 AA 1 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0) == 0, "End")
TNT1 A 0 A_GiveToTarget("BaseAltfireAmmo",1)
loop
NoGain:
TNT1 A 1
TNT1 A 0 A_JumpIfInTargetInventory("EnergySwitchDisable",1,"NoGain")
Goto Spawn
End:
TNT1 A 1
stop
}
}

actor UltimateAttackItem9Trio : UltimateAttackItem9
{
Tag "$ITEM_TRIO"
states
{
Spawn:
TNT1 A 0
stop
Failure:
ULTA I 0
ULTA I 0 A_PlaySoundEx("classes/itemfail","SoundSlot7")
Goto End
Haha:
ULTA I 0 A_PlaySoundEx("item/skulllaugh","SoundSlot7")
Goto End
Use:
ULTA I 0 A_JumpIfInventory("SkullDebuffDamage",1,"Haha")
ULTA I 0 A_JumpIfInventory("FrozenByFlashman",1,"Failure")
ULTA I 0 A_JumpIfInventory("EnergySwitchDisable",1,"End")
ULTA I 0 A_JumpIfInventory("TerminationUltimateAmmo",1500,"UltActivate")
ULTA I 0 A_PlaySoundEx("weapon/GigaSwitch","SoundSlot7")
ULTA I 0 A_JumpIfInventory("Trio057Flag",1,"AstroMan")
ULTA I 0 A_JumpIfInventory("Trio058Flag",1,"SwordMan")
ULTA I 0 A_JumpIfInventory("Trio059Flag",1,"ClownMan")
ULTA I 0 A_JumpIfInventory("Trio060Flag",1,"SearchMan")
ULTA I 0 A_JumpIfInventory("Trio061Flag",1,"FrostMan")
ULTA I 0 A_JumpIfInventory("Trio062Flag",1,"GrenadeMan")
ULTA I 0 A_JumpIfInventory("Trio063Flag",1,"AquaMan")
ULTA I 0 A_JumpIfInventory("Trio064Flag",1,"TenguMan")
goto End
TenguMan:
ULTA I 0 A_GiveInventory("Trio057Flag")
ULTA I 0 A_TakeInventory("Trio058Flag")
ULTA I 0 A_TakeInventory("Trio059Flag")
ULTA I 0 A_TakeInventory("Trio060Flag")
ULTA I 0 A_TakeInventory("Trio061Flag")
ULTA I 0 A_TakeInventory("Trio062Flag")
ULTA I 0 A_TakeInventory("Trio063Flag")
ULTA I 0 A_TakeInventory("Trio064Flag")
Goto End
AstroMan:
ULTA I 0 A_TakeInventory("Trio057Flag")
ULTA I 0 A_GiveInventory("Trio058Flag")
ULTA I 0 A_TakeInventory("Trio059Flag")
ULTA I 0 A_TakeInventory("Trio060Flag")
ULTA I 0 A_TakeInventory("Trio061Flag")
ULTA I 0 A_TakeInventory("Trio062Flag")
ULTA I 0 A_TakeInventory("Trio063Flag")
ULTA I 0 A_TakeInventory("Trio064Flag")
Goto End
SwordMan:
ULTA I 0 A_TakeInventory("Trio057Flag")
ULTA I 0 A_TakeInventory("Trio058Flag")
ULTA I 0 A_GiveInventory("Trio059Flag")
ULTA I 0 A_TakeInventory("Trio060Flag")
ULTA I 0 A_TakeInventory("Trio061Flag")
ULTA I 0 A_TakeInventory("Trio062Flag")
ULTA I 0 A_TakeInventory("Trio063Flag")
ULTA I 0 A_TakeInventory("Trio064Flag")
Goto End
ClownMan:
ULTA I 0 A_TakeInventory("Trio057Flag")
ULTA I 0 A_TakeInventory("Trio058Flag")
ULTA I 0 A_TakeInventory("Trio059Flag")
ULTA I 0 A_GiveInventory("Trio060Flag")
ULTA I 0 A_TakeInventory("Trio061Flag")
ULTA I 0 A_TakeInventory("Trio062Flag")
ULTA I 0 A_TakeInventory("Trio063Flag")
ULTA I 0 A_TakeInventory("Trio064Flag")
Goto End
SearchMan:
ULTA I 0 A_TakeInventory("Trio057Flag")
ULTA I 0 A_TakeInventory("Trio058Flag")
ULTA I 0 A_TakeInventory("Trio059Flag")
ULTA I 0 A_TakeInventory("Trio060Flag")
ULTA I 0 A_GiveInventory("Trio061Flag")
ULTA I 0 A_TakeInventory("Trio062Flag")
ULTA I 0 A_TakeInventory("Trio063Flag")
ULTA I 0 A_TakeInventory("Trio064Flag")
Goto End
FrostMan:
ULTA I 0 A_TakeInventory("Trio057Flag")
ULTA I 0 A_TakeInventory("Trio058Flag")
ULTA I 0 A_TakeInventory("Trio059Flag")
ULTA I 0 A_TakeInventory("Trio060Flag")
ULTA I 0 A_TakeInventory("Trio061Flag")
ULTA I 0 A_GiveInventory("Trio062Flag")
ULTA I 0 A_TakeInventory("Trio063Flag")
ULTA I 0 A_TakeInventory("Trio064Flag")
Goto End
GrenadeMan:
ULTA I 0 A_TakeInventory("Trio057Flag")
ULTA I 0 A_TakeInventory("Trio058Flag")
ULTA I 0 A_TakeInventory("Trio059Flag")
ULTA I 0 A_TakeInventory("Trio060Flag")
ULTA I 0 A_TakeInventory("Trio061Flag")
ULTA I 0 A_TakeInventory("Trio062Flag")
ULTA I 0 A_GiveInventory("Trio063Flag")
ULTA I 0 A_TakeInventory("Trio064Flag")
Goto End
AquaMan:
ULTA I 0 A_TakeInventory("Trio057Flag")
ULTA I 0 A_TakeInventory("Trio058Flag")
ULTA I 0 A_TakeInventory("Trio059Flag")
ULTA I 0 A_TakeInventory("Trio060Flag")
ULTA I 0 A_TakeInventory("Trio061Flag")
ULTA I 0 A_TakeInventory("Trio062Flag")
ULTA I 0 A_TakeInventory("Trio063Flag")
ULTA I 0 A_GiveInventory("Trio064Flag")
Goto End
UltActivate:
ULTA I 0 A_GiveInventory("UltAttackFlag",1)
Goto End
End:
ULTA I 0 
fail
}
}

actor EnergySwitchDisable : VCOnce {}

actor Trio057Flag : VCOnce {}
actor Trio058Flag : VCOnce {}
actor Trio059Flag : VCOnce {}
actor Trio060Flag : VCOnce {}
actor Trio061Flag : VCOnce {}
actor Trio062Flag : VCOnce {}
actor Trio063Flag : VCOnce {}
actor Trio064Flag : VCOnce {}

actor DarkCharging : Inventory
{
inventory.amount 1
inventory.maxamount 140
}

actor TrioTFHandler : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_CheckFloor("Pickup2")
stop

Pickup2:
TNT1 A 0 A_TakeInventory("DarkCharging",1)
stop
}
}

actor TrioMorphHandler : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_JumpIfInventory("VCKillstreak",12,"Pickup2")
goto Pickup3

Pickup2:
TNT1 A 0 A_GiveInventory("TrioSwitchItem")
goto Pickup3

Pickup3:
TNT1 A 0 A_JumpIfInventory("EnemyAssistMM8",1,"Pickup4")
stop

Pickup4:
TNT1 A 0 A_TakeInventory("EnemyAssistMM8")
TNT1 A 0 A_GiveInventory("EnemyAssist")
stop
}
}

actor TrioSwitchItem : UltimateAttackItem9Trio
{
Tag "$ITEM_TRIO2"
inventory.icon "T8ITI0"
states
{
Spawn:
TNT1 A 0
stop
Use:
ULTA I 0 A_JumpIfInventory("FrozenByFlashman",1,"Failure")
ULTA I 0 A_JumpIfInventory("EnergySwitchDisable",1,"End")
ULTA I 0 A_PlaySoundEx("weapon/GigaSwitch","SoundSlot7")
ULTA I 0 A_JumpIfInventory("Trio057Flag",1,"AstroMan")
ULTA I 0 A_JumpIfInventory("Trio058Flag",1,"SwordMan")
ULTA I 0 A_JumpIfInventory("Trio059Flag",1,"ClownMan")
ULTA I 0 A_JumpIfInventory("Trio060Flag",1,"SearchMan")
ULTA I 0 A_JumpIfInventory("Trio061Flag",1,"FrostMan")
ULTA I 0 A_JumpIfInventory("Trio062Flag",1,"GrenadeMan")
ULTA I 0 A_JumpIfInventory("Trio063Flag",1,"AquaMan")
ULTA I 0 A_JumpIfInventory("Trio064Flag",1,"TenguMan")
goto End
}
}
