actor MegaWaterSBossWeapon : MegaBuster
{
tag "Clammy Harpoon"
Weapon.AmmoUse 0
Weapon.AmmoGive 0
Weapon.SlotNumber 1
Obituary "$OB_CLAMMYHARPOON"
+INVENTORY.UNDROPPABLE
weapon.ammotype "BossJumpCharge"
weapon.ammotype2 "BossRageCharge4"
+WEAPON.AMMO_OPTIONAL
Scale 2.0
States
{
Spawn:
TNT1 A 0
stop
Ready:
MWAS I 0 ACS_NamedExecuteAlways("GiveExecution",0)
MWAS I 0 A_SpawnItemEx("PlastronAssist")
MWAS I 0 A_GiveInventory("CanUsePlastron", 1)
MWAS I 0 ACS_ExecuteAlways(991,0,520)
MWAS I 0 A_JumpIfInventory("GenesisUnitFakeHealth", 1, 2)
MWAS I 0 A_Jump(256, 2)
MWAS I 0 ACS_ExecuteAlways(991,0,522)
MWAS I 0 A_JumpIfInventory("PlastronActivation", 1, "Plastron")
MWAS I 1 A_WeaponReady(WRF_NOSWITCH)
Goto Ready+2
Deselect:
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower
MWAS I 1 A_Lower
loop
Select:
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise
MWAS I 1 A_Raise
Loop


Trance:
MWAS I 0 ACS_NamedExecute("StateChange",0,4)
MWAS I 0 A_TakeInventory("CanUsePlastron", 999)
MAWS O 0 A_TakeInventory("BossRageCharge4",2000)
MAWS O 0 ACS_ExecuteAlways(400, 0, 229) // Take the bossragecharge to every hales
MWAS I 0 SetPlayerProperty(0, 1, 4)
MWAS I 0 A_GiveInventory("MegaWaterSSuperArmor", 1)
MWAS I 0 A_PlaySoundEx("weapon/astrocrush",0,0)
MWAS I 14
MWAS I 2 //A_SetTranslucent(0.9)
MWAS I 0 A_SpawnItemEx("TranceSpiritSpawner", 0, 0, 0, 0, 0, 0)
MWAS I 2 //A_SetTranslucent(0.8)
MWAS I 2 //A_SetTranslucent(0.7)
MWAS I 0 A_PlaySoundEx("weapon/astrocrush",0,0)
MWAS I 2 //A_SetTranslucent(0.6)
MWAS I 2 //A_SetTranslucent(0.5)
MWAS I 2 //A_SetTranslucent(0.4)
MWAS I 0 A_PlaySoundEx("weapon/astrocrush",0,0)
MWAS I 2 //A_SetTranslucent(0.3)
MWAS I 15 //A_SetTranslucent(0.2)
MWAS TUVW 3 
MWAS I 0 A_PlaySoundEx("weapon/astrocrush",0,0)
MWAS I 0 A_GiveInventory("BrightBlind", 100)
MWAS I 0 A_PlaySoundEx("MegaWaterS/MagicalFinger", "Item")
MWAS X 2 ACS_ExecuteAlways(400, 0, 249)
MWAS X 32 //A_SetTranslucent(1.0)
MWAS Z 3  //A_SetTranslucent(1.0)
MWAT ABC 3
MWAS I 3
MWAT DE 3
MWAT FG 6
MWAT HI 12
MWAS I 0 A_GiveInventory("BrightBlind", 125)
MWAT J 1 ACS_ExecuteAlways(400, 0, 326) // gives shield
MWAT J 2 ACS_ExecuteAlways(400, 0, 744)
MWAS I 28 A_PlaySoundEx("MegaWaterS/ZobalTrance", "Body")
MWAS I 0 SetPlayerProperty(0, 0, 4)
MWAS I 0 A_TakeInventory("PowerMegaWaterSResistance", 999)
MWAS I 0 A_JumpIfInventory("ClammyHarpoonsUnlock", 1, "HarpoonsReady")
goto Ready+2


RelaxMega:
MWAS KJI 4 
MWAS I 12
Goto RelaxingProcess
RelaxingProcess:
MWAS I 1 A_TakeInventory("MegaWaterSRepulsion",6)
GHSH I 0 A_JumpIfInventory("MegaWaterSRepulsion", 1, "RelaxingProcess")
GHSH I 0 A_TakeInventory("MegaWaterSRepulsion", 999)
goto Ready+2

Plastron:
MWAS I 0 A_PlaySoundEx("MegaWaterS/Plastron1", "Item")
MWAS I 0 SetPlayerProperty(0, 1, 4)
MWAS I 0 A_TakeInventory("CanUsePlastron", 999)
MWAS I 0 A_TakeInventory("PlastronActivation", 999)
MWAS I 0 ACS_NamedExecute("StateChange",0,3)
MWAS TUVW 2
MWAS X 24
MWAS I 0 ACS_ExecuteAlways(400, 0, 325)
MWAS I 0 A_TakeInventory("PlastronCharge", 875)
MWAS I 0 A_PlaySoundEx("MegaWaterS/Plastron2", "Body")
MWAS I 0 SetPlayerProperty(0, 0, 4)
MWAS Z 2
MWAT ABC 2
MWAS I 20
MWAS I 0 A_JumpIfInventory("ClammyHarpoonsUnlock", 1, "HarpoonsReady")
goto Ready+2

HarpoonsReady:
MWAS I 0 A_GiveInventory("CanUsePlastron", 1)
MWAS I 0 ACS_ExecuteAlways(991,0,520)
MWAS I 0 A_JumpIfInventory("GenesisUnitFakeHealth", 1, 2)
MWAS I 0 A_Jump(256, 2)
MWAS I 0 ACS_ExecuteAlways(991,0,522)
MWAS I 0 A_JumpIfInventory("PlastronActivation", 1, "Plastron")
MWAS I 1 A_WeaponReady(WRF_NOSWITCH)
MWAS I 0 A_JumpIfInventory("PlastronActivation", 1, "Plastron")
MWAS I 1
MWAS I 0 //A_TakeInventory("MegaWaterSRepulsion",3)
Goto HarpoonsReady
Fire:
MWAS I 0 A_TakeInventory("CanUsePlastron", 999)
MWAS I 1
goto Harpoons
Harpoons:
MWAS I 1 A_JumpIfInventory("MegaWaterSHarpoonsCharge", 16, 2)
goto Ready+2
MWAS I 0 A_TakeInventory("CanUsePlastron", 999)
MWAS J 0
MWAS J 0 A_PlaySoundEx("MegaWaterS/ClammyHarpoon","Weapon")
MWAS J 0 A_FireCustomMissile("ClammyHarpoon",2,0,16,0)
MWAS J 0 A_FireCustomMissile("ClammyHarpoon",0,0,0,0)
MWAS J 0 A_FireCustomMissile("ClammyHarpoon",-2,0,-16,0)
MWAS J 0 A_TakeInventory("MegaWaterSHarpoonsCharge", 16)
MWAS JKKKKKK 4
MWAS JKI 2
goto Ready+2


AltFire:
MWAS I 0 A_JumpIfInventory("BossRageCharge4",2000,"TrancePreparation")
MWAS I 1
AltHold:
MWAS K 0 ACS_Execute(247,0,-9,150)
MWAS K 1 A_FireCustomMissile("MegaWaterSWoosh", 0, 1, 8, 0)
MWAS K 0 ACS_Execute(247,0,-9,150)
MWAS K 1 A_FireCustomMissile("MegaWaterSWoosh", 0, 1, 8, 0)
MWAS K 0 ACS_Execute(247,0,-9,150)
MWAS K 1 A_FireCustomMissile("MegaWaterSWoosh", 0, 1, 8, 0)
MWAS K 0 ACS_Execute(247,0,-9,150)
MWAS K 1 A_FireCustomMissile("MegaWaterSWoosh", 0, 1, 8, 0)
MWAS K 0 ACS_Execute(247,0,-9,150)
MWAS K 1 A_FireCustomMissile("MegaWaterSWoosh", 0, 1, 8, 0)
MWAS K 0 ACS_Execute(247,0,-9,150)
MWAS K 1 A_FireCustomMissile("MegaWaterSWoosh", 0, 1, 8, 0)
MWAS K 0 ACS_Execute(247,0,-9,150)
MWAS K 1 A_FireCustomMissile("MegaWaterSWoosh", 0, 1, 8, 0)
MWAS K 0 ACS_Execute(247,0,-9,150)
MWAS K 1 A_FireCustomMissile("MegaWaterSWoosh", 0, 1, 8, 0)
MWAS K 0 ACS_Execute(247,0,-9,150)
MWAS K 1 A_FireCustomMissile("MegaWaterSWoosh", 0, 1, 8, 0)
MWAS K 0 ACS_Execute(247,0,-9,150)
MWAS K 1 A_FireCustomMissile("MegaWaterSWoosh", 0, 1, 8, 0)
MWAS K 0 ACS_Execute(247,0,-9,150)
MWAS K 1 A_FireCustomMissile("MegaWaterSWoosh", 0, 1, 8, 0)
MWAS K 0 ACS_Execute(247,0,-9,150)
MWAS K 1 A_FireCustomMissile("MegaWaterSWoosh", 0, 1, 8, 0)
MWAS KJI 8 
MWAS I 12
Goto Ready+2
TrancePreparation:
MWAS I 1
MWAS I 0 //A_JumpIfInventory("TranceCurseCountdown", 1, "NoAmmo")
goto Trance
NoAmmo:
MWAS I 0 ACS_Execute(979,0)
MWAS I 1 A_Refire
goto Ready+2

}
}

actor TranceSpiritSpawner
{
PROJECTILE
+NOINTERACTION
+NOGRAVITY
+DONTBLAST
reactiontime 45
states
{
Spawn:
TNT1 A 0
TNT1 A 0 //A_PlaySoundEx("MegaWaterS/Theme", "Voice")
TNT1 A 0 ACS_ExecuteAlways(400, 0, 761)
FireBurning:
TNT1 A 3
TNT1 AAA 0 A_SpawnItemEx("MegaWaterSTranceSpirit", random(-100, 100), random(-100, 100), random(5,10), 0, 0, 0)
TNT1 A 0 A_CountDown
loop
Death:
TNT1 A 0
stop
}
}

actor MegaWaterSTranceSpirit //NO MORE RANDOM WEEB SHIT
{
PROJECTILE
+NOINTERACTION
scale 2.5
renderstyle "translucent"
alpha 0.0
states
{
Spawn:
TNT1 A 0
POOF A 3 A_FadeIn(0.25)
POOF A 0 ThrustThingZ(0, 1, 1, 1)
POOF B 3 A_FadeIn(0.25)
POOF A 0 ThrustThingZ(0, 1, 1, 1)
POOF A 3 A_FadeIn(0.25)
POOF A 0 ThrustThingZ(0, 1, 1, 1)
POOF B 3 A_FadeIn(0.25)
POOF ABA 3 ThrustThingZ(0, 1, 1, 1)
Boo:
POOF BABABA 3 ThrustThingZ(0, 2, 0, 1)
POOF BABABA 3 ThrustThingZ(0, 1, 1, 1)
POOF BABABA 3 ThrustThingZ(0, 2, 0, 1)
POOF BABABA 3 ThrustThingZ(0, 1, 1, 1)
POOF BABABA 3 ThrustThingZ(0, 2, 0, 1)
POOF BABABA 3 ThrustThingZ(0, 1, 1, 1)
/*FleeingToHell:
POOF A 0 A_JumpIf(ceilingz-z < 0, "GahOnions")
POOF A 1 ThrustThingZ(0, 3, 0, 1)
POOF A 0 A_JumpIf(ceilingz-z < 0, "GahOnions")
POOF A 1 ThrustThingZ(0, 4, 0, 1)
POOF A 0 A_JumpIf(ceilingz-z < 0, "GahOnions")
POOF A 1 ThrustThingZ(0, 3, 0, 1)
POOF B 0 A_JumpIf(ceilingz-z < 0, "GahOnions")
POOF B 1 ThrustThingZ(0, 4, 0, 1)
POOF B 0 A_JumpIf(ceilingz-z < 0, "GahOnions")
POOF B 1 ThrustThingZ(0, 3, 0, 1)
POOF B 0 A_JumpIf(ceilingz-z < 0, "GahOnions")
POOF B 1 ThrustThingZ(0, 4, 0, 1)
POOF A 0 A_JumpIf(ceilingz-z < 0, "GahOnions")
POOF A 1 ThrustThingZ(0, 3, 0, 1)
POOF A 0 A_JumpIf(ceilingz-z < 0, "GahOnions")
POOF A 1 ThrustThingZ(0, 4, 0, 1)
POOF A 0 A_JumpIf(ceilingz-z < 0, "GahOnions")
POOF A 1 ThrustThingZ(0, 4, 0, 1)
loop*/
GahOnions:
TNT1 A 0
stop
}
}




actor MegaWaterSWoosh
{
species "GenesisUnit" +THRUSPECIES +MTHRUSPECIES
PROJECTILE
+SKYEXPLODE
+DONTBLAST
+DONTREFLECT
+RIPPER
obituary "$OB_GUSHERSPRAY"
DamageType "MegaWaterSWater"
Radius 16
Height 16
Damage (2)
Scale 1.7
Speed 40
states
{
Spawn:
TNT1 A 0
TNT1 A 0 A_PlaySoundEx("weapon/thunderclaw","Body")
TNT1 A 0 A_PlaySoundEx("weapon/minchrgshot","Item")
TNT1 A 1
TNT1 A 0 A_PlaySoundEx("weapon/minchrgshot","Item")
TNT1 A 1
TNT1 A 0 A_PlaySoundEx("weapon/minchrgshot","Item")
MWSZ J 1 Offset(0,130)
TNT1 A 0 A_PlaySoundEx("weapon/minchrgshot","Item")
MWSZ J 1 Offset(0,130)
TNT1 A 0 A_PlaySoundEx("weapon/minchrgshot","Item")
MWSZ J 1 Offset(0,130)
TNT1 A 0 A_PlaySoundEx("weapon/minchrgshot","Item")
MWSZ J 1 Offset(0,130)
TNT1 A 0 A_PlaySoundEx("weapon/minchrgshot","Item")
MWSZ K 1 Offset(0,130)
TNT1 A 0 A_PlaySoundEx("weapon/minchrgshot","Item")
MWSZ K 1 Offset(0,130)
TNT1 A 0 A_PlaySoundEx("weapon/minchrgshot","Item")
MWSZ K 1 Offset(0,130)
TNT1 A 0 A_PlaySoundEx("weapon/minchrgshot","Item")
MWSZ L 1 Offset(0,130)
TNT1 A 0 A_PlaySoundEx("weapon/minchrgshot","Item")
MWSZ L 1 Offset(0,130)
TNT1 A 0 A_PlaySoundEx("weapon/minchrgshot","Item")
MWSZ L 1 Offset(0,130)
TNT1 A 0 A_PlaySoundEx("weapon/minchrgshot","Item")
MWSZ L 1 Offset(0,130)
Death:
TNT1 A 0 A_Stop
//MWSZ MNO 2
stop
}
}
actor MegaWaterSRepulsion : Inventory
{
inventory.amount 1
inventory.maxamount 240
}

actor MWSProtection : PowerProtection {Powerup.Duration 2 DamageFactor "MegaWaterSWater", 0}

actor PlastronItem : CustomInventory
{
tag "-==Mega Water Shield==-"
inventory.amount 1
inventory.maxamount 1
inventory.icon "SXISIB"
+INVENTORY.UNDROPPABLE
+COUNTITEM
+INVBAR
states
{
Spawn:
TNT1 A 0
loop
Use:
TNT1 A 0 A_JumpIfInventory("GenesisUnitFakeHealth",1,"Nope")
TNT1 A 0 A_JumpIfInventory("PlastronCharge",875,"ReadyOrNot")
TNT1 A 0 ACS_Execute(979,0)
fail
ReadyOrNot:
TNT1 A 0 A_JumpIfInventory("CanUsePlastron",1,"Zobal")
fail
Zobal:
TNT1 A 0 A_GiveInventory("PlastronActivation",1)
fail
Nope:
TNT1 A 0 ACS_Execute(979,0)
fail
}
}

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

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

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

actor PlastronCharge : Inventory
{
inventory.amount 1
inventory.maxamount 875
}

actor PlastronAssist
{
PROJECTILE
+DONTBLAST
+NOINTERACTION
+NOBLOCKMAP
states
{
Spawn:
TNT1 A 0
TNT1 A 1 A_GiveToTarget("PlastronCharge", 1)
loop
Death:
TNT1 A 0
stop
}
}

actor PlastronShield1 : Inventory
{
inventory.amount 1
inventory.maxamount 10000
}

actor PlastronShield2 : Inventory
{
inventory.amount 1
inventory.maxamount 10000
}

actor TranceShield : Inventory
{
inventory.amount 1
inventory.maxamount 25000
}

actor PlastronGraphic1Item : CustomInventory
{
states
{
Pickup:
TNT1 A 0 A_SpawnItemEx("PlastronGraphic1", -7, 0, -8, 0, 0, 0)
stop
}
}

actor PlastronGraphic2Item : CustomInventory
{
states
{
Pickup:
TNT1 A 0 A_SpawnItemEx("PlastronGraphic2", -7, 0, -8, 0, 0, 0)
stop
}
}

actor PlastronGraphic3Item : CustomInventory
{
states
{
Pickup:
TNT1 A 0 A_SpawnItemEx("PlastronGraphic3", -7, 0, -8, 0, 0, 0)
stop
}
}

actor PlastronGraphic4Item : CustomInventory
{
states
{
Pickup:
TNT1 A 0 A_SpawnItemEx("PlastronGraphic4", -7, 0, -8, 0, 0, 0)
stop
}
}

actor PlastronGraphic1ItemBig : CustomInventory
{
states
{
Pickup:
TNT1 A 0 A_SpawnItemEx("PlastronGraphic1Big", -7, 0, -8, 0, 0, 0)
stop
}
}

actor PlastronGraphic2ItemBig : CustomInventory
{
states
{
Pickup:
TNT1 A 0 A_SpawnItemEx("PlastronGraphic2Big", -7, 0, -8, 0, 0, 0)
stop
}
}

actor PlastronGraphic3ItemBig : CustomInventory
{
states
{
Pickup:
TNT1 A 0 A_SpawnItemEx("PlastronGraphic3Big", -7, 0, -8, 0, 0, 0)
stop
}
}

actor PlastronGraphic4ItemBig : CustomInventory
{
states
{
Pickup:
TNT1 A 0 A_SpawnItemEx("PlastronGraphic4Big", -7, 0, -8, 0, 0, 0)
stop
}
}

actor PlastronGraphic1
{
+NOINTERACTION
+DONTBLAST
Renderstyle "translucent"
Alpha 0.5
scale 2.6
states
{
Spawn:
MWSZ P 2
stop
}
}

actor PlastronGraphic2 : PlastronGraphic1
{
states
{
Spawn:
MWSZ Q 2
stop
}
}

actor PlastronGraphic3 : PlastronGraphic1
{
states
{
Spawn:
MWSZ P 2
stop
}
}

actor PlastronGraphic4 : PlastronGraphic1
{
states
{
Spawn:
MWSZ Q 2
stop
}
}

actor PlastronGraphic1Big : PlastronGraphic1
{
scale 5.8
}

actor PlastronGraphic2Big : PlastronGraphic2
{
scale 5.8
}

actor PlastronGraphic3Big : PlastronGraphic3
{
scale 5.8
}

actor PlastronGraphic4Big : PlastronGraphic4
{
scale 5.8
}

actor MegaWaterSShieldScreen1 : Powerup
{
Powerup.Color 152 248 240, 0.3
Powerup.Duration -10
}

actor MegaWaterSShieldScreen2 : Powerup
{
Powerup.Color 96 208 224, 0.3
Powerup.Duration -10
}

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

actor Plastron1Countdown : Inventory
{
inventory.amount 1
inventory.maxamount 30
}

actor Plastron2Countdown : Inventory
{
inventory.amount 1
inventory.maxamount 30
}

actor TranceCountdown : Inventory
{
inventory.amount 1
inventory.maxamount 65
}

actor GenesisUnitFakeHealthTrance : Inventory
{
inventory.amount 1
inventory.maxamount 65
}



actor TranceCurseCountdown : Inventory
{
inventory.amount 1
inventory.maxamount 45
}

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



actor BusterRodGRecolorating : CustomInventory
{
States
{
Pickup:
SXH1 A 0 ACS_ExecuteAlways(991,0,940)
stop
}
}

actor MegaWaterSRecolorating : CustomInventory
{
States
{
Pickup:
SXH1 A 0 ACS_ExecuteAlways(991,0,941)
stop
}
}

actor HyperStormHRecolorating : CustomInventory
{
States
{
Pickup:
SXH1 A 0 ACS_ExecuteAlways(991,0,942)
stop
}
}

actor MegaWaterSSuperArmor : PowerupGiver
{
+COUNTITEM
+INVENTORY.AUTOACTIVATE
+INVENTORY.ALWAYSPICKUP
Inventory.MaxAmount 0
Powerup.Type "PowerMegaWaterSResistance"
Powerup.Duration -30
States
{
Spawn:
TNT1 A 1
stop
}
}

actor PowerMegaWaterSResistance : PowerProtection
{
	damagefactor "normal", 0.0
}

actor TranceShieldReceiving : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_PlaySoundEx("MegaWaterS/TranceShielded", "Auto")
stop
}
}

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

actor ClammyHarpoonsUnlockSound : CustomInventory
{
States
{
Pickup:
SXH1 A 0 A_PlaySoundEx("weapon/weaponup", "Auto")
stop
}
}

actor MegaWaterSSuicide : CustomInventory
{
States
{
Pickup:
SXH1 A 0 ACS_ExecuteAlways(400, 0, 327)
stop
}
}

actor RageEnded : GenesisUnitFakeHealth
{
}


actor MegaWaterSHarpoonsCharge : Inventory
{
inventory.amount 1
inventory.maxamount 96
}


actor MegaWaterSWilyCall : CustomInventory
{
States
{
Pickup:
SXH1 A 0 ACS_ExecuteAlways(400, 0, 139)
stop
}
}

actor ClammyHarpoon
{
species "GenesisUnit" +THRUSPECIES +MTHRUSPECIES
Obituary "$OB_CLAMMYHARPOON"
+MISSILE
-RIPPER
+NOGRAVITY
Radius 6
Height 7
scale 2.9
+DONTBLAST
damagetype "BossInstagib"
damage (8)
speed 40
states
{
Spawn:
MWSZ R 1 A_SpawnItemEx("ClammyHarpoonTrail")
loop
Death:
TNT1 A 0 A_SpawnItemEx("CollectableClammyHarpoon", 0, 0, 0, 0, 0, 0)
stop
}
}

actor ClammyHarpoonTrail
{
+NOINTERACTION
+NOGRAVITY
renderstyle "translucent"
alpha 0.9
+CLIENTSIDEONLY
+FORCEXYBILLBOARD
scale 3.2
States
{
Spawn:
TNT1 A 3
TNT1 A 0 A_Jump(256,"Water1","Water2","Water3")
MWSZ MMNNOO 1 A_FadeOut(0.05)
stop
Water1:
MWSZ MMMMMM 1 A_FadeOut(0.05)
stop
Water2:
MWSZ NNNNNN 1 A_FadeOut(0.05)
stop
Water3:
MWSZ OOOOOO 1 A_FadeOut(0.05)
stop
}
}

actor CollectableClammyHarpoon : ClammyHarpoon // Inspired by YamatoMan's NORMALFIRE (YD Classes)
{
species "GenesisUnit" +THRUSPECIES +MTHRUSPECIES
-MISSILE
+DONTBLAST
-NOGRAVITY
reactiontime 320 // ~9 seconds
speed 0
damage (0)
states
{
Spawn:
MWAT W 0 A_CountDown
MWAT W 1 A_JumpIfCloser(80,"Return")
loop
Return:
MWAT W 0 A_GiveToTarget("MegaWaterSPickup",1)
stop
Death:
MWAT W 0
stop
}
}

actor MegaWaterSPickup : CustomInventory
{
inventory.pickupmessage "Picked up a harpoon."
inventory.pickupsound "item/energyup"
inventory.amount 1
inventory.maxamount 1
scale 2.5
+INVENTORY.AUTOACTIVATE
+INVENTORY.QUIET
States
{
Spawn:
TNT1 A 1
stop
Pickup:
DUST B 0 A_GiveInventory("MegaWaterSHarpoonsCharge",3)
DUST B 0 A_PlaySound("item/energyup", 3, 0.75)
DUST B 0
stop
}
}

actor ClammyHarpoonsNaturalChargeSummon : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_SpawnItemEx("ClammyHarpoonsNaturalCharge")
stop
}
}

actor ClammyHarpoonsNaturalCharge
{
PROJECTILE
+NOINTERACTION
+DONTBLAST
+NOBLOCKMAP
states
{
Spawn:
TNT1 A 0
BeingMyself:
TNT1 A 8 A_GiveToTarget("MegaWaterSHarpoonsCharge", 1)
loop
}
}



