actor BasicHitBase
{
Height 0
Radius 0
+NOINTERACTION
-SOLID
+NOGRAVITY
+MISSILE
States
{
Spawn:
TNT1 A 0
TNT1 A 0 //A_GiveToTarget("RollHitPickup",1)
stop
}
}

actor BasicPoisonBase
{
var int user_HIT;
var int user_SOURCE;
var int user_AMOUNT;
Height 0
Radius 0
+NOINTERACTION
+NOCLIP
+SEEKERMISSILE
PROJECTILE
States
{
Death:
TNT1 A 0
stop
}
}

actor BasicHitBaseF : BasicHitBase
{
var int user_HIT;
//var int user_power;
}

actor CollideFlag : OnceC{}

actor ForceEndPoisonFlag : OnceC{}

actor C_PSN2 : PowerUp{Powerup.Duration -2}
actor C_PSN3 : PowerUp{Powerup.Duration -3}
actor C_PSN4 : PowerUp{Powerup.Duration -4}
actor C_PSN5 : PowerUp{Powerup.Duration -5}
actor C_PSN6 : PowerUp{Powerup.Duration -6}

//General idea/method by JaxOf7

//Bonus Damage

//Bonus Damage

actor WilyFireBurn_PSNFlag : OnceC{}
actor WilyFireBurn_PSN : C_PSN2{}
actor WilyFireBurn_PSN0 : C_PSN2{}//Online desync

actor WilyFireBurn_PSN1000:C_PSN2{}actor WilyFireBurn_PSN1001:C_PSN2{}actor WilyFireBurn_PSN1002:C_PSN2{}actor WilyFireBurn_PSN1003:C_PSN2{}actor WilyFireBurn_PSN1004:C_PSN2{}actor WilyFireBurn_PSN1005:C_PSN2{}actor WilyFireBurn_PSN1006:C_PSN2{}actor WilyFireBurn_PSN1007:C_PSN2{}
actor WilyFireBurn_PSN1008:C_PSN2{}actor WilyFireBurn_PSN1009:C_PSN2{}actor WilyFireBurn_PSN1010:C_PSN2{}actor WilyFireBurn_PSN1011:C_PSN2{}actor WilyFireBurn_PSN1012:C_PSN2{}actor WilyFireBurn_PSN1013:C_PSN2{}actor WilyFireBurn_PSN1014:C_PSN2{}actor WilyFireBurn_PSN1015:C_PSN2{}
actor WilyFireBurn_PSN1016:C_PSN2{}actor WilyFireBurn_PSN1017:C_PSN2{}actor WilyFireBurn_PSN1018:C_PSN2{}actor WilyFireBurn_PSN1019:C_PSN2{}actor WilyFireBurn_PSN1020:C_PSN2{}actor WilyFireBurn_PSN1021:C_PSN2{}actor WilyFireBurn_PSN1022:C_PSN2{}actor WilyFireBurn_PSN1023:C_PSN2{}
actor WilyFireBurn_PSN1024:C_PSN2{}actor WilyFireBurn_PSN1025:C_PSN2{}actor WilyFireBurn_PSN1026:C_PSN2{}actor WilyFireBurn_PSN1027:C_PSN2{}actor WilyFireBurn_PSN1028:C_PSN2{}actor WilyFireBurn_PSN1029:C_PSN2{}actor WilyFireBurn_PSN1030:C_PSN2{}actor WilyFireBurn_PSN1031:C_PSN2{}
actor WilyFireBurn_PSN1032:C_PSN2{}actor WilyFireBurn_PSN1033:C_PSN2{}actor WilyFireBurn_PSN1034:C_PSN2{}actor WilyFireBurn_PSN1035:C_PSN2{}actor WilyFireBurn_PSN1036:C_PSN2{}actor WilyFireBurn_PSN1037:C_PSN2{}actor WilyFireBurn_PSN1038:C_PSN2{}actor WilyFireBurn_PSN1039:C_PSN2{}
actor WilyFireBurn_PSN1040:C_PSN2{}actor WilyFireBurn_PSN1041:C_PSN2{}actor WilyFireBurn_PSN1042:C_PSN2{}actor WilyFireBurn_PSN1043:C_PSN2{}actor WilyFireBurn_PSN1044:C_PSN2{}actor WilyFireBurn_PSN1045:C_PSN2{}actor WilyFireBurn_PSN1046:C_PSN2{}actor WilyFireBurn_PSN1047:C_PSN2{}
actor WilyFireBurn_PSN1048:C_PSN2{}actor WilyFireBurn_PSN1049:C_PSN2{}actor WilyFireBurn_PSN1050:C_PSN2{}actor WilyFireBurn_PSN1051:C_PSN2{}actor WilyFireBurn_PSN1052:C_PSN2{}actor WilyFireBurn_PSN1053:C_PSN2{}actor WilyFireBurn_PSN1054:C_PSN2{}actor WilyFireBurn_PSN1055:C_PSN2{}
actor WilyFireBurn_PSN1056:C_PSN2{}actor WilyFireBurn_PSN1057:C_PSN2{}actor WilyFireBurn_PSN1058:C_PSN2{}actor WilyFireBurn_PSN1059:C_PSN2{}actor WilyFireBurn_PSN1060:C_PSN2{}actor WilyFireBurn_PSN1061:C_PSN2{}actor WilyFireBurn_PSN1062:C_PSN2{}actor WilyFireBurn_PSN1063:C_PSN2{}


actor PainDrWily_FireHit : BasicPoisonBase
{
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_SetUserVar("user_AMOUNT",1)//How much poison is given in tics. (1 if a powerup)
TNT1 A 0 A_SetUserVar("user_HIT",ACS_ExecuteWithResult(257,0))//Record who was hit
TNT1 A 0 A_TransferPointer(2,0,2,2)//Make this projectile the shooters
TNT1 A 0 A_SetUserVar("user_SOURCE", ACS_ExecuteWithResult(257,0))//Record the original shooter
TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(C_POISONFOLLOW,user_HIT,-1,user_SOURCE)>=1, "Death")
//^^Give player specific inventory based on who hit them, and also kills this actor if they already have that inventory
TNT1 A 0 ACS_ExecuteAlways(C_POISONFOLLOW,0,user_HIT,200,user_SOURCE)//Makes this actor track/follow the person hit (Check ACS for more info)
//^^This is Powerup track with following
TNT1 A 0 A_GiveInventory("WeaponCharge",50)//Duration between damage in tics
Goto DoT
DoT:
TNT1 A 0 A_SpawnItemEX("WilyTackleFireFX1",0,0,12,0,0,0,0,1)//From here you can do what for this actor while it tracks the Hit player.
TNT1 A 1 A_JumpIfInventory("CollideFlag",1,"Death")//If the Hit Player is out of poison time, this flag will be given to end this actor
TNT1 A 0 A_SpawnItemEX("WilyTackleFireFX1",0,0,12,0,0,0,0,1)
TNT1 A 1 A_JumpIfInventory("CollideFlag",1,"Death")
TNT1 A 0 A_SpawnItemEX("WilyTackleFireFX1",0,0,12,0,0,0,0,1)
TNT1 A 1 A_JumpIfInventory("CollideFlag",1,"Death")
TNT1 A 0 A_SpawnItemEX("WilyTackleFireFX1",0,0,12,0,0,0,0,1)
TNT1 A 1 A_JumpIfInventory("CollideFlag",1,"Death")
TNT1 A 0 A_SpawnItemEX("WilyTackleFireFX2",0,0,12,0,0,0,0,1)
TNT1 A 1 A_JumpIfInventory("CollideFlag",1,"Death")
TNT1 A 0 A_SpawnItemEX("WilyTackleFireFX2",0,0,12,0,0,0,0,1)
TNT1 A 1 A_JumpIfInventory("CollideFlag",1,"Death")
TNT1 A 0 A_SpawnItemEX("WilyTackleFireFX2",0,0,12,0,0,0,0,1)
TNT1 A 1 A_JumpIfInventory("CollideFlag",1,"Death")
TNT1 A 0 A_SpawnItemEX("WilyTackleFireFX2",0,0,12,0,0,0,0,1)
TNT1 A 1 A_JumpIfInventory("CollideFlag",1,"Death")

TNT1 A 0 Thing_Move(0,user_HIT,1)//While this poison actor is following the player, its not following at the same rate online.
//So the above will guarantee the below will spawn directly on the poisoned target.
TNT1 A 0 A_SpawnItemEX("WilyFireCollide",0,0,28)//The main damager
loop
}
}

actor MegaFireBall_PSNFlag : OnceC{}
actor MegaFireBall_PSN : C_PSN3{}
actor MegaFireBall_PSN0 : C_PSN3{}//Online desync

actor MegaFireBall_PSN1000:C_PSN3{}actor MegaFireBall_PSN1001:C_PSN3{}actor MegaFireBall_PSN1002:C_PSN3{}actor MegaFireBall_PSN1003:C_PSN3{}actor MegaFireBall_PSN1004:C_PSN3{}actor MegaFireBall_PSN1005:C_PSN3{}actor MegaFireBall_PSN1006:C_PSN3{}actor MegaFireBall_PSN1007:C_PSN3{}
actor MegaFireBall_PSN1008:C_PSN3{}actor MegaFireBall_PSN1009:C_PSN3{}actor MegaFireBall_PSN1010:C_PSN3{}actor MegaFireBall_PSN1011:C_PSN3{}actor MegaFireBall_PSN1012:C_PSN3{}actor MegaFireBall_PSN1013:C_PSN3{}actor MegaFireBall_PSN1014:C_PSN3{}actor MegaFireBall_PSN1015:C_PSN3{}
actor MegaFireBall_PSN1016:C_PSN3{}actor MegaFireBall_PSN1017:C_PSN3{}actor MegaFireBall_PSN1018:C_PSN3{}actor MegaFireBall_PSN1019:C_PSN3{}actor MegaFireBall_PSN1020:C_PSN3{}actor MegaFireBall_PSN1021:C_PSN3{}actor MegaFireBall_PSN1022:C_PSN3{}actor MegaFireBall_PSN1023:C_PSN3{}
actor MegaFireBall_PSN1024:C_PSN3{}actor MegaFireBall_PSN1025:C_PSN3{}actor MegaFireBall_PSN1026:C_PSN3{}actor MegaFireBall_PSN1027:C_PSN3{}actor MegaFireBall_PSN1028:C_PSN3{}actor MegaFireBall_PSN1029:C_PSN3{}actor MegaFireBall_PSN1030:C_PSN3{}actor MegaFireBall_PSN1031:C_PSN3{}
actor MegaFireBall_PSN1032:C_PSN3{}actor MegaFireBall_PSN1033:C_PSN3{}actor MegaFireBall_PSN1034:C_PSN3{}actor MegaFireBall_PSN1035:C_PSN3{}actor MegaFireBall_PSN1036:C_PSN3{}actor MegaFireBall_PSN1037:C_PSN3{}actor MegaFireBall_PSN1038:C_PSN3{}actor MegaFireBall_PSN1039:C_PSN3{}
actor MegaFireBall_PSN1040:C_PSN3{}actor MegaFireBall_PSN1041:C_PSN3{}actor MegaFireBall_PSN1042:C_PSN3{}actor MegaFireBall_PSN1043:C_PSN3{}actor MegaFireBall_PSN1044:C_PSN3{}actor MegaFireBall_PSN1045:C_PSN3{}actor MegaFireBall_PSN1046:C_PSN3{}actor MegaFireBall_PSN1047:C_PSN3{}
actor MegaFireBall_PSN1048:C_PSN3{}actor MegaFireBall_PSN1049:C_PSN3{}actor MegaFireBall_PSN1050:C_PSN3{}actor MegaFireBall_PSN1051:C_PSN3{}actor MegaFireBall_PSN1052:C_PSN3{}actor MegaFireBall_PSN1053:C_PSN3{}actor MegaFireBall_PSN1054:C_PSN3{}actor MegaFireBall_PSN1055:C_PSN3{}
actor MegaFireBall_PSN1056:C_PSN3{}actor MegaFireBall_PSN1057:C_PSN3{}actor MegaFireBall_PSN1058:C_PSN3{}actor MegaFireBall_PSN1059:C_PSN3{}actor MegaFireBall_PSN1060:C_PSN3{}actor MegaFireBall_PSN1061:C_PSN3{}actor MegaFireBall_PSN1062:C_PSN3{}actor MegaFireBall_PSN1063:C_PSN3{}


actor PainMegaFireBallHit : BasicPoisonBase//Spawned from MegaFireBall
{
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_SetUserVar("user_AMOUNT",1)
//TNT1 A 0 A_SetUserVar("user_HIT",ACS_ExecuteWithResult(257,0))
//TNT1 A 0 A_TransferPointer(2,0,2,2)
//TNT1 A 0 A_SetUserVar("user_SOURCE", ACS_ExecuteWithResult(257,0))
TNT1 A 0 A_SetUserVar("user_HIT",CallACS("cbm_GetPointerTID_147",8))
TNT1 A 0 A_SetUserVar("user_SOURCE",CallACS("cbm_GetPointerTID_147",2))
TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(C_POISONFOLLOW,user_HIT,-2,user_SOURCE)>=1, "Death")
TNT1 A 0 ACS_ExecuteAlways(C_POISONFOLLOW,0,user_HIT,301,user_SOURCE)

Goto DoT
DoT://15
TNT1 AAAAAAAAAAAAAAA 1 A_JumpIfInventory("CollideFlag",1,"Death")

TNT1 A 0 Thing_Move(0,user_HIT,1)
TNT1 AAAAAAAAAA 0 A_SpawnItemEx("MagmamanBitFX2",random(4,18),0,random(16,40),frandom(1,4),0,frandom(0,2),random(0,359),1)
TNT1 A 0 A_SpawnItemEX("RockFireBallBurn",0,0,28)//The main damager
loop
}
}

actor LightRyuFire_PSNFlag : OnceC{}
actor LightRyuFire_PSN : C_PSN3{}
actor LightRyuFire_PSN0 : C_PSN3{}//Online desync

actor LightRyuFire_PSN1000:C_PSN3{}actor LightRyuFire_PSN1001:C_PSN3{}actor LightRyuFire_PSN1002:C_PSN3{}actor LightRyuFire_PSN1003:C_PSN3{}actor LightRyuFire_PSN1004:C_PSN3{}actor LightRyuFire_PSN1005:C_PSN3{}actor LightRyuFire_PSN1006:C_PSN3{}actor LightRyuFire_PSN1007:C_PSN3{}
actor LightRyuFire_PSN1008:C_PSN3{}actor LightRyuFire_PSN1009:C_PSN3{}actor LightRyuFire_PSN1010:C_PSN3{}actor LightRyuFire_PSN1011:C_PSN3{}actor LightRyuFire_PSN1012:C_PSN3{}actor LightRyuFire_PSN1013:C_PSN3{}actor LightRyuFire_PSN1014:C_PSN3{}actor LightRyuFire_PSN1015:C_PSN3{}
actor LightRyuFire_PSN1016:C_PSN3{}actor LightRyuFire_PSN1017:C_PSN3{}actor LightRyuFire_PSN1018:C_PSN3{}actor LightRyuFire_PSN1019:C_PSN3{}actor LightRyuFire_PSN1020:C_PSN3{}actor LightRyuFire_PSN1021:C_PSN3{}actor LightRyuFire_PSN1022:C_PSN3{}actor LightRyuFire_PSN1023:C_PSN3{}
actor LightRyuFire_PSN1024:C_PSN3{}actor LightRyuFire_PSN1025:C_PSN3{}actor LightRyuFire_PSN1026:C_PSN3{}actor LightRyuFire_PSN1027:C_PSN3{}actor LightRyuFire_PSN1028:C_PSN3{}actor LightRyuFire_PSN1029:C_PSN3{}actor LightRyuFire_PSN1030:C_PSN3{}actor LightRyuFire_PSN1031:C_PSN3{}
actor LightRyuFire_PSN1032:C_PSN3{}actor LightRyuFire_PSN1033:C_PSN3{}actor LightRyuFire_PSN1034:C_PSN3{}actor LightRyuFire_PSN1035:C_PSN3{}actor LightRyuFire_PSN1036:C_PSN3{}actor LightRyuFire_PSN1037:C_PSN3{}actor LightRyuFire_PSN1038:C_PSN3{}actor LightRyuFire_PSN1039:C_PSN3{}
actor LightRyuFire_PSN1040:C_PSN3{}actor LightRyuFire_PSN1041:C_PSN3{}actor LightRyuFire_PSN1042:C_PSN3{}actor LightRyuFire_PSN1043:C_PSN3{}actor LightRyuFire_PSN1044:C_PSN3{}actor LightRyuFire_PSN1045:C_PSN3{}actor LightRyuFire_PSN1046:C_PSN3{}actor LightRyuFire_PSN1047:C_PSN3{}
actor LightRyuFire_PSN1048:C_PSN3{}actor LightRyuFire_PSN1049:C_PSN3{}actor LightRyuFire_PSN1050:C_PSN3{}actor LightRyuFire_PSN1051:C_PSN3{}actor LightRyuFire_PSN1052:C_PSN3{}actor LightRyuFire_PSN1053:C_PSN3{}actor LightRyuFire_PSN1054:C_PSN3{}actor LightRyuFire_PSN1055:C_PSN3{}
actor LightRyuFire_PSN1056:C_PSN3{}actor LightRyuFire_PSN1057:C_PSN3{}actor LightRyuFire_PSN1058:C_PSN3{}actor LightRyuFire_PSN1059:C_PSN3{}actor LightRyuFire_PSN1060:C_PSN3{}actor LightRyuFire_PSN1061:C_PSN3{}actor LightRyuFire_PSN1062:C_PSN3{}actor LightRyuFire_PSN1063:C_PSN3{}

actor PainLightRyu_FireHit : BasicPoisonBase
{
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_SetUserVar("user_AMOUNT",1)
TNT1 A 0 A_SetUserVar("user_HIT",ACS_ExecuteWithResult(257,0))
TNT1 A 0 A_TransferPointer(2,0,2,2)
TNT1 A 0 A_SetUserVar("user_SOURCE", ACS_ExecuteWithResult(257,0))
TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(C_POISONFOLLOW,user_HIT,-3,user_SOURCE)>=1, "Death")
TNT1 A 0 ACS_ExecuteAlways(C_POISONFOLLOW,0,user_HIT,302,user_SOURCE)
Goto DoT
DoT://15
TNT1 AAAAAAAAAAAAAAA 1 A_JumpIfInventory("CollideFlag",1,"Death")

TNT1 A 0 Thing_Move(0,user_HIT,1)
TNT1 AAAAAAAAAA 0 A_SpawnItemEx("MagmamanBitFX2",random(4,18),0,random(16,40),frandom(1,4),0,frandom(0,2),random(0,359),1)
TNT1 A 0 A_SpawnItemEX("LightRyuFireBurn",0,0,28)
loop
}
}

actor BasicSlamBase : BasicHelper//Gravityman
{
var int user_HIT;
var int user_GravStack;
+NOCLIP
//+NOTARGETSWITCH
Mass 250
states
{
Spawn:
TNT1 A 0
TNT1 A 0 A_SetUserVar("user_HIT", ACS_ExecuteWithResult(257,0))
TNT1 A 0 A_RearrangePointers(0,0,2)
TNT1 A 0 A_TransferPointer(2,0,2,2)
TNT1 A 0 ACS_ExecuteAlways(C_GRAVITY_SLAM,0,user_HIT)
goto CollideWait
CollideWait:
TNT1 A 1 A_JumpIfInventory("CollideFlag",1,"CollideCheck")
loop

CollideCheck:
TNT1 A 0 //A_LogInt(user_GravStack)
TNT1 A 0 A_SetScale(user_GravStack)
TNT1 A 0 A_JumpIf(user_GravStack>=Mass,"CollideX")
TNT1 A 0 A_JumpIf(user_GravStack>=1,"Collide")
TNT1 A 2 //A_Log("Gravity Slam = 0")
stop
Collide:
TNT1 A 0 Thing_Move(0,user_HIT,1)
TNT1 A 2 //A_SpawnItemEX("SlamCollide",0,0,28,0,0,0,0,16384)//SXF_TRANSFERSCALE
TNT1 A 2
stop
CollideX:
TNT1 A 0 Thing_Move(0,user_HIT,1)
TNT1 A 2 //A_SpawnItemEX("SlamCollideX",0,0,28,0,0,0,0,16384)
TNT1 A 2
stop
}
}

actor PainGravityM_SlamHit : BasicSlamBase//Gravityman - this is the real one.
{
States
{
Collide:
TNT1 A 0 Thing_Move(0,user_HIT,1)
TNT1 A 2 A_SpawnItemEX("GravitySmackDownCollide",0,0,28,0,0,0,0,16384)
TNT1 A 2
stop
CollideX:
TNT1 A 0 Thing_Move(0,user_HIT,1)
TNT1 A 2 A_SpawnItemEX("GravitySmackDownCollideX",0,0,28,0,0,0,0,16384)
TNT1 A 2
stop
}
}

actor PainTenguM_SlamHit : BasicSlamBase//Tenguman
{
States
{
Collide:
TNT1 A 0 Thing_Move(0,user_HIT,1)
TNT1 A 2 A_SpawnItemEX("G_TenguSlamCollide",0,0,28,0,0,0,0,16384)
TNT1 A 2
stop
CollideX:
TNT1 A 0 Thing_Move(0,user_HIT,1)
TNT1 A 2 A_SpawnItemEX("G_TenguSlamCollideX",0,0,28,0,0,0,0,16384)
TNT1 A 2
stop
}
}

actor PainTornadoM_SlamHit : BasicSlamBase//Tornadoman
{
States
{
Collide:
TNT1 A 0 Thing_Move(0,user_HIT,1)
TNT1 A 2 A_SpawnItemEX("G_TornadoSlamCollide",0,0,28,0,0,0,0,16384)
TNT1 A 2 A_TakeInventory("BeingTornadoM_Slammed",9,0,8)
stop
CollideX:
TNT1 A 0 Thing_Move(0,user_HIT,1)
TNT1 A 2 A_SpawnItemEX("G_TornadoSlamCollideX",0,0,28,0,0,0,0,16384)
TNT1 A 2 A_TakeInventory("BeingTornadoM_Slammed",9,0,8)
stop
}
}

actor PainScrewCrusherMHit : BasicHitBase
{
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_GiveToTarget("PainScrewCrusherMHit_P",1)
stop
}
}
actor PainScrewCrusherMHit_P : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_GiveToTarget("PunkMeleeStopPickup",1)
stop
}
}

//Flings
actor PainBaseFlingHit : BasicHitBaseF
{
Mass 1
states
{
Spawn:
TNT1 A 0
TNT1 A 0 A_GiveToTarget("TempPitProtect_P",1)
Spawn2:
TNT1 A 0
TNT1 A 0 A_SetUserVar("user_HIT", ACS_ExecuteWithResult(257,0))
TNT1 A 0 A_TransferPointer(2,0,2,2)
TNT1 A 0 ACS_NamedExecuteAlways("CBM_JaxFlingAway",0,ACS_ExecuteWithResult(257,0),user_HIT,Mass)
stop
}
}

actor DeathBaseFlingHit : PainBaseFlingHit
{
Mass 4
states
{
Spawn:
goto Spawn2
}
}

actor PainDuo_RamHit : PainBaseFlingHit{Mass 32}
actor PainDuo_MeteorHit : PainBaseFlingHit{Mass 40}
actor DeathDuo_RamHit : DeathBaseFlingHit{Mass 36}
actor DeathDuo_MeteorHit : DeathBaseFlingHit{Mass 44}
actor PainKnightBonkHit : PainBaseFlingHit{Mass 12}
actor PainProtoShieldBashHit : PainBaseFlingHit{Mass 28}
actor PainBassKickHit : PainBaseFlingHit{Mass 32}
actor PainBassKickHitEx : PainBaseFlingHit{Mass 48}
actor PainMaestroAquaGuts : PainBaseFlingHit{Mass 6}
actor PainBounceBopHit : PainBaseFlingHit{Mass 10}
actor PainBounceBopXHit : PainBaseFlingHit{Mass 20}
actor PainTerra_MeleeHit : PainBaseFlingHit{Mass 10}
actor SolarVentHit : PainBaseFlingHit{Mass 16}
actor PainDarkM_TankHit : PainBaseFlingHit{Mass 5}
actor PainTorchM_PushHit : PainBaseFlingHit{Mass 48}
actor DeathBounceM_PushHit : DeathBaseFlingHit{Mass 60}
actor DeathBounceM_PullHit : DeathBaseFlingHit{Mass -60}

actor DeathLightRyu_ShoryuHit : DeathBaseFlingHit{Mass 15}

actor DeathLightRyu_ShinShoryuHit : DeathBaseFlingHit{Mass 35}

actor PainMagnetM_PushHit : BasicHitBaseF//MagHitKai
{
Mass 20
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_GiveToTarget("TempPitProtect_P",1)
Spawn2:
TNT1 A 0
TNT1 A 0 A_SetUserVar("user_HIT", ACS_ExecuteWithResult(257,0))
TNT1 A 0 A_TransferPointer(2,0,2,2)
TNT1 A 0 ACS_NamedExecuteAlways("CBM_JaxFlingAway",0,ACS_ExecuteWithResult(257,0),user_HIT,Mass+0.5*CallACS("cbm_countinv_acs",31,2))
stop
}
}
actor DeathMagnetM_PushHit : PainMagnetM_PushHit{Mass 40 states{Spawn:goto Spawn2}}

actor PainSkullM_BarrierHit : PainBaseFlingHit{Mass 32}
actor DeathSkullM_BarrierHit : DeathBaseFlingHit{Mass 36}

//actor PainDM3_SnipeHit : PainBaseFlingHit{Mass 11} anon... no
//actor DeathDM3_SnipeHit : DeathBaseFlingHit{Mass 19}

actor DeathBlizzardM_BowlHit : DeathBaseFlingHit{Mass 60}

actor PainKnightM_PushHit : PainBaseFlingHit{Mass 8}
actor DeathKnightM_PushHit : DeathBaseFlingHit{Mass 30}

actor PainConcreteShoulderHit : PainBaseFlingHit{Mass 30}

actor PainPharaohPunchHit : PainBaseFlingHit{Mass 20}

actor PainWindM_PullHit : PainBaseFlingHit{Mass -24}

actor PainWindM_PushHit : BasicHitBaseF
{
Mass 1
states
{
Spawn:
TNT1 A 0
TNT1 A 0 A_GiveToTarget("TempPitProtect_P",1)
Spawn2:
TNT1 A 0
TNT1 A 0 A_SetUserVar("user_HIT", ACS_ExecuteWithResult(257,0))
TNT1 A 0 A_TransferPointer(2,0,2,2)
TNT1 A 0 ACS_NamedExecuteAlways("CBM_JaxFlingAway",0,ACS_ExecuteWithResult(257,0),user_HIT,Mass+CallACS("cbm_countinv_acs",33,2))
stop
}
}
actor DeathWindM_PushHit : PainWindM_PushHit{Mass 15 states{Spawn:goto Spawn2}}

actor PainTurboM_HonkHit : PainBaseFlingHit{Mass 31}
actor DeathTurboM_HonkHit : DeathBaseFlingHit{Mass 35}

actor PainODuo_TackleHit : PainBaseFlingHit{Mass 64}
actor PainODuo_MeteorPushHit : PainBaseFlingHit{Mass 38}
actor DeathODuo_TackleHit : DeathBaseFlingHit{Mass 68}
actor DeathODuo_MeteorPushHit : DeathBaseFlingHit{Mass 42}

actor DeathConcreteM_BashHit : DeathBaseFlingHit{Mass 70}

actor PainJupiter_PushHit : PainBaseFlingHit{Mass 20}
actor DeathJupiter_PushHit : DeathBaseFlingHit{Mass 31}

actor DeathUranus_LiftHit : DeathBaseFlingHit{Mass 40}

actor PainStrikeBallHit : PainBaseFlingHit
{
mass 40
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_GiveToTarget("PainStrikeBallHit_P",1)
goto PainBaseFlingHit::Spawn
}
}

actor PainStrikeBallHit_P : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_GiveToTarget("StrikeHitTarget",1)
stop
}
}

actor PainStrikeBallHit2 : PainBaseFlingHit
{
mass 40
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_GiveToTarget("PainStrikeBallHit2_P",1)
goto PainBaseFlingHit::Spawn
}
}

actor PainStrikeBallHit2_P : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_GiveToTarget("ReboundStrikerPower",4)
stop
}
}

actor PainDarkTankHit : PainBaseFlingHit{Mass 5}

actor PainMegaWaterBarrierHit : BasicHitBaseF
{
Mass 10
states
{
Spawn:
TNT1 A 0
TNT1 A 0 A_GiveToTarget("TempPitProtect_P",1)
Spawn2:
TNT1 A 0
TNT1 A 0 A_SetUserVar("user_HIT", ACS_ExecuteWithResult(257,0))
TNT1 A 0 A_TransferPointer(2,0,2,2)
TNT1 A 0 ACS_NamedExecuteAlways("CBM_JaxFlingAway",0,ACS_ExecuteWithResult(257,0),user_HIT,Mass+2*CallACS("cbm_countinv_acs",305,2))
stop
}
}
actor DeathMegaWaterBarrierHit : PainMegaWaterBarrierHit{Mass 14 states{Spawn:goto Spawn2}}

actor PainHyperStormBlasterHit : PainBaseFlingHit{Mass 7}
actor DeathHyperStormBlasterHit : DeathBaseFlingHit{Mass 27}

actor PainEnker_PushHit : PainBaseFlingHit{Mass 12}
actor DeathEnker_PushHit : DeathBaseFlingHit{Mass 44}

actor PainRaThorThrowHit : PainBaseFlingHit{Mass 64}

actor PainYellowDevilPHit : PainBaseFlingHit{Mass 20}
actor DeathYellowDevilPHit : DeathBaseFlingHit{Mass 80}

actor PainBounceM_PullHit : BasicHitBaseF
{
Mass -4
states
{
Spawn:
TNT1 A 0
TNT1 A 0 A_GiveToTarget("TempPitProtect_P",1)
Spawn2:
TNT1 A 0
TNT1 A 0 A_SetUserVar("user_HIT", ACS_ExecuteWithResult(257,0))
TNT1 A 0 A_TransferPointer(2,0,2,2)
TNT1 A 0 A_SetMass(ACS_NamedExecuteWithResult("CBM_FetchDistance")*-0.035)
//TNT1 A 0 A_logint(ACS_NamedExecuteWithResult("CBM_FetchDistance")*-0.025)//Simply for testing, delete before going live
TNT1 A 0 ACS_NamedExecuteAlways("CBM_JaxFlingAway",0,ACS_ExecuteWithResult(257,0),user_HIT,Mass)
stop//current pull strength is set by mass, which is normally -16 for WindM_Pull
}
}

actor PainBounceM_Pull2Hit : BasicHitBaseF
{
Mass -2
states
{
Spawn:
TNT1 A 0
TNT1 A 0 A_GiveToTarget("TempPitProtect_P",1)
Spawn2:
TNT1 A 0
TNT1 A 0 A_SetUserVar("user_HIT", ACS_ExecuteWithResult(257,0))
TNT1 A 0 A_TransferPointer(2,0,2,2)
TNT1 A 0 A_SetMass(ACS_NamedExecuteWithResult("CBM_FetchDistance")*-0.0175)
//TNT1 A 0 A_logint(ACS_NamedExecuteWithResult("CBM_FetchDistance")*-0.025)//Simply for testing, delete before going live
TNT1 A 0 ACS_NamedExecuteAlways("CBM_JaxFlingAway",0,ACS_ExecuteWithResult(257,0),user_HIT,Mass)
stop//current pull strength is set by mass, which is normally -16 for WindM_Pull
}
}



//Give on-hit
actor PainRollHit : BasicHitBase
{
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_GiveToTarget("PainRollHit_P",1)
stop
}
}
actor PainRollHit_P : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_GiveToTarget("RollHealAmmo",4)
stop
}
}

actor PainLightRyu_KickHit : BasicHitBase
{
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_GiveToTarget("PainLightRyu_KickHit_P",1)
stop
}
}
actor PainLightRyu_KickHit_P : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_GiveToTarget("SuperComboGauge",1)
stop
}
}
actor PainLightRyu_HadokenHit : BasicHitBase
{
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_GiveToTarget("PainLightRyu_HadokenHit_P",1)
stop
}
}
actor PainLightRyu_HadokenHit_P : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_GiveToTarget("SuperComboGauge",4)
stop
}
}
actor PainLightRyu_StopHit : BasicHitBase
{
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_GiveToTarget("PainLightRyu_StopHit_P",1)
stop
}
}
actor PainLightRyu_StopHit_P : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_GiveToTarget("RyuShinShoryuFlag_P",1)
stop
}
}

actor PowerJoeHitG : BasicPowerupGiver
{
powerup.type "PowerJoeHit"
}
actor PowerJoeHit : PowerUp
{
Powerup.Duration -8
}
actor JoeHitFlag : OnceC{}

actor JoeHitItem : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_JumpIfInventory("PowerJoeHit",1,3)
TNT1 A 0 A_GiveInventory("JoeHitFlag",1)
TNT1 A 0 A_SpawnItemEx("JoeHitWatcher")
TNT1 A 0 A_GiveInventory("PowerJoeHitG",1)
stop
}
}
actor JoeHitWatcher : BasicHelper
{
States
{
Spawn:
TNT1 A 0
TNT1 A 1
TNT1 A 0 A_JumpIfInTargetInventory("PowerJoeHit",1,"Spawn")
TNT1 A 0 A_TakeFromTarget("JoeHitFlag",999)
stop
}
}

actor PowerBlizzardHitG : BasicPowerupGiver
{
powerup.type "PowerBlizzardHit"
}
actor PowerBlizzardHit : PowerUp
{
Powerup.Duration -8
}
actor BlizzardHitFlag : OnceC{}

actor BlizzardHitItem : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_JumpIfInventory("PowerBlizzardHit",1,3)
TNT1 A 0 A_GiveInventory("BlizzardHitFlag",1)
TNT1 A 0 A_SpawnItemEx("BlizzardHitWatcher")
TNT1 A 0 A_GiveInventory("PowerBlizzardHitG",1)
stop
}
}
actor BlizzardHitWatcher : BasicHelper
{
States
{
Spawn:
TNT1 A 0
TNT1 A 1
TNT1 A 0 A_JumpIfInTargetInventory("PowerBlizzardHit",1,"Spawn")
TNT1 A 0 A_TakeFromTarget("BlizzardHitFlag",999)
stop
}
}

actor PainBBA_RocketBoomHit : BasicHitBase
{
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_GiveToTarget("PainBBA_RocketBoomHit_P",1)
stop
}
}
actor PainBBA_RocketBoomHit_P : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_GiveToTarget("BBA_Money",16)
stop
}
}

actor PainDocR_BusterHit : BasicHitBase
{
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_GiveToTarget("PainDocR_BusterHit_P",1)
stop
}
}
actor PainDocR_BusterHit_P : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_GiveToTarget("DocVirusAmmo",10)
stop
}
}


actor PainToadM_LeapHit : BasicHitBase
{
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_GiveToTarget("PainToadM_LeapHit_P",1)
stop
}
}
actor PainToadM_LeapHit_P : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_GiveToTarget("ToadM_Leap_P",1)
stop
}
}

actor PainBlizzardM_BowlHit : BasicHitBase
{
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_GiveToTarget("PainBlizzardM_BowlHit_P",1)
stop
}
}
actor PainBlizzardM_BowlHit_P : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_GiveToTarget("CrackFlag",1)
stop
}
}

actor PainShadeM_DrainHit : BasicHitBase
{
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_GiveToTarget("PainShadeM_DrainHit_P",1)
stop
}
}
actor PainShadeM_DrainHit_P : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_JumpIfInventory("EnkerAbsorbCount",1,"P_1")
TNT1 A 0 A_JumpIfInventory("BasicArmor",1,"P_2")
TNT1 A 0 A_JumpIfInventory("StarArmorPower",1,"P_2")

TNT1 A 0 A_JumpIfInventory("WilyNoSuitWeakness",1,"P_7")
TNT1 A 0 A_JumpIfInventory("DynamoHealingWeakness",1,"P_7")
TNT1 A 0 A_JumpIfInventory("NeptuneSaltyWeakness",1,"P_9")
TNT1 A 0 A_JumpIfInventory("TrioRageWeakness",1,"P_10")
goto P_5

P_1:TNT1 A 0 A_GiveToTarget("CBM_HealThing10_PU")stop
P_2:TNT1 A 0 A_GiveToTarget("CBM_HealThing20_PU")stop
P_3:TNT1 A 0 A_GiveToTarget("CBM_HealThing30_PU")stop
P_4:TNT1 A 0 A_GiveToTarget("CBM_HealThing40_PU")stop
P_5:TNT1 A 0 A_GiveToTarget("CBM_HealThing50_PU")stop
P_6:TNT1 A 0 A_GiveToTarget("CBM_HealThing60_PU")stop
P_7:TNT1 A 0 A_GiveToTarget("CBM_HealThing70_PU")stop
P_8:TNT1 A 0 A_GiveToTarget("CBM_HealThing80_PU")stop
P_9:TNT1 A 0 A_GiveToTarget("CBM_HealThing90_PU")stop
P_10:TNT1 A 0 A_GiveToTarget("CBM_HealThing100_PU")stop

No:
TNT1 A 0
stop
}
}

actor PainGrenadeM_NadeHit : BasicHitBase
{
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_GiveToTarget("PainGrenadeM_NadeHit_P",1)
stop
}
}
actor PainGrenadeM_NadeHit_P : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_JumpIfInventory("CuteBombDrain",1,2)
TNT1 A 0 A_GiveToTarget("THATFELTGOODAMMO",1)
TNT1 A 0
stop
}
}
actor PainGrenadeM_BombHit : BasicHitBase
{
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_GiveToTarget("PainGrenadeM_BombHit_P",1)
stop
}
}
actor PainGrenadeM_BombHit_P : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_JumpIfInventory("CuteBombDrain",1,2)
TNT1 A 0 A_GiveToTarget("THATFELTGOODAMMO",3)
TNT1 A 0
stop
}
}

actor PainMagicM_CardHit : CustomInventory
{
States
{
Pickup:
TNT1 A 0 //A_JumpIf(CheckClass("Magicman",2),"GiveHealth")//This works, but not on the first hit
//stop
//GiveHealth:
TNT1 A 0 A_JumpIfInventory("MagicStackedDeckFlag1",1,"Stack_1")
TNT1 A 0 A_JumpIfInventory("MagicStackedDeckFlag2",1,"Stack_1")
TNT1 A 0 A_JumpIfInventory("MagicStackedDeckFlag3",1,"Stack_2")
TNT1 A 0 A_JumpIfInventory("MagicStackedDeckFlag4",1,"Stack_3")
TNT1 A 0 A_JumpIfInventory("MagicStackedDeckFlag5",1,"Stack_4")
goto Stack_5
Stack_1:
TNT1 A 0 A_GiveInventory("MagicStackedDeckFlag1",1)
TNT1 A 0 A_SpawnItemEx("MagicCardHealth_1",0,0,28,0,0,0,0,1)
stop
Stack_2:
TNT1 A 0 A_GiveInventory("MagicStackedDeckFlag2",1)
TNT1 A 0 A_SpawnItemEx("MagicCardHealth_2",0,0,28,0,0,0,0,1)
stop
Stack_3:
TNT1 A 0 A_GiveInventory("MagicStackedDeckFlag3",1)
TNT1 A 0 A_SpawnItemEx("MagicCardHealth_3",0,0,28,0,0,0,0,1)
stop
Stack_4:
TNT1 A 0 A_GiveInventory("MagicStackedDeckFlag4",1)
TNT1 A 0 A_SpawnItemEx("MagicCardHealth_4",0,0,28,0,0,0,0,1)
stop
Stack_5:
TNT1 A 0 A_GiveInventory("MagicStackedDeckFlag5",1)
TNT1 A 0 A_SpawnItemEx("MagicCardHealth_5",0,0,28,0,0,0,0,1)
stop

No:
TNT1 A 0
stop
}
}

actor MagicStackedDeckFlag1 : Powerup
{
Powerup.Duration -3
}
actor MagicStackedDeckFlag2 : MagicStackedDeckFlag1 {}
actor MagicStackedDeckFlag3 : MagicStackedDeckFlag1 {}
actor MagicStackedDeckFlag4 : MagicStackedDeckFlag1 {}
actor MagicStackedDeckFlag5 : MagicStackedDeckFlag1 {}

actor MagicCardHealth_1
{
PROJECTILE
+NOINTERACTION
+NOCLIP
+SEEKERMISSILE
ReactionTime 100
Damage (0)
Radius 2
Height 2
speed 35
scale 2.5
states
{
Spawn:
X_BH G 0
X_BH G 0 A_TransferPointer(2,0,2,2)
X_BH G 0 A_RearrangePointers(0,0,2)
X_BH G 1 A_FaceTarget
goto Spawn2
Spawn2:
X_BH G 1 A_JumpIfCloser(64,"Giver")X_BH G 0 A_SeekerMissile(90,90,2)
X_BH G 1 A_JumpIfCloser(64,"Giver")X_BH G 0 A_SeekerMissile(90,90,2)
X_BH G 1 A_JumpIfCloser(64,"Giver")X_BH G 0 A_SeekerMissile(90,90,2)
X_BH G 1 A_JumpIfCloser(64,"Giver")X_BH G 0 A_SeekerMissile(90,90,2)
X_BH G 1 A_JumpIfCloser(64,"Giver")X_BH G 0 A_SeekerMissile(90,90,2)
X_BH G 1 A_JumpIfCloser(64,"Giver")X_BH G 0 A_SeekerMissile(90,90,2)
X_BH H 1 A_JumpIfCloser(64,"Giver")X_BH H 0 A_SeekerMissile(90,90,2)
X_BH H 1 A_JumpIfCloser(64,"Giver")X_BH H 0 A_SeekerMissile(90,90,2)
X_BH H 1 A_JumpIfCloser(64,"Giver")X_BH H 0 A_SeekerMissile(90,90,2)
X_BH H 1 A_JumpIfCloser(64,"Giver")X_BH H 0 A_SeekerMissile(90,90,2)
X_BH H 1 A_JumpIfCloser(64,"Giver")X_BH H 0 A_SeekerMissile(90,90,2)
X_BH H 1 A_JumpIfCloser(64,"Giver")X_BH H 0 A_SeekerMissile(90,90,2)
X_BH G 0 A_JumpIf(ACS_ExecuteWithResult(C_CHECK_TARGET_OOC)==0,"SuperDeath")
X_BH G 0 A_CountDown
loop
SuperDeath:
TNT1 A 1
stop
Giver:
TNT1 A 0 A_GiveToTarget("CBM_HealThing10_PU")
goto End
End:
TNT1 A 0 A_Stop
TNT1 A 1 A_SpawnItemEx("MagicCardHealthFX",-8,0,-8,0,0,0,0,1)
stop
Death:
TNT1 A 1
stop
}
}

actor MagicCardHealthFX : BasicHelper
{
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_PlaySoundEx("item/energyup","Weapon")
TNT1 A 2 A_SpawnItemEx("MagicCardHealthFX2",0,0,0,0,0,0,0,1)
stop
}
}

actor MagicCardHealthFX2 : BasicClientSide
{
States
{
Spawn:
MGB9 ABCDEFG 3
stop
}
}

actor MagicCardHealth_2 : MagicCardHealth_1
{
States
{
Giver:
TNT1 A 0 A_GiveToTarget("CBM_HealThing20_PU")
goto End
}
}
actor MagicCardHealth_3 : MagicCardHealth_1{States{Giver:TNT1 A 0 A_GiveToTarget("CBM_HealThing30_PU")goto End}}
actor MagicCardHealth_4 : MagicCardHealth_1{States{Giver:TNT1 A 0 A_GiveToTarget("CBM_HealThing40_PU")goto End}}
actor MagicCardHealth_5 : MagicCardHealth_1{States{Giver:TNT1 A 0 A_GiveToTarget("CBM_HealThing50_PU")goto End}}

actor PainODuo_MeteorHit : BasicHitBase
{
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_GiveToTarget("PainODuo_MeteorHit_P",1)
stop
}
}
actor PainODuo_MeteorHit_P : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_GiveToTarget("ODuoTheMeteorPickup",1)
stop
}
}


actor PainConcreteM_BashHit : BasicHitBase
{
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_GiveToTarget("PainConcreteM_BashHit_P",1)
stop
}
}
actor PainConcreteM_BashHit_P : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_GiveToTarget("ConcreteBashFlag",1)
stop
}
}

actor PainTornadoM_LeapHit : BasicHitBase
{
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_GiveToTarget("PainTornadoM_LeapHit_P",1)
stop
}
}
actor PainTornadoM_LeapHit_P : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_GiveToTarget("TornadoM_Leap_Pickup",1)
stop
}
}

actor PainSolarM_HeadHit : BasicHitBase
{
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_GiveToTarget("PainSolarM_HeadHit_P",1)
stop
}
}
actor PainSolarM_HeadHit_P : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_GiveToTarget("SolarInfernoAmmo",11)
//TNT1 A 0 A_TakeFromTarget("SolarM_AmmoDrainDelay")
stop
}
}

actor PainQuint_LeapHit : BasicHitBase
{
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_GiveToTarget("PainQuint_LeapHit_P",1)
stop
}
}
actor PainQuint_LeapHit_P : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_GiveToTarget("QuintLeap_Pickup",1)
stop
}
}

actor PowerRaThorHitG : BasicPowerupGiver
{
powerup.type "PowerRaThorHit"
}
actor PowerRaThorHit : PowerUp
{
Powerup.Duration -10
}
actor RaThorHitFlag : OnceC{}

actor RaThorHitItem : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_JumpIfInventory("PowerRaThorHit",1,3)
TNT1 A 0 A_GiveInventory("RaThorHitFlag",1)
TNT1 A 0 A_SpawnItemEx("RaThorHitWatcher")
TNT1 A 0 A_GiveInventory("PowerRaThorHitG",1)
stop
}
}
actor RaThorHitWatcher : BasicHelper
{
States
{
Spawn:
TNT1 A 0
TNT1 A 1
TNT1 A 0 A_JumpIfInTargetInventory("PowerRaThorHit",1,"Spawn")
TNT1 A 0 A_TakeFromTarget("RaThorHitFlag",999)
stop
}
}

actor PainHSH_WallopHit : BasicHitBase
{
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_GiveToTarget("PainHSH_WallopHit_P",1)
stop
}
}
actor PainHSH_WallopHit_P : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_GiveToTarget("HyperStormCold",6)
stop
}
}

actor PainHSH_DrainHit : BasicHitBase
{
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_GiveToTarget("PainHSH_DrainHit_P",1)
stop
}
}
actor PainHSH_DrainHit_P : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_GiveToTarget("Health",1)
stop
}
}

actor KillHSH_DrainHit : BasicHitBase
{
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_GiveToTarget("KillHSH_DrainHit_P",1)
stop
}
}
actor KillHSH_DrainHit_P : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_GiveToTarget("Health",2)
stop
}
}

actor PainNeptune_LeapHit : BasicHitBase
{
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_GiveToTarget("PainNeptune_LeapHit_P",1)
stop
}
}
actor PainNeptune_LeapHit_P : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_GiveToTarget("NeptuneLeap_Pickup",1)
stop
}
}




