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

//#### REFERENCE ####//
//Const Int AAPTR_DEFAULT = 0;
//Const Int AAPTR_NULL = 1;
//Const Int AAPTR_TARGET = 2;
//Const Int AAPTR_MASTER = 4;
//Const Int AAPTR_TRACER = 8;

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

actor WilyFireB1_PSNFlag : OnceC{}
actor WilyFireB1_PSN : C_PSN2{}
actor WilyFireB1_PSN0 : C_PSN2{}//Online desync

actor WilyFireB1_PSN1000:C_PSN2{}actor WilyFireB1_PSN1001:C_PSN2{}actor WilyFireB1_PSN1002:C_PSN2{}actor WilyFireB1_PSN1003:C_PSN2{}actor WilyFireB1_PSN1004:C_PSN2{}actor WilyFireB1_PSN1005:C_PSN2{}actor WilyFireB1_PSN1006:C_PSN2{}actor WilyFireB1_PSN1007:C_PSN2{}
actor WilyFireB1_PSN1008:C_PSN2{}actor WilyFireB1_PSN1009:C_PSN2{}actor WilyFireB1_PSN1010:C_PSN2{}actor WilyFireB1_PSN1011:C_PSN2{}actor WilyFireB1_PSN1012:C_PSN2{}actor WilyFireB1_PSN1013:C_PSN2{}actor WilyFireB1_PSN1014:C_PSN2{}actor WilyFireB1_PSN1015:C_PSN2{}
actor WilyFireB1_PSN1016:C_PSN2{}actor WilyFireB1_PSN1017:C_PSN2{}actor WilyFireB1_PSN1018:C_PSN2{}actor WilyFireB1_PSN1019:C_PSN2{}actor WilyFireB1_PSN1020:C_PSN2{}actor WilyFireB1_PSN1021:C_PSN2{}actor WilyFireB1_PSN1022:C_PSN2{}actor WilyFireB1_PSN1023:C_PSN2{}
actor WilyFireB1_PSN1024:C_PSN2{}actor WilyFireB1_PSN1025:C_PSN2{}actor WilyFireB1_PSN1026:C_PSN2{}actor WilyFireB1_PSN1027:C_PSN2{}actor WilyFireB1_PSN1028:C_PSN2{}actor WilyFireB1_PSN1029:C_PSN2{}actor WilyFireB1_PSN1030:C_PSN2{}actor WilyFireB1_PSN1031:C_PSN2{}
actor WilyFireB1_PSN1032:C_PSN2{}actor WilyFireB1_PSN1033:C_PSN2{}actor WilyFireB1_PSN1034:C_PSN2{}actor WilyFireB1_PSN1035:C_PSN2{}actor WilyFireB1_PSN1036:C_PSN2{}actor WilyFireB1_PSN1037:C_PSN2{}actor WilyFireB1_PSN1038:C_PSN2{}actor WilyFireB1_PSN1039:C_PSN2{}
actor WilyFireB1_PSN1040:C_PSN2{}actor WilyFireB1_PSN1041:C_PSN2{}actor WilyFireB1_PSN1042:C_PSN2{}actor WilyFireB1_PSN1043:C_PSN2{}actor WilyFireB1_PSN1044:C_PSN2{}actor WilyFireB1_PSN1045:C_PSN2{}actor WilyFireB1_PSN1046:C_PSN2{}actor WilyFireB1_PSN1047:C_PSN2{}
actor WilyFireB1_PSN1048:C_PSN2{}actor WilyFireB1_PSN1049:C_PSN2{}actor WilyFireB1_PSN1050:C_PSN2{}actor WilyFireB1_PSN1051:C_PSN2{}actor WilyFireB1_PSN1052:C_PSN2{}actor WilyFireB1_PSN1053:C_PSN2{}actor WilyFireB1_PSN1054:C_PSN2{}actor WilyFireB1_PSN1055:C_PSN2{}
actor WilyFireB1_PSN1056:C_PSN2{}actor WilyFireB1_PSN1057:C_PSN2{}actor WilyFireB1_PSN1058:C_PSN2{}actor WilyFireB1_PSN1059:C_PSN2{}actor WilyFireB1_PSN1060:C_PSN2{}actor WilyFireB1_PSN1061:C_PSN2{}actor WilyFireB1_PSN1062:C_PSN2{}actor WilyFireB1_PSN1063:C_PSN2{}


actor PainWilyFireB1Hit : 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_PSN4{}
actor MegaFireBall_PSN0 : C_PSN4{}//Online desync

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


actor PainMegaFireBallHit : 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,-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 PainGravityB1Hit//Gravityman
{
var int user_HIT;
Height 0
Radius 0
+NOINTERACTION
-SOLID
+NOGRAVITY
+NOCLIP
+NOTARGETSWITCH
+MISSILE
states
{
Spawn:
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_ExecuteAlways(C_GRAVITY_SLAM,0,user_HIT)
goto CollideCheck
CollideCheck:
TNT1 A 1 A_JumpIfInventory("CollideFlag",1,"Collide")
loop
Collide2:
TNT1 A 0 A_TakeInventory("CutterFlag",10)
TNT1 A 0 Thing_Move(0,user_HIT,1)
TNT1 A 0 A_SpawnItemEX("GravityCollide",0,0,28)
Collide:
TNT1 A 0 A_JumpIfInventory("CutterFlag",250,"CollideX2")
TNT1 A 0 A_JumpIfInventory("CutterFlag",10,"Collide2")
stop
CollideX2:
TNT1 A 0 A_TakeInventory("CutterFlag",10)
TNT1 A 0 Thing_Move(0,user_HIT,1)
TNT1 A 0 A_SpawnItemEX("GravityCollideX",0,0,28)
CollideX:
TNT1 A 0 A_JumpIfInventory("CutterFlag",10,"CollideX2")
stop
}
}

actor PainGravityS1Hit//GravitySphere
{
var int user_HIT;
Height 0
Radius 0
+NOINTERACTION
-SOLID
+NOGRAVITY
+NOCLIP
+NOTARGETSWITCH
+MISSILE
States
{
Spawn:
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_ExecuteAlways(C_GRAVITY_SLAM,0,user_HIT)
goto CollideCheck
CollideCheck:
TNT1 A 1 A_JumpIfInventory("CollideFlag",1,"Collide")
loop
Collide2:
TNT1 A 0 A_TakeInventory("CutterFlag",10)
TNT1 A 0 Thing_Move(0,user_HIT,1)
TNT1 A 0 A_SpawnItemEX("GravitySphereCollide",0,0,28)
Collide:
TNT1 A 0 A_JumpIfInventory("CutterFlag",250,"CollideX2")
TNT1 A 0 A_JumpIfInventory("CutterFlag",10,"Collide2")
stop
CollideX2:
TNT1 A 0 A_TakeInventory("CutterFlag",10)
TNT1 A 0 Thing_Move(0,user_HIT,1)
TNT1 A 0 A_SpawnItemEX("GravitySphereCollideX",0,0,28)
CollideX:
TNT1 A 0 A_JumpIfInventory("CutterFlag",10,"CollideX2")
stop
}
}

actor PainGravityT1Hit//Tenguman
{
var int user_HIT;
Height 0
Radius 0
+NOINTERACTION
-SOLID
+NOGRAVITY
+NOCLIP
+NOTARGETSWITCH
+MISSILE
States
{
Spawn:
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_ExecuteAlways(C_GRAVITY_SLAM,0,user_HIT)
goto CollideCheck
CollideCheck:
TNT1 A 1 A_JumpIfInventory("CollideFlag",1,"Collide")
loop
Collide2:
TNT1 A 0 A_TakeInventory("CutterFlag",10)
TNT1 A 0 Thing_Move(0,user_HIT,1)
TNT1 A 0 A_SpawnItemEX("GravityCollideT",0,0,28)
Collide:
TNT1 A 0 A_JumpIfInventory("CutterFlag",250,"CollideX2")
TNT1 A 0 A_JumpIfInventory("CutterFlag",10,"Collide2")
stop
CollideX2:
TNT1 A 0 A_TakeInventory("CutterFlag",10)
TNT1 A 0 Thing_Move(0,user_HIT,1)
TNT1 A 0 A_SpawnItemEX("GravityCollideTX",0,0,28)
CollideX:
TNT1 A 0 A_JumpIfInventory("CutterFlag",10,"CollideX2")
stop
}
}


actor PainDynaTagHit : BasicHitBaseF
{
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_SetUserVar("user_HIT",ACS_ExecuteWithResult(257,0)+2000)
TNT1 A 0 A_TransferPointer(2,0,2,2)
TNT1 A 0 ACS_ExecuteAlways(C_DYNAMOACS,0,user_HIT,ACS_ExecuteWithResult(257,0))
stop
}
}

//Flings
actor PainDuoRamHit : BasicHitBaseF
{
states
{
Spawn:
TNT1 A 0
TNT1 A 0 A_GiveToTarget("TempPitProtect",1)
TNT1 A 0 A_SetUserVar("user_HIT", ACS_ExecuteWithResult(257,0))
TNT1 A 0 A_TransferPointer(2,0,2,2)
TNT1 A 0 ACS_ExecuteAlways(C_JAX_FLINGACS,0,ACS_ExecuteWithResult(257,0),user_HIT,32)
stop
}
}

//Made by JaxOf7
actor PainMagPushHit : BasicHitBaseF//MagHitKai
{
states
{
Spawn:
TNT1 A 0
TNT1 A 0 A_GiveToTarget("TempPitProtect",1)
TNT1 A 0 A_SetUserVar("user_HIT", ACS_ExecuteWithResult(257,0))
TNT1 A 0 A_TransferPointer(2,0,2,2)
TNT1 A 0 ACS_ExecuteAlways(C_JAX_FLINGACS,0,ACS_ExecuteWithResult(257,0),user_HIT,30+2*ACS_ExecuteWithResult(C_CHECK_TARGET_ITEM,2))
stop
}
}

actor PainKnightRushHit : BasicHitBaseF
{
states
{
Spawn:
TNT1 A 0
TNT1 A 0 A_GiveToTarget("TempPitProtect",1)
TNT1 A 0 A_SetUserVar("user_HIT", ACS_ExecuteWithResult(257,0))
TNT1 A 0 A_TransferPointer(2,0,2,2)
TNT1 A 0 ACS_ExecuteAlways(C_JAX_FLINGACS,0,ACS_ExecuteWithResult(257,0),user_HIT,8)
stop
}
}

actor PainWindStormPullHit : BasicHitBaseF
{
states
{
Spawn:
TNT1 A 0
TNT1 A 0 A_GiveToTarget("TempPitProtect",1)
TNT1 A 0 A_SetUserVar("user_HIT", ACS_ExecuteWithResult(257,0))
TNT1 A 0 A_TransferPointer(2,0,2,2)
TNT1 A 0 ACS_ExecuteAlways(C_JAX_FLINGACS,0,ACS_ExecuteWithResult(257,0),user_HIT,-8)
stop
}
}

actor PainWindStormPushHit : BasicHitBaseF
{
states
{
Spawn:
TNT1 A 0
TNT1 A 0 A_GiveToTarget("TempPitProtect",1)
TNT1 A 0 A_SetUserVar("user_HIT", ACS_ExecuteWithResult(257,0))
TNT1 A 0 A_TransferPointer(2,0,2,2)
TNT1 A 0 ACS_ExecuteAlways(C_JAX_FLINGACS,0,ACS_ExecuteWithResult(257,0),user_HIT,10+ACS_ExecuteWithResult(C_CHECK_TARGET_ITEM,2))
stop
}
}

actor PainPiratePushHit : BasicHitBaseF
{
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_GiveToTarget("TempPitProtect",1)
TNT1 A 0 A_SetUserVar("user_HIT", ACS_ExecuteWithResult(257,0))
TNT1 A 0 A_RearrangePointers(0,0,2)//Target >> Tracer
TNT1 A 0 A_TransferPointer(2,0,2,2)
TNT1 A 0 ACS_ExecuteAlways(C_JAX_FLINGACS,0,ACS_ExecuteWithResult(257,0),user_HIT,20)
stop
}
}

actor PainMWSPushHit : BasicHitBaseF
{
states
{
Spawn:
TNT1 A 0
TNT1 A 0 A_GiveToTarget("TempPitProtect",1)
TNT1 A 0 A_SetUserVar("user_HIT", ACS_ExecuteWithResult(257,0))
TNT1 A 0 A_TransferPointer(2,0,2,2)
TNT1 A 0 ACS_ExecuteAlways(C_JAX_FLINGACS,0,ACS_ExecuteWithResult(257,0),user_HIT,10+2*ACS_ExecuteWithResult(C_CHECK_TARGET_ITEM,3))
stop
}
}

actor PainHyperStormHFHit : BasicHitBaseF
{
states
{
Spawn:
TNT1 A 0
TNT1 A 0 A_GiveToTarget("TempPitProtect",1)
TNT1 A 0 A_SetUserVar("user_HIT", ACS_ExecuteWithResult(257,0))
TNT1 A 0 A_TransferPointer(2,0,2,2)
TNT1 A 0 ACS_ExecuteAlways(C_JAX_FLINGACS,0,ACS_ExecuteWithResult(257,0),user_HIT,7)
stop
}
}


//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 JoeHitFlag2 : Inventory
{
inventory.amount 1
inventory.maxamount 1
}
actor JoeHitFlag : Powerup
{
Powerup.Duration -8
}
actor JoeHitItem : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_JumpIfInventory("JoeHitFlag",1,3)
TNT1 A 0 A_GiveInventory("JoeHitFlag2",1)
TNT1 A 0 A_SpawnItemEx("JoeHitWatcher")
TNT1 A 0 A_GiveInventory("JoeHitFlag",1)
stop
}
}
actor JoeHitWatcher
{
Height 0
Radius 0
+NOINTERACTION
-SOLID
+NOGRAVITY
+MISSILE
States
{
Spawn:
TNT1 A 0 
TNT1 A 1
TNT1 A 0 A_JumpIfInTargetInventory("JoeHitFlag", 1, "Spawn")
TNT1 A 0 A_TakeFromTarget("JoeHitFlag2",999)
stop
}
}

actor PainToadLeapHit : BasicHitBase
{
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_GiveToTarget("PainToadLeapHit_P",1)
stop
}
}
actor PainToadLeapHit_P : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_GiveToTarget("ToadLeap_Pickup",1)
stop
}
}

actor PainPlantBusterHit : BasicHitBase
{
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_GiveToTarget("PainPlantBusterHit_P",1)
stop
}
}
actor PainPlantBusterHit_P : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_GiveToTarget("LMSRegen",1)
stop
}
}

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

actor PainFlashBombB1Hit : BasicHitBase
{
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_GiveToTarget("PainFlashBombB1Hit_P",1)
stop
}
}
actor PainFlashBombB1Hit_P : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_GiveToTarget("THATFELTGOODAMMO",1)
stop
}
}
actor PainFlashBombB2Hit : BasicHitBase
{
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_GiveToTarget("PainFlashBombB2Hit_P",1)
stop
}
}
actor PainFlashBombB2Hit_P : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_GiveToTarget("THATFELTGOODAMMO",3)
stop
}
}

actor PainMagicCardBHit : CustomInventory
{
States
{
Pickup:


TNT1 A 0 A_JumpIfInventory("DocBusterC",1,"P_DOC")

//TNT1 A 0 A_JumpIfInventory("GlassHealthBar",1,"P_18")
//TNT1 A 0 A_JumpIfInventory("LightHealthBar",1,"P_14")
//TNT1 A 0 A_JumpIfInventory("SturdyHealthBar",1,"P_9")
//TNT1 A 0 A_JumpIfInventory("ToadHealthBar",1,"P_7")
//TNT1 A 0 A_JumpIfInventory("HeavyHealthBar",1,"P_6")
//TNT1 A 0 A_JumpIfInventory("HardHealthBar",1,"P_6")

//TNT1 A 0 A_JumpIfInventory("DuoHealthBar",1,"P_10")
//TNT1 A 0 A_JumpIfInventory("MegaHealthBar",1,"P_13")
//TNT1 A 0 A_JumpIfInventory("ProtoHealthBar",1,"P_15")
TNT1 A 0 A_JumpIfInventory("EnkerAbsorbCount",1,"No")
TNT1 A 0 A_JumpIfInventory("BasicArmor",1,"P_6")
TNT1 A 0 A_JumpIfInventory("StarArmorPower",1,"P_6")

TNT1 A 0 A_JumpIfInventory("MagicCardWeakness",1,"P_14")

TNT1 A 0 A_JumpIfInventory("WilyNoSuitWeakness",1,"P_15")
TNT1 A 0 A_JumpIfInventory("DynamoHealingWeakness",1,"P_15")
TNT1 A 0 A_JumpIfInventory("TrioRageWeakness",1,"P_18")
goto P_12


P_6:TNT1 A 0 A_SpawnItemEx("MagicCardHealth_6",0,0,0,0,0,0,0,1)stop
P_7:TNT1 A 0 A_SpawnItemEx("MagicCardHealth_7",0,0,0,0,0,0,0,1)stop
P_8:TNT1 A 0 A_SpawnItemEx("MagicCardHealth_8",0,0,0,0,0,0,0,1)stop
P_9:TNT1 A 0 A_JumpIfInventory("EnkerAbsorbCount",1,"No")
TNT1 A 0 A_SpawnItemEx("MagicCardHealth_9",0,0,0,0,0,0,0,1)stop
P_10:TNT1 A 0 A_SpawnItemEx("MagicCardHealth_10",0,0,0,0,0,0,0,1)stop
P_12:TNT1 A 0 A_SpawnItemEx("MagicCardHealth_12",0,0,0,0,0,0,0,1)stop
P_13:TNT1 A 0 A_SpawnItemEx("MagicCardHealth_13",0,0,0,0,0,0,0,1)stop
P_14:TNT1 A 0 A_JumpIfInventory("WilyNoSuitWeakness",1,"P_18")
TNT1 A 0 A_SpawnItemEx("MagicCardHealth_14",0,0,0,0,0,0,0,1)stop
P_15:TNT1 A 0 A_SpawnItemEx("MagicCardHealth_15",0,0,0,0,0,0,0,1)stop
P_18:TNT1 A 0 A_SpawnItemEx("MagicCardHealth_18",0,0,0,0,0,0,0,1)stop

P_DOC:
TNT1 A 0 A_JumpIfInventory("DocToadHealthBar",1,"P_8")
TNT1 A 0 A_JumpIfInventory("DuoHealthBar",1,"P_10")
TNT1 A 0 A_JumpIfInventory("MegaHealthBar",1,"P_13")
TNT1 A 0 A_JumpIfInventory("ProtoHealthBar",1,"P_15")
goto P_12
No:
TNT1 A 0
stop
}
}


actor MagicCardHealth_6
{
Height 0
Radius 0
+NOINTERACTION
+NOCLIP
+SEEKERMISSILE
PROJECTILE
speed 35
ReactionTime 100
scale 2.5
states
{
Spawn:
MCAR S 0
MCAR S 0 A_TransferPointer(2,0,2,2)
MCAR S 0 A_RearrangePointers(0,0,2)
MCAR S 1 A_FaceTarget
goto Spawn2
Spawn2:
MCAR S 1 A_JumpIfCloser(64,"Giver")MCAR S 0 A_SeekerMissile(90,90,2)
MCAR S 1 A_JumpIfCloser(64,"Giver")MCAR S 0 A_SeekerMissile(90,90,2)
MCAR S 1 A_JumpIfCloser(64,"Giver")MCAR S 0 A_SeekerMissile(90,90,2)
MCAR S 1 A_JumpIfCloser(64,"Giver")MCAR S 0 A_SeekerMissile(90,90,2)
MCAR S 1 A_JumpIfCloser(64,"Giver")MCAR S 0 A_SeekerMissile(90,90,2)
MCAR S 1 A_JumpIfCloser(64,"Giver")MCAR S 0 A_SeekerMissile(90,90,2)
MCAR T 1 A_JumpIfCloser(64,"Giver")MCAR S 0 A_SeekerMissile(90,90,2)
MCAR T 1 A_JumpIfCloser(64,"Giver")MCAR S 0 A_SeekerMissile(90,90,2)
MCAR T 1 A_JumpIfCloser(64,"Giver")MCAR S 0 A_SeekerMissile(90,90,2)
MCAR T 1 A_JumpIfCloser(64,"Giver")MCAR S 0 A_SeekerMissile(90,90,2)
MCAR T 1 A_JumpIfCloser(64,"Giver")MCAR S 0 A_SeekerMissile(90,90,2)
MCAR T 1 A_JumpIfCloser(64,"Giver")MCAR S 0 A_SeekerMissile(90,90,2)
MCAR S 0 A_JumpIf(ACS_ExecuteWithResult(C_CHECK_TARGET_OOC)==0,"SuperDeath")
MCAR S 0 A_CountDown
loop
SuperDeath:
TNT1 A 1
stop
Giver:
TNT1 A 0 A_GiveToTarget("MC_H_PU_6",1)
goto End
End:
TNT1 A 0 A_SpawnItemEx("MagicCardHealthFX",0,0,-8,0,0,0,0,1)
TNT1 A 1 A_PlaySoundEx("item/energyup","Weapon")
stop
Death:
TNT1 A 1
stop
}
}

actor MagicCardHealthFX : BasicClientSide
{
States
{
Spawn:
MGB8 EFGHIJK 3
stop
}
}

actor MagicCardHealth_7 : MagicCardHealth_6
{
States
{
Giver:
TNT1 A 0 A_GiveToTarget("MC_H_PU_7",1)
goto End
}
}

actor MagicCardHealth_8 : MagicCardHealth_6{States{Giver:TNT1 A 0 A_GiveToTarget("MC_H_PU_8",1)goto End}}
actor MagicCardHealth_9 : MagicCardHealth_6{States{Giver:TNT1 A 0 A_GiveToTarget("MC_H_PU_9",1)goto End}}
actor MagicCardHealth_10: MagicCardHealth_6{States{Giver:TNT1 A 0 A_GiveToTarget("MC_H_PU_10",1)goto End}}
actor MagicCardHealth_12: MagicCardHealth_6{States{Giver:TNT1 A 0 A_GiveToTarget("MC_H_PU_12",1)goto End}}
actor MagicCardHealth_13: MagicCardHealth_6{States{Giver:TNT1 A 0 A_GiveToTarget("MC_H_PU_13",1)goto End}}
actor MagicCardHealth_14: MagicCardHealth_6{States{Giver:TNT1 A 0 A_GiveToTarget("MC_H_PU_14",1)goto End}}
actor MagicCardHealth_15: MagicCardHealth_6{States{Giver:TNT1 A 0 A_GiveToTarget("MC_H_PU_15",1)goto End}}
actor MagicCardHealth_18: MagicCardHealth_6{States{Giver:TNT1 A 0 A_GiveToTarget("MC_H_PU_18",1)goto End}}

actor MC_H_PU_6 : CustomInventory
{
states
{
Pickup:
TNT1 A 0 A_GiveInventory("Health",4)
stop
}
}

actor MC_H_PU_7 : CustomInventory{states{Pickup:TNT1 A 0 A_GiveInventory("Health",5)stop}}
actor MC_H_PU_8 : CustomInventory{states{Pickup:TNT1 A 0 A_GiveInventory("Health",6)stop}}
actor MC_H_PU_9 : CustomInventory{states{Pickup:TNT1 A 0 A_GiveInventory("Health",7)stop}}
actor MC_H_PU_10 : CustomInventory{states{Pickup:TNT1 A 0 A_GiveInventory("Health",8)stop}}
actor MC_H_PU_12: CustomInventory{states{Pickup:TNT1 A 0 A_GiveInventory("Health",9)stop}}
actor MC_H_PU_13 : CustomInventory{states{Pickup:TNT1 A 0 A_GiveInventory("Health",10)stop}}
actor MC_H_PU_14 : CustomInventory{states{Pickup:TNT1 A 0 A_GiveInventory("Health",11)stop}}
actor MC_H_PU_15 : CustomInventory{states{Pickup:TNT1 A 0 A_GiveInventory("Health",12)stop}}
actor MC_H_PU_18 : CustomInventory{states{Pickup:TNT1 A 0 A_GiveInventory("Health",14)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
}
}

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

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





