actor WaterBalloonBoss : BaseMM8BDMWep_CBM
{
tag "$TAGC_8H"
dropitem "WaterBalloonWepCDropped"
Weapon.AmmoUse 0
Weapon.AmmoGive 28
Obituary "$OB_WATERBALLOON"
Inventory.Pickupmessage "I've been waiting for you!"
weapon.ammotype "HandsomeAmmo"
weapon.ammotype2 "WCannonAmmo"
+WEAPON.NOAUTOAIM
States
{
Spawn:
C_08 H 1
loop

/*
H +0  +0
I -16 +12
J -24 +24
K -20 +20
L -20 +20
M -12 +12
N +4 -4
O +8 -8
*/


Ready:
AQAQ A 0 ACS_ExecuteAlways(998,0,DYE_AQUAMAN)
AQAQ A 0 A_SpawnItemEX("AquaRainbow",0,0,0,0,0,0,0,1)
AQAQ A 1 A_WeaponReady
Goto Ready+2

Deselect:
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower
AQAQ H 1 A_Lower
Loop
Select:
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise
AQAQ H 1 A_Raise
Loop
Fire:
//AQAQ H 0 A_JumpIfNoAmmo("FireT")
AQAQ H 0 A_JumpIfInventory("WCannonAmmo",20,"FireCannon")
AQAQ H 0 A_PlaySoundEx("weapon/waterballoon","Weapon")
AQAQ H 0 A_JumpIfInventory("HandsomeAmmo",22,"Fire4")
AQAQ H 0 A_JumpIfInventory("HandsomeAmmo",15,"Fire3")
AQAQ H 0 A_JumpIfInventory("HandsomeAmmo",8,"Fire2")
AQAQ H 0 A_JumpIfInventory("HandsomeAmmo",1,"Fire1")
AQAQ H 0
goto Fire0
FireEnd:
AQAQ C 2 Offset(-20,12)
AQAQ D 2 Offset(-12,20)
AQAQ E 2 Offset(4,36)
AQAQ F 2 Offset(8,40)
Goto Ready+2

Fire4:
AQAQ H 0 A_TakeInventory("HandsomeAmmo",1)
AQAQ H 0 A_GiveInventory("AquamanMain4_CI",1)
Goto FireEnd

Fire3:
AQAQ H 0 A_TakeInventory("HandsomeAmmo",1)
AQAQ H 0 A_GiveInventory("AquamanMain3_CI",1)
Goto FireEnd

Fire2:
AQAQ H 0 A_TakeInventory("HandsomeAmmo",1)
AQAQ H 0 A_GiveInventory("AquamanMain2_CI",1)
Goto FireEnd

Fire1:
AQAQ H 0 A_TakeInventory("HandsomeAmmo",1)
AQAQ H 0 A_GiveInventory("AquamanMain1_CI",1)
Goto FireEnd

Fire0:
AQAQ C 0 A_GiveInventory("AquamanMain0_CI",1)
AQAQ C 2 Offset(-20,12)
AQAQ D 2 Offset(-12,20)
AQAQ E 2 Offset(4,36)
AQAQ F 2 Offset(8,40)
AQAQ A 4 A_WeaponReady(14)
Goto Ready+2

FireCannonX:
goto Fire+1
FireCannon:
AQAQ H 0 A_GunFlash
AQAQ H 0 A_JumpIfInventory("WaterCannonFlag",1,"FireCannonX")

AQAQ H 0 A_GiveInventory("WaterCannonFlag",1)
AQAQ H 0 A_GiveInventory("WaterCannonFlag2",1)
AQAQ H 0 A_GiveInventory("WaterCannonFlag3",1)
AQAQ H 0 A_PlaySoundEx("weapon/WaterCannonFire","Weapon")
AQAQ H 0 A_TakeInventory("AquaKillFlag",9)
AQAQ H 0 A_TakeInventory("WCannonAmmo",56)
AQAQ H 0 A_TakeInventory("HandsomeAmmo",21)
AQAQ H 0 A_GiveInventory("AquamanMain_CI",1)

AQAQ B 2 Offset(-20,12)//K
AQAQ C 2 Offset(-20,12)//L
AQAQ D 2 Offset(-12,20)//M
AQAQ E 2 Offset(4,36)//N
AQAQ F 2 Offset(8,40)//O
AQAQ A 2 Offset(4,36)

AQAQ A 16 A_WeaponReady(14)
goto Ready+2


AltFire:
AQAQ M 0 A_JumpIfInventory("HandsomeAmmo",28,"Cannon")
goto AltChargeS
AltChargeS:
AQAQ M 0 A_TakeInventory("AquamanChargeSound_F",999)
AQAQ M 0 A_PlaySound("weapon/AquaCharge2",1,1.0)
AltCharge:
AQAQ M 0 A_GiveInventory("HandsomeAmmo",2)
AQAQ M 0 A_GiveInventory("AquamanChargeSound_F",1)
AQAQ D 2 Offset(-8,24)
AQAQ C 2 Offset(-16,16)
AQAQ B 1 Offset(-16,16)
AQAQ K 0 A_ReFire(1)
goto AltWait
AQAQ M 0 A_JumpIfInventory("HandsomeAmmo",28,"CannonWait")
AQAQ M 0 A_JumpIfInventory("AquamanChargeSound_F",7,"AltChargeS")
goto AltCharge

AltWait:
AQAQ B 0 A_StopSound(1)
AQAQ BBBBB 2 Offset(-8,24)A_ReFire
goto Ready+2
AltStall:
AQAQ B 1 Offset(-8,24)
AQAQ B 0 A_ReFire("AltStall")
goto Ready+2
CannonWait:
AQAQ B 0 A_StopSound(1)
AQAQ B 10 Offset(-8,24)
AQAQ B 0 A_ReFire(1)
goto Ready+2
Cannon:
AQAQ H 0 A_JumpIfInventory("WCannonAmmo",20,"AltPillar")
AQAQ K 0 A_JumpIfInventory("WaterCannonFlag4",1,"NoCannon")
AQAQ K 0 A_JumpIfInventory("WaterCannonFlag",1,"NoCannon")
CannonHold:
AQAQ C 0 A_JumpIfInventory("WaterCannonFlag",1,"NoCannon")
AQAQ C 0 A_JumpIfInventory("WCannonAmmo",2,2)
AQAQ C 0 A_PlaySoundEx("weapon/AquaCharge","Weapon")
AQAQ C 0 A_GiveInventory("WCannonAmmo",2)
AQAQ C 2 Offset(-8,24)
AQAQ B 2 Offset(-8,24)
AQAQ B 0 A_JumpIfInventory("WCannonAmmo",20,"AltStall")
AQAQ B 0 A_ReFire
AQAQ B 0 A_JumpIfInventory("WCannonAmmo",10,"Rainbow")
CannonDrain:
AQAQ K 0 A_StopSound(1)
AQAQ B 1 Offset(-8,24)A_TakeInventory("WCannonAmmo",1)
AQAQ K 0 A_JumpIfInventory("WCannonAmmo",1,"CannonDrain")
AQAQ H 0 A_ClearRefire
goto Ready+2
AltPillar:
AQAQ H 0 A_PlaySoundEx("weapon/WaterCannonFire","Weapon")
AQAQ H 0 A_TakeInventory("AquaKillFlag",9)
AQAQ H 0 A_TakeInventory("WCannonAmmo",56)
AQAQ H 0 A_TakeInventory("HandsomeAmmo",14)
AQAQ H 0 A_GiveInventory("WaterCannonFlag4",1)
AQAQ H 0 A_GiveInventory("AquamanAlt_CI",1)
AQAQ B 2 Offset(-20,12)
AQAQ C 2 Offset(-20,12)
AQAQ D 2 Offset(-12,20)
AQAQ E 2 Offset(4,36)
AQAQ F 2 Offset(8,40)
AQAQ A 2 Offset(4,36)

AQAQ A 16 A_WeaponReady(14)
goto Ready+2
Rainbow:
AQAQ H 0 A_SpawnItemEX("AquaRainbow",0,0,0,0,0,0,0,1)
goto CannonDrain
NoCannon:
AQAQ A 1 A_WeaponReady(14)
AQAQ A 0 A_ClearRefire
Goto Ready+2
NoAmmo:
AQAQ H 1
Goto Ready+2
Flash:
TNT1 A 1
TNT1 A 0 A_JumpIfInventory("IsDead",1,"NoFlash")
TNT1 A 0 A_JumpIfInventory("WaterCannonFlag",1,1)
goto Flash+4
TNT1 A 0 A_JumpIfInventory("WaterCannonFlag2",1,"Flash")
TNT1 A 0 A_TakeInventory("WaterCannonFlag",1)
TNT1 A 0 A_TakeInventory("WaterCannonFlag2",1)
TNT1 A 0 A_TakeInventory("WaterCannonFlag3",1)
TNT1 A 0 A_GiveInventory("AquaKillFlag",1)
stop
}
}

actor HandsomeAmmo : Ammo
{
inventory.amount 1
inventory.maxamount 28
+INVENTORY.IGNORESKILL
}

actor WCannonAmmo : Ammo
{
inventory.amount 1
inventory.maxamount 20
+INVENTORY.IGNORESKILL
}

actor AquamanChargeSound_F : Inventory
{
inventory.amount 1
inventory.maxamount 7
}

/*
actor WaterCannonFlag : Inventory
{
inventory.amount 1
inventory.maxamount 1
}
*/

actor AquaKillFlag : OnceC {}

actor WaterCannonFlag : Powerup //Water Cannon is out
{
powerup.duration 200
}

actor WaterCannonFlag2 : Powerup //Water Cannon is telling Aqua Man it is out
{
powerup.duration 35
}

actor WaterCannonFlag3 : Powerup //Water Cannon is traveling
{
powerup.duration 100
}

actor WaterCannonFlag4 : WaterCannonFlag3 {}//Water Tower is out

actor RainbowSpawner : CustomInventory
{
states
{
Pickup:
TNT1 A 0 A_SpawnItemEX("AquaRainbow",0,0,0,0,0,0,0,1)
stop
}
}

actor WaterBalloonBoss4
{
//Translation "204:204=198:198"
PROJECTILE
damagetype "AquaM_Shot"
Obituary "$OB_WATERBALLOON"
-DONTSPLASH
-NOGRAVITY
+FORCEXYBILLBOARD
damage (2)
height 10
radius 10
speed 55
scale 2.5
States
{
Spawn:
AQBA B 0
TNT1 A 0
TNT1 A 0 ACS_NamedExecuteAlways("BULL_Tidifier", 0)
SpawnLOOP:
AQBA B 0 ThrustThingZ(0,15,0,1)
AQBA BCD 2
goto SpawnLOOP+2
Death:
AQBA E 0 A_Stop
AQBA E 0 A_ChangeFlag("NOGRAVITY",1)
AQBA E 0 A_Explode(9,48,0,0,24)
AQBA E 0 A_JumpIf(ceilingz-z<16,"DeathUp")
AQBA EFG 3
stop
DeathUp:
AQBA O 0
AQBA HIJ 3
stop
}
}

actor WaterBalloonBoss4B : WaterBalloonBoss4{translation "198:198=74:74"}
actor WaterBalloonBoss4R : WaterBalloonBoss4{translation "198:198=41:41"}
actor WaterBalloonBoss4O : WaterBalloonBoss4{translation "198:198=128:128"}
actor WaterBalloonBoss4P : WaterBalloonBoss4{translation "198:198=232:232"}

actor WaterBalloonBoss3 : WaterBalloonBoss4{speed 45}
actor WaterBalloonBoss3B : WaterBalloonBoss4B{speed 45}
actor WaterBalloonBoss3R : WaterBalloonBoss4R{speed 45}
actor WaterBalloonBoss3O : WaterBalloonBoss4O{speed 45}
actor WaterBalloonBoss3P : WaterBalloonBoss4P{speed 45}

actor WaterBalloonBoss2 : WaterBalloonBoss4{speed 35}
actor WaterBalloonBoss2B : WaterBalloonBoss4B{speed 35}
actor WaterBalloonBoss2R : WaterBalloonBoss4R{speed 35}
actor WaterBalloonBoss2O : WaterBalloonBoss4O{speed 35}
actor WaterBalloonBoss2P : WaterBalloonBoss4P{speed 35}

actor WaterBalloonBoss1 : WaterBalloonBoss4{speed 25}
actor WaterBalloonBoss1B : WaterBalloonBoss4B{speed 25}
actor WaterBalloonBoss1R : WaterBalloonBoss4R{speed 25}
actor WaterBalloonBoss1O : WaterBalloonBoss4O{speed 25}
actor WaterBalloonBoss1P : WaterBalloonBoss4P{speed 25}

actor WaterBalloonBoss0 : WaterBalloonBoss4{Obituary "$OB_WATERBALLOONH" speed 15}
actor WaterBalloonBoss0B : WaterBalloonBoss4B{Obituary "$OB_WATERBALLOONH" speed 15}
actor WaterBalloonBoss0R : WaterBalloonBoss4R{Obituary "$OB_WATERBALLOONH" speed 15}
actor WaterBalloonBoss0O : WaterBalloonBoss4O{Obituary "$OB_WATERBALLOONH" speed 15}
actor WaterBalloonBoss0P : WaterBalloonBoss4P{Obituary "$OB_WATERBALLOONH" speed 15}

actor WaterBalloonBossTower : WaterBalloonBoss0
{
Obituary "$OB_WATERTOWER"
+THRUACTORS
damage (2)
Radius 7
Height 5
Scale 2.0
States
{
Spawn:
AQBA B 0
TNT1 A 0 ACS_NamedExecuteAlways("BULL_Tidifier", 0)
SpawnLOOP:
AQBA B 2
AQBA B 0 A_ChangeFlag("THRUACTORS",0)
AQBA CDB 2
goto SpawnLOOP+1
Crash:
XDeath:
AQBA E 0 A_ChangeFlag("NOGRAVITY", 1)
AQBA E 0 A_Explode(2,85,0)
AQBA EFG 3
stop
Death:
AQBA K 0 A_ChangeFlag("NOGRAVITY",1)
AQBA K 0 A_Explode(4,85,0)
AQBA K 0 A_JumpIf(ceilingz-z<16,"DeathUp")
AQBA EFG 2
stop
}
}

actor WaterBalloonBossCannon : WaterBalloonBossTower
{
Damagetype "AquaM_CannonBit"
Obituary "$OB_WATERCANNON"
Mass 80
}
actor WaterBalloonBossCannon2 : WaterBalloonBossTower
{
Damagetype "AquaM_CannonBit"
Obituary "$OB_WATERCANNON"
}
actor WaterBalloonBossCannon3 : WaterBalloonBossTower
{
Damagetype "AquaM_CannonBit"
Obituary "$OB_WATERCANNON"
}



actor AquaWaterTowerSpawner : FastProjectile
{
radius 8
height 16
//radius 20
//height 20
speed 1000
+DONTBLAST
+SKYEXPLODE
+THRUACTORS
damage (0)
reactiontime 5
States
{
Spawn:
TNT1 A 0
TNT1 A 1 A_CountDown
loop
Death:
TNT1 A 0 A_SpawnItemEx("AquaWaterTower",0,0,0,0,0,0,0,1)
stop
}
}



actor AquaWaterTowerSpawnerB : AquaWaterTowerSpawner{translation "198:198=74:74"}
actor AquaWaterTowerSpawnerR : AquaWaterTowerSpawner{translation "198:198=41:41"}
actor AquaWaterTowerSpawnerO : AquaWaterTowerSpawner{translation "198:198=128:128"}
actor AquaWaterTowerSpawnerP : AquaWaterTowerSpawner{translation "198:198=232:232"}

actor AquaWaterTower
{
PROJECTILE
damagetype "AquaM_Tower"
Obituary "$OB_WATERTOWER"
+DONTBLAST
+DONTREFLECT
+THRUACTORS
+FLOORHUGGER
RenderStyle "Translucent"
Alpha 0.9
ReactionTime 1
damage (0)
radius 4
height 4
Scale 2.5
States
{
Spawn:
TNT1 A 1
TNT1 A 0 A_PlaySoundEx("misc/mwsburst","Weapon")
TNT1 A 0
AQUT A 2 A_SpawnItemEx("AWT_Dam_A")
AQUT B 2 A_SpawnItemEx("AWT_Dam_B")
AQUT C 2 A_SpawnItemEx("AWT_Dam_C")
AQUT D 2 A_SpawnItemEx("AWT_Dam_D")
AQUT E 2 A_SpawnItemEx("AWT_Dam_E")
AQUT F 2 A_SpawnItemEx("AWT_Dam_F")
AQUT G 2 A_SpawnItemEx("AWT_Dam_G")
AQUT H 2 A_SpawnItemEx("AWT_Dam_H")
AQUT I 2 A_SpawnItemEx("AWT_Dam_I")

AQUT JKLJKLJKLJKLJKLJKLJKLJKLJKLJKLJKLJKLJKLJKL 2 A_SpawnItemEx("AquaWaterTowerDamager")

Death:
TNT1 AAAA 0 A_SpawnItemEx("WaterBalloonBossTower",frandom(8,24),0,frandom(8,16),frandom(3,6),0,frandom(1,3),random(0,359),1)
TNT1 AAAA 0 A_SpawnItemEx("WaterBalloonBossTower",frandom(8,24),0,frandom(28,36),frandom(3,6),0,frandom(1,3),random(0,359),1)
TNT1 AAAA 0 A_SpawnItemEx("WaterBalloonBossTower",frandom(8,24),0,frandom(48,56),frandom(3,6),0,frandom(1,3),random(0,359),1)
TNT1 AAAA 0 A_SpawnItemEx("WaterBalloonBossTower",frandom(8,24),0,frandom(68,76),frandom(3,6),0,frandom(1,3),random(0,359),1)
TNT1 AAAA 0 A_SpawnItemEx("WaterBalloonBossTower",frandom(8,24),0,frandom(88,96),frandom(3,6),0,frandom(1,3),random(0,359),1)
TNT1 AAAA 0 A_SpawnItemEx("WaterBalloonBossTower",frandom(8,24),0,frandom(108,116),frandom(3,6),0,frandom(1,3),random(0,359),1)
TNT1 AAAA 0 A_SpawnItemEx("WaterBalloonBossTower",frandom(8,24),0,frandom(128,136),frandom(3,6),0,frandom(1,3),random(0,359),1)
TNT1 AAAA 0 A_SpawnItemEx("WaterBalloonBossTower",frandom(8,24),0,frandom(148,156),frandom(3,6),0,frandom(1,3),random(0,359),1)
TNT1 AAAA 0 A_SpawnItemEx("WaterBalloonBossTower",frandom(8,24),0,frandom(168,176),frandom(3,6),0,frandom(1,3),random(0,359),1)
TNT1 AAAA 0 A_SpawnItemEx("WaterBalloonBossTower",frandom(8,24),0,frandom(188,196),frandom(3,6),0,frandom(1,3),random(0,359),1)
TNT1 AAAA 0 A_SpawnItemEx("WaterBalloonBossTower",frandom(8,24),0,frandom(208,216),frandom(3,6),0,frandom(1,3),random(0,359),1)
AQUT MNO 3
stop
}
}

actor AquaWaterTowerBalloon_H : BasicHelper
{
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_SpawnItemEx("WaterBalloonBossTower",frandom(0,8),0,frandom(0,8),frandom(0,2),0,frandom(3,6),random(0,59)*6,1)
//TNT1 AA 0 A_SpawnItemEx("WaterBalloonBossTower2",frandom(8,24),0,frandom(0,8),frandom(3,6),0,frandom(1,3),random(0,359),1)
//TNT1 AAA 0 A_SpawnItemEx("WaterBalloonBossTower3",frandom(8,24),0,frandom(0,8),frandom(3,6),0,frandom(1,3),random(0,359),1)
TNT1 A 0
stop
}
}

actor AquaWaterTowerDamager
{
damagetype "AquaM_Tower"
Obituary "$OB_WATERTOWER"
+MISSILE
+NOGRAVITY
+RIPPER
+DONTSPLASH
+DONTBLAST
+THRUGHOST

//+SHOOTABLE
//+DONTDRAIN
//+NOBLOOD
//+NOTARGETSWITCH
//+CANTSEEK
//+NOPAIN
//+DONTREFLECT
//+DONTRIP
//mass 99999
//health 10000

RenderStyle "None"

Damage (3)
Radius 50
Height 251
States
{
Spawn:
TNT1 A 1
stop
}
}
actor AWT_Dam_A : AquaWaterTowerDamager{Height 27}
actor AWT_Dam_B : AWT_Dam_A{Height 52}
actor AWT_Dam_C : AWT_Dam_A{Height 77}
actor AWT_Dam_D : AWT_Dam_A{Height 102}
actor AWT_Dam_E : AWT_Dam_A{Height 127}
actor AWT_Dam_F : AWT_Dam_A{Height 152}
actor AWT_Dam_G : AWT_Dam_A{Height 177}
actor AWT_Dam_H : AWT_Dam_A{Height 202}
actor AWT_Dam_I : AWT_Dam_A{Height 227}




actor WaterCannonSpawner
{
PROJECTILE
damagetype "AquaM_Cannon"
Obituary "$OB_WATERCANNON"
+DONTSEEKINVISIBLE//
+SEEKERMISSILE
+SCREENSEEKER
+DONTBLAST
+DONTREFLECT
+SKYEXPLODE
+RIPPER
+BOUNCEONFLOORS
+BOUNCEONWALLS
+BOUNCEONCEILINGS
+ALLOWBOUNCEONACTORS
+CANBOUNCEWATER
+BOUNCEONACTORS
bouncefactor 1.0
wallbouncefactor 1.0
damage (0)
Radius 8
Height 8
speed 20//15
scale 2.5
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_JumpIfInTargetInventory("AquaKillFlag",1,"Despawn")
TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(C_CHECK_TARGET_OOC)==0,"Despawn")
TNT1 A 0 A_SpawnItemEX("WaterCannonNoDamage3",0,0,0,0,0,0,0,1)
TNT1 A 1 A_GiveToTarget("WaterCannonFlag2",1)//A_SeekerMissile(2,10,3,50,10)
TNT1 A 0 A_PlaySoundEx("weapon/WaterCannonGo","Weapon")
TNT1 A 0 A_SpawnItemEX("WaterCannon",0,0,0,0,0,0,0,1)//A_SpawnItemEX("WaterCannonSound",0,0,0,0,0,0,0,1)
TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(C_CHECK_TARGET_OOC)==0,"Despawn")
TNT1 A 1
TNT1 A 0 A_SpawnItemEX("WaterCannonNoDamage",0,0,0,0,0,0,0,1)
TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(C_CHECK_TARGET_OOC)==0,"Despawn")
TNT1 A 1
TNT1 A 0 A_SpawnItemEX("WaterCannon2",0,0,0,0,0,0,0,1)
TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(C_CHECK_TARGET_OOC)==0,"Despawn")
TNT1 A 1
TNT1 A 0 A_SpawnItemEX("WaterCannonNoDamage2",0,0,0,0,0,0,0,1)
TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(C_CHECK_TARGET_OOC)==0,"Despawn")
TNT1 A 1
TNT1 A 0 A_SpawnItemEX("WaterCannon3",0,0,0,0,0,0,0,1)
TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(C_CHECK_TARGET_OOC)==0,"Despawn")
TNT1 A 1
TNT1 A 0 A_SpawnItemEX("WaterCannonNoDamage3",0,0,0,0,0,0,0,1)
TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(C_CHECK_TARGET_OOC)==0,"Despawn")
TNT1 A 1
TNT1 A 0 A_SpawnItemEX("WaterCannon",0,0,0,0,0,0,0,1)
TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(C_CHECK_TARGET_OOC)==0,"Despawn")
TNT1 A 1
TNT1 A 0 A_SpawnItemEX("WaterCannonNoDamage",0,0,0,0,0,0,0,1)
TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(C_CHECK_TARGET_OOC)==0,"Despawn")
TNT1 A 1
TNT1 A 0 A_JumpIfInTargetInventory("WaterCannonFlag3",1,"KeepGoing")
TNT1 A 0 A_SpawnItemEX("WaterCannonSpawnerStop",0,0,0,0,0,0,0,1)
stop
KeepGoing:
TNT1 A 0 A_SpawnItemEX("WaterCannonSpawnerHome",0,0,0,momx/200,momy/200,momz/200,0,9)
stop

Despawn:
TNT1 A 0
TNT1 A 0 //A_SpawnItemEx("WaterBalloonBossCannon",0,0,0,frandom(-2,2),(random(0,1)*2-1)*frandom(4,10),frandom(1,3),0,1)
stop

Death:
TNT1 A 0
stop
}
}

actor AquaRainbow
{
Scale 2.5
-SOLID
+NOGRAVITY
+CLIENTSIDEONLY
+DONTBLAST
+NOINTERACTION
+NOTIMEFREEZE
States
{
Spawn:
AQRA A 2
TNT1 A 2
AQRA A 2
TNT1 A 2
AQRA A 2
TNT1 A 2
AQRA A 2
TNT1 A 2
goto Death
Death:
TNT1 A 1
stop
}
}

actor WaterCannonSpawnerB : WaterCannonSpawner{translation "198:198=74:74"}
actor WaterCannonSpawnerR : WaterCannonSpawner{translation "198:198=41:41"}
actor WaterCannonSpawnerO : WaterCannonSpawner{translation "198:198=128:128"}
actor WaterCannonSpawnerP : WaterCannonSpawner{translation "198:198=232:232"}

actor WaterCannonSpawnerHome : WaterCannonSpawner
{
speed 1
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_JumpIfInTargetInventory("AquaKillFlag",1,"Despawn")
TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(C_CHECK_TARGET_OOC)==0,"Despawn")
TNT1 A 0 A_SpawnItemEX("WaterCannonBubble",0,0,0,0,0,0,0,1)
TNT1 AAAA 0 A_SeekerMissile(4,15,7,50,10)
TNT1 A 1 A_SeekerMissile(4,10,7,50,10)
TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(C_CHECK_TARGET_OOC)==0,"Despawn")
TNT1 AAAA 0 A_SeekerMissile(4,15,7,50,10)
TNT1 A 1 A_SeekerMissile(4,10,7,50,10)
TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(C_CHECK_TARGET_OOC)==0,"Despawn")
TNT1 AAAA 0 A_SeekerMissile(4,15,7,50,10)
TNT1 A 1 A_SeekerMissile(4,10,7,50,10)
TNT1 A 0 A_JumpIfInTargetInventory("WaterCannonFlag3",1,"KeepGoing")
TNT1 A 0 A_SpawnItemEX("WaterCannonSpawnerStop",0,0,0,0,0,0,0,1)
stop
KeepGoing:
TNT1 A 0 A_SpawnItemEX("WaterCannonSpawner",0,0,0,momx*200,momy*200,momz*200,0,9)
stop
}
}

actor WaterCannonSpawnerStop : WaterCannonSpawner
{
RenderStyle "Translucent"
Alpha 0.9
speed 0
states
{
Spawn:
AQBA R 0
AQBA R 0 A_JumpIfInTargetInventory("AquaKillFlag",1,"Despawn")
AQBA RR 1 A_JumpIf(ACS_ExecuteWithResult(C_CHECK_TARGET_OOC)==0,"Despawn")
AQBA S 0 A_JumpIfInTargetInventory("AquaKillFlag",1,"Despawn")
AQBA SS 1 A_JumpIf(ACS_ExecuteWithResult(C_CHECK_TARGET_OOC)==0,"Despawn")
AQBA Q 0 A_JumpIfInTargetInventory("AquaKillFlag",1,"Despawn")
AQBA QQ 1 A_JumpIf(ACS_ExecuteWithResult(C_CHECK_TARGET_OOC)==0,"Despawn")
AQBA R 0 A_GiveToTarget("WaterCannonFlag2",1)
loop
}
}


actor AquaM_CannonProtect : PowerProtection
{
Powerup.Duration 6
damagefactor "AquaM_Cannon", 0
}

actor WaterCannon
{
//Translation "204:204=198:198"
PROJECTILE
damagetype "AquaM_Cannon"
Obituary "$OB_WATERCANNON"
+DONTBLAST
+DONTREFLECT
+THRUGHOST
RenderStyle "Translucent"
Alpha 0.9
damage (6)
Radius 8//4//3
Height 8//5//4
Speed 5
scale 2.5
States
{
Spawn:
AQBA K 0
Spawn2:
AQBA K 0 A_JumpIfInTargetInventory("AquaKillFlag",1,"Despawn")
AQBA KK 1 A_JumpIf(ACS_ExecuteWithResult(C_CHECK_TARGET_OOC)==0,"Despawn")
AQBA L 0 A_JumpIfInTargetInventory("AquaKillFlag",1,"Despawn")
AQBA LL 1 A_JumpIf(ACS_ExecuteWithResult(C_CHECK_TARGET_OOC)==0,"Despawn")
AQBA M 0 A_JumpIfInTargetInventory("AquaKillFlag",1,"Despawn")
AQBA MM 1 A_JumpIf(ACS_ExecuteWithResult(C_CHECK_TARGET_OOC)==0,"Despawn")
loop
Despawn:
TNT1 A 0
TNT1 A 0 A_SpawnItemEx("WaterBalloonBossCannon",0,0,0,frandom(-2,2),(random(0,1)*2-1)*frandom(2,6),frandom(1,3),0,1)
stop
Death:
AQBA K 0 A_JumpIfInTargetInventory("AquaKillFlag",1,"Despawn")
AQBA KLM 2 A_JumpIf(ACS_ExecuteWithResult(C_CHECK_TARGET_OOC)==0,"Despawn")
AQBA K 0 A_SpawnItemEx("WaterCannon",0,0,0,0,0,0,0,1)
stop
}
}

actor WaterCannonBubble : WaterCannon
{
States
{
Spawn:
AQBA N 0
Spawn2:
AQBA N 0 A_JumpIfInTargetInventory("AquaKillFlag",1,"Despawn")
AQBA NN 1 A_JumpIf(ACS_ExecuteWithResult(C_CHECK_TARGET_OOC)==0,"Despawn")
AQBA O 0 A_JumpIfInTargetInventory("AquaKillFlag",1,"Despawn")
AQBA OO 1 A_JumpIf(ACS_ExecuteWithResult(C_CHECK_TARGET_OOC)==0,"Despawn")
AQBA P 0 A_JumpIfInTargetInventory("AquaKillFlag",1,"Despawn")
AQBA PP 1 A_JumpIf(ACS_ExecuteWithResult(C_CHECK_TARGET_OOC)==0,"Despawn")
loop
Despawn:
TNT1 A 0
//TNT1 AAA 0 A_SpawnItemEx("WaterBalloonBossCannon",0,0,0,frandom(-2,2),frandom(4,10),frandom(3,6),0,1)
//TNT1 AAA 0 A_SpawnItemEx("WaterBalloonBossCannon",0,0,0,frandom(-2,2),frandom(-4,-10),frandom(3,6),0,1)
TNT1 A 0 A_SpawnItemEx("WaterBalloonBossCannon",0,0,0,0,0,0,0,1)
stop
Death:
AQBA N 0 A_JumpIfInTargetInventory("AquaKillFlag",1,"Despawn")
AQBA NOP 2 A_JumpIf(ACS_ExecuteWithResult(C_CHECK_TARGET_OOC)==0,"Despawn")
AQBA N 0 A_SpawnItemEx("WaterCannonBubble",0,0,0,0,0,0,0,1)
stop
}
}

actor WaterCannon2 : WaterCannon
{
States
{
Spawn:
AQBA L 0
goto Spawn2+3
}
}
actor WaterCannon3 : WaterCannon
{
States
{
Spawn:
AQBA M 0
goto Spawn2+6
}
}

actor WaterCannonSound : WaterCannon
{
SeeSound "weapon/WaterCannonGo"
/*States
{
Spawn:
AQBA K 0
AQBA K 0 A_PlaySoundEx("weapon/WaterCannonGo","Weapon")
goto Spawn2
}*/
}

actor WaterCannonNoDamage : WaterCannon
{
//renderstyle none
damage(0)
states
{
Death:
AQCA A 0 A_JumpIfInTargetInventory("AquaKillFlag",1,"Despawn")
AQCA ABCABC 1 A_JumpIf(ACS_ExecuteWithResult(C_CHECK_TARGET_OOC)==0,"Despawn")
AQCA A 0 A_SpawnItemEx("WaterCannonNoDamage",0,0,0,0,0,0,0,1)
stop
}
}

actor WaterCannonBubbleNoDamage : WaterCannonBubble
{
//renderstyle none
damage(0)
states
{
Death:
AQBA B 0 A_JumpIfInTargetInventory("AquaKillFlag",1,"Despawn")
AQBA BCDBCD 1 A_JumpIf(ACS_ExecuteWithResult(C_CHECK_TARGET_OOC)==0,"Despawn")
AQBA B 0 A_SpawnItemEx("WaterCannonBubbleNoDamage",0,0,0,0,0,0,0,1)
stop
}
}
actor WaterCannonNoDamage2 : WaterCannonNoDamage
{
States
{
Spawn:
AQBA L 0
AQBA L 0 A_JumpIfInTargetInventory("AquaKillFlag",1,"Despawn")
goto Spawn2+5
}
}
actor WaterCannonNoDamage3 : WaterCannonNoDamage
{
States
{
Spawn:
AQBA M 0
AQBA M 0 A_JumpIfInTargetInventory("AquaKillFlag",1,"Despawn")
goto Spawn2+8
}
}

actor AquamanMain_CI : TeamColor_CI
{
states
{
FireX:
TNT1 A 0 A_FireCustomMissile("WaterCannonSpawner",0,1,8,0)
goto Done
FireB:
TNT1 A 0 A_FireCustomMissile("WaterCannonSpawnerB",0,1,8,0)
goto Done
FireR:
TNT1 A 0 A_FireCustomMissile("WaterCannonSpawnerR",0,1,8,0)
goto Done
FireO:
TNT1 A 0 A_FireCustomMissile("WaterCannonSpawnerO",0,1,8,0)
goto Done
FireP:
TNT1 A 0 A_FireCustomMissile("WaterCannonSpawnerP",0,1,8,0)
goto Done
}
}

actor AquamanMain0_CI : TeamColor_CI
{
states
{
FireX:
TNT1 A 0 A_FireCustomMissile("WaterBalloonBoss0",random(-2,2),1,8,0)
goto Done
FireB:
TNT1 A 0 A_FireCustomMissile("WaterBalloonBoss0B",random(-2,2),1,8,0)
goto Done
FireR:
TNT1 A 0 A_FireCustomMissile("WaterBalloonBoss0R",random(-2,2),1,8,0)
goto Done
FireO:
TNT1 A 0 A_FireCustomMissile("WaterBalloonBoss0O",random(-2,2),1,8,0)
goto Done
FireP:
TNT1 A 0 A_FireCustomMissile("WaterBalloonBoss0P",random(-2,2),1,8,0)
goto Done
}
}

actor AquamanMain1_CI : TeamColor_CI
{
states
{
FireX:
TNT1 A 0 A_FireCustomMissile("WaterBalloonBoss1",random(-2,2),1,8,0)
goto Done
FireB:
TNT1 A 0 A_FireCustomMissile("WaterBalloonBoss1B",random(-2,2),1,8,0)
goto Done
FireR:
TNT1 A 0 A_FireCustomMissile("WaterBalloonBoss1R",random(-2,2),1,8,0)
goto Done
FireO:
TNT1 A 0 A_FireCustomMissile("WaterBalloonBoss1O",random(-2,2),1,8,0)
goto Done
FireP:
TNT1 A 0 A_FireCustomMissile("WaterBalloonBoss1P",random(-2,2),1,8,0)
goto Done
}
}

actor AquamanMain2_CI : TeamColor_CI
{
states
{
FireX:
TNT1 A 0 A_FireCustomMissile("WaterBalloonBoss2",random(-2,2),1,8,0)
goto Done
FireB:
TNT1 A 0 A_FireCustomMissile("WaterBalloonBoss2B",random(-2,2),1,8,0)
goto Done
FireR:
TNT1 A 0 A_FireCustomMissile("WaterBalloonBoss2R",random(-2,2),1,8,0)
goto Done
FireO:
TNT1 A 0 A_FireCustomMissile("WaterBalloonBoss2O",random(-2,2),1,8,0)
goto Done
FireP:
TNT1 A 0 A_FireCustomMissile("WaterBalloonBoss2P",random(-2,2),1,8,0)
goto Done
}
}

actor AquamanMain3_CI : TeamColor_CI
{
states
{
FireX:
TNT1 A 0 A_FireCustomMissile("WaterBalloonBoss3",random(-2,2),1,8,0)
goto Done
FireB:
TNT1 A 0 A_FireCustomMissile("WaterBalloonBoss3B",random(-2,2),1,8,0)
goto Done
FireR:
TNT1 A 0 A_FireCustomMissile("WaterBalloonBoss3R",random(-2,2),1,8,0)
goto Done
FireO:
TNT1 A 0 A_FireCustomMissile("WaterBalloonBoss3O",random(-2,2),1,8,0)
goto Done
FireP:
TNT1 A 0 A_FireCustomMissile("WaterBalloonBoss3P",random(-2,2),1,8,0)
goto Done
}
}

actor AquamanMain4_CI : TeamColor_CI
{
states
{
FireX:
TNT1 A 0 A_FireCustomMissile("WaterBalloonBoss4",random(-2,2),1,8,0)
goto Done
FireB:
TNT1 A 0 A_FireCustomMissile("WaterBalloonBoss4B",random(-2,2),1,8,0)
goto Done
FireR:
TNT1 A 0 A_FireCustomMissile("WaterBalloonBoss4R",random(-2,2),1,8,0)
goto Done
FireO:
TNT1 A 0 A_FireCustomMissile("WaterBalloonBoss4O",random(-2,2),1,8,0)
goto Done
FireP:
TNT1 A 0 A_FireCustomMissile("WaterBalloonBoss4P",random(-2,2),1,8,0)
goto Done
}
}

actor AquamanAlt_CI : TeamColor_CI
{
states
{
FireX:
TNT1 A 0 A_FireCustomMissile("AquaWaterTowerSpawner",0,1,0,0)
goto Done
FireB:
TNT1 A 0 A_FireCustomMissile("AquaWaterTowerSpawnerB",0,1,0,0)
goto Done
FireR:
TNT1 A 0 A_FireCustomMissile("AquaWaterTowerSpawnerR",0,1,0,0)
goto Done
FireO:
TNT1 A 0 A_FireCustomMissile("AquaWaterTowerSpawnerO",0,1,0,0)
goto Done
FireP:
TNT1 A 0 A_FireCustomMissile("AquaWaterTowerSpawnerP",0,1,0,0)
goto Done
}
}