actor WaterBalloonBoss : BaseMM8BDMWep_CBM
{
dropitem "WaterBalloonWepCDropped"
Weapon.AmmoUse 0
Weapon.AmmoGive 28
Weapon.SlotNumber 3
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 H 0 ACS_ExecuteAlways(998,0,867)
AQAQ H 0 A_SpawnItemEX("AquaRainbow",0,0,0,0,0,0,0,1)
AQAQ H 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 IJ 2
AQAQ H 4
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 H 0 A_GiveInventory("AquamanMain0_CI",1)
AQAQ IJ 2
AQAQ H 16
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",14)
AQAQ H 0 A_GiveInventory("AquamanMain_CI",1)

AQAQ IJKLMNO 2
AQAQ H 14
goto Ready+2


AltFire:
AQAQ M 0 A_JumpIfInventory("HandsomeAmmo",28,"Cannon")
goto AltChargeS
AltChargeS:
AQAQ M 0 A_TakeInventory("GenericSoundFlag",999)
AQAQ M 0 A_PlaySound("weapon/AquaCharge2",1,1.0)
AltCharge:
AQAQ M 0 A_GiveInventory("HandsomeAmmo",2)
AQAQ M 0 A_GiveInventory("GenericSoundFlag",1)
AQAQ MMLLK 1
AQAQ K 0 A_ReFire(1)
goto AltWait
AQAQ M 0 A_JumpIfInventory("HandsomeAmmo",28,"CannonWait")
AQAQ M 0 A_JumpIfInventory("GenericSoundFlag",7,"AltChargeS")
goto AltCharge

AltWait:
AQAQ K 0 A_StopSound(1)
AQAQ KKKKKK 1 A_ReFire
AQAQ K 4
AQAQ K 0 //A_ClearRefire
goto Ready+2
AltStall:
AQAQ K 1 A_RailWait
AQAQ K 0 A_ReFire("AltStall")
goto Ready+2
CannonWait:
AQAQ K 0 A_StopSound(1)
AQAQ K 10
AQAQ K 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 K 0 A_JumpIfInventory("WaterCannonFlag",1,"NoCannon")
AQAQ K 0 A_JumpIfInventory("WCannonAmmo",2,2)
AQAQ H 0 A_PlaySoundEx("weapon/AquaCharge","Weapon")
AQAQ K 0 A_GiveInventory("WCannonAmmo",2)
AQAQ LLKK 1
AQAQ H 0 A_JumpIfInventory("WCannonAmmo",20,"AltStall")
AQAQ K 0 A_ReFire
AQAQ H 0 A_JumpIfInventory("WCannonAmmo",10,"Rainbow")
CannonDrain:
AQAQ K 0 A_StopSound(1)
AQAQ K 1 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 IJKLMNO 2
AQAQ H 14
goto Ready+2
Rainbow:
AQAQ H 0 A_SpawnItemEX("AquaRainbow",0,0,0,0,0,0,0,1)
goto CannonDrain
NoCannon:
AQAQ H 1
AQAQ H 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 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 : WaterBalloon
{
//Translation "204:204=198:198"
damage (8)
height 10//5
radius 10//5
speed 55

States
{
Spawn:
AQBA B 0
AQBA B 0 ThrustThingZ(0,15,0,1)
AQBA BCD 2
goto Spawn+2
Crash:
XDeath:
AQBA E 0 A_Stop
AQBA E 0 A_ChangeFlag("NOGRAVITY",1)
AQBA E 0 A_Explode(6,64,0)
AQBA EFG 3
stop
Death:
AQBA E 0 A_Stop
AQBA E 0 A_ChangeFlag("NOGRAVITY",1)
AQBA E 0 A_Explode(15,64,0)
AQBA E 0 A_JumpIf(ceilingz-z<16,"DeathUp")
AQBA EFG 2
stop
DeathUp:
AQBA O 0
AQBA HIJ 2
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 WaterBalloonBossT : WaterBalloonBoss0
{
+THRUACTORS
damage (2)
Radius 6
Height 6
Scale 2.0
States
{
Spawn:
AQBA B 0
AQBA B 2
AQBA B 0 A_ChangeFlag("THRUACTORS",0)
AQBA CDB 2
goto Spawn+1
Crash:
XDeath:
AQBA E 0 A_ChangeFlag("NOGRAVITY", 1)
AQBA E 0 A_Explode(2,64,0)
AQBA EFG 3
stop
Death:
AQBA K 0 A_ChangeFlag("NOGRAVITY",1)
AQBA K 0 A_Explode(4,64,0)
AQBA K 0 A_JumpIf(ceilingz-z<16,"DeathUp")
AQBA EFG 2
stop
}
}



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
+DONTBLAST
+DONTREFLECT
+THRUACTORS
+FLOORHUGGER
radius 2
height 2
scale 2.5
damagetype "WaterCannon"
Obituary "$OB_WATERTOWER"
damage (0)
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_D_A")
AQUT B 2 A_SpawnItemEx("AWT_D_B")
AQUT C 2 A_SpawnItemEx("AWT_D_C")
AQUT D 2 A_SpawnItemEx("AWT_D_D")
AQUT E 2 A_SpawnItemEx("AWT_D_E")
AQUT F 2 A_SpawnItemEx("AWT_D_F")
AQUT G 2 A_SpawnItemEx("AWT_D_G")
AQUT H 2 A_SpawnItemEx("AWT_D_H")
AQUT I 2 A_SpawnItemEx("AWT_D_I")
AQUT J 2 A_SpawnItemEx("AWT_D_J")
AQUT K 2 A_SpawnItemEx("AWT_D_K")
AQUT L 2 A_SpawnItemEx("AWT_D_L")
AQUT M 2 A_SpawnItemEx("AWT_D_M")
AQUT N 2 A_SpawnItemEx("AWT_D_N")
AQUT O 2 A_SpawnItemEx("AWT_D_O")
AQUT P 2 A_SpawnItemEx("AWT_D_P")
AQUT Q 2 A_SpawnItemEx("AWT_D_Q")
AQUT R 2 A_SpawnItemEx("AWT_D_R")
AQUT S 2 A_SpawnItemEx("AWT_D_S")
AQUT TUVTUVTUVTUVTUVTUVTUVTUVTUVTUVTU 2 A_SpawnItemEx("AquaWaterTowerD")

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

AQUT WXY 3
stop
}
}

actor AquaWaterTowerD
{
PROJECTILE
damagetype "WaterCannon"
Obituary "$OB_WATERTOWER"
+RIPPER
+DONTSPLASH
+DONTBLAST
+THRUGHOST
Damage (2)
Radius 50
Height 251
States
{
Spawn:
TNT1 A 1
stop
}
}

actor AWT_D_A : AquaWaterTowerD{Height 13}
actor AWT_D_B : AWT_D_A{Height 25}
actor AWT_D_C : AWT_D_A{Height 38}
actor AWT_D_D : AWT_D_A{Height 50}
actor AWT_D_E : AWT_D_A{Height 63}
actor AWT_D_F : AWT_D_A{Height 75}
actor AWT_D_G : AWT_D_A{Height 88}
actor AWT_D_H : AWT_D_A{Height 100}
actor AWT_D_I : AWT_D_A{Height 113}
actor AWT_D_J : AWT_D_A{Height 125}
actor AWT_D_K : AWT_D_A{Height 138}
actor AWT_D_L : AWT_D_A{Height 150}
actor AWT_D_M : AWT_D_A{Height 163}
actor AWT_D_N : AWT_D_A{Height 175}
actor AWT_D_O : AWT_D_A{Height 188}
actor AWT_D_P : AWT_D_A{Height 200}
actor AWT_D_Q : AWT_D_A{Height 213}
actor AWT_D_R : AWT_D_A{Height 225}
actor AWT_D_S : AWT_D_A{Height 238}




actor WaterCannonSpawner
{
PROJECTILE
+DONTSEEKINVISIBLE//
+SEEKERMISSILE
+SCREENSEEKER
Radius 5
Height 5
scale 2.5

+DONTBLAST
+DONTREFLECT
+SKYEXPLODE
+RIPPER
damagetype "WaterCannon"
Obituary "$OB_WATERCANNON"
damage (0)
speed 20//15


//+DONTBLAST
//+DONTREFLECT
+HEXENBOUNCE
+CANBOUNCEWATER
+BOUNCEONACTORS
//BounceCount 3
bouncefactor 1.0
wallbouncefactor 1.0
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 1 //A_SeekerMissile(2,10,3,50,10)
TNT1 A 0 A_GiveToTarget("WaterCannonFlag2",1)
TNT1 A 0 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_GiveToTarget("WaterCannonFlag2",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_GiveToTarget("WaterCannonFlag2",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_GiveToTarget("WaterCannonFlag2",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_GiveToTarget("WaterCannonFlag2",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_GiveToTarget("WaterCannonFlag2",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_GiveToTarget("WaterCannonFlag2",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_GiveToTarget("WaterCannonFlag2",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_GiveToTarget("WaterCannonFlag2",1)
TNT1 A 0 A_SpawnItemEX("WaterCannonNoDamage",0,0,0,0,0,0,0,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/5,momy/5,momz/5,0,9)
stop

Despawn:
TNT1 A 0
TNT1 A 0 A_SpawnItemEx("WaterBalloonBossT",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 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 4//3
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 AAAA 0 A_SeekerMissile(4,15,3,50,10)
TNT1 A 1 A_SeekerMissile(4,10,3,50,10)
TNT1 A 0 A_GiveToTarget("WaterCannonFlag2",1)
TNT1 A 0 A_SpawnItemEX("WaterCannonBubble",0,0,0,0,0,0,0,1)
TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(C_CHECK_TARGET_OOC)==0,"Despawn")
TNT1 AAAA 0 A_SeekerMissile(4,15,3,50,10)
TNT1 A 1 A_SeekerMissile(4,10,3,50,10)
TNT1 A 0 A_GiveToTarget("WaterCannonFlag2",1)
TNT1 A 0 A_SpawnItemEX("WaterCannonBubbleNoDamage",0,0,0,0,0,0,0,1)
TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(C_CHECK_TARGET_OOC)==0,"Despawn")
TNT1 AAAA 0 A_SeekerMissile(4,15,3,50,10)
TNT1 A 1 A_SeekerMissile(4,10,3,50,10)
TNT1 A 0 A_GiveToTarget("WaterCannonFlag2",1)
TNT1 A 0 A_SpawnItemEX("WaterCannonBubbleNoDamage",0,0,0,0,0,0,0,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("WaterCannonSpawner",0,0,0,momx*5,momy*5,momz*5,0,9)
stop
}
}

actor WaterCannonSpawnerStop : WaterCannonSpawner
{
speed 0
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 1
TNT1 A 0 A_GiveToTarget("WaterCannonFlag2",1)
loop
}
}

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 WaterCannon
{
//Translation "204:204=198:198"
PROJECTILE
damagetype "WaterCannon"
Obituary "$OB_WATERCANNON"
+DONTBLAST
+DONTREFLECT
damage (6)
Radius 4//3
Height 5//4
Speed 40
scale 2.5
States
{
Spawn:
AQCA A 0
Spawn2:
AQCA A 0 A_JumpIfInTargetInventory("AquaKillFlag",1,"Despawn")
AQCA ABC 1 A_JumpIf(ACS_ExecuteWithResult(C_CHECK_TARGET_OOC)==0,"Despawn")
loop
Despawn:
TNT1 A 0
TNT1 A 0 A_SpawnItemEx("WaterBalloonBossT",0,0,0,frandom(-2,2),(random(0,1)*2-1)*frandom(2,6),frandom(1,3),0,1)
stop
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("WaterCannon",0,0,0,0,0,0,0,1)
stop
}
}

actor WaterCannonSound : WaterCannon
{
States
{
Spawn:
AQCA A 0
AQCA A 0 A_PlaySoundEx("weapon/WaterCannonGo","Weapon")
goto Spawn2
}
}

actor WaterCannonBubble : WaterCannon
{
States
{
Spawn:
AQBA B 0
Spawn2:
AQBA B 0 A_JumpIfInTargetInventory("AquaKillFlag",1,"Despawn")
AQBA BCD 1 A_JumpIf(ACS_ExecuteWithResult(C_CHECK_TARGET_OOC)==0,"Despawn")
loop
Despawn:
TNT1 A 0
TNT1 AA 0 A_SpawnItemEx("WaterBalloonBossT",0,0,0,frandom(-2,2),(random(0,1)*2-1)*frandom(4,10),frandom(3,6),0,1)
stop
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("WaterCannonBubble",0,0,0,0,0,0,0,1)
stop
}
}

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 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
}
}