
//Edit to add onto "classbase0_core.txt" and "classbase1_pain.txt"
//Mainly so that "goto Pain" and "goto Death" goes to the CBM's pain/death states

actor ClassBase_CBM1 : ClassBase_CBM0
{
Painchance 256
//+USEDAMAGEEVENTSCRIPT
States
{
/*
Spawn:
"----" A 0
"----" B 1
"----" A 1
Goto Spawn+2
See:
"----" BCDE 5
Goto Spawn
Missile:
"----" F 5
"----" G 4
goto Spawn
*/


MegamanPain0:
//"----" A 0 //A_Pain
"----" AAAAAAAAAA 2 A_SpawnItemEx("PainFX_CBM",-5,0,3,0,0,0)//PainFX
"----" A 1
Goto SuperSpawn


MegamanPain://What in tarnation is this needed for [Cel]
"----" A 0 A_JumpIfInventory("GravityHoldPainPower",1,"GravityHoldWait")
"----" A 0 A_JumpIfInventory("WilyIcePainPower",1,"WilyIceWait")
goto MegamanPain0//"Super::MegamanPain"
GravityHoldWait:
"----" A 2
"----" A 0 A_CheckFloor(2)
"----" A 0 ThrustThingZ(0,150,1,0)
"----" A 0
goto MegamanPain0//"Super::MegamanPain"
WilyIceWait:
"----" A 30
"----" A 30
"----" A 0 ACS_NamedExecuteWithResult("core_freezeplayer", 0, false)
"----" A 0 A_TakeInventory("IceVision",1)
goto SuperSpawn


MegamanDeath0:
"----" AAAAAAAAAAAAAAAAAAAA 1 A_JumpIfInventory("CriticalDeath",1,"MegamanGib")
MegamanExplode:
"----" A 0 A_SpawnItemEx("FakeDeathFX",0,0,32)
MegamanFall:
"----" A 0 A_PlaySoundEx("*death","Voice")//A_PlayerScream
MegamanErase:
"----" A 0 A_GiveInventory("CBM_FinalDeathState_P")
//TNT1 A 1 A_CheckPlayerDone
"####" Z 1 A_CheckPlayerDone
wait
MegamanGib:
"----" A 0 A_GiveInventory("CriticalDeathGiver", 1)
"----" A 0 A_SpawnItemEx("FakeDeathFX", 0, 0, 32)
goto MegamanErase



Death:
"----" A 0// A_Stop //Unsure why this STOP is default now. Should be the other way around [Cel]
Death_NoStop:
"----" H 0 A_GiveInventory("CBM_ClassDeath_P")
goto SuperClassDeath


MegamanDeath:
"----" H 0 A_JumpIfInventory("ExplodeDeathFlag",1,"MegamanGib")
"----" H 0 A_JumpIfInventory("FallingDeathFlag",1,"MegamanFall")
"----" H 0 A_JumpIfInventory("FlingDeathFlag",1,"MegamanFling")//CBM
"----" H 0 A_JumpIfInventory("RisingDeathFlag",1,"MegamanRise")
"----" H 0 A_JumpIfInventory("IceDeathFlag",1,"MegamanIce")
//"----" H 19//Core is 20 now
goto MegamanDeath0//"Super::MegamanDeath"

MegamanFling://CBM
"----" H 19
"----" H 0 A_GiveInventory("CBM_CritDeathCheck_Snd_P")
"----" H 0 A_SpawnItemEx("FakeDeathFX",0,0,32)
goto MegamanErase

MegamanRise:
"----" H 1 A_SetGravity(0.0)//A_ChangeFlag(NOINTERACTION,1)//0 gravity is better than changing this flag [Cel]
RiseMyMegaman:
"----" H 1 ThrustThingZ(0,10,0,1)//21
"----" H 0 A_JumpIf(ceilingz-z<=(height+1),"RiseMyMegamanEnd")
"----" H 0 A_GiveInventory("BlowDeathTimer",1)
"----" H 0 A_JumpIfInventory("BlowDeathTimer",25,"RiseMyMegamanEnd")
loop
RiseMyMegamanEnd:
"----" H 0 A_Stop
"----" H 0 A_SpawnItemEx("FakeDeathFX",0,0,0)
"----" H 0 A_GiveInventory("CBM_CritDeathCheck_P")//Spawns gibs if crit death
goto MegamanFall

MegamanIce:
"----" H 0 ACS_NamedExecuteWithResult("core_chargecolor",CLR_ICEDEATH,TCLR_ICEDEATH)//DYE_ICEDEATHCBM
"----" H 1 A_PlaySoundEx("*icefreze","Voice")
"----" H 0 A_JumpIfInventory("CriticalDeath",1,"MegamanIceGib")
"----" HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH 1 A_SpawnItemEx("FrozenDeathBitFX",frandom(16,48),0,fRandom(16,48),0,0,0,random(0,359),1)
"----" H 0 A_PlaySoundEx("*icedeath","Body")//Voice
"----" H 0 A_SpawnItemEx("FrozenDeathFX",0,0,1,0,0,0,0,1)
goto MegamanErase
MegamanIceGib:
"----" H 0 A_SpawnItemEx("FrozenDeathFX",0,0,1,0,0,0,0,1)
"----" H 0 A_SpawnItemEX("CriticalDeathSpawner",0,0,0,0,0,0,0,1)
"----" H 0 A_SpawnItemEx("FakeDeathFX",0,0,32)
"----" H 0 A_PlaySoundEx("*icedeath","Voice")
goto MegamanErase

MegaDeathEnd://Old, for reference?
"----" H 0 A_PlaySoundEx("*death","Voice")//A_XScream
"----" H 0 A_ChangeVelocity(0,0,0,CVF_REPLACE)
"----" H 0 A_SpawnItemEx("FakeDeathFX",0,0,32)
"----" H 0
goto MegamanErase

DeathWaitOLD:
PLY1 Z 1 A_CheckPlayerDone
wait





///////////////////
//Nothing Special Based
///////////////////

//>>>>>>> <<<<<<<//
//0.75x Hitstun (goto Pain) // (All Pain)
//>>>>>>> <<<<<<<//

//Pain.Normal:goto Pain

Pain.RollingCutter:goto RollingCutter_Weakness
Pain.SuperArm:goto SuperArm_Weakness
Pain.IceSlasher:goto IceSlasher_Weakness
Pain.HyperBomb:goto HyperBomb_Weakness
Pain.FireStorm:Pain.FireSpin:goto FireStorm_Weakness
Pain.ThunderBeam:goto ThunderBeam_Weakness
Pain.TimeSlow:goto TimeSlow_Weakness
Pain.OilSlider:Pain.OilFlame:goto OilSlider_Weakness

Pain.MetalBlade:goto MetalBlade_Weakness
Pain.AirShooter:goto AirShooter_Weakness
Pain.BubbleLead:goto BubbleLead_Weakness
Pain.QuickBoomerang:goto QuickBoomerang_Weakness
Pain.CrashBomb:goto CrashBomb_Weakness
Pain.TimeStopper:goto TimeStopper_Weakness
Pain.AtomicFire1:Pain.AtomicFire2:Pain.AtomicFire3:goto AtomicFire_Weakness
Pain.LeafShield:goto LeafShield_Weakness

Pain.NeedleCannon:goto NeedleCannon_Weakness
Pain.MagnetMissile:goto MagnetMissile_Weakness
Pain.GeminiLaser:goto GeminiLaser_Weakness
Pain.HardKnuckle:goto HardKnuckle_Weakness
Pain.TopSpin:goto TopSpin_Weakness
Pain.SearchSnake:goto SearchSnake_Weakness
Pain.SparkShock:goto SparkShock_Weakness
Pain.ShadowBlade:goto ShadowBlade_Weakness

Pain.FlashStopper:goto FlashStopper_Weakness
Pain.RainFlush:goto RainFlush_Weakness
Pain.DrillBomb:goto DrillBomb_Weakness
Pain.PharaohShot1:Pain.PharaohShot2:Pain.PharaohShot3:Pain.PharaohHold:goto PharaohShot_Weakness
Pain.RingBoomerang:goto RingBoomerang_Weakness
Pain.DustCrusher:Pain.DustCrusherBit:goto DustCrusher_Weakness
Pain.DiveMissile:goto DiveMissile_Weakness
Pain.SkullBarrier:goto SkullBarrier_Weakness

Pain.GravityHold:goto GravityHold_Weakness
Pain.WaterWave:goto WaterWave_Weakness
Pain.PowerStone:goto PowerStone_Weakness
Pain.GyroAttack:Pain.GyroChopper:goto GyroAttack_Weakness
Pain.StarCrash:goto StarCrash_Weakness
Pain.ChargeKick:goto ChargeKick_Weakness
Pain.NapalmBomb:goto NapalmBomb_Weakness
Pain.CrystalEye:Pain.CrystalEyeBit:goto CrystalEye_Weakness

Pain.BlizzardAttack:goto BlizzardAttack_Weakness
Pain.CentaurFlash:goto CentaurFlash_Weakness
Pain.FlameBlast:goto FlameBlast_Weakness
Pain.KnightCrush:goto KnightCrush_Weakness
Pain.PlantBarrier:goto PlantBarrier_Weakness
Pain.SilverTomahawk:goto SilverTomahawk_Weakness
Pain.WindStorm:goto WindStorm_Weakness
Pain.YamatoSpear:goto YamatoSpear_Weakness

Pain.FreezeCracker:Pain.FreezeCrackerBit:goto FreezeCracker_Weakness
Pain.JunkShield:goto JunkShield_Weakness
Pain.DangerWrap:goto DangerWrap_Weakness
Pain.ThunderBolt:goto ThunderBolt_Weakness
Pain.WildCoil:Pain.WildCoil2:goto WildCoil_Weakness
Pain.SlashClaw:goto SlashClaw_Weakness
Pain.NoiseCrush1:Pain.NoiseCrush2:goto NoiseCrush_Weakness
Pain.ScorchWheel:goto ScorchWheel_Weakness

Pain.MegaBall:goto MegaBall_Weakness
Pain.TornadoHold:Pain.TornadoHoldPod:goto TornadoHold_Weakness
Pain.AstroCrush:goto AstroCrush_Weakness
Pain.FlameSword:goto FlameSword_Weakness
Pain.ThunderClaw:goto ThunderClaw_Weakness
Pain.HomingSniper:goto HomingSniper_Weakness
Pain.IceWave:goto IceWave_Weakness
Pain.FlashBomb:goto FlashBomb_Weakness
Pain.WaterBalloon:goto WaterBalloon_Weakness

Pain.ConcreteShot:goto ConcreteShot_Weakness
Pain.TornadoBlow:goto TornadoBlow_Weakness
Pain.LaserTrident:goto LaserTrident_Weakness
Pain.PlugBall:goto PlugBall_Weakness
Pain.JewelSatellite:goto JewelSatellite_Weakness
Pain.HornetChaser:goto HornetChaser_Weakness
Pain.MagmaBazooka1:Pain.MagmaBazooka2:goto MagmaBazooka_Weakness
Pain.BlackHoleBomb:goto BlackHoleBomb_Weakness

Pain.TripleBlade:goto TripleBlade_Weakness
Pain.WaterShield:goto WaterShield_Weakness
Pain.CommandoBomb:goto CommandoBomb_Weakness
Pain.ChillShot:Pain.ChillSpike:goto ChillSpike_Weakness
Pain.ThunderWool:goto ThunderWool_Weakness
Pain.ReboundStriker:goto ReboundStriker_Weakness
Pain.WheelCutter:Pain.WheelCutterSaw:goto WheelCutter_Weakness
Pain.SolarBlaze:goto SolarBlaze_Weakness

Pain.TenguBlade:goto TenguBlade_Weakness
Pain.CopyVision:goto CopyVision_Weakness
Pain.LightningBolt:goto LightningBolt_Weakness
Pain.IceWall:goto IceWall_Weakness
Pain.SpreadDrill:Pain.SpreadDrill2:Pain.SpreadDrill3:goto SpreadDrill_Weakness
Pain.RemoteMine:goto RemoteMine_Weakness
Pain.WaveBurner:Pain.WaveBurnerUW:goto WaveBurner_Weakness
Pain.MagicCard:goto MagicCard_Weakness

Pain.SparkChaser:goto SparkChaser_Weakness
Pain.GrabBuster:goto GrabBuster_Weakness
Pain.BubbleBomb:goto BubbleBomb_Weakness
Pain.PhotonMissile:goto PhotonMissile_Weakness
Pain.ElectricShock:goto ElectricShock_Weakness
Pain.BlackHole:goto BlackHole_Weakness
Pain.DeepDigger:goto DeepDigger_Weakness
Pain.BreakDash:goto BreakDash_Weakness
Pain.SaltWater:goto SaltWater_Weakness

Pain.MirrorBuster1:Pain.MirrorBuster2:Pain.MirrorBuster3:goto MirrorBuster_Weakness
Pain.ScrewCrusher:goto ScrewCrusher_Weakness
Pain.BalladeCracker:goto BalladeCracker_Weakness
Pain.Sakugarne:goto Sakugarne_Weakness


Pain.Buster:Pain.ProtoBuster:Pain.ProtoBuster2:Pain.ProtoBuster3:Pain.BassBuster:Pain.SuperAdaptor:Pain.ChargeBuster:Pain.ArrowBuster:Pain.LaserBuster:Pain.DuoFist1:Pain.DuoFist2:Pain.DuoFist3:Pain.TrebleBoost:Pain.MegaArm:

Pain.DarkShot:

Pain.BlastRune:Pain.DawnBreaker:

Pain.Beat:Pain.EddieBomber:Pain.Tango:Pain.Reggae:Pain.TrebleSentry:

//Stage Hazards
Pain.FireTrap:Pain.FirePillar:Pain.Disintegrate:Pain.OilCanister:Pain.OilStageFire:Pain.BigEye:Pain.MetalPress:Pain.Spiney:Pain.Beam:Pain.Wanaan:Pain.MetoolSwimmer:
Pain.PressBall:Pain.SpringBoxTrap:Pain.KyorownBullet:Pain.VehicleHazard:Pain.CountBomb:Pain.CountBombClear:Pain.ChangekeyDragon:Pain.ClownTrain:Pain.FlingDamage:
Pain.IceBlock:Pain.PirateMine:Pain.BurnWave:Pain.FireSnakey:Pain.ChillCubeRespawn:Pain.SheepBlockRespawn:Pain.SolarChangkey:Pain.MarsRocket:Pain.MarsMine:
Pain.Exit:Pain.Melee:

//Hazard Tags
Pain.Normal:Pain.Fire:Pain.Ice:Pain.Massacre:
Pain.DrowningTag:Pain.SlimeTag:Pain.FallingTag:Pain.ExitTag:Pain.CrushTag:Pain.MeleeTag:Pain.SuicideTag:

//Core Bosses
Pain.Boss:Pain.Enemy:Pain.Misc:
Pain.Met:Pain.Dozer:Pain.DozerShot:Pain.Instagib:Pain.Protoman:Pain.DarkMan:Pain.Darkman:Pain.Gamma:
Pain.Bass:Pain.BassLaser:Pain.WilyFire:Pain.WilyIce:Pain.WilyLightning:Pain.WilyGroundLightning:
Pain.GigaIceWave:Pain.King:Pain.BusterRod:Pain.Quick:Pain.Fakeman:Pain.EclipsePunch:Pain.Trample:Pain.Destroy:
Pain0:
"----" H 0
goto Pain


//>>>>>>> <<<<<<<//
//No Hitstun (goto Pain+1)
//>>>>>>> <<<<<<<//

Pain.FireSpin:goto FireStorm_Weakness1
Pain.TimeSlow:goto TimeSlow_Weakness1
Pain.OilSlider:goto OilSlider_Weakness1

Pain.QuickBoomerang:goto QuickBoomerang_Weakness1
Pain.CrashBomb:goto CrashBomb_Weakness1

Pain.NeedleCannon:goto NeedleCannon_Weakness1
Pain.MagnetMissile:goto MagnetMissile_Weakness1
Pain.SparkShock:goto SparkShock_Weakness1

Pain.FlashStopper:goto FlashStopper_Weakness1
Pain.PharaohHold:goto PharaohShot_Weakness1
Pain.DiveMissile:goto DiveMissile_Weakness1

Pain.GravityHold:goto GravityHold_Weakness1
Pain.StarCrash:goto StarCrash_Weakness1
Pain.ChargeKick:goto ChargeKick_Weakness1
Pain.CrystalEyeBit:goto CrystalEye_Weakness1

Pain.CentaurFlash:goto CentaurFlash_Weakness1
Pain.WindStorm:goto WindStorm_Weakness1
Pain.YamatoSpear:goto YamatoSpear_Weakness1

Pain.JunkShield:goto JunkShield_Weakness1
Pain.WildCoil:goto WildCoil_Weakness1
Pain.ScorchWheel:goto ScorchWheel_Weakness1

Pain.FlashBomb:goto FlashBomb_Weakness1
Pain.WaterBalloon:goto WaterBalloon_Weakness1

Pain.ConcreteShot:goto ConcreteShot_Weakness1
Pain.TornadoBlow:goto TornadoBlow_Weakness1
Pain.LaserTrident:goto LaserTrident_Weakness1

Pain.ChillSpike:goto ChillSpike_Weakness1
Pain.WheelCutterSaw:goto WheelCutter_Weakness1

Pain.IceWall:goto IceWall_Weakness1
Pain.SpreadDrill:Pain.SpreadDrill2:Pain.SpreadDrill3:goto SpreadDrill_Weakness1
Pain.WaveBurner:Pain.WaveBurnerUW:goto WaveBurner_Weakness1

Pain.SparkChaser:goto SparkChaser_Weakness1
Pain.BreakDash:goto BreakDash_Weakness1

Pain.ScrewCrusher:goto ScrewCrusher_Weakness1


Pain.ProtoBuster:Pain.Buster:Pain.BassBuster:Pain.MegaArm:
Pain.TrebleSentry:Pain.Treble:Pain.TrebleBoost:

Pain.Exit:
Pain.Reggae:
Pain.MetoolSwimmer:Pain.KyorownBullet:Pain.FlingDamage:Pain.IceBlock:
Pain.Misc:Pain.Protoman:Pain.DarkMan:Pain.Darkman:Pain.Gamma:
Pain1://Used by Stoneman/Chillman and NoFallingRespawn_F
"----" H 0
Goto Pain+1

//>>>>>>> <<<<<<<//
//No Hitstun or Recoil (goto Pain+2)
//>>>>>>> <<<<<<<//

Pain.GyroChopper:goto GyroAttack_Weakness2

Pain.TornadoHoldPod:goto TornadoHold_Weakness2

Pain.TripleBlade:goto TripleBlade_Weakness2
Pain.WaterShield:goto WaterShield_Weakness2
Pain.CommandoBomb:goto CommandoBomb_Weakness2
Pain.ThunderWool:goto ThunderWool_Weakness2

Pain.ElectricShock:goto ElectricShock_Weakness2


Pain2://Used by Stoneman/Chillman and NoFallingRespawn_F
"----" H 0
Goto Pain+2






///////////////////
//classbase1_pain.txt redefines
///////////////////

Pain.NoPain:
PLY1 B 0 
goto SuperSpawn
Pain.BotSight:
"####" B 5 HealThing(1)
goto SuperSpawn


///////////////////
//Sound Based / Power Protects
///////////////////

Pain.Reggae:
"----" H 0 A_PlaySoundEx("item/reggae","SoundSlot5",0)//7
Goto Pain+2

Pain.CrystalEyeBit:
"----" H 0 A_GiveInventory("CrystalEyeHit",1)
"----" H 0 A_GiveInventory("PainHitstun_90_P",1)
goto CrystalEye_Weakness1

Pain.SlashClaw:
"----" H 0 A_PlaySoundEx("weapons/mm7/slashclawhit","SoundSlot5")
goto SlashClaw_Weakness

Pain.TornadoHold:
"----" H 0 A_GiveInventory("TornadoHoldProtect",1)
goto TornadoHold_Weakness2

Pain.FlameSword:
"----" H 0 A_GiveInventory("FlameSwordProtect",1)
"----" H 0 A_PlaySoundEx("weapons/mm8/flameswordhit","SoundSlot5")
"----" HH 0 A_SpawnItemEx("FlameSwordBit",0,0,0,random(-10,10),random(-10,10),random(10,15),random(0,359))
goto FlameSword_Weakness

Pain.TenguSlash:
"----" H 0 A_PlaySoundEx("weapons/mmb/tengubladehit","SoundSlot5")
goto TenguBlade_Weakness

Pain.SpreadDrill:
Pain.SpreadDrill2:
Pain.SpreadDrill3:
"----" H 0 A_JumpIfInventory("SpreadDrillProtect",1,2)
"----" H 0 A_PlaySoundEx("weapons/mmb/spreaddrillhit","SoundSlot5")
"----" H 0 A_GiveInventory("SpreadDrillProtect",1)
goto SpreadDrill_Weakness1

Pain.SparkChaser:
"----" H 0 A_GiveInventory("SparkChaserTagged",1)
goto SparkChaser_Weakness1

Pain.BreakDash:
"----" H 0 A_GiveInventory("BreakDashProtect",1)
"----" H 0 A_GiveInventory("PainHitstun_0_P")//A_Stop
goto BreakDash_Weakness1

///////////////////
//Movement Based (Stops/Slows)
///////////////////

//0.9x Hitstun

Pain.CrystalEyeBit:
"----" H 0 A_GiveInventory("PainHitstun_90_P",1)
goto CrystalEye_Weakness1
Pain.FlashBomb:
"----" H 0 A_GiveInventory("PainHitstun_90_P",1)
goto FlashBomb_Weakness1
Pain.WaterBalloon:
"----" H 0 A_GiveInventory("PainHitstun_90_P",1)
goto WaterBalloon_Weakness1
Pain.IceWall:
"----" H 0 A_GiveInventory("PainHitstun_90_P",1)
goto IceWall_Weakness1
Pain.RemoteMine:
"----" H 0 A_GiveInventory("PainHitstun_90_P",1)
goto RemoteMine_Weakness1

Pain.ChargeBuster:
Pain_90:
"----" H 0 A_GiveInventory("PainHitstun_90_P",1)
Goto Pain+1

Pain.TimeStopper:
"----" H 0 A_GiveInventory("TimeStopActivator",1)
goto TimeStopper_Weakness2

Echo_TimeStop:
"----" H 0 A_GiveInventory("TimeBenderStart_P")
"----" H 0 A_Jump(256,"TimeStopped_Echo")
Goto TimeStopped_Echo
Fun_TimeStop:
"----" H 0 A_GiveInventory("TimeBenderStart_P")
"----" H 0 A_Jump(256,"TimeStopped_Fun")
Goto TimeStopped_Fun
Pain_TimeStop:
"----" H 0 A_GiveInventory("TimeBenderStart_P")
"----" H 0 A_Jump(256,"TimeStopped_Pain")
Goto TimeStopped_Pain
//The following tinker with these for pain: Stoneman, Swordman
TimeStopped_Echo://Force last frame
"####" "#" 101
Goto Pain+2
TimeStopped_Fun://Force Fun frame
"####" "]" 101
Goto Pain+2
TimeStopped_Pain://Force H Pain frame
"####" "H" 101
Goto Pain+2

Pain.CrashBomb:
"----" H 0 A_GiveInventory("PainHitstun_0_P")//A_Stop
goto CrashBomb_Weakness1

Pain.TimeSlow:
"----" H 0 A_GiveInventory("Core_Slowed_P",1)//Slowed
goto TimeSlow_Weakness1

Pain.ConcreteShot:
"----" H 0 A_GiveInventory("CBM_PainConcreteStart_P")
goto ConcreteShot_Weakness1
/*Pain.ConcreteShot:
"----" H 0 A_JumpIfInventory("ConcreteVision",1,"ConcreteReset")
"----" H 0 A_GiveInventory("ConcreteVision",1)
"----" H 0 A_GiveInventory("ConcreteTime",105)
"----" H 0 A_SpawnItemEx("ConcreteWatcher")
goto ConcreteShot_Weakness1
ConcreteReset:
"----" H 0 A_GiveInventory("ConcreteTime",105)
goto ConcreteShot_Weakness1*/

Pain.SparkShock:
"----" H 0 A_SpawnItemEx("SparkShockFX",6,0,32)
"----" H 0 A_GiveInventory("Core_ShockedStopGiver",1)//Shocked
goto SparkShock_Weakness2

Pain.ChillSpike:
"----" H 0 A_GiveInventory("ChillFreeze",1)
goto ChillSpike_Weakness1

///////////////////
//Movement Based (Flings)
///////////////////

Pain.WindStorm:
"----" H 0 A_GiveInventory("WindStorm_Pain_P")//WindStormHit
goto WindStorm_Weakness1

Pain.TornadoBlow:
"----" H 0 A_GiveInventory("TornadoBlow_Pain_P")
//"----" H 0 A_JumpIfInventory("NoPushFlag",1,"TornadoBlow_Weakness1")//SkipFling
//"----" H 0 ThrustThingZ(0,60,0,0)
//"----" H 0
goto TornadoBlow_Weakness1

Pain.GravityHold:
"----" A 0 A_ChangeVelocity(momx,momy,0,CVF_REPLACE)
"----" A 0 A_JumpIf(z-floorz<=8,2)
"----" A 0 A_GiveInventory("GravityForcePain_P",1)//"####" H 2
"----" A 0 A_CheckFloor(2)
"----" A 0 ThrustThingZ(0,150,1,0)
"----" A 0
goto GravityHold_Weakness1

Pain.SpringBoxTrap:
Pain.ClownTrain:
Pain.FlingDamage:
"----" H 0 A_GiveInventory("FlingDamage_Pain_P")
//"----" H 0 A_JumpIfInventory("NoPushFlag",1,"SkipFling")
//"----" H 0 //ThrustThing(random(0,255),50,1,0)
//"----" H 0 ThrustThing(random(0,255),5,0,0)
//"----" H 0 ThrustThingZ(0,30,0,0)
Goto Pain+1

SkipFling:
"----" H 0
Goto pain+1

///////////////////
//Effect Based
///////////////////

Pain.FlashStopper:
"----" H 0 A_GiveInventory("FlashStopperHit",1)
goto FlashStopper_Weakness1

//Stonecore and Chillman have tweaks for these damagetypes
//For some reason, Doom Rocket has "Fire" damagetype. Be wary of Cyberdemons
Pain.Drowning:Pain.Slime:Pain.Fire:Pain.Falling:Pain.Ice:
Pain.DrowningTag:Pain.SlimeTag:Pain.FallingTag:
"----" H 0
"----" H 0 A_JumpIfInventory("BeatCallCheck",1,"BeatAssist")
Pain.Spiney:
"----" H 0 A_JumpIfInventory("ShieldHits",1,"Pain1")
Pain.Crush:Pain.CrushTag:Pain.Beam:Pain.PressBall:Pain.BurnWave:Pain.Massacre:
"----" H 0 A_JumpIfInventory("NoFallingRespawn_F",1,"Pain1")
"----" H 0 A_GiveInventory("CBM_ArtiTeleportCheck_P")
Goto Pain+1

BeatAssist:
"----" H 0
"----" H 0 HealThing(2,30000)
"----" H 0 ACS_NamedExecuteAlways("core_beatflight",0,0,1)
"----" H 0 A_JumpIfInventory("BeatCallProtection",1,"Spawn")
Goto Pain+1

Pain.WilyFire:
"----" H 0 A_SpawnItemEx("ImOnFire")
"----" H 0 A_GiveInventory("FireVision",1)
Goto Pain//+2
Pain.WilyIce:
"----" A 0 ACS_NamedExecuteWithResult("core_freezeplayer", 0, true)
"----" A 0 A_SpawnItemEx("ImFrozen")
"----" A 0 A_GiveInventory("IceVision",1)
"----" A 0 A_Stop
"----" A 0 A_GiveInventory("WilyIcePainPower",1)
Goto Pain+1


///////////////////
//TID Soup Based
///////////////////



///////////////////
//Death states (Added states have //)
///////////////////

Death.Ice://
Death.WilyIce:Death.GigaIceWave:
Death.IceSlasher:
Death.TimeStopper://
Death.BlizzardAttack:
Death.FreezeCracker:Death.FreezeCrackerBit:
Death.IceWave:
Death.ChillSpike:Death.ChillShot:
Death.IceBlock:Death.ChillCubeRespawn://
Ice:
"----" H 0 A_GiveInventory("IceDeathFlag",1)
goto Death

Death.FallingTag:
Death.Falling:
"----" A 0 A_JumpIfInventory("FallDeathExplodeFlag",1,"Death")
"----" A 0 A_GiveInventory("FallingDeathFlag",1)
goto Death

Death.WindStorm:
Death.GravityHold:
Death.TornadoHold:
Death.TornadoBlow:
"----" H 0 A_GiveInventory("RisingDeathFlag",1)
goto Death

Death.spawntelefrag:
"----" H 0 A_GiveInventory("SpawnTeleFragFlag",1)
goto Death

Death.Gib:
Death.Instagib:Death.Telefrag:
Death.TopSpin:Death.CommandoBomb:Death.DawnBreaker:
Death.Suicide:Death.SuicideTag:Death.Beam:Death.Spiney://
Death.PressBall:/*Death.Extreme:Death.InstantDeath:*/Death.VehicleHazard:Death.Massacre://
"----" H 0 A_GiveInventory("ExplodeDeathFlag",1)
goto Death

Death.Crush:Death.CrushTag:
Death.MetalPress://
"----" H 0 A_GiveInventory("FlattenDeathFlag",1)
"----" H 0 A_SetScale(ScaleX,ScaleX/3)
goto Death

Death.FlingDamageGib:Death.CountBombClear:Death.SheepBlockRespawn:
"----" H 0 A_GiveInventory("CriticalDeath",1)
Death.FlingDamage:Death.MeleeTag:
"----" H 0 A_GiveInventory("FlingDeathFlag",1)
goto Death

Death.DustCrusher:Death.DustCrusherBit:
Death.JunkShield:
"----" H 0 A_GiveInventory("JunkDeathDropFlag",1)
goto Death

Death.BurnWave:
Death.Fire:Death.Slime:Death.SlimeTag:Death.Drowning:Death.DrowningTag:Death.Exit:Death.ExitTag:
"----" H 0
goto Death


}
}
