actor GrabBusterBoss : BaseMM8BDMWep_CBM 
{
tag "$TAGC_VB"
dropitem "GrabBusterWepCDropped"
Weapon.AmmoUse 0
Weapon.AmmoGive 28
Inventory.Pickupmessage "You picked up the Manifesto of the Communist Party"
Obituary "$OB_MERCURYGRAB"
weapon.ammotype "SeizeAllTheAmmo"
weapon.ammotype2 "MercuryBlobFormAmmo"
States
{
Spawn:
C_0V B 1
loop
Ready:
MRCH A 0 ACS_ExecuteAlways(998,0,DYE_MERCURY)
MRCH A 0 A_GunFlash("Flash",1)
goto Ready1
Ready1:
MRCH A 0 A_JumpIfInventory("Merc_BlobOn_F",1,"ReadyBlob")
MRCH A 0 A_JumpIfInventory("MercuryBlobFormAmmo",60,"Ready2")
MRCH A 2 A_WeaponReady
MRCH A 0 A_GiveInventory("MercuryBlobFormAmmo",2)
goto Ready1+1
Ready2:
MRCH A 0 A_JumpIfInventory("Merc_BlobSwap_F",1,"SwitchBlobOn")//Merc_BlobOn_F
MRCH A 2 A_WeaponReady
MRCH A 0 A_GiveInventory("MercuryBlobFormAmmo",2)
loop

ReadyBlob:
TNT1 A 0 A_JumpIfInventory("Merc_BlobSwap_F",1,"SwitchBlobOff")//Merc_BlobOff_F
TNT1 A 0 A_JumpIfInventory("SeizeAllTheAmmo",4,"ReadyBlob2")
MRCH P 1 A_WeaponReady(14)
TNT1 A 0 A_TakeInventory("MercuryBlobFormAmmo",1,1)
TNT1 A 0 A_JumpIfInventory("MercuryBlobFormAmmo",1,"ReadyBlob")
Goto SwitchBlobOff
ReadyBlob2:
TNT1 A 0 A_JumpIfInventory("Merc_BlobSwap_F",1,"SwitchBlobOff")//Merc_BlobOff_F
MRCH P 1 A_WeaponReady(2)
TNT1 A 0 A_TakeInventory("MercuryBlobFormAmmo",1,1)
TNT1 A 0 A_JumpIfInventory("MercuryBlobFormAmmo",1,"ReadyBlob2")
Goto SwitchBlobOff

SwitchBlobOn:
MRCH B 0 A_GiveInventory("VivifyDelay4",1)
MRCH B 0 A_GunFlash("Flash")
MRCH B 1 Offset(15,38)A_GiveInventory("Mercury_BlobSwapOn_P")

MRCH E 0 A_JumpIf(1,1)/*
MRCH E 0 A_GiveInventory("Merc_BlobOn_F",1)
MRCH E 0 A_TakeInventory("Merc_BlobOff_F")
MRCH E 0 A_TakeInventory("Merc_BlobSwap_F")
*/
MRCH E 2 Offset(15,38)A_TakeInventory("Merc_BlobSwap_F")
MRCH F 2 Offset(15,38)
MRCH G 1 Offset(15,38)
MRCH H 1 Offset(15,44)A_JumpIfInventory("PowerRage_ST",1,1)
MRCH H 1 Offset(18,76)A_GiveInventory("Mercury_BlobSwapOn_P2")
//TNT1 A 0 A_JumpIfInventory("Merc_BlobOn_F",1,"ReadyBlob")
goto ReadyBlob

SwitchBlobOff:
MRCH H 0 A_GunFlash("Flash")
MRCH H 0 A_GiveInventory("Mercury_BlobSwapOff_P",1)
MRCH H 1 Offset(18,76)A_JumpIfInventory("PowerRage_ST",1,1)

MRCH H 0 A_JumpIf(1,1)/*
MRCH H 0 A_GiveInventory("Merc_BlobOff_F",1)
MRCH H 0 A_TakeInventory("Merc_BlobOn_F")
MRCH H 0 A_TakeInventory("Merc_BlobSwap_F")
*/
MRCH H 1 Offset(15,44)A_TakeInventory("Merc_BlobSwap_F")
MRCH G 1 Offset(15,38)
MRCH F 2 Offset(15,38)
MRCH E 2 Offset(15,38)
MRCH B 1 Offset(15,38)A_GiveInventory("Mercury_BlobSwapOff_P2")
//MRCH A 0 A_JumpIfInventory("Merc_BlobOff_F",1,"Ready1")
goto Ready1

Deselect:
MRCH AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower
MRCH A 1 A_Lower
Loop
Select:
MRCH AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise
MRCH A 1 A_Raise
Loop

Fire:
MRCH B 0 A_JumpIfInventory("Merc_BlobOn_F",1,"BlobFire")
MRCH B 2 A_PlaySoundEx("wep_L/MercGrabBuster","Weapon")
MRCH C 0 A_GiveInventory("MercuryMain_CI",1)
MRCH CCBAAA 3
MRCH A 2
MRCH A 1 A_GiveInventory("MercuryBlobFormAmmo",8)
MRCH A 0 A_TakeInventory("Merc_BlobSwap_F")
goto Ready1+1
BlobFire:
MRCH G 1 Offset(18,76)A_PlaySoundEx("weapon/GameBoyFire","Weapon")
MRCH F 1 Offset(15,57)
MRCH E 0 A_TakeInventory("SeizeAllTheAmmo",4,1)
MRCH E 0 A_GiveInventory("MercuryMain2_CI",1)
MRCH EQQEFG 2 Offset(12,38)
MRCH H 2 Offset(12,57)
MRCH P 2 Offset(1,38)A_TakeInventory("MercuryBlobFormAmmo",18,1)
MRCH P 0 A_TakeInventory("Merc_BlobSwap_F")
//MRCH P 0 A_JumpIfInventory("MercuryBlobFormAmmo",1,"ReadyBlob")
Goto ReadyBlob//SwitchBlobOff

Altfire:
MRCH I 0 A_JumpIfInventory("Merc_BlobOn_F",1,"BlobAlt")
MRCH I 0 A_GiveInventory("MercurySnatchDamager_P",1)
MRCH I 0 A_SpawnItemEx("MercurySnatch",cos(pitch)*38,0,14-(sin(pitch)*32),cos(pitch)*velx,vely,0,0,8)
MRCH I 1 A_SpawnItemEx("MercurySnatchFX",cos(pitch)*38,15,36-(sin(pitch)*32),cos(pitch)*velx,vely,0,0,9)
MRCH I 0 A_SpawnItemEx("MercurySnatch",cos(pitch)*38,0,14-(sin(pitch)*32),cos(pitch)*velx,vely,0,0,8)
MRCH I 1 Offset(-19,27)A_SpawnItemEx("MercurySnatchFX",cos(pitch)*38,10,35-(sin(pitch)*32),cos(pitch)*velx,vely,0,0,9)
MRCH J 0 A_SpawnItemEx("MercurySnatch",cos(pitch)*38,0,14-(sin(pitch)*32),cos(pitch)*velx,vely,0,0,8)
MRCH J 1 Offset(1,31)A_SpawnItemEx("MercurySnatchFX",cos(pitch)*38,8,34-(sin(pitch)*32),cos(pitch)*velx,vely,0,0,9)
MRCH J 0 A_SpawnItemEx("MercurySnatch",cos(pitch)*38,0,14-(sin(pitch)*32),cos(pitch)*velx,vely,0,0,8)
MRCH J 1 Offset(-19,34)A_SpawnItemEx("MercurySnatchFX",cos(pitch)*38,3,33-(sin(pitch)*32),cos(pitch)*velx,vely,0,0,9)
MRCH K 0 A_SpawnItemEx("MercurySnatch",cos(pitch)*38,0,14-(sin(pitch)*32),cos(pitch)*velx,vely,0,0,8)
MRCH K 1 Offset(1,31)A_SpawnItemEx("MercurySnatchFX",cos(pitch)*38,-5,32-(sin(pitch)*32),cos(pitch)*velx,vely,0,0,9)
MRCH K 0 A_SpawnItemEx("MercurySnatch",cos(pitch)*38,0,14-(sin(pitch)*32),cos(pitch)*velx,vely,0,0,8)
MRCH K 1 Offset(-46,37)A_SpawnItemEx("MercurySnatchFX",cos(pitch)*38,-12,31-(sin(pitch)*32),cos(pitch)*velx,vely,0,0,9)
MRCH L 0 A_SpawnItemEx("MercurySnatch",cos(pitch)*38,0,14-(sin(pitch)*32),cos(pitch)*velx,vely,0,0,8)
MRCH L 1 Offset(1,31)
MRCH M 1 Offset(1,31)A_SpawnItemEx("MercurySnatch",cos(pitch)*38,0,14-(sin(pitch)*32),cos(pitch)*velx,vely,0,0,8)
MRCH M 1 Offset(-11,53)
MRCH M 1 Offset(-23,76)
TNT1 A 10
MRCH B 2 Offset(-2,57)
MRCH B 4 A_WeaponReady(14)
MRCH A 2
MRCH A 1 A_GiveInventory("MercuryBlobFormAmmo",8)
//MRCH A 0 A_Refire("AltFire")
MRCH A 0 A_TakeInventory("Merc_BlobSwap_F")
goto Ready1+1

BlobAlt:
MRCH R 0 A_GiveInventory("VivifyDelay5")
MRCH R 0 A_GiveInventory("MercuryAltBlobSync_P",1)
MRCH R 0 A_Refire(1)
MRCH R 0 A_PlaySoundEx("weapon/WoodLeap","Weapon")
MRCH R 0 A_ChangeVelocity(cos(pitch)*36,0,-sin(pitch)*20+4,3)
MRCH R 1 A_SpawnItemEX("MercuryCollider",0,0,-8,momx,momy,momz,0,8,0)
MRCH R 0 A_JumpIf(z-floorz==0,"BlobAltEnd")
MRCH R 0 A_JumpIfInventory("Mercury_Slammed_F",1,"BlobAltH")
MRCH R 1 A_SpawnItemEX("MercuryCollider",0,0,-8,momx,momy,momz,0,8,0)
MRCH R 0 A_JumpIf(z-floorz==0,"BlobAltEnd1")
MRCH R 0 A_JumpIfInventory("Mercury_Slammed_F",1,"BlobAltH")
MRCH R 1 A_SpawnItemEX("MercuryCollider",0,0,-8,momx,momy,momz,0,8,0)
MRCH R 0 A_JumpIf(z-floorz==0,"BlobAltEnd1")
MRCH R 0 A_JumpIfInventory("Mercury_Slammed_F",1,"BlobAltH")
MRCH R 1 A_SpawnItemEX("MercuryCollider",0,0,-8,momx,momy,momz,0,8,0)
MRCH R 0 A_JumpIf(z-floorz==0,"BlobAltEnd2")
MRCH R 0 A_JumpIfInventory("Mercury_Slammed_F",1,"BlobAltH")
MRCH R 1 A_SpawnItemEX("MercuryCollider",0,0,-8,momx,momy,momz,0,8,0)
MRCH R 0 A_JumpIf(z-floorz==0,"BlobAltEnd2")
MRCH R 0 A_JumpIfInventory("Mercury_Slammed_F",1,"BlobAltH")
MRCH R 1 A_SpawnItemEX("MercuryCollider",0,0,-8,momx,momy,momz,0,8,0)
MRCH R 0 A_JumpIf(z-floorz==0,"BlobAltEnd3")
MRCH R 0 A_JumpIfInventory("Mercury_Slammed_F",1,"BlobAltH")
MRCH R 1 A_SpawnItemEX("MercuryCollider",0,0,-8,momx,momy,momz,0,8,0)
MRCH R 0 A_JumpIf(z-floorz==0,"BlobAltEnd3")
MRCH R 0 A_JumpIfInventory("Mercury_Slammed_F",1,"BlobAltH")
MRCH R 1 A_SpawnItemEX("MercuryCollider",0,0,-8,momx,momy,momz,0,8,0)
MRCH R 0 A_GiveInventory("SnakeClimbing")
//MRCH R 0 A_JumpIf(momz==0,"BlobAltEnd4")
goto BlobAltLoop
BlobAltLoop://A_TakeInventory("MercuryBlobFormAmmo",1)
MRCH R 0 A_JumpIf(z-floorz==0,"BlobAltH")
MRCH R 0 A_JumpIf(momz==0,"BlobAltLoopZ")
//MRCH R 0 //A_JumpIfInventory("RyuRecoverFlag",110,"Recovered")
MRCH R 0 A_JumpIfInventory("Mercury_Slammed_F",1,"BlobAltH")
MRCH R 0 A_JumpIfInventory("SnakeOnWall",1,"BlobAltEnd4")
MRCH R 0 A_JumpIfInventory("Merc_BlobOff_F",1,"BlobAltEnd4")
MRCH R 1 A_SpawnItemEX("MercuryCollider",0,0,-8,momx,momy,momz,0,8,0)
//MRCH R 1 //A_GiveInventory("RyuRecoverFlag",1)
loop
BlobAltLoopZ:
MRCH R 0 A_JumpIfInventory("Mercury_Slammed_F",1,"BlobAltH")
MRCH R 0 A_JumpIfInventory("SnakeOnWall",1,"BlobAltEnd4")
MRCH R 0 A_JumpIfInventory("Merc_BlobOff_F",1,"BlobAltEnd4")
MRCH R 0 A_SpawnItemEX("MercuryCollider",0,0,-8,momx,momy,momz,0,8,0)
MRCH R 1
MRCH R 0 A_JumpIf(z-floorz==0,"BlobAltH")
MRCH R 0 A_JumpIf(momz==0,"BlobAltH")
goto BlobAltLoop+2

BlobAltH:
MRCH S 0 A_PlaySoundEx("classes/burstpop","Weapon")
MRCH S 0 A_GiveInventory("MercuryAlt_CI",1)
MRCH S 0 A_GiveInventory("Mercury_Slammed_F")
MRCH S 2 A_ScaleVelocity(0.5)//AAA 1 0.25
MRCH T 11 A_GiveInventory("SnakeClimbing")
MRCH H 2 Offset(18,63)
MRCH P 2 Offset(5,38)
MRCH P 0 A_TakeInventory("Merc_BlobSwap_F")
Goto ReadyBlob

BlobAltEnd1:
MRCH S 0 A_GiveInventory("Mercury_Slammed_F")
goto BlobAltEnd+1
BlobAltEnd2:
MRCH S 0 A_GiveInventory("Mercury_Slammed_F")
goto BlobAltEnd+2
BlobAltEnd3:
MRCH S 0 A_GiveInventory("Mercury_Slammed_F")
goto BlobAltEnd+3
BlobAltEnd4:
MRCH S 0 A_GiveInventory("Mercury_Slammed_F")
goto BlobAltEnd+4
BlobAltEnd:
MRCH SSSS 2 A_GiveInventory("Mercury_Slammed_F")
MRCH S 7 A_GiveInventory("SnakeClimbing")
MRCH H 2 Offset(21,57)
MRCH P 2 Offset(4,38)
MRCH P 0 A_TakeInventory("Merc_BlobSwap_F")
Goto ReadyBlob

Flash:
TNT1 A 0 A_JumpIfInventory("IsDead",1,"NoFlash")
TNT1 A 1 A_GiveInventory("MercuryFlashClimb_P",1)
loop
}
}

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

actor MercuryBlobFormAmmo : Ammo
{
inventory.amount 1
inventory.maxamount 280
+INVENTORY.IGNORESKILL
}

actor Merc_BlobOn_F : OnceC{}
actor Merc_BlobOff_F : OnceC{}
actor Merc_BlobSwap_F : OnceC{}

actor Mercury_SwapDelay_F : Powerup
{
powerup.duration 10
}
actor Mercury_Slammed_F : Powerup
{
powerup.duration 5
}

actor PowerMercurySlowSpeed : PowerSpeed
{
powerup.duration 3
Speed 0.8
+POWERSPEED.NOTRAIL
}

actor MercuryBlobItem : BasicClassItem
{
inventory.icon "MercIcon"
inventory.pickupmessage "Power up! Power to... melt!"
Tag "Mercury Blob Toggle"
states
{
Spawn:
MRCH Z 1
loop
Use:
//TNT1 A 0 A_JumpIfInventory("Mercury_SwapDelay_F",1,"No")
TNT1 A 0 A_JumpIfInventory("Merc_BlobOn_F",1,"Use2")
//TNT1 A 0 A_JumpIfInventory("Merc_BlobOff_F",1,"Use1")
//fail
//Use1:
TNT1 A 0 A_JumpIfInventory("MercuryBlobFormAmmo",60,"Use2")
fail
Use2:
TNT1 A 0 A_GiveInventory("Merc_BlobSwap_F",1)
fail
}
}

actor MercuryFlashClimb_P : CustomInventory
{
states
{
Pickup:
TNT1 A 0 A_JumpIfInventory("SnakeClimbing",1,"PickupStart")
goto PickupClimb
PickupStart:
TNT1 A 0 A_SpawnItemEx("MercuryClimbCheck",0,0,16,0,0,34)
goto PickupClimb
PickupClimb:
TNT1 A 0 A_JumpIfInventory("SnakeOnWall",1,"PickupClimbYes")
TNT1 A 0 SetPlayerProperty(0,0,3)
TNT1 A 0 A_TakeInventory("PowerMercurySlowSpeed",1)
stop
PickupClimbYes:
TNT1 A 0 A_JumpIfInventory("FlightDisableFlag",1,2)
TNT1 A 0 SetPlayerProperty(0,1,3)
TNT1 A 0 A_GiveInventory("PowerMercurySlowSpeed",1)
stop
}
}
actor MercuryClimbCheck : SnakeClimbCheck
{
States
{
Death:
TNT1 A 0
TNT1 A 0 A_GiveToTarget("SnakeOnWall",1)
TNT1 A 1
stop
}
}


actor Mercury_BlobSwapOn_P : CustomInventory
{
states
{
Pickup:
TNT1 A 0 A_GiveInventory("Merc_BlobOn_F",1)
TNT1 A 0 A_TakeInventory("Merc_BlobOff_F")
TNT1 A 0 A_TakeInventory("MercuryBlobFormAmmo",18,1)
PickupShare:
TNT1 A 0 A_PlaySoundEx("weapon/PirateBubble","Weapon")
TNT1 A 0 A_TakeInventory("MercuryBlobFormAmmo",2)
TNT1 A 0 A_GiveInventory("Mercury_SwapDelay_F")
stop
}
}
actor Mercury_BlobSwapOn_P2 : CustomInventory
{
states
{
Pickup:
TNT1 A 0 ACS_ExecuteAlways(CORE_ACS_191,0,APROP_Speed,120,100)
TNT1 A 0 ACS_ExecuteAlways(CORE_ACS_191,0,APROP_JumpZ,7,1)
TNT1 A 0 A_GiveInventory("SnakeClimbing",1)
TNT1 A 0 A_TakeInventory("UnSolid")
TNT1 A 0 A_ChangeFlag("SOLID",0)
TNT1 A 0 A_ChangeFlag("THRUSPECIES",1)
TNT1 A 0 A_GiveInventory("Merc_BlobOn_F",1)
TNT1 A 0 A_TakeInventory("Merc_BlobOff_F")
PickupShare:
TNT1 A 0 A_TakeInventory("MercuryBlobFormAmmo",2)
TNT1 A 0 A_TakeInventory("Merc_BlobSwap_F")
stop
}
}

actor Mercury_BlobSwapOff_P : Mercury_BlobSwapOn_P
{
states
{
Pickup:
TNT1 A 0 A_ChangeFlag("THRUSPECIES",0)
TNT1 A 0 A_SpawnItemEx("ResolidifyPlayer_H")
TNT1 A 0 A_GiveInventory("Merc_BlobOff_F",1)
TNT1 A 0 A_TakeInventory("Merc_BlobOn_F")
TNT1 A 0 A_TakeInventory("SnakeClimbing")
goto PickupShare
}
}
actor Mercury_BlobSwapOff_P2 : Mercury_BlobSwapOn_P2
{
states
{
Pickup:
TNT1 A 0 ACS_ExecuteAlways(CORE_ACS_191,0,APROP_Speed,1,1)
TNT1 A 0 ACS_ExecuteAlways(CORE_ACS_191,0,APROP_JumpZ,10,1)
TNT1 A 0 A_TakeInventory("SnakeClimbing")
TNT1 A 0 A_GiveInventory("Merc_BlobOff_F",1)
TNT1 A 0 A_TakeInventory("Merc_BlobOn_F")
goto PickupShare
}
}

actor MercuryAltBlobSync_P : CustomInventory
{
states
{
Pickup:
TNT1 A 0 A_GiveInventory("VivifyDelay5")
TNT1 A 0 A_TakeInventory("SeizeAllTheAmmo",4,1)
TNT1 A 0 A_TakeInventory("SnakeClimbing")
TNT1 A 0 A_JumpIfInventory("SeizeAllTheAmmo",0,2)
TNT1 A 0 A_SpawnItemEx("MercuryBlob1Alt",0,0,0,0,0,0,0,1)
TNT1 A 0
stop
}
}

actor MercuryCollider
{
PROJECTILE
Damagetype "Mercury_Slam"
Obituary "$OB_MERCURYSLAM"
+NOGRAVITY
+SKYEXPLODE
+EXPLODEONWATER
+DONTSPLASH
+DONTBLAST
+THRUGHOST
+DONTREFLECT
damage (0)
Radius 62
Height 72
States
{
Spawn:
TNT1 A 0
TNT1 A 1
TNT1 A 0
stop
XDeath:
TNT1 A 0 A_GiveToTarget("Mercury_Slammed_F",1)
TNT1 A 0
Stop
Death:
TNT1 A 1
Stop
}
}

actor MercurySnatchDamager_P : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_JumpIfInventory("PirateTreasureStack",9999,"StealLife")
TNT1 A 0 A_Jump(1,"StealLifeChance")
goto Pickup2
Pickup2:
TNT1 A 0 A_PlaySoundEx("weapon/SlashClaw","Weapon")
TNT1 A 0 A_FireCustomMissile("MercurySnatchDamager",0,0,0,0)
stop
StealLifeChance:
TNT1 A 0 A_JumpIfInventory("PirateTreasureStack",91,"StealLife")
TNT1 A 0 A_Jump(8,"StealLife")//Shiny Chance
goto Pickup2
StealLife:
TNT1 A 0 A_PlaySoundEx("wep_L/MercShinySwipe","Weapon")
TNT1 A 0 A_FireCustomMissile("MercurySnatchDamager256",0,0,0,0)
stop
}
}

actor MercurySnatchDamager
{
PROJECTILE
damagetype "Mercury_Swipe"
obituary "$OB_MERCURYSWIPE"
+THRUSPECIES
+THRUGHOST
+DONTREFLECT
+DONTBLAST
species "Mercury"
RenderStyle None
damage (50+CallACS("cbm_countinv_snatcher",2))
radius 14
height 28
Speed 0
states
{
Spawn:
TNT1 A 0
TNT1 AAAAAAA 1 A_Warp(2,32,0,16,0,72)
stop
}
}

actor MercurySnatchDamager256 : MercurySnatchDamager
{
damagetype "Mercury_Swipe2"
obituary "$OB_MERCURYSWIPEX"
damage (2000+CallACS("cbm_countinv_snatcher",2)*10)
}

actor MercurySnatchFX
{
PROJECTILE
+CLIENTSIDEONLY
+NOINTERACTION
+FORCEXYBILLBOARD
height 2
radius 2
scale 1.0
states
{
Spawn:
MRCR TSR 1 A_FadeOut(0.25)
stop
}
}

actor MercurySnatch
{
var int user_USER;
-SOLID
+NOGRAVITY
+DONTDRAIN
species "Mercury"
health 1
radius 28
height 32
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_RearrangePointers(0,0,2)
TNT1 A 0 A_ChangeFlag("SHOOTABLE",1)
TNT1 A 0 A_ChangeFlag("DONTRIP",1)
TNT1 A 1
TNT1 A 1
stop
Death:
TNT1 A 0
TNT1 A 0 ACS_NamedExecuteWithResult("cbm_GiveIfPlayerHitMe",501)
TNT1 A 1 A_SpawnItemEx("MercurySnatchBlockD",0,0,0,0,0,0,0,32)
stop
}
}

actor MercurySnatchBlockD
{
PROJECTILE
damagetype "Mercury_Swipe"
obituary "$OB_MERCURYSWIPE"
+DONTBLAST
+DONTREFLECT
+DONTDRAIN
+NOGRAVITY
-NOBLOCKMAP
+SHOOTABLE
+INVULNERABLE
+NORADIUSDMG
+DONTRIP
+NOBLOOD
+THRUSPECIES
species "Mercury"
Damage (0)
radius 28
height 32
speed 0
States
{
Spawn:
TNT1 A 1
stop
}
}

actor MercurySnatchSuccess : Powerup
{
powerup.duration 15
}
actor MercurySnatchPickup : CustomInventory
{
states
{
Pickup:
TNT1 A 0 A_JumpIfInventory("MercurySnatchSuccess",1,"No")
TNT1 A 0 A_GiveInventory("MercurySnatchSuccess",1)
TNT1 A 0 A_PlaySoundEx("item/JunkPick","Body")
TNT1 A 0 A_GiveInventory("SeizeAllTheAmmo",4)
stop
No:
TNT1 A 0
stop
}
}



actor Merc_GrabBuster
{
Translation "192:192=104:104","198:198=128:128"
PROJECTILE
damagetype "Mercury_Shot"
Obituary "$OB_MERCURYGRAB"
+DONTREFLECT
+HITTRACER
+BOUNCEONWALLS
bouncecount 3
Damage (100)
radius 9
height 9
Speed 44
scale 2.5
States
{
Spawn:
TNT1 A 1
MRCR AC 1
MRCR A 0 A_ChangeFlag("BOUNCEONWALLS",0)
MRCR ABCD 3
Goto Spawn+3
Crash:
XDeath:
TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("cbm_istracerenemy"),"Give")
Goto Death
Give:
MRCR A 0 A_FaceTarget
MRCR A 0 A_SpawnItemEx("Merc_GrabBusterChase",0,0,0,30,0,0,frandom(0,360),1)
Death:
MRCR AC 1 A_FadeOut(0.1)
loop
}
}

actor Merc_GrabBusterChase
{
PROJECTILE
+SEEKERMISSILE
+DONTBLAST
+DONTREFLECT
+NOINTERACTION
renderstyle translucent
alpha 0.8
reactiontime 25//135
speed 40//50
scale 1.5
states
{
Spawn:
MRCR U 0
MRCR U 0 ThrustThingZ(0,random(0,35),random(0,1),0)
MRCR U 0 A_RearrangePointers(0,0,AAPTR_TARGET)
MRCR UVUVUV 1
SpawnLoop:
MRCR U 0 A_SpawnItemEx("Merc_GrabBusterChaseFX",0,0,0,0,0,0,0,1)
MRCR U 0 A_FaceTracer(90,90)
MRCR U 0 A_ChangeVelocity(50,0,sin(pitch)*50,3)
MRCR U 1 A_JumpIfCloser(64,"Death")
MRCR V 0 A_SpawnItemEx("Merc_GrabBusterChaseFX",0,0,0,0,0,0,0,1)
MRCR V 1 A_JumpIfCloser(64,"Death")
MRCR U 0 A_SpawnItemEx("Merc_GrabBusterChaseFX",0,0,0,0,0,0,0,1)
MRCR U 0 A_FaceTracer(90,90)
MRCR U 0 A_ChangeVelocity(50,0,sin(pitch)*50,3)
MRCR U 1 A_JumpIfCloser(64,"Death")
MRCR U 0 A_SpawnItemEx("Merc_GrabBusterChaseFX",0,0,0,0,0,0,0,1)
MRCR V 1 A_JumpIfCloser(64,"Death")
MRCR U 0 A_JumpIf(ACS_ExecuteWithResult(C_CHECK_TARGET_OOC)==0,"No")
MRCR U 0 A_CountDown
loop
/*
SpawnOld:
MRCR U 0 A_SetPitch(30)//momz
goto SpawnSlow+2
SpawnSlow:
MRCR U 0 A_JumpIf(Args[4]>=9,"SpawnSpeedStart")
MRCR U 0 A_JumpIfCloser(64,"Death")
MRCR U 0 A_JumpIf(ACS_ExecuteWithResult(C_CHECK_TARGET_OOC)==0,"No")
MRCR U 0 A_SetArg(4,Args[4]+1)
MRCR U 0 A_SpawnItemEx("Merc_GrabBusterChaseFX",0,0,0,0,0,0,0,1)
MRCR U 0 A_FaceTracer(5,2)
MRCR U 1 A_ChangeVelocity(30-3*Args[4],0,sin(pitch)*(30-3*Args[4]),3)//momz*(1-Args[4]*0.05),3)
MRCR V 0 A_FaceTracer(5,2)
MRCR V 1 A_ChangeVelocity(30-3*Args[4],0,sin(pitch)*(30-3*Args[4]),3)
loop
SpawnSpeedStart:
MRCR U 0 A_JumpIfCloser(64,"Death")
MRCR U 0 A_SpawnItemEx("Merc_GrabBusterChaseFX",0,0,0,0,0,0,0,1)
MRCR U 0 A_FaceTracer(6,3)
MRCR U 1 A_ChangeVelocity(6,0,sin(pitch)*6,3)
MRCR V 0 A_FaceTracer(6,3)
MRCR V 1 A_ChangeVelocity(6,0,sin(pitch)*6,3)
goto SpawnSpeed
SpawnSpeed:
MRCR U 0 A_JumpIf(Args[3]>=16,"SpawnL")
MRCR U 0 A_JumpIfCloser(64,"Death")
MRCR U 0 A_JumpIf(ACS_ExecuteWithResult(C_CHECK_TARGET_OOC)==0,"No")
MRCR U 0 A_SetArg(3,Args[3]+1)
MRCR U 0 A_SpawnItemEx("Merc_GrabBusterChaseFX",0,0,0,0,0,0,0,1)
MRCR U 0 A_FaceTracer(6,3)
MRCR U 1 A_ChangeVelocity(3+3*Args[3],0,sin(pitch)*(3+3*Args[3]),3)
MRCR V 0 A_JumpIfCloser(64,"Death")
MRCR V 0 A_FaceTracer(6,3)
MRCR V 1 A_ChangeVelocity(3+3*Args[3],0,sin(pitch)*(3+3*Args[3]),3)
loop

SpawnL:
MRCR U 0 A_JumpIfCloser(64,"Death")
MRCR U 0 A_JumpIf(ACS_ExecuteWithResult(C_CHECK_TARGET_OOC)==0,"No")
MRCR U 0 A_CountDown
//A_SeekerMissile(90,90,2)
MRCR U 0 A_SpawnItemEx("Merc_GrabBusterChaseFX",0,0,0,0,0,0,0,1)
MRCR U 0 A_FaceTracer(90,90)
MRCR U 1 A_ChangeVelocity(50,0,sin(pitch)*50,3)
MRCR V 0 A_JumpIfCloser(64,"Death")
MRCR V 0 A_FaceTracer(90,90)
MRCR V 1 A_ChangeVelocity(50,0,sin(pitch)*50,3)
loop
*/
Death:
TNT1 A 0 A_PlaySoundEx("item/JunkPick","Weapon")
TNT1 A 1 A_GiveToTarget("SeizeAllTheAmmo",2)
stop
No:
TNT1 A 0
stop
}
}

actor Merc_GrabBusterChaseFX : BasicClientside
{
renderstyle translucent
alpha 0.8
scale 1.5
states
{
Spawn:
MRCR UV 1 A_FadeOut(0.05)
loop
}
}

actor Merc_GrabBuster_L : Merc_GrabBuster
{
States
{
Spawn:
TNT1 A 1
MRCR AC 1
MRCR A 0 A_ChangeFlag("BOUNCEONWALLS",0)
MRCR ABCD 3 A_ChangeVelocity(0,8,0,CVF_RELATIVE)
Goto Spawn+3
}
}

actor Merc_GrabBuster_R : Merc_GrabBuster
{
States
{
Spawn:
TNT1 A 1
MRCR AC 1
MRCR A 0 A_ChangeFlag("BOUNCEONWALLS",0)
MRCR ABCD 3 A_ChangeVelocity(0,-8,0,CVF_RELATIVE)
Goto Spawn+3
}
}

actor Merc_GrabBusterB : Merc_GrabBuster{translation "192:192=205:205","198:198=74:74"}
actor Merc_GrabBusterR : Merc_GrabBuster{translation "192:192=171:171","198:198=41:41"}
actor Merc_GrabBusterO : Merc_GrabBuster{translation "192:192=104:104","198:198=128:128"}
actor Merc_GrabBusterP : Merc_GrabBuster{translation "192:192=229:229","198:198=232:232"}

actor Merc_GrabBuster_LB : Merc_GrabBuster_L{translation "192:192=205:205","198:198=74:74"}
actor Merc_GrabBuster_LR : Merc_GrabBuster_L{translation "192:192=171:171","198:198=41:41"}
actor Merc_GrabBuster_LO : Merc_GrabBuster_L{translation "192:192=104:104","198:198=128:128"}
actor Merc_GrabBuster_LP : Merc_GrabBuster_L{translation "192:192=229:229","198:198=232:232"}

actor Merc_GrabBuster_RB : Merc_GrabBuster_R{translation "192:192=205:205","198:198=74:74"}
actor Merc_GrabBuster_RR : Merc_GrabBuster_R{translation "192:192=171:171","198:198=41:41"}
actor Merc_GrabBuster_RO : Merc_GrabBuster_R{translation "192:192=104:104","198:198=128:128"}
actor Merc_GrabBuster_RP : Merc_GrabBuster_R{translation "192:192=229:229","198:198=232:232"}


actor MercurySplashRadius : BasicExplosion
{
Translation "192:192=104:104","198:198=128:128","249:249=130:130"
damagetype "Mercury_Slam"
Obituary "$OB_MERCURYSLAM"
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_Explode(360,128,0,0,24)
TNT1 AAAAAAAA 0 A_SpawnItemEx("MercuryBlobSplashFX",0,0,-24,random(2,8),0,random(4,12),random(0,359),1)
TNT1 A 0 A_SpawnItemEx("MercuryBlobWaveFX",0,0,-28,5,0,0,0,1)
TNT1 A 0 A_SpawnItemEx("MercuryBlobWaveFX",0,0,-28,5,0,0,30,1)
TNT1 A 0 A_SpawnItemEx("MercuryBlobWaveFX",0,0,-28,5,0,0,60,1)
TNT1 A 0 A_SpawnItemEx("MercuryBlobWaveFX",0,0,-28,5,0,0,90,1)
TNT1 A 0 A_SpawnItemEx("MercuryBlobWaveFX",0,0,-28,5,0,0,120,1)
TNT1 A 0 A_SpawnItemEx("MercuryBlobWaveFX",0,0,-28,5,0,0,150,1)
TNT1 A 0 A_SpawnItemEx("MercuryBlobWaveFX",0,0,-28,5,0,0,180,1)
TNT1 A 0 A_SpawnItemEx("MercuryBlobWaveFX",0,0,-28,5,0,0,210,1)
TNT1 A 0 A_SpawnItemEx("MercuryBlobWaveFX",0,0,-28,5,0,0,240,1)
TNT1 A 0 A_SpawnItemEx("MercuryBlobWaveFX",0,0,-28,5,0,0,270,1)
TNT1 A 0 A_SpawnItemEx("MercuryBlobWaveFX",0,0,-28,5,0,0,300,1)
TNT1 A 0 A_SpawnItemEx("MercuryBlobWaveFX",0,0,-28,5,0,0,330,1)
TNT1 A 4
stop
}
}

actor MercurySplashRadiusB : MercurySplashRadius{Translation"192:192=205:205","198:198=74:74","249:249=199:199"}
actor MercurySplashRadiusR : MercurySplashRadius{Translation"192:192=171:171","198:198=41:41","249:249=43:43"}
actor MercurySplashRadiusO : MercurySplashRadius{Translation"192:192=104:104","198:198=128:128","249:249=131:131"}
actor MercurySplashRadiusP : MercurySplashRadius{Translation"192:192=229:229","198:198=232:232","249:249=223:223"}

actor MercuryBlobSplashRadius : MercurySplashRadius
{
damagetype "Mercury_Blob"
Obituary "$OB_MERCURYBLOB"
states
{
Spawn:
TNT1 A 0
TNT1 A 2 A_Explode(180,128,0,0,10)
TNT1 AAAAAAAA 0 A_SpawnItemEx("MercuryBlobSplashFX",0,0,4,random(2,8),0,random(4,12),random(0,359),1)
TNT1 A 2
stop
}
}
actor MercuryBlobSplashRadius2 : MercurySplashRadius
{
damagetype "Mercury_Blob"
Obituary "$OB_MERCURYBLOB"
states
{
Spawn:
TNT1 A 0
TNT1 A 0 A_Explode(180,128,0,0,10)
goto Super::Spawn+2
}
}
actor MercuryBlobSplashRadiusW : MercuryBlobSplashRadius
{
states
{
Spawn:
TNT1 A 0
TNT1 A 2 A_Explode(90,128,0,0,10)
TNT1 AAAA 0 A_SpawnItemEx("MercuryBlobSplashFX",0,0,4,random(2,8),0,random(4,12),random(0,359),1)
TNT1 A 2
stop
}
}

actor MercuryContactDamage : BasicExplosion
{
damagetype "Mercury_Slam"
Obituary "$OB_MERCURYSLAM"
States
{
Spawn:
TNT1 A 0
TNT1 A 2 A_Explode(20,96,0,0,2)
stop
}
}

actor MercuryBlobSplashFX
{
+MISSILE
-NOGRAVITY
+DONTBLAST
+THRUACTORS
+DONTSPLASH
+CLIENTSIDEONLY
Damage (0)
Height 2
Radius 2
Speed 5
Scale 2.5
States
{
Spawn:
TNT1 A 1
MRCR AC 2
Goto Spawn+1
Death:
MRCR A 0 A_SetScale(scaleX-0.15) 
MRCR A 1 A_FadeOut(0.1)
MRCR C 0 A_SetScale(scaleX-0.15) 
MRCR C 1 A_FadeOut(0.1)
loop
}
}


actor MercuryBlobWaveFX : MercuryBlobSplashFX
{
+NOGRAVITY
renderstyle translucent
alpha 0.7
Speed 15
Scale 1.5
States
{
Spawn:
DUOR T 0
DUOR TTTTTTTTTTTT 1 A_SetScale(1.5,scaleY-0.08) 
DUOR T 1 A_FadeOut(0.5)
wait
Death:
TNT1 A 0
stop
}
}

actor MercuryBlob1
{
Translation "192:192=104:104","198:198=128:128","249:249=130:130"
PROJECTILE
damagetype "Mercury_Blob"
Obituary "$OB_MERCURYBLOB"
-NOGRAVITY
+NOEXPLODEFLOOR
+EXPLODEONWATER
+DONTREFLECT
+NOTARGETSWITCH
+THRUSPECIES

/*
Bouncetype Classic
-BOUNCEONWALLS
-BOUNCEONFLOORS
-BOUNCEONCEILINGS
-ALLOWBOUNCEONACTORS
+CANBOUNCEWATER
BounceFactor 1.0
WallBounceFactor 1.0

//bouncecount 5*/
reactiontime 37
species "Mercury"
Damage (100)
radius 13
height 13
speed 1
scale 2.5
States
{
Spawn:
TNT1 A 0
MRCR EFGF 2
MRCR E 0 A_CheckFloor("Spawn2")
Fall:
MRCR EFGF 1 A_CheckFloor("Landing")
loop
Landing:
MRCR E 0 //A_GiveInventory("ResyncPickup",1)
MRCR E 0 A_PlaySoundEx("classes/burstpop","Weapon")
MRCR E 0 A_SpawnItemEx("MercuryBlobSplashRadius2",0,0,28,0,0,0,0,1)
MRCR EF 1
goto Spawn2
Spawn2:
MRCR E 0 //A_GiveInventory("ResyncPickup",1)
MRCR EEE 1 A_JumpIfCloser(56,"Give")
MRCR F 0 A_JumpIfInTargetInventory("Merc_BlobOff_F",1,"Home")
MRCR FFF 1 A_JumpIfCloser(56,"Give")
MRCR G 0 A_JumpIfInTargetInventory("Merc_BlobOff_F",1,"Home")
MRCR GGG 1 A_JumpIfCloser(56,"Give")
MRCR F 0 A_JumpIfInTargetInventory("Merc_BlobOff_F",1,"Home")
MRCR FFF 1 A_JumpIfCloser(56,"Give")
MRCR E 0 A_JumpIf(ACS_ExecuteWithResult(C_CHECK_TARGET_OOC)==0,"DeathOOC")
MRCR E 0 A_JumpIfInTargetInventory("Merc_BlobOff_F",1,"Home")
goto Spawn2+1
Give:
TNT1 A 0 A_ChangeFlag("NOINTERACTION",1)
TNT1 A 0 A_PlaySoundEx("item/JunkPick","Body")
TNT1 A 1 A_GiveToTarget("SeizeAllTheAmmo",4)
stop
Home:
MRCR E 0 A_ChangeFlag("FLOORHUGGER",1)
MRCR E 0 A_ChangeFlag("BOUNCEONWALLS",1)
MRCR E 0 A_FaceTarget
MRCR E 0 A_ChangeVelocity(44,0,0,3)
MRCR EEE 1 A_JumpIfCloser(56,"Give")
MRCR E 0 A_CountDown
MRCR E 0 A_FaceTarget
MRCR F 0 A_ChangeVelocity(44,0,0,3)
MRCR FFF 1 A_JumpIfCloser(56,"Give")
MRCR E 0 A_CountDown
MRCR E 0 A_FaceTarget
MRCR G 0 A_ChangeVelocity(44,0,0,3)
MRCR GGG 1 A_JumpIfCloser(56,"Give")
MRCR E 0 A_CountDown
MRCR E 0 A_FaceTarget
MRCR F 0 A_ChangeVelocity(44,0,0,3)
MRCR FFF 1 A_JumpIfCloser(56,"Give")
MRCR E 0 A_CountDown
MRCR E 0 A_JumpIf(ACS_ExecuteWithResult(C_CHECK_TARGET_OOC)==0,"DeathOOC")
goto Home+2
DeathOOC:
TNT1 A 1 A_CountdownArg(0)
wait
Death:
TNT1 A 0 A_PlaySoundEx("classes/burstpop","Weapon")
TNT1 AAAAAAAA 0 A_SpawnItemEx("MercuryBlobSplashFX",0,0,4,random(2,8),0,random(4,12),random(0,359),1)
TNT1 A 0 A_SpawnItemEx("MercuryBlob1ReturnHit",0,0,0,0,0,0,0,1)
TMFX ABCD 4
stop
}
}

actor MercuryBlob1Alt : MercuryBlob1
{
+THRUACTORS
States
{
Spawn:
TNT1 A 0
MRCR EFGF 2
MRCR E 0 A_ChangeFlag("THRUACTORS",0)
MRCR E 0 A_CheckFloor("Spawn2")
Goto Fall
}
}

actor MercuryBlob1Return : MercuryBlob1
{
States
{
Spawn:
MRCR E 0
goto Home
}
}

actor MercuryBlob1ReturnHit : MercuryBlob1
{
+THRUACTORS
+DONTBLAST
RenderStyle Translucent
Alpha 0.75
States
{
Spawn:
MRCR E 0
goto Home
Give:
TNT1 A 0 A_ChangeFlag("NOINTERACTION",1)
TNT1 A 0 A_PlaySoundEx("item/JunkPick","Body")
TNT1 A 1 A_GiveToTarget("SeizeAllTheAmmo",3)
stop
Death:
TNT1 A 0 A_PlaySoundEx("classes/burstpop","Weapon")
TNT1 AAAAAAAA 0 A_SpawnItemEx("MercuryBlobSplashFX",0,0,4,random(2,8),0,random(4,12),random(0,359),1)
TMFX ABCD 4
stop
}
}

actor MercuryBlob2
{
Translation "192:192=104:104","198:198=128:128","249:249=130:130"
PROJECTILE
damagetype "Mercury_Blob"
Obituary "$OB_MERCURYBLOB"
BounceSound "weapon/BubbleBounce"
-NOGRAVITY
+DONTREFLECT
+NOTARGETSWITCH
+THRUSPECIES
+BOUNCEONWALLS
+BOUNCEONFLOORS
+BOUNCEONCEILINGS
+CANBOUNCEWATER
+USEBOUNCESTATE
species "Mercury"
bouncecount 5
reactiontime 50
Damage (100)
radius 13
height 13
speed 38
scale 2.5
States
{
Spawn:
MRCR EEE 1
MRCR F 0 A_JumpIfInTargetInventory("Merc_BlobOff_F",1,"SpawnR")
MRCR FFF 1
MRCR G 0 A_JumpIfInTargetInventory("Merc_BlobOff_F",1,"SpawnR")
MRCR GGG 1
MRCR F 0 A_JumpIfInTargetInventory("Merc_BlobOff_F",1,"SpawnR")
MRCR FFF 1
MRCR E 0 A_JumpIf(ACS_ExecuteWithResult(C_CHECK_TARGET_OOC)==0,"DeathOOC")
MRCR E 0 A_JumpIfInTargetInventory("Merc_BlobOff_F",1,"SpawnR")
MRCR E 0 A_CountDown
loop
SpawnGive:
MRCR EEE 1 A_JumpIfCloser(56,"Give")
MRCR F 0 A_JumpIfInTargetInventory("Merc_BlobOff_F",1,"SpawnR")
MRCR FFF 1 A_JumpIfCloser(56,"Give")
MRCR G 0 A_JumpIfInTargetInventory("Merc_BlobOff_F",1,"SpawnR")
MRCR GGG 1 A_JumpIfCloser(56,"Give")
MRCR F 0 A_JumpIfInTargetInventory("Merc_BlobOff_F",1,"SpawnR")
MRCR FFF 1 A_JumpIfCloser(56,"Give")
MRCR E 0 A_JumpIf(ACS_ExecuteWithResult(C_CHECK_TARGET_OOC)==0,"DeathOOC")
MRCR E 0 A_JumpIfInTargetInventory("Merc_BlobOff_F",1,"SpawnR")
MRCR E 0 A_CountDown
loop
Bounce:
MRCR E 0 A_PlaySoundEx("classes/burstpop","Weapon")
MRCR E 0 A_JumpIfInventory("VivifyDelay8",1,"WeakBounce")
MRCR E 0 A_GiveInventory("VivifyDelay8",1)
MRCR E 0 A_SpawnItemEx("MercuryBlobSplashRadius",0,0,8,0,0,0,0,1)
Goto SpawnGive
WeakBounce:
MRCR E 0 A_SpawnItemEx("MercuryBlobSplashRadiusW",0,0,8,0,0,0,0,1)
Goto SpawnGive
SpawnR:
MRCR E 0 A_SpawnItemEx("MercuryBlob1Return",0,0,0,0,0,0,0,1)
stop
Give:
TNT1 A 0 A_ChangeFlag("NOINTERACTION",1)
TNT1 A 0 A_ChangeFlag("USEBOUNCESTATE",0)
TNT1 A 0 A_PlaySoundEx("item/JunkPick","Body")
TNT1 A 1 A_GiveToTarget("SeizeAllTheAmmo",4)
stop
DeathOOC:
TNT1 A 1 A_CountdownArg(0,"XDeath")
wait
Crash:
XDeath:
TNT1 A 0 A_PlaySoundEx("classes/burstpop","Weapon")
TNT1 AAAAAAAA 0 A_SpawnItemEx("MercuryBlobSplashFX",0,0,4,random(2,8),0,random(4,12),random(0,359),1)
TNT1 A 0 A_SpawnItemEx("MercuryBlob1ReturnHit",0,0,0,0,0,0,0,1)
TMFX ABCD 4
stop
Death:
TNT1 A 0 A_JumpIfInTargetInventory("SeizeAllTheAmmo",0,2)
TNT1 A 0 A_SpawnItemEx("MercuryBlob1",0,0,0,0,0,0,0,1)
TNT1 A 1
stop
}
}

actor MercuryBlob2B : MercuryBlob2{Translation"192:192=205:205","198:198=74:74","249:249=199:199"}
actor MercuryBlob2R : MercuryBlob2{Translation"192:192=171:171","198:198=41:41","249:249=43:43"}
actor MercuryBlob2O : MercuryBlob2{Translation"192:192=104:104","198:198=128:128","249:249=131:131"}
actor MercuryBlob2P : MercuryBlob2{Translation"192:192=229:229","198:198=232:232","249:249=223:223"}


actor MercuryMain_CI : TeamColor_CI
{
states
{
FireX:
TNT1 A 0 A_FireCustomMissile("Merc_GrabBuster_L",-18,0,8,0)
TNT1 A 0 A_FireCustomMissile("Merc_GrabBuster",0,0,8,0)
TNT1 A 0 A_FireCustomMissile("Merc_GrabBuster_R",18,0,8,0)
goto Done
FireB:
TNT1 A 0 A_FireCustomMissile("Merc_GrabBuster_LB",-18,0,8,0)
TNT1 A 0 A_FireCustomMissile("Merc_GrabBusterB",0,0,8,0)
TNT1 A 0 A_FireCustomMissile("Merc_GrabBuster_RB",18,0,8,0)
goto Done
FireR:
TNT1 A 0 A_FireCustomMissile("Merc_GrabBuster_LR",-18,0,8,0)
TNT1 A 0 A_FireCustomMissile("Merc_GrabBusterR",0,0,8,0)
TNT1 A 0 A_FireCustomMissile("Merc_GrabBuster_RR",18,0,8,0)
goto Done
FireO:
TNT1 A 0 A_FireCustomMissile("Merc_GrabBuster_LO",-18,0,8,0)
TNT1 A 0 A_FireCustomMissile("Merc_GrabBusterO",0,0,8,0)
TNT1 A 0 A_FireCustomMissile("Merc_GrabBuster_RO",18,0,8,0)
goto Done
FireP:
TNT1 A 0 A_FireCustomMissile("Merc_GrabBuster_LP",-18,0,8,0)
TNT1 A 0 A_FireCustomMissile("Merc_GrabBusterP",0,0,8,0)
TNT1 A 0 A_FireCustomMissile("Merc_GrabBuster_RP",18,0,8,0)
goto Done
}
}

actor MercuryMain2_CI : TeamColor_CI
{
states
{
FireX:
TNT1 A 0 A_FireCustomMissile("MercuryBlob2",0,0,0,0)
goto Done
FireB:
TNT1 A 0 A_FireCustomMissile("MercuryBlob2B",0,0,0,0)
goto Done
FireR:
TNT1 A 0 A_FireCustomMissile("MercuryBlob2R",0,0,0,0)
goto Done
FireO:
TNT1 A 0 A_FireCustomMissile("MercuryBlob2O",0,0,0,0)
goto Done
FireP:
TNT1 A 0 A_FireCustomMissile("MercuryBlob2P",0,0,0,0)
goto Done
}
}

actor MercuryAlt_CI : TeamColor_CI
{
states
{
FireX:
TNT1 A 0 A_FireCustomMissile("MercurySplashRadius",0,0,0,0)
goto Done
FireB:
TNT1 A 0 A_FireCustomMissile("MercurySplashRadiusB",0,0,0,0)
goto Done
FireR:
TNT1 A 0 A_FireCustomMissile("MercurySplashRadiusR",0,0,0,0)
goto Done
FireO:
TNT1 A 0 A_FireCustomMissile("MercurySplashRadiusO",0,0,0,0)
goto Done
FireP:
TNT1 A 0 A_FireCustomMissile("MercurySplashRadiusP",0,0,0,0)
goto Done
}
}


