actor Aquaman : VCBaseClass
{
	Player.ScoreIcon "AQUAMUGS"
	player.startitem "BaseFlagPack", 1
	player.startitem "NormalArmor"
	player.soundclass "aquamanc"
	Player.ViewHeight 62
	player.displayname "Aquaman"
	player.jumpz
	12
	player.startitem "UltimateAttackItem2MM8"
	player.startitem "UltSoundWatcherSpawn2"
	player.startitem "WaterBalloonBoss"
	player.startitem "Base28Ammo", 28
	player.startitem "IsFromMM8"
	player.startitem "NoHealthBar"
	States
	{
		Spawn:
		AQUA A 0
		AQUA B 1
		AQUA A 1 A_JumpIf(z-floorz>0, "Jumping")
		Goto Spawn+2
		
		See:
		AQUA BBBBBCCCCCDDDDDEEEEE 1 A_JumpIf(z-floorz>0, "Jumping")
		Goto Spawn
		
		Animation1:
		Jumping:
		AQUA I 0 A_JumpIf(momz<1,"Falling")
		AQUA I 1 A_JumpIf(z-floorz<=0, "Land")
		loop
		
		Falling:
		AQUA J 1 A_JumpIf(z-floorz<=0, "Land")
		wait
		
		Land:
		AQUA LLMM 1 A_JumpIf(z-floorz>0, "Jumping")
		goto Spawn+2
		
		Missile:
		AQUA GG 1 A_JumpIf(z-floorz>0, "JumpingMissile")
		
		Missile2:
		AQUA KKKKK 1 A_JumpIf(z-floorz>0, "JumpingMissile2")
		
		Missile3:
		AQUA FFFFF 1 A_JumpIf(z-floorz>0, "JumpingMissile3")
		Goto Spawn+1
		
		JumpingMissile:
		AQUA OO 1 A_JumpIf(z-floorz<=0, "Missile")
		
		JumpingMissile2:
		AQUA PPPPP 1 A_JumpIf(z-floorz<=0, "Missile2")
		
		JumpingMissile3:
		AQUA NNNNN 1 A_JumpIf(z-floorz<=0, "Missile3")
		Goto Jumping
		
		Animation2:
		AQUA LMLMLMLMLLMMLLMMLLLMMMLLLMMMLLLLL 1 A_JumpIf(z-floorz>0, "Jumping")
		goto Spawn+1
		
		Animation3:
		AQUA QQQRRRRRRRRRRRRR 1 A_JumpIf(z-floorz>0, "JumpingMissile3")
		goto Spawn+1
		
		Animation4:
		AQUA RSSSSSSR 3
		goto Spawn+2
		
		ClassTimeStop:
		AQUA A 0 SetPlayerProperty(0,1,4)
		AQUA A 0 ACS_Execute(528,0)
		AQUA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 1 A_Stop
		AQUA A 0 SetPlayerProperty(0,0,4)
		Goto pain+1
		ClassPain:
		AQUA UUUUUUUUUU 2 A_SpawnItem("PainFX",0,3)
		Goto Spawn+1
		
		Death.AstroCrush:
		Death.AstroCrushUlt:
		Death.TrioAstroCrush:
		TNT1 A 0 A_SpawnItemEx("DeadCrushedAquaMan",0,0,0,0,0,0,0,1)
		NOFX A 20 ACS_ExecuteAlways(999,0,0)
		NOFX A 1 A_CheckPlayerDone
		wait
		
		ClassDeath:
		TNT1 A 0 A_SpawnItemEx("DeadAquaMan",0,0,0,0,0,0,0,1)
		NOFX A 20 ACS_ExecuteAlways(999,0,0)
		NOFX A 1 A_CheckPlayerDone
		wait
		ClassIceDeath:
		AQUA A 35
		NOFX A 0 A_SpawnItemEx("FrozenDeathFX",0,0,16)
		NOFX A 1 A_CheckPlayerDone
		wait
		WeaponGetM:
		CUTM H 0 A_JumpIfInTargetInventory("WaterBalloonWepM",1,2)
		CUTM H 0 A_GiveToTarget("WeaponGetter")
		CUTM H 0 A_GiveToTarget("WaterBalloonWepM")
		goto ClassDeath
	}
}

actor DeadAquaMan : DeadTenguMan
{
meleerange 8867
States
{
Spawn:
AQUA H 0
"####" "#" 0
goto loopit

Death:
TNT1 A 0 A_PlaySoundEx("aquaman/dead","Auto")
TNT1 A 0 A_PlaySoundEx("mm8/dead","Auto")
TNT1 A 2 A_SpawnItemEx("FakeDeathFXMM8",0,0,32)
stop
}
}

actor DeadCrushedAquaMan
{
PROJECTILE
+MISSILE
species "DeadBody"
+THRUSPECIES
+THRUACTORS
-NOGRAVITY
+BOUNCEONWALLS
+BOUNCEONCEILINGS
+NOEXPLODEFLOOR
+DONTBLAST
scale 2.5
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode")
AQUA H 20
Death:
TNT1 A 0 A_SpawnItemEx("DeadCrushedAquaTorso",0,0,32,Random(3,6),0,20,Random(0,359),SXF_TRANSFERTRANSLATION)
TNT1 A 0 A_SpawnItemEx("DeadCrushedAquaLegs",0,0,16,Random(1,3),0,10,Random(0,359),SXF_TRANSFERTRANSLATION)
TNT1 A 0 A_PlaySoundEx("mm8/deathfx","Body")
TNT1 A 2 A_SpawnItemEx("MM8DeathFX",0,0,32)
stop
}
}

actor DeadCrushedAquaTorso
{
PROJECTILE
-NOGRAVITY
+THRUACTORS
+BOUNCEONWALLS
+NOEXPLODEFLOOR
+BOUNCEONCEILINGS
+DONTBLAST
Gravity 1.0
WallBounceFactor 0.0
height 32
radius 32
scale 2.5
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode")
AQUA WWVVWWVVWWVVWWVV 1 A_CheckFloor("Death")
TNT1 A 0 A_SpawnItemEx("MM8DeathFX",Random(-32,32),Random(-32,32),Random(-32,32))
Goto Spawn+2
Death:
TNT1 A 0 A_PlaySoundEx("aquaman/dead","Auto")
TNT1 A 0 A_PlaySoundEx("mm8/dead","Auto")
TNT1 A 2 A_SpawnItemEX("CriticalDeathSpawner",0,0,0,0,0,0,0,SXF_TRANSFERTRANSLATION)
Stop
}
}

actor DeadCrushedAquaLegs : DeadCrushedAquaTorso
{
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode")
AQ2A AABBCCBBAABBCCBB 1 A_CheckFloor("Death")
TNT1 A 0 A_SpawnItemEx("MM8DeathFX",Random(-32,32),Random(-32,32),Random(-32,32))
Goto Spawn+2
Death:
TNT1 A 0 A_PlaySoundEx("mm8/dead","Auto")
TNT1 A 2 A_SpawnItemEX("CriticalDeathSpawner",0,0,0,0,0,0,0,SXF_TRANSFERTRANSLATION)
Stop
}
}

actor WaterBalloonBoss : VCBaseWeapon
{
	Weapon.AmmoGive 28
	Obituary "$OB_AQUAMAN1"
	States
	{
		Ready:
		AQUH A 1 A_WeaponReady(WRF_NOSECONDARY*CallACS("VC_AmmoCheck",0,14)) TNT1 A 0 A_JumpIfInventory("UltAttackFlag",1,"UltimateAttack") TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("VC_CheckBtn",3)==3,"User1")
		AQUH A 1 A_WeaponReady(WRF_NOSECONDARY*CallACS("VC_AmmoCheck",0,14)) TNT1 A 0 A_JumpIfInventory("UltAttackFlag",1,"UltimateAttack") TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("VC_CheckBtn",3)==3,"User1")
		AQUH A 1 A_WeaponReady(WRF_NOSECONDARY*CallACS("VC_AmmoCheck",0,14)) TNT1 A 0 A_JumpIfInventory("UltAttackFlag",1,"UltimateAttack") TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("VC_CheckBtn",3)==3,"User1")
		AQUH A 1 A_WeaponReady(WRF_NOSECONDARY*CallACS("VC_AmmoCheck",0,14)) TNT1 A 0 A_JumpIfInventory("UltAttackFlag",1,"UltimateAttack") TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("VC_CheckBtn",3)==3,"User1")
		AQUH A 1 A_WeaponReady(WRF_NOSECONDARY*CallACS("VC_AmmoCheck",0,14)) TNT1 A 0 A_JumpIfInventory("UltAttackFlag",1,"UltimateAttack") TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("VC_CheckBtn",3)==3,"User1")
		AQUH A 1 A_WeaponReady(WRF_NOSECONDARY*CallACS("VC_AmmoCheck",0,14)) TNT1 A 0 A_JumpIfInventory("UltAttackFlag",1,"UltimateAttack") TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("VC_CheckBtn",3)==3,"User1")
		AQUH A 1 A_WeaponReady(WRF_NOSECONDARY*CallACS("VC_AmmoCheck",0,14)) TNT1 A 0 A_JumpIfInventory("UltAttackFlag",1,"UltimateAttack") TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("VC_CheckBtn",3)==3,"User1")
		AQUH A 1 A_WeaponReady(WRF_NOSECONDARY*CallACS("VC_AmmoCheck",0,14)) TNT1 A 0 A_JumpIfInventory("UltAttackFlag",1,"UltimateAttack") TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("VC_CheckBtn",3)==3,"User1")
		AQUH A 0 A_GiveInventory("Base28Ammo",1)
		goto Ready
		
		Deselect:
		TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower
		AQUH A 1 A_Lower
		Loop
		
		Select:
		TNT1 A 0 ACS_ExecuteAlways(991,0,8867)
		TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise
		AQUH A 1 A_Raise
		Loop
		
		User1:
		AQUH B 1
		AQUH C 0 A_GiveInventory("AquaRainbowCancel",1)
		AQUH C 1 A_SpawnItemEx("AquaRainbowStarter",0,0,60)
		AQUH D 14
		goto Ready
		
		Fire:
		AQUH B 2
		AQUH B 0 A_GiveInventory("AquaM1Handler",1)
		AQUH CCDDDDDDD 1
		goto Ready
		
		Altfire:
		RATU A 0 A_JumpIfInventory("NoAltfire",1,"Ready")
		AQUH B 0 A_CheckFloor("Altfire.Ground")
		AQUH B 0 A_JumpIf(callACS("core_CheckFooting")== 1 || (abs(z-floorz) < 30 && momz <= 0),"Altfire.Ground")//A_CheckFloor("Altfire.Ground")
		AQUH A 0 ACS_NamedExecuteWithResult("VC_SetState",1)
		AQUH A 1 Offset(10,20) A_GiveInventory("WaterThrustCheck",1)
		AQUH A 1 Offset(14,8) A_GiveInventory("WaterThrustCheck",1)
		
		Altfire.AirWait:
		TNT1 A 0 A_GiveInventory("WaterThrustCheck",1)
		AQUH A 0 A_SpawnItemEx("AquaStompHitbox")
		AQUH A 1 A_CheckFloor("Altfire.End")
		loop

		Altfire.End:
		AQUH A 0 A_GiveInventory("AquaColumnHandler",1)
		AQUH A 1 A_WeaponReady(WRF_NOFIRE)
		AQUH A 1 Offset(-4,42)
		AQUH A 1 Offset(4,42)
		AQUH A 1 Offset(-3,38)
		AQUH A 1 Offset(3,38)
		AQUH A 1 Offset(-2,35)
		AQUH A 1 Offset(2,35)
		AQUH A 1 Offset(-1,33)
		AQUH A 1 Offset(1,33)
		AQUH A 24 A_WeaponReady(WRF_NOFIRE)
		goto Ready
		
		Altfire.Ground:
		AQUH B 1 ACS_NamedExecuteWithResult("VC_SetState",3)
		AQUH B 0 A_GiveInventory("AquaCannonHandler",1)
		AQUH C 4
		AQUH D 27
		goto Ready
		
		UltimateAttack:
		GREH A 0 A_PlaySoundEx("classes/ultimateactivation","Auto")
		GREH A 0 ACS_NamedExecuteAlways("VC_UltimateText",0,68)
		GREH A 0 A_TakeInventory("MediumShortUltimateAmmo",999)
		GREH A 0 A_PlaySoundEx("weapon/aquajump","Weapon")
		AQUH A 0 ACS_NamedExecuteWithResult("VC_SetState",1)
		AQUH A 0 A_SetGravity(5.0)
		AQUH A 0 ThrustThingZ(0,90,0,0)
		AQUH A 0 A_GiveInventory("PharaohUltCooldown")
		AQUH A 1 Offset(10,20) A_GiveInventory("WaterThrustCheck",1)
		AQUH A 1 Offset(14,8) A_GiveInventory("WaterThrustCheck",1)
		
		UltLoop1:
		TNT1 A 0 A_GiveInventory("WaterThrustCheck",1)
		AQUH A 0 A_GiveInventory("PharaohUltCooldown")
		AQUH A 1 A_CheckFloor("UltLoop1.End")
		loop
		
		UltLoop1.End:
		AQUH A 0 ACS_NamedExecuteWithResult("VC_SetState",2)
		AQUH A 0 A_Quake(4,10,0,400)
		TNT1 A 0 A_PlaySoundEx("weapon/blackholegb","Body")
		TNT1 A 0 A_PlaySoundEx("weapon/aquault","Weapon")
		AQUH A 0 A_SpawnItemEx("AquaColumn2",120)
		AQUH A 0 A_SpawnItemEx("AquaColumn2",240)
		AQUH A 0 A_SpawnItemEx("AquaColumn2",360)
		AQUH A 0 A_SpawnItemEx("AquaColumn2",480)
		AQUH A 0 A_SpawnItemEx("AquaColumn2",600)
		AQUH A 1 A_WeaponReady(WRF_NOFIRE)
		AQUH A 1 Offset(-4,42)
		AQUH A 1 Offset(4,42)
		AQUH A 1 Offset(-3,38)
		AQUH A 1 Offset(3,38)
		AQUH A 1 Offset(-2,35)
		AQUH A 1 Offset(2,35)
		AQUH A 1 Offset(-1,33)
		AQUH A 1 Offset(1,33) A_GiveInventory("PharaohUltCooldown")
		GREH A 0 A_TakeInventory("MediumShortUltimateAmmo",999)
		GREH A 0 A_PlaySoundEx("weapon/aquajump","Weapon")
		AQUH A 0 ACS_NamedExecuteWithResult("VC_SetState",1)
		AQUH A 0 ThrustThingZ(0,90,0,0)
		AQUH A 0 A_GiveInventory("PharaohUltCooldown")
		AQUH A 1 Offset(10,20) A_GiveInventory("WaterThrustCheck",1)
		AQUH A 1 Offset(14,8) A_GiveInventory("WaterThrustCheck",1)
		
		UltLoop2:
		TNT1 A 0 A_GiveInventory("WaterThrustCheck",1)
		AQUH A 0 A_GiveInventory("PharaohUltCooldown")
		AQUH A 1 A_CheckFloor("UltLoop2.End")
		loop
		
		UltLoop2.End:
		AQUH A 0 ACS_NamedExecuteWithResult("VC_SetState",2)
		AQUH A 0 A_Quake(4,17,0,400)
		TNT1 A 0 A_PlaySoundEx("weapon/blackholegb","Body")
		TNT1 A 0 A_PlaySoundEx("weapon/aquastomp","Weapon")
		AQUH A 0 A_GiveInventory("AquaColumnCancel",1)
		AQUH A 1 A_WeaponReady(WRF_NOFIRE)
		AQUH A 1 Offset(-4,42)
		AQUH A 1 Offset(4,42)
		AQUH A 1 Offset(-3,38)
		AQUH A 1 Offset(3,38)
		AQUH A 1 Offset(-2,35)
		AQUH A 1 Offset(2,35)
		AQUH A 1 Offset(-1,33)
		AQUH A 1 Offset(1,33)
		AQUH A 10 A_WeaponReady(WRF_NOFIRE)
		AQUH A 0 A_GiveInventory("GravityRestore",1)
		AQUH A 0 A_GiveInventory("PharaohUltCooldown")
		GREH A 0 A_TakeInventory("UltAttackFlag",1)
		goto Ready
	}
}

actor AquaBalloon
{
PROJECTILE
-NOGRAVITY
Radius 16
Height 16
scale 2.5
speed 30
damage (6)
gravity 0.6
damagetype "Aquaman"
Obituary "$OB_AQUAMAN1"
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode")
TNT1 A 1
AQBA ABC 2
goto Spawn+3
Death:
TNT1 A 0 A_Explode(6,72,0,0,18)
TNT1 A 0 A_Stop
TNT1 A 0 A_ChangeFlag("NOINTERACTION",1)
TNT1 A 0 A_ChangeFlag("NOGRAVITY",1)
TNT1 A 0 A_CheckFloor("Death.Floor")
TNT1 A 0 A_CheckCeiling("Death.Ceiling")
AQBA NOP 2
stop
Death.Floor:
AQBA DEFGH 2
stop
Death.Ceiling:
AQBA IJKLM 2
stop
}
}

actor AquaCannonA
{
PROJECTILE
+RIPPER
Radius 12
Height 12
scale 2.5
speed 17
damage (2)
+SEEKERMISSILE
damagetype "AquamanCannon"
Obituary "$OB_AQUAMAN2"
+NOEXPLODEFLOOR
+BOUNCEONWALLS
+BOUNCEONCEILINGS
+NOTARGETSWITCH
+DONTREFLECT
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode")
AQPJ D 0 A_PlaySoundEx("weapon/aquazip","Body")
TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0) == 0, "Death")
AQPJ DD 1 A_SpawnItemEx("AquaCannonTrail1A",0,0,0,0,0,0,0,1)
TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0) == 0, "Death")
AQPJ EE 1 A_SpawnItemEx("AquaCannonTrail2A",0,0,0,0,0,0,0,1)
TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0) == 0, "Death")
AQPJ FF 1 A_SpawnItemEx("AquaCannonTrail3A",0,0,0,0,0,0,0,1)
TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0) == 0, "Death")
AQPJ DD 1 A_SpawnItemEx("AquaCannonTrail1A",0,0,0,0,0,0,0,1)
TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0) == 0, "Death")
AQPJ EE 1 A_SpawnItemEx("AquaCannonTrail2A",0,0,0,0,0,0,0,1)
TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0) == 0, "Death")
AQPJ FF 1 A_SpawnItemEx("AquaCannonTrail3A",0,0,0,0,0,0,0,1)
TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0) == 0, "Death")
AQPJ D 0 A_SpawnItemEx("AquaCannonTrail4A",0,0,0,0,0,0,0,1)
AQPJ D 0 A_Stop
AQPJ D 0 A_Recoil(-17)
AQPJ DDDD 0 A_SeekerMissile(90,90,SMF_LOOK|SMF_PRECISE,256,10)
APPJ D 0 A_GiveInventory("CutterFlag",1)
AQPJ D 0 A_JumpIfInventory("CutterFlag",4,"Stall")
goto Spawn+2
Stall:
TNT1 A 40 A_Stop
goto Death
Death:
AQBA N 0 A_GiveToTarget("AquaCannonCancelA",1)
AQBA NOP 2
stop
}
}

actor AquaCannonB : AquaCannonA
{
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode")
AQPJ D 0 A_PlaySoundEx("weapon/aquazip","Body")
TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0) == 0, "Death")
AQPJ DD 1 A_SpawnItemEx("AquaCannonTrail1B",0,0,0,0,0,0,0,1)
TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0) == 0, "Death")
AQPJ EE 1 A_SpawnItemEx("AquaCannonTrail2B",0,0,0,0,0,0,0,1)
TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0) == 0, "Death")
AQPJ FF 1 A_SpawnItemEx("AquaCannonTrail3B",0,0,0,0,0,0,0,1)
TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0) == 0, "Death")
AQPJ DD 1 A_SpawnItemEx("AquaCannonTrail1B",0,0,0,0,0,0,0,1)
TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0) == 0, "Death")
AQPJ EE 1 A_SpawnItemEx("AquaCannonTrail2B",0,0,0,0,0,0,0,1)
TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0) == 0, "Death")
AQPJ FF 1 A_SpawnItemEx("AquaCannonTrail3B",0,0,0,0,0,0,0,1)
TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0) == 0, "Death")
AQPJ D 0 A_SpawnItemEx("AquaCannonTrail4B",0,0,0,0,0,0,0,1)
AQPJ A 0 A_Stop
AQPJ D 0 A_Recoil(-17)
AQPJ DDDD 0 A_SeekerMissile(90,90,SMF_LOOK|SMF_PRECISE,256,10)
APPJ D 0 A_GiveInventory("CutterFlag",1)
AQPJ D 0 A_JumpIfInventory("CutterFlag",4,"Stall")
goto Spawn+2
Stall:
TNT1 A 40 A_Stop
goto Death
Death:
AQBA N 0 A_GiveToTarget("AquaCannonCancelB",1)
AQBA NOP 2
stop
}
}

actor AquaCannonTrail1A : AquaCannonA
{
States
{
Spawn:
TNT1 A 0
TNT1 A 1
TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0) == 0, "Death")
AQPJ AA 1 A_JumpIfInTargetInventory("AquaCannonCancelA",1,"Death")
TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0) == 0, "Death")
AQPJ BB 1 A_JumpIfInTargetInventory("AquaCannonCancelA",1,"Death")
TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0) == 0, "Death")
AQPJ CC 1 A_JumpIfInTargetInventory("AquaCannonCancelA",1,"Death")
goto Spawn+2
Death:
AQPJ OP 2
TNT1 A 0 A_SpawnItemEx("AquaDrop",random(0,8),0,random(2,14),random(0,3),0,random(-2,2),random(0,359))
stop
}
}

actor AquaCannonTrail1B : AquaCannonTrail1A
{
States
{
Spawn:
TNT1 A 0
TNT1 A 1
TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0) == 0, "Death")
AQPJ AA 1 A_JumpIfInTargetInventory("AquaCannonCancelB",1,"Death")
TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0) == 0, "Death")
AQPJ BB 1 A_JumpIfInTargetInventory("AquaCannonCancelB",1,"Death")
TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0) == 0, "Death")
AQPJ CC 1 A_JumpIfInTargetInventory("AquaCannonCancelB",1,"Death")
goto Spawn+2
}
}

actor AquaCannonTrail2A : AquaCannonTrail1A
{
States
{
Spawn:
TNT1 A 0
TNT1 A 1
TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0) == 0, "Death")
AQPJ BB 1 A_JumpIfInTargetInventory("AquaCannonCancelA",1,"Death")
TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0) == 0, "Death")
AQPJ CC 1 A_JumpIfInTargetInventory("AquaCannonCancelA",1,"Death")
TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0) == 0, "Death")
AQPJ AA 1 A_JumpIfInTargetInventory("AquaCannonCancelA",1,"Death")
goto Spawn+2
}
}

actor AquaCannonTrail2B : AquaCannonTrail1A
{
States
{
Spawn:
TNT1 A 0
TNT1 A 1
TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0) == 0, "Death")
AQPJ BB 1 A_JumpIfInTargetInventory("AquaCannonCancelB",1,"Death")
TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0) == 0, "Death")
AQPJ CC 1 A_JumpIfInTargetInventory("AquaCannonCancelB",1,"Death")
TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0) == 0, "Death")
AQPJ AA 1 A_JumpIfInTargetInventory("AquaCannonCancelB",1,"Death")
goto Spawn+2
}
}

actor AquaCannonTrail3A : AquaCannonTrail1A
{
States
{
Spawn:
TNT1 A 0
TNT1 A 1
TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0) == 0, "Death")
AQPJ CC 1 A_JumpIfInTargetInventory("AquaCannonCancelA",1,"Death")
TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0) == 0, "Death")
AQPJ AA 1 A_JumpIfInTargetInventory("AquaCannonCancelA",1,"Death")
TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0) == 0, "Death")
AQPJ BB 1 A_JumpIfInTargetInventory("AquaCannonCancelA",1,"Death")
goto Spawn+2
}
}

actor AquaCannonTrail3B : AquaCannonTrail1A
{
States
{
Spawn:
TNT1 A 0
TNT1 A 1
TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0) == 0, "Death")
AQPJ CC 1 A_JumpIfInTargetInventory("AquaCannonCancelB",1,"Death")
TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0) == 0, "Death")
AQPJ AA 1 A_JumpIfInTargetInventory("AquaCannonCancelB",1,"Death")
TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0) == 0, "Death")
AQPJ BB 1 A_JumpIfInTargetInventory("AquaCannonCancelB",1,"Death")
goto Spawn+2
}
}

actor AquaCannonTrail4A : AquaCannonTrail1A
{
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0) == 0, "Death")
AQBA AA 1 A_JumpIfInTargetInventory("AquaCannonCancelA",1,"Death")
TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0) == 0, "Death")
AQBA BB 1 A_JumpIfInTargetInventory("AquaCannonCancelA",1,"Death")
TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0) == 0, "Death")
AQBA CC 1 A_JumpIfInTargetInventory("AquaCannonCancelA",1,"Death")
loop
Death:
AQBA NOP 2
stop
}
}

actor AquaCannonTrail4B : AquaCannonTrail4A
{
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0) == 0, "Death")
AQBA AA 1 A_JumpIfInTargetInventory("AquaCannonCancelB",1,"Death")
TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0) == 0, "Death")
AQBA BB 1 A_JumpIfInTargetInventory("AquaCannonCancelB",1,"Death")
TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0) == 0, "Death")
AQBA CC 1 A_JumpIfInTargetInventory("AquaCannonCancelB",1,"Death")
loop
}
}

actor AquaCannonHandler : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_PlaySoundEx("weapon/aquacannon","Body")
TNT1 A 0 A_PlaySoundEx("misc/splash","Weapon")
TNT1 A 0 A_TakeInventory("Base28Ammo",14)
TNT1 A 0 A_JumpIfInventory("VC_Timer",1,"Pickup2")
TNT1 A 0 A_GiveInventory("VC_Timer",1)
TNT1 A 0 A_FireCustomMissile("AquaCannonA",0,0,1,8)
stop

Pickup2:
TNT1 A 0 A_TakeInventory("VC_Timer",1)
TNT1 A 0 A_FireCustomMissile("AquaCannonB",0,0,1,8)
stop
}
}

actor AquaDrop : BasicClientSide
{
-NOINTERACTION
PROJECTILE
-NOGRAVITY
gravity 0.5
speed 22
radius 3
height 3
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode")
AQPJ GIGIGIGIGIGIGIGIGIGIGIGIHIHIHIHIHIHIHIHIHIHIHIHI 1
stop
Death:
AQPJ A 0 A_ChangeFlag("NOGRAVITY",1)
AQPJ A 0 A_ChangeFlag("NOINTERACTION",1)
AQPJ JIKILIMINI 1
stop
}
}

actor AquaCannonCancelA : Powerup
{
Powerup.Duration 5
}

actor AquaCannonCancelB : Powerup
{
Powerup.Duration 5
}

actor AquamanCannonProtect : PowerProtection
{
Powerup.Duration 3
DamageFactor "AquamanCannon", 0.0
}

actor AquamanColumnProtect : PowerProtection
{
Powerup.Duration 3
DamageFactor "AquamanColumn", 0.0
}

actor AquaM1Handler : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_FireCustomMissile("AquaBalloon",0,0,1,8)
TNT1 A 0 A_FireCustomMissile("AquaDrop",random(-8,8),0,1,random(8,14),0,random(0,4))
TNT1 A 0 A_PlaySoundEx("weapon/waterballoon","Weapon")
TNT1 A 0 A_GiveInventory("Base28Ammo",1)
stop
}
}

actor AquaColumnHandler : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_Stop
TNT1 A 0 A_PlaySoundEx("weapon/blackholegb","Body")
TNT1 A 0 A_PlaySoundEx("weapon/aquastomp","Weapon")
TNT1 A 0 A_FireCustomMissile("AquaColumnMark",0,0,0,8)
TNT1 A 0 A_TakeInventory("Base28Ammo",14)
TNT1 A 0 A_Quake(2,33,0,200)
TNT1 A 0 A_GiveInventory("AquaColumnCancel",1)
AQUH A 0 ACS_NamedExecuteWithResult("VC_SetState",2)
stop
}
}

actor AquaColumnMark : FastProjectile
{
PROJECTILE
+SPECTRAL
Radius 1
Height 1
scale 2.5
-DONTBLAST
+RIPPER
+SKYEXPLODE
+DONTREFLECT
speed 1800
damage (0)
States
{
Spawn:
TNT1 A 1
Death:
TNT1 A 0 A_SpawnItemEx("AquaColumn",-2,0,0,0,0,0)
stop
}
}

actor AquaColumn
{
Obituary "$OB_AQUAMAN3"
PROJECTILE
radius 1
height 1
speed 0
+RIPPER
+FLOORHUGGER
+THRUGHOST
+THRUACTORS
+DONTBLAST
+DONTREFLECT
damagetype "AquamanUp"
damage(0)
scale 2.5
reactiontime 20
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode")
TNT1 A 1
TNT1 A 0 A_PlaySoundEx("weapon/aquacolumn","Voice")
TNT1 A 0 A_Explode(18,96,0,0,96)
AQTW AABBCC 1 A_ChangeFlag("FLOORHUGGER",1)
TNT1 A 0 A_PlaySoundEx("weapon/blackholegb","Weapon")
TNT1 A 0 A_PlaySoundEx("weapon/acidgeyserloop","Body",1)
goto loopit

loopit:
AQTW D 1 A_SpawnItemEx("AquaColumnHitbox") TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0) == 0, "Death") TNT1 A 0 A_JumpIfInTargetInventory("AquaColumnCancel",1,"Death")
AQTW E 1 A_SpawnItemEx("AquaColumnHitbox") TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0) == 0, "Death") TNT1 A 0 A_JumpIfInTargetInventory("AquaColumnCancel",1,"Death")
AQTW F 1 A_SpawnItemEx("AquaColumnHitbox") TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0) == 0, "Death") TNT1 A 0 A_JumpIfInTargetInventory("AquaColumnCancel",1,"Death")
AQTW E 1 A_SpawnItemEx("AquaColumnHitbox") TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0) == 0, "Death") TNT1 A 0 A_JumpIfInTargetInventory("AquaColumnCancel",1,"Death")
AQTW D 0 A_Countdown
loop

Death:
TNT1 A 0 A_StopSound
TNT1 A 0 A_PlaySoundEx("weapon/waterballoon","Weapon")
TNT1 A 0 A_PlaySoundEx("weapon/WaterShieldBreak","Body")
TNT1 AAAAAAAAAAAA 0 A_SpawnItemEx("AquaColumnFX",52,0,random(0,240),0,0,0,random(0,359),1)
TNT1 AAAAAAAAAAAAAAAAAAAA 0 A_SpawnItemEx("AquaBalloon2",random(0,52),0,random(12,240),random(0,6),0,random(-5,9),random(0,359),1)
TNT1 AAAAAAAAAA 0 A_SpawnItemEx("AquaBalloon3",random(0,52),0,random(12,240),random(0,6),0,random(0,7),random(0,359),1)
TNT1 A 3
stop
}
}

actor AquaColumn2 : AquaColumn
{
reactiontime 60
}

actor AquaColumnCancel : Powerup
{
Powerup.Duration 5
}

actor AquaBalloon2 : AquaBalloon
{
Obituary "$OB_AQUAMAN3"
damage (2)
}

actor AquaBalloon3 : AquaBalloon2
{
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode")
AQPJ FDE 2
goto Spawn+2
}
}

actor AquaColumnHitbox
{
PROJECTILE
damagetype "AquamanColumn"
Obituary "$OB_AQUAMAN3"
+RIPPER
+DONTSPLASH
+DONTBLAST
+THRUGHOST
+DONTREFLECT
Damage (2)
Radius 96
Height 240
States
{
Spawn:
TNT1 A 2
stop
}
}

actor AquaColumnFX : BasicClientSide
{
States
{
Spawn:
AQBA NOP 2
stop
}
}

actor AquaRainbowStarter
{
PROJECTILE
+THRUACTORS
+DONTREFLECT
radius 1
height 1
scale 2.5
States
{
Spawn:
TNT1 A 0
TNT1 AA 3 A_SpawnItemEx("AquaRain1",0,0,0,0,0,40)
TNT1 A 0 A_SpawnItemEx("AquaRain2",0,0,60)
TNT1 A 6 A_SpawnItemEx("AquaRain1",0,0,0,0,0,40)
TNT1 A 0 A_SpawnItemEx("AquaRainbow",0,0,80)
stop
}
}

actor AquaRain1 : BasicClientSide
{
States
{
Spawn:
TNT1 A 0
AQPJ QRQ 1
stop
}
}

actor AquaRain2 : BasicClientSide
{
States
{
Spawn:
AQPJ STSTSTST 1
AQPJ SITISITISIITIISIIITIII 1
stop
}
}

actor AquaRainbow
{
PROJECTILE
+NOCLIP
damagetype "AquaRainbow"
scale 2.5
radius 1
height 1
reactiontime 50
Obituary "$OB_AQUAMAN4"
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode")
TNT1 A 0 A_PlaySoundEx("weapon/aquarainbow","Body")
AQPJ U 1 A_Explode(1,80,0,0,80)
TNT1 A 1 A_JumpIfInTargetInventory("AquaRainbowCancel",1,"Death")
TNT1 A 0 A_Countdown
goto Spawn+3
Death:
TNT1 A 0
stop
}
}

actor AquaRainbowCancel : Powerup
{
Powerup.Duration 5
}

actor AquaStompHitbox : BasicExplosion
{
Obituary "$OB_AQUAMAN5"
damagetype "AquamanStomp"
States
{
Spawn:
TNT1 A 0
TNT1 A 1 A_Explode(4,40,0,0,40)
stop
}
}

actor AquamanRainbowProtect : PowerProtection
{
Powerup.Duration 100
DamageFactor "AquamanRainbow", 0.0
}

actor AquaTauntHandler : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_JumpIfInventory("PowerUltBuildCooldown",1,"Nope")
TNT1 A 0 ACS_NamedExecuteWithResult("VC_SetState",4)
Nope:
TNT1 A 0
stop
}
}