//Outdated

actor SaxtonHaleSurvivor : PlayerPawn
{
player.soundclass "megaman"
player.damagescreencolor "white", 0.4
player.forwardmove 0.8, 0.8
player.sidemove 0.78, 0.78
player.jumpz 10
player.maxhealth 100 // 1000
health 100 // 1000
player.colorrange 0 0
mass 9999
gravity 0.8
+NODAMAGETHRUST
+DONTBLAST
+NOBLOOD
+QUICKTORETALIATE
//+CANTSEEK
damagefactor "Dummy", 0.0
Player.MaxSkinSizeFactor 0, 0
//damagefactor "Telefrag",0.000020
player.startitem "BaseFlagPack"

var int user_hp;
var int user_customstate;
var int user_wepangle;
var int user_weppitch;
var int user_wepangle2;//Dynamo

Var int User_STargTID;
Var int User_angleDistRegister;
Var int User_STargRange;

var int user_wepaimlimit;//SpectrumMystery

scale 2.5
States
{
Spawn:
PLAY A 0
PLAY B 1
PLAY A 1 A_JumpIfInventory("InvisibleSection", 1, "NinjaTelefragger")
Goto Spawn+2
See:
"----" BCDE 5
Goto Spawn
Missile:
"----" F 5
"----" G 4
goto Spawn
Pain.WaterShield:
"----" H 0 A_GiveInventory("WaterShieldProtect",1)
goto Pain
Pain.BlackHoleBomb:
//"----" H 0 A_Changeflag("NOPAIN",1)
"----" H 0 A_GiveInventory("BlackHoleBombProtection",1)
"----" H 0 A_Stop
"----" H 0 A_Recoil(25)//ThrustThing(80,20,1,0)
//"----" H 0 A_Changeflag("NOPAIN",0)
Goto pain+1
NinjaTelefragger:
PLAY X 2
PLAY X 3 A_JumpIfInventory("InvisibleSection", 1, "NinjaTelefragger")
goto Spawn
Pain.Telefrag: 
"----" H 0 A_GiveInventory("ExitUnitAuto",1)
goto Pain
BeatAssist:
"----" H 0 
"----" H 0 HealThing(3)
"----" H 0 ThrustThingZ(0,25,0,0)
"----" H 0 ACS_ExecuteAlways(205,0)
Goto Pain
Pain.GutsClaw1:
Pain.GutsClaw2:
"----" H 0 ThrustThingZ(0,80,0,0)
"----" H 0 A_SpawnItemEx("Pain_GutsManG")
goto Pain
PainGoukiComboStop:
"----" H 0
goto GoukiContinueComboStop
GoukiContinueComboStop:
"----" HHHHHH 1 A_Stop
goto Pain
Pain.LampBulb:
"----" H 0 A_GiveInventory("SheriffLampSlowdown")
goto Pain
Pain.HSHPushAway:
"----" H 0 A_GiveToTarget("CrushCrush",1)
"----" H 0 A_ChangeVelocity(0,0,14,CVF_RELATIVE|CVF_REPLACE)
"----" H 0 A_SpawnItemEx("Pain_HSHBoss")
goto Pain
Pain.MegaWaterSWater:
"----" H 0 A_GiveInventory("MWSProtection",1)
"----" H 0 HealThing(2)
"----" H 0 A_SpawnItemEx("Explosion_MWSWater")
goto Pain
Pain.GoShoryuken:
"----" H 0 A_SpawnItemEx("AkumaGoShoryukenBang", random(-6, 6), random(-14, 14), random(-38, -10))
"----" H 0 A_Stop
"----" H 0 ACS_ExecuteAlways(401, 0, 13)
"----" H 0 A_ChangeFlag("NOGRAVITY", 1)
"----" H 0 ThrustThingZ(0, 105, 0, 0)
"----" H 0 A_PlaySoundEx("Gouki/Pain1", "Body")
"----" H 0 A_GiveInventory("GoShoryukenDefense", 1)
"----" H 0 SetPlayerProperty(0, 1, 4)
"----" H 0 A_SpawnItemEx("GoShoryukenRetablisher")
goto Pain
Pain.TatsumakiZankukyaku:
"----" H 0 A_SpawnItemEx("AkumaGoHadokenBang", random(-6, 6), random(-14, 14), random(-38, -10))
"----" H 0 ACS_ExecuteAlways(401, 0, 11)
"----" H 0 A_PlaySoundEx("Gouki/Pain3", "Body")
"----" H 0 A_Stop
"----" H 0 A_SetAngle(angle+random(40,60))
"----" H 0 A_Recoil(random(-36, 36))
"----" H 0 ThrustThingZ(0, random(65, 80), 0, 0)
"----" H 0 A_GiveInventory("TatsumakiZankukyakuImmu", 1)
goto Pain
Pain.ProtoBash:
"----" H 0 A_GiveInventory("ProtoBashProtection")
"----" H 0 A_ChangeVelocity(0,0,8,CVF_RELATIVE|CVF_REPLACE)
"----" H 0 A_SpawnItemEx("Pain_ProtoBash")
goto Pain
Death.ProtoBash:
Death.BassCrescentKick:
Death.FakeBaton:
"----" H 0 A_PlaySoundEx("Proto/FuckedYou","Item")
"----" H 0 A_GiveInventory("ProtoFuckedYouUp",1)
"----" H 0 A_Recoil(30)
"----" H 0 ThrustThingZ(0,40,0,0)
goto Death
Pain.BassCrescentKick:
"----" H 0 A_GiveInventory("CrescentKickProtection")
"----" H 0 A_ChangeVelocity(0,0,12,CVF_RELATIVE|CVF_REPLACE)
"----" H 0 A_SpawnItemEx("Pain_CrescentKick")
goto Pain
Pain.GigaFistSH:
"----" H 0 A_GiveInventory("GigaFistProtection")
"----" H 0 A_ChangeVelocity(0,0,8,CVF_RELATIVE|CVF_REPLACE)
"----" H 0 A_SpawnItemEx("Pain_GigaFist")
goto Pain
Pain.DuoRapidFist: 
"----" H 0 A_GiveInventory("DuoRushProtection")
"----" H 0 //A_ChangeVelocity(0,0,2,CVF_RELATIVE|CVF_REPLACE)
"----" H 0 A_SpawnItemEx("Pain_DuoRush")
goto Pain
Pain.FakeBaton: 
"----" H 0 //A_ChangeVelocity(0,0,2,CVF_RELATIVE|CVF_REPLACE)
"----" H 0 A_ChangeVelocity(0,0,6,CVF_RELATIVE|CVF_REPLACE)
"----" H 0 A_SpawnItemEx("Pain_FakeBaton")
goto Pain
Pain.TimeScatter:
"----" H 0 A_ChangeVelocity(0,0,16,CVF_RELATIVE|CVF_REPLACE)
"----" H 0 A_SpawnItemEx("Pain_TimeScatter")
goto Pain
Pain.W_StarSpur:
"----" H 0 A_ScaleVelocity(0.25)
goto Pain
Pain.ThorDashBump:
"----" H 0 A_GiveInventory("ThorDashBumpProtection")
"----" H 0 A_ChangeVelocity(0,0,12,CVF_RELATIVE|CVF_REPLACE)
"----" H 0 A_SpawnItemEx("Pain_CrescentKick")
goto Pain

Pain.NDSKnockDown1:
"----" H 0 A_Recoil(34)
"----" H 0 ThrustThingZ(0,72,0,0)
goto Pain
Pain.NDSKnockDown2:
"----" H 0 A_Recoil(22)
"----" H 0 ThrustThingZ(0,50,0,0)
goto Pain
Pain.NDSKnockDown3:
"----" H 0 A_Recoil(13)
"----" H 0 ThrustThingZ(0,27,0,0)
goto Pain
Pain.ScroogeX:
"----" H 0 ThrustThingZ(0,200,0,0)
goto Pain
Pain.CanePogo:
"----" H 0 A_GiveInventory("CanePogoProtect",1)
goto Pain
Pain.ThorMinion:
"----" A 0 A_JumpifInventory("LastSurvivorFlag",1,"Pain")
"----" A 0 A_TakeInventory("PowerNOONEGETSHURTBUTTHEBOSS", 999)
"----" A 0 A_TakeInventory("AutoShopItem_1", 999) "----" A 0 A_TakeInventory("AutoShopItem_2", 999)
"----" A 0 A_TakeInventory("AutoShopItem_3", 999) "----" A 0 A_TakeInventory("AutoShopItem_4", 999)
"----" A 0 A_TakeInventory("AutoShopItem_5", 999) "----" A 0 A_TakeInventory("AutoShopItem_6", 999)
"----" A 0 A_TakeInventory("AutoShopItem_7", 999) "----" A 0 A_TakeInventory("AutoShopItem_8", 999)
"----" A 0 A_TakeInventory("BassBusterSpecial", 999)
"----" A 0 A_TakeInventory("ProtoBusterSpecial", 999)
"----" A 0 A_TakeInventory("DuoFistSpecial", 999)
"----" A 0 A_TakeInventory("DuoRushSpecial", 999)
"----" A 0 A_TakeInventory("ProtomanBashAmmo", 999)
"----" A 0 A_TakeInventory("BassCrescentKickAmmo", 999)
"----" A 0 A_TakeInventory("DuoChargeAmmo",999)
"----" A 0 A_TakeInventory("RollMedic", 999)
"----" A 0 A_TakeInventory("FakeRevolverSpecial", 999) 
"----" A 0 A_TakeInventory("FakeBatonSpecial",999)
"----" A 0 A_GiveInventory("RaThorMinionWeapon", 1)
"----" A 0 A_GiveInventory("TakeCopyWeapons", 1)
"----" A 0 A_GiveInventory("SH_MapPreviewsOff",1)
"----" A 0 A_SetTranslucent(1.0)
"----" A 0 ACS_NamedExecuteAlways("sh_speeds", 0, 10)
"----" A 0 ACS_ExecuteAlways(708,0,255)
"----" A 0 ACS_ExecuteAlways(991,0,508)
"----" A 0 A_ChangeFlag("PICKUP", 0)
goto Pain
Pain.CrunchLV1:
"----" H 0 ThrustThingZ(0,65,0,0)
"----" H 0 A_Recoil(6)
goto PainCrunch
Pain.CrunchLV2:
"----" H 0 ThrustThingZ(0,75,0,0)
"----" H 0 A_Recoil(8)
goto PainCrunch
Pain.CrunchLV3:
"----" H 0 ThrustThingZ(0,85,0,0)
"----" H 0 A_Recoil(9)
goto PainCrunch
Pain.CrunchLV4:
"----" H 0 ThrustThingZ(0,95,0,0)
"----" H 0 A_Recoil(11)
goto PainCrunch
Pain.CrunchLV5:
"----" H 0 ThrustThingZ(0,105,0,0)
"----" H 0 A_Recoil(12)
goto PainCrunch
Pain.CrunchLV6:
"----" H 0 ThrustThingZ(0,115,0,0)
"----" H 0 A_Recoil(14)
goto PainCrunch
Pain.CrunchLVX:
"----" H 0 ThrustThingZ(0,125,0,0)
"----" H 0 A_Recoil(15)
goto PainCrunch
PainCrunch:
"----" H 0 A_PlaySoundEx("SuperMachoMan/PunchOut", "SoundSlot6")
"----" H 0 A_GiveInventory("BogusDamageControl", 1)
goto Pain
Pain.ShunGokuSatsu:
"----" HH 1 A_Stop
"----" H 1 ACS_ExecuteAlways(401, 0, 18)
"----" H 14 A_PlaySoundEx("TomahawkTalbain/TotemSamaDestroyed", "Body")
"----" H 0 //A_StopSound(CHAN_BODY)
"----" H 30 A_TakeInventory("GoukiGoHadokenZone", 999)
goto Pain
Pain.GoHadoken:
"----" H 0 A_TakeInventory("GoukiGoHadokenZone", 999)
goto Pain.GoHadoken2
Pain.GoHadoken2:
//"----" H 0 SetPlayerProperty(0, 1, 4)
"----" H 0 A_SpawnItemEx("AkumaGoHadokenBang", random(-6, 6), random(-14, 14), random(-38, -10))
"----" H 0 ACS_ExecuteAlways(401, 0, 7)
"----" H 0 A_PlaySoundEx("DioFlash/Punch", "Body")
"----" HHHHHHHHHHHHHHHHHHHHHHHHHHHH 0 A_SpawnItemEx("GoHadokenMysticism", random(-3, 3), random(-6, 6), random(25, 70), random(-5, 5), random(-5, 5), random(-5, 5))
"----" H 0 A_Jump(256, "GoHadokenStop")
goto GoHadokenStop
GoHadokenStop:
"----" HHHHHHHHH 1 A_Stop
goto GoHadokenEnd
GoHadokenEnd:
"----" H 0 A_GiveInventory("GoukiGoHadokenZone", 1)
//"----" H 0 SetPlayerProperty(0, 0, 4)
goto Pain
Pain.ShakunetsuHadoken:
"----" H 0 A_TakeInventory("GoukiGoHadokenZone", 999)
goto Pain.ShakunetsuHadoken2
Pain.ShakunetsuHadoken2:
//"----" H 0 SetPlayerProperty(0, 1, 4)
"----" H 0 A_SpawnItemEx("AkumaGoHadokenBang", random(-6, 6), random(-14, 14), random(-38, -10))
"----" H 0 A_SpawnItemEx("AkumaShakunetsuHadokenBang", random(-6, 6), random(-14, 14), random(-38, -10))
"----" H 0 ACS_ExecuteAlways(401, 0, 7)
"----" H 0 A_PlaySoundEx("DioFlash/Punch", "Body")
"----" HHHHHHHHHHHHHHHHHHHHHHHHHHHH 0 A_SpawnItemEx("GoHadokenMysticism", random(-3, 3), random(-6, 6), random(25, 70), random(-5, 5), random(-5, 5), random(-5, 5)) 
"----" HHHHHHHHHHH 0 A_SpawnItemEx("TorchicEmberSmoke", random(-6, 6), random(-6, 6), random(5, 90), random(-11, 11), random(-11, 11), random(-11, 11))
goto GoHadokenStop
Death.ShunGokuSatsuFate:
"----" H 0 ACS_ExecuteAlways(400, 0, 54)
//"----" H 0 SetPlayerProperty(0, 0, 4) 
"----" H 0 A_NoBlocking
"----" H 0 A_GiveInventory("CutterFlag",999)
"----" H 0 A_GiveInventory("IsDead",1)
"----" H 0 A_Stop
"----" H 0 A_GiveToTarget("KilledMeStock",1)
"----" H 0 A_GiveToTarget("KilledMe",1)
"----" H 0 A_ChangeFlag("NOGRAVITY", 1)
"----" H 0 A_ChangeFlag("NOINTERACTION", 1)
"----" H 0 ThrustThingZ(0, 6, 1, 0)
"----" H 0 ACS_ExecuteAlways(999,0,0)
goto ShunGokuSatsuFrame
ShunGokuSatsuFrame:
"----" HHHHHHHHHHHHHHHHHHHH 1 A_Stop
goto ShunGokuSatsuEnd
ShunGokuSatsuEnd:
"----" H 0 ACS_ExecuteAlways(991,0,534)
"----" H 0 A_Stop
"----" H 0 SetPlayerProperty(0, 0, 4)
"----" H 0 A_PlayerScream
"----" H 3
"----" Z 1 A_CheckPlayerDone
wait
Pain.DioFlashTimeX:
"----" H 0 HealThing(1)
"----" H 0 A_GiveInventory("TimeStopActivatorDIO",1)
Goto Pain+2
Pain.DioFlashMini:
"----" H 0 A_GiveInventory("DioFlashMiniProtect",1)
goto Pain+2
Death.DioFlash:
Death.DioFlashMini:
"----" H 0 ACS_ExecuteAlways(400, 0, 54)
//"----" H 0 A_PlaySoundEx("DioFlash/Punch", "SoundSlot6")
"----" H 0 A_ChangeFlag("NOGRAVITY", 1)
"----" H 0 A_ChangeFlag("SOLID", 0)
"----" H 0 A_Recoil(220)
"----" H 0 ThrustThingZ(0, 10, 0, 0)
"----" H 0 SetPlayerProperty(0, 0, 4)   
"----" H 0 A_NoBlocking
"----" H 0 A_GiveInventory("CutterFlag",999)
"----" H 0 A_GiveInventory("IsDead",1)
"----" H 0 A_Jump(256, "SurvivorDeathGFX")
goto SurvivorDeathGFX
SurvivorDeathGFX:
"----" H 20
goto Death.Gib
Death.TatsumakiZankukyaku:
"----" H 0 A_SpawnItemEx("AkumaGoHadokenBang", random(-6, 6), random(-14, 14), random(-38, -10))
"----" H 0 ACS_ExecuteAlways(401, 0, 11)
"----" H 0 A_PlaySoundEx("Gouki/Pain3", "Body")
"----" H 0 A_Stop
"----" H 0 A_SetAngle(angle+random(40,60))
"----" H 0 A_Recoil(random(-42, 42))
"----" H 0 ThrustThingZ(0, random(85, 110), 0, 0)
goto Death.BossInstagib
Pain.GoukiComboKick:
"----" H 0 A_PlaySoundEx("Gouki/Pain2", "Auto")
goto Pain.GoukiCombo+1
Pain.GoukiCombo:
"----" H 0 A_PlaySoundEx("Gouki/Pain1", "Auto")
"----" H 0 A_SpawnItemEx("AkumaBang", random(-6, 6), random(-14, 14), random(-38, -10))
"----" H 0 A_GiveInventory("GoukiMiniImmuniser", 1)
"----" H 0 A_GiveInventory("TomahawkEarthquake", 1)
"----" H 0 ACS_ExecuteAlways(400, 0, 253)
goto GoukiComboStop
Death.GoukiComboKick:
"----" H 0 A_PlaySoundEx("Gouki/Pain2", "Auto")
goto Death.GoukiCombo+1
Death.GoukiCombo:
"----" H 0 A_PlaySoundEx("Gouki/Pain1", "Auto")
"----" H 0 A_GiveInventory("TomahawkEarthquake", 1)
"----" H 0 ACS_ExecuteAlways(400, 0, 253)
goto Death.BossInstagib
Death.GoShoryuken:
"----" H 0 A_SpawnItemEx("AkumaGoShoryukenBang", random(-6, 6), random(-14, 14), random(-38, -10))
"----" H 0 A_Stop
"----" H 0 A_ChangeFlag("NOGRAVITY", 1)
"----" H 0 ThrustThingZ(0, 170, 0, 0)
"----" H 0 A_PlaySoundEx("Gouki/Pain1", "Body")
"----" H 0 A_GiveInventory("GoShoryukenDefense", 1)
"----" H 0 SetPlayerProperty(0, 1, 4)
"----" H 0 A_SpawnItemEx("GoShoryukenRetablisher")
goto Death.BossInstagib
Death.GoHadoken:
"----" H 0 A_TakeInventory("GoukiGoHadokenZone", 999)
goto Death.GoHadoken2
Death.GoHadoken2:
"----" H 0 SetPlayerProperty(0, 1, 4)
"----" H 0 A_SpawnItemEx("AkumaGoHadokenBang", random(-6, 6), random(-14, 14), random(-38, -10))
"----" H 0 ACS_ExecuteAlways(401, 0, 7)
"----" H 0 A_PlaySoundEx("DioFlash/Punch", "Body")
"----" HHHHHHHHHHHHHHHHHHHHHHHHHHHH 0 A_SpawnItemEx("GoHadokenMysticism", random(-3, 3), random(-6, 6), random(25, 70), random(-5, 5), random(-5, 5), random(-5, 5))
"----" H 0 A_GiveInventory("GoukiGoHadokenZone", 1)
"----" H 0 SetPlayerProperty(0, 0, 4)
goto Death.BossInstagib
Death.ShakunetsuHadoken:
"----" H 0 A_TakeInventory("GoukiGoHadokenZone", 999)
goto Death.ShakunetsuHadoken2
Death.ShakunetsuHadoken2:
"----" H 0 SetPlayerProperty(0, 1, 4)
"----" H 0 A_SpawnItemEx("AkumaGoHadokenBang", random(-6, 6), random(-14, 14), random(-38, -10))
"----" H 0 A_SpawnItemEx("AkumaShakunetsuHadokenBang", random(-6, 6), random(-14, 14), random(-38, -10))
"----" H 0 ACS_ExecuteAlways(401, 0, 7)
"----" H 0 A_PlaySoundEx("DioFlash/Punch", "Body")
"----" HHHHHHHHHHHHHHHHHHHHHHHHHHHH 0 A_SpawnItemEx("GoHadokenMysticism", random(-3, 3), random(-6, 6), random(25, 70), random(-5, 5), random(-5, 5), random(-5, 5)) 
"----" HHHHHHHHHHH 0 A_SpawnItemEx("TorchicEmberSmoke", random(-6, 6), random(-6, 6), random(5, 90), random(-11, 11), random(-11, 11), random(-11, 11))
goto Death.BossInstagib

Pain.BlazingTorch:
"----" H 0 A_GiveInventory("BlazingTorchProtect", 1)
Goto Pain

Pain.StarManSlap:
"----" H 0 A_GiveInventory("StarManSlapProtect", 1)
Goto Pain
Pain.FrankenWave:
"----" H 0 A_GiveInventory("FrankenWaveProtect", 1)
Goto Pain
Death.StarManSlap:
Death.RollRapidSwings:
Death.PORollFling:
Death.BossInstagib:
Death.ThorMinion:
Death.CaveStory:
Death.BetweenEnemies:
Death.ShunGokuSatsuFateOthers:
Death.FlashStopper:
Death.FlashStopperSH:
Death.NDSKnockDown1:
Death.NDSKnockDown2:
Death.NDSKnockDown3:
Death.TimeScatter:
"----" H 0 ACS_ExecuteAlways(400, 0, 54)
"----" H 0 A_Jump(256, "InstantDeathState")
goto Death.Beam
Death.Beam:
Death.instagib:
Death.Telefrag:
Death.Gravity:
"----" H 0
"----" H 0 A_Jump(256, "InstantDeathState")
goto InstantDeathState
InstantDeathState:
"----" H 1 SetPlayerProperty(0,0,4)
"----" H 0 A_Jump(256, "InstantDeathFinish")
goto InstantDeathFinish
InstantDeathFinish:
"----" H 0 A_GiveInventory("DeathFlagPack", 1)
"----" H 0 ACS_NamedExecuteWithResult("core_decdmg_begin")
"----" H 0 A_NoBlocking
"----" H 0 A_SetTranslucent(0.00)
"----" HH 1 A_JumpIfInventory("CriticalDeath", 1, "Death.Gib")
"----" H 0 A_Jump(256, "DeathEndSequence")
goto DeathEndSequence
InstagibGFX:
"----" H 0 SetPlayerProperty(0,0,4)
goto Death.Beam
Pain.SpyStabTry:
"----" H 0 A_SpawnItemEx("PainSpyBackstabHit")
Goto Pain
Pain.SurfingMorshu:
"----" H 0 A_PlaySoundEx("weapon/OilSlider", "SoundSlot6")
"----" H 0 A_Recoil(-17)
"----" H 0 SetPlayerProperty(0, 1, 4)
"----" H 0 ThrustThingZ(0, 8, 0, 0)
"----" H 0 A_SpawnItemEx("SurfingMorshuFixMove")
goto Pain
Pain.MorshuBlooper:
"----" H 0 
"----" H 0 A_JumpIfInventory("BrightBlind", 1,"MorshuBlooperFix")
"----" H 0 A_GiveInventory("BrightBlind",50)
"----" H 0 ACS_ExecuteAlways(400, 0, 48)
goto Pain
MorshuBlooperFix:
"----" H 0 A_GiveInventory("BrightBlind",30)
goto Pain
Pain.GilgameshThunder:
"----" A 0 A_GiveInventory("GilgameshThunderProtection",1)
goto Pain
Pain.GilgameshJump:
"----" A 0 A_GiveInventory("GilgameshTiredness", 1)
"----" A 0 A_SpawnItemEx("GilgameshTirednessControl")
"----" A 0 ACS_ExecuteAlways(400, 0, 230)
"----" A 0 A_PlaySoundEx("weapon/magnetmissile", "SoundSlot6")
"----" A 0 A_GiveInventory("GilgameshJump1HIT", 1)
"----" A 0 SetPlayerProperty(0, 1, 4)
goto Pain
Pain.Treecko:
"----" H 0 A_SpawnItemEx("TreeckoLeafSpawner", 0, 0, 0, 0, 0, 0)
goto Pain
Pain.MudkipWooshWoosh:
"----" H 0 A_GiveInventory("MudkipDrowning",100)
"----" H 0 ACS_ExecuteAlways(242, 0)
Goto pain+1
Pain.WilyFire:
"----" H 0 A_GiveInventory("FireVisionAppeased", 1)
goto BurningLevelsEnd
BurningLevelsEnd:
"----" H 0 //A_JumpIfInventory("FireVisionCounters", 1, "BurningLevelFix")
"----" H 0 //A_GiveInventory("FireVisionCounters",3)
"----" H 0 A_SpawnItemEx("ImOnFire")
Goto Pain
BurningLevelFix:
//"----" H 0 A_GiveInventory("FireVisionCounters",3)
Goto Pain
Pain.BrutalSniperShiv:
"----" H 0 ACS_NamedExecuteAlways("SniperArrowGive",0)
"----" H 0 A_GiveInventory("BloodDropProtect",1)
"----" H 0 A_GiveInventory("BrutalHit_P",1)
goto Pain
Death.BrutalSniperShiv:
"----" H 0 A_GiveToTarget("CBSHuntsman",1)
"----" H 0 A_GiveInventory("BrutalKill_P",1)
goto Death.BossInstagib
Pain.SniperBlood:
"----" H 0 //A_GiveInventory("BloodDropProtect",1)
goto Pain
Pain.BrutalSniper:
"----" H 0 ACS_NamedExecuteAlways("SniperArrowGive",0)
goto Pain

Pain.ProtoBuster:
Pain.DarkMan:
Pain.FireSpin:
Pain.QuickBoomerang:
Pain.Buster:
Pain.BassBuster:
Pain.WildCoil:
Pain.ChargeKick:
Pain.YamatoSpear:
Pain.DiveMissile:
Pain.StarCrash:
Pain.CentaurFlash:
Pain.FreezeCracker:
Pain.ScrewCrusher:
Pain.PharaohHold:
Pain.TornadoHold:
Pain.TrebleSentry:
Pain.ScorchWheel:
Pain.MagnetMissile:
Pain.JunkShield:
Pain.OilSlider:
Pain.BassBuster:
Pain.WaveBurner:
Pain.WaveBurnerUW:
Pain.Gamma:
Pain.Misc:
Pain.Treble:
Pain.FlameSwordSpark:

Pain.Oil:
Pain.Bass2:
Pain.IceCircle:
Pain.SpinWheel:
"----" H 0
Goto pain+1
Pain.Reggae:
"----" H 0 A_PlaySoundEx("item/reggae", "SoundSlot7", 0)
Goto Pain+1
Pain.WaterBalloon:
Pain.FlashBomb:
Pain.RemoteMine:
Pain.IceWall:
"----" H 0 A_ScaleVelocity(0.9)
Goto pain+1
Pain.ChillSpike:
"----" H 0 //A_GiveInventory("ChillFreeze", 1) //Nope
goto Pain+1
Pain.SparkChaser:
"----" H 0 A_GiveInventory("SparkChaserTagged", 1)
goto pain+1
Pain.BreakDash:
"----" H 0 A_GiveInventory("BreakDashProtect", 1)
"----" H 0 A_Stop
goto pain+1
Pain.SpreadDrill:
Pain.SpreadDrill2:
Pain.SpreadDrill3:
"----" H 0 A_JumpIfInventory("SpreadDrillProtect", 1 ,2)
"----" H 0 A_PlaySoundEx("weapon/spreaddrillhit","SoundSlot5")
"----" H 0 A_GiveInventory("SpreadDrillProtect", 1)
Goto pain+1
Pain.FlameSword:
"----" H 0 A_GiveInventory("FlameSwordProtect",1)
"----" H 0 A_PlaySoundEx("weapon/flamehit","SoundSlot5")
"----" HH 0 A_SpawnItemEx("ScorchBit",0,0,0,random(-10,10),random(-10,10),random(10,15),random(0,360))
Goto pain
Pain.TenguSlash:
"----" H 0 A_PlaySoundEx("weapon/tenguhit","SoundSlot5")
goto Pain
pain.LaserTrident:
"----" H 0 A_GiveInventory("LaserTridentProtect", 1)
goto pain+1
pain.SaxtonSlam:
"----" H 0 A_GiveInventory("SaxtonSlamProtect",1)
goto Pain+1
pain.BounceBall:
"----" H 0 A_GiveInventory("BounceBallProtect",1)
goto Pain+1
pain.TundraStorm:
"----" H 0 A_Stop
"----" H 0 A_Recoil(1)
"----" H 0 A_GiveInventory("TundraStormProtect", 1)
goto pain+1
Pain.RollRapidSwings:
Pain.TimeHold:
"----" H 0 A_Stop
"----" H 0 A_Recoil(1)
goto pain+1
Pain.WindStorm:
Pain.FlingDamage:
"----" 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
Pain.PORollFling:
"----" H 0 ThrustThing(random(175,255),25,0,0)
"----" H 0 ThrustThingZ(0,40,0,0)
Goto pain+1
Pain.SlashClaw:
"----" H 0 A_PlaySoundEx("weapon/slashclawhit","SoundSlot5")
Goto Pain
Pain.FlashStopper:
"----" H 0 
"----" H 0 A_JumpIfInventory("BrightBlind", 1,3)
"----" H 0 A_GiveInventory("BrightBlind",125)
"----" H 0 ACS_ExecuteAlways(249, 0)
Goto pain+1
"----" H 0 A_GiveInventory("BrightBlind",55)
Goto pain+1
Pain.FlashStopperSH:
"----" H 0 A_GiveInventory("FlashStopperBlind",1)
goto pain+1
Pain.TimeSlow:
"----" H 0 A_GiveInventory("Slowed",1)
Goto pain+1
Pain.RebirthDynamo:
"----" H 0 A_GiveInventory("ThorDynamoProtect",1)
"----" H 0 A_SpawnItemEx("RebirthDynamoControl")
"----" H 0 A_SpawnItemEx("ShockFXRebirth",4,0,32)
"----" H 0 A_GiveInventory("RaThorRebirthThunder", 1)
goto Pain+1
Pain.SparkShock:
"----" H 0 A_SpawnItemEx("ShockFX",4,0,32)
"----" H 0 A_GiveInventory("SparkShockProtect",1)
"----" H 0 A_GiveInventory("SlowedSpark",1)
Goto Pain+1
Pain.CrashBomb:
"----" H 0 //A_Stop
Goto Pain+1

Pain.GravityHold:
"----" H 0 A_ChangeVelocity(momx, momy, 0, CVF_REPLACE)
"----" H 0 A_JumpIf(z-floorz>180,"GravityForce4")
"----" H 0 A_JumpIf(z-floorz>128,"GravityForce3")
"----" H 0 A_JumpIf(z-floorz>32,"GravityForce2")
"----" H 0 A_JumpIf(z-floorz>8,"GravityForce1")
Goto GravityForceFinish
GravityForce4:
"----" H 2 A_GiveInventory("GravityForce4",1)
Goto GravityForceFinish
GravityForce3:
"----" H 2 A_GiveInventory("GravityForce3",1)
Goto GravityForceFinish
GravityForce2:
"----" H 2 A_GiveInventory("GravityForce2",1)
Goto GravityForceFinish
GravityForce1:
"----" H 2 A_GiveInventory("GravityForce1",1)
Goto GravityForceFinish
GravityForceFinish:
"----" H 0 A_CheckFloor(2)
"----" H 0 ThrustThingZ(0,75,1,0)
"----" H 0
Goto Pain+1
Pain.AtomicFireMelee:
"----" H 0 A_GiveInventory("AtomicFireMeleeProtection",1)
goto Pain
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 Pain+1
ConcreteReset:
"----" H 0 A_GiveInventory("ConcreteTime", 105)
goto Pain+1
Pain.TornadoBlow:
"----" H 0 ThrustThingZ(0, 60, 0, 0)
goto Pain+1
Pain.WilyFire:
"----" H 0 A_SpawnItemEx("ImOnFire")
"----" H 0 A_GiveInventory("FireVision",1)
Goto Pain
Pain.WilyIce:
"----" H 0 A_ChangeFlag("SHOOTABLE",0)
"----" H 0 SetPlayerProperty(0,1,4)
"----" H 0 A_SpawnItemEx("ImFrozen")
"----" H 0 A_GiveInventory("IceVision",1)
"----" H 30 A_Stop
"----" H 30 A_ChangeFlag("SHOOTABLE",1)
"----" H 0 SetPlayerProperty(0,0,0)
"----" H 0 A_TakeInventory("IceVision",1)
Goto Spawn

Pain.PlasmaCutter:
"----" H 0 A_PlaySoundEx("weapon/slashclawhit","SoundSlot5")
"----" H 0 A_SpawnItemEx("PlasmaShockFX",4,0,32)
"----" H 0 A_GiveInventory("PlasmaShock",1)
"----" H 0 A_Stop
goto Pain+1
Pain.PlasmaCutter2:
"----" H 0 A_PlaySoundEx("weapon/slashclawhit","SoundSlot5")
"----" H 0 ACS_NamedExecuteAlways("DOSR_PlasmaCutter", 0, 30)
"----" H 0 A_GiveInventory("PlasmaCutterProtect", 1)
goto Pain+1

Pain.BlowTorch:
"----" H 0 A_JumpIfInventory("BlowTorchStack6",1,"BlowTorchStack5")
"----" H 0 A_JumpIfInventory("BlowTorchStack5",1,"BlowTorchStack5")
"----" H 0 A_JumpIfInventory("BlowTorchStack4",1,"BlowTorchStack4")
"----" H 0 A_JumpIfInventory("BlowTorchStack3",1,"BlowTorchStack3")
"----" H 0 A_JumpIfInventory("BlowTorchStack2",1,"BlowTorchStack2")
"----" H 0 A_JumpIfInventory("BlowTorchStack1",1,"BlowTorchStack1")
"----" H 0 A_SpawnItemEx("TorchParticle", 0, 0, 32, random(-14, 14), 0, random(-14, 14), random(0, 359))
"----" H 0 A_GiveInventory("BlowTorchStack1",1)
goto Pain+1
BlowTorchStack1:
"----" HH 0 A_SpawnItemEx("TorchParticle", 0, 0, 32, random(-14, 14), 0, random(-14, 14), random(0, 359))
"----" H 0 A_GiveInventory("BlowTorchStack2",1)
goto Pain+1
BlowTorchStack2:
"----" HHH 0 A_SpawnItemEx("TorchParticle", 0, 0, 32, random(-14, 14), 0, random(-14, 14), random(0, 359))
"----" H 0 A_GiveInventory("BlowTorchStack3",1)
goto Pain+1
BlowTorchStack3:
"----" H 0 A_PlaySoundEx("weapon/flamehit","SoundSlot5")
"----" HHHH 0 A_SpawnItemEx("TorchParticle", 0, 0, 32, random(-14, 14), 0, random(-14, 14), random(0, 359))
"----" H 0 A_GiveInventory("BlowTorchStack4",1)
goto Pain+1
BlowTorchStack4:
"----" H 0 A_PlaySoundEx("weapon/flamehit","SoundSlot5")
"----" HHHHH 0 A_SpawnItemEx("TorchParticle", 0, 0, 32, random(-14, 14), 0, random(-14, 14), random(0, 359))
"----" H 0 A_GiveInventory("BlowTorchStack5",1)
goto Pain+1
BlowTorchStack5:
"----" H 0 A_PlaySoundEx("weapon/flamehit","SoundSlot5")
"----" HHHHHH 0 A_SpawnItemEx("TorchParticle", 0, 0, 32, random(-14, 14), 0, random(-14, 14), random(0, 359))
"----" H 0 A_GiveInventory("BlowTorchStack6",1)
goto Pain+1

Pain.SludgeBurst:
"----" H 0 A_GiveInventory("SludgeBurstVisionBlocker",1)
goto Pain+1

Pain.Drowning:
Pain.Fire:
Pain.Falling:
Pain.Slime:
"----" H 0
"----" H 0 A_JumpIfInventory("BeatCallCheckSH", 1, "BeatAssist")
Goto Pain+1
Pain.TimeStopper:
"----" H 0 A_GiveInventory("TimeStopActivator", 1)
Goto Pain+1
BeatAssist:
"----" H 0 
"----" H 0 HealThing(2)
"----" H 0 ThrustThingZ(0,25,0,0)
"----" H 0 ACS_ExecuteAlways(205,0)
Goto Pain+1
Pain.WilyGas:
"----" H 0 A_SpawnItemEx("PainWilyGas")
"----" H 0 A_GiveInventory("WilyGasProtection")
pain.SkullBarrier:
Pain.DuoFist1:
Pain:
"----" H 0
"----" H 0
"----" H 0 ACS_NamedExecuteWithResult("core_decdmg_begin")
"----" H 0 A_Pain
"----" H 0
"----" H 0 A_Jump(256, "SurvivorPain")
"----" H 0 A_Jump(256, "SurvivorPain")
Goto SurvivorPain
SurvivorPain:
"----" HHHHHHHHHH 2 A_SpawnItem("PainFX",0,3)
goto Spawn
ClassPain:
"----" H 0
goto PainContinue
PainContinue:
"----" "##########" 2 A_SpawnItemEx("PainFX",-5,0,3,0,0,0)//HHHHHHHHHH
"----" H 1
"----" H 0 A_Jump(256, "Spawn")
"----" H 1 A_Jump(256, "Spawn")
Goto Spawn+1
Death.CrunchLV1:
Death.CrunchLV2:
Death.CrunchLV3:
Death.CrunchLV4:
Death.CrunchLV5:
Death.CrunchLV6:
Death.CrunchLVX:
"----" H 0 A_PlaySoundEx("SuperMachoMan/PunchOut", "SoundSlot6")

Death:
"----" H 0 SetPlayerProperty(0, 0, PROP_TOTALLYFROZEN)
"----" H 0 ACS_NamedExecuteWithResult("core_decdmg_begin")
"----" H 0 A_NoBlocking
"----" H 0 A_JumpIfInventory("ProtoFuckedYouUp",1,2)
"----" H 0 A_Stop
"----" H 0
"----" H 0 A_GiveInventory("DeathFlagPack", 1)
"----" HHH 1 A_JumpIfInventory("CriticalDeath", 1, "Death.Gib")
"----" H 0 SetPlayerProperty(0, 0, PROP_TOTALLYFROZEN)
"----" H 0 A_Jump(256, "SurvivorDeathGFX")
goto SurvivorDeathGFX
Death.Gib:
TNT1 Z 0 SetPlayerProperty(0, 0, PROP_TOTALLYFROZEN)
TNT1 H 0 A_JumpIfInventory("IsDead", 1, 2)
TNT1 H 0 A_GiveInventory("DeathFlagPack", 1)
TNT1 H 0 A_GiveInventory("CriticalDeathGiver", 1)
TNT1 H 0 A_SpawnItemEx("FakeDeathFX", 0, 0, 32)
TNT1 Z 1 A_CheckPlayerDone
wait
SurvivorDeathEnd:
//"----" H 20
TNT1 A 0 SetPlayerProperty(0, 0, 4)
goto DeathEndSequence


DeathEndSequence:
TNT1 A 0 A_PlayerScream
TNT1 A 0 A_SpawnItemEx("FakeDeathFX", 0, 0, 32)
PLAY Z 1 A_CheckPlayerDone
wait
Death.SMMClothesline:
"----" H 0
"----" H 0 A_GiveInventory("TomahawkEarthquake", 1)
"----" A 0 A_PlaySoundEx("BusterRodG/PressureBackToEarth", "Voice")
"----" A 0 A_PlaySoundEx("SuperMachoMan/PunchOut", "SoundSlot6")
"----" A 0 ACS_ExecuteAlways(400, 0, 54)
"----" A 0 A_ChangeFlag("NOGRAVITY", 1)
"----" A 0 A_ChangeFlag("SOLID", 0)
"----" A 0 A_Stop
"----" A 0 A_Recoil(10)
"----" A 0 ThrustThingZ(0, 30, 0, 0)  
"----" H 0 A_NoBlocking
"----" H 0 A_GiveInventory("CutterFlag",999)
"----" H 0 A_GiveInventory("IsDead",1)
//"----" H 0 A_Jump(256, "SMMClotheslineDeath")
//goto SMMClotheslineDeath
SMMClotheslineDeath:
"----" H 35 A_GiveInventory("BogusFatality", 1)
//goto SMMClotheslineDeath2
SMMClotheslineDeath2:
"----" A 0 A_ChangeFlag("NOGRAVITY", 0)
"----" H 0 A_TakeInventory("BogusFatality", 999)
"----" A 0 ThrustThingZ(0, 200, 0, 0)
"----" H 0 A_Recoil(100)
"----" H 0 //A_Jump(256, "Death.BossInstagib")
goto Death.BossInstagib
Death.WindStorm:
Death.GravityHold:
Death.TornadoBlow:
PLAY H 0 SetPlayerProperty(0, 0, 4)
PLAY H 0 A_ChangeFlag("NOINTERACTION", 1)
PLAY H 0 A_TakeInventory("WeaponCharge",999)
PLAY H 0 A_NoBlocking
PLAY H 0 A_TakeInventory("CutterFlag",999)
PLAY H 0 A_GiveInventory("IsDead",1)
PLAY H 0 A_Stop
PLAY H 0 A_GiveToTarget("KilledMeStock",1)
PLAY H 1 A_GiveToTarget("KilledMe",1)
PLAY H 0 ACS_ExecuteAlways(999,0,0)
PLAY H 0 SetPlayerProperty(0, 0, 4)
RiseMyMegaman:
PLAY H 1 ThrustThingZ(0,10,0,1)
PLAY H 0 A_JumpIf(ceilingz-z<64, "ExplodeNow")
PLAY H 0 A_GiveInventory("Cutterflag", 1)
PLAY H 0 A_JumpIfInventory("CutterFlag", 35, "ExplodeNow")
Goto RiseMyMegaman
ExplodeNow:
PLAY H 0 A_Stop
PLAY H 0 A_PlayerScream
PLAY H 0 A_GiveInventory("CutterFlag",999)
PLAY H 0 A_SpawnItemEx("FakeDeathFX", 0, 0, 0)
PLAY Z 1 A_CheckPlayerDone
wait
Death.GutsClaw1:
"----" H 0 A_ChangeFlag(NOGRAVITY,0)
"----" H 0 ThrustThingZ(0,90,0,0)
"----" H 0 A_Jump(256, "Death.Torchic")
goto Death.Torchic
Death.GutsClaw2:
"----" H 0 ACS_ExecuteAlways(400,0,226)
"----" H 0 A_PlaySoundEx("weapon/junkend", "SoundSlot6")
"----" H 0 A_Jump(256, "Death.ScroogeX")
goto Death.ScroogeX
Death.Scrooge:
Death.ScroogeX:
Death.ScroogeCane:
"----" H 0 A_Changeflag("NOGRAVITY",1)
"----" H 0 ACS_ExecuteAlways(400, 0, 54)
goto ScroogeContinue
ScroogeContinue:
"----" H 0 A_ChangeFlag(NOGRAVITY,0)
"----" A 0 A_PlayerScream
"----" A 0 A_SpawnItemEx("FakeDeathFX", 0, 0, 32)
"----" H 1 ThrustThingZ(0,100,0,0)
"----" H 1 
Goto Death.BossInstagib
Death.GilgameshJump:
"----" H 0 ACS_ExecuteAlways(400, 0, 230)
"----" H 0 A_PlaySoundEx("weapon/magnetmissile", "SoundSlot6")
goto Death.Mudkip
Death.MudkipWooshWoosh:
Death.Mudkip:
Death.MorshuBlooper:
Death.BusterRodGFire:
Death.Torchic:
Death.SurfingMorshu:
Death.RebirthDynamo:
Death.WilyFire:
Death.MorshuFire:
Death.ContagiousBurningMorshu:
//"----" H 0 A_GiveInventory("DiedOfBurningMain", 1)
"----" H 0 ACS_ExecuteAlways(400, 0, 54)
goto Death

Death.NoKillSummonsPls:
"----" H 0 ACS_ExecuteAlways(400, 0, 54)
"----" H 0 SetPlayerProperty(0, 0, 4)
"----" H 0 A_NoBlocking
"----" H 0 A_GiveInventory("CutterFlag",999)
"----" H 0 A_GiveInventory("IsDead",1)
"----" H 0 A_Stop
"----" H 0 A_GiveToTarget("KilledMeStock",1)
"----" H 0 A_GiveToTarget("KilledMe",1)
"----" H 0 A_GiveToTarget("FrankenLoot",1)
"----" H 0 ACS_ExecuteAlways(999,0,0)
"----" H 0 A_Jump(256, "NoKillSummonsDrain")
goto NoKillSummonsDrain
NoKillSummonsDrain:
"----" H 20
"----" H 0 A_Jump(256, "NoKillSummonsDrainAgain")
goto NoKillSummonsDrainAgain
NoKillSummonsDrainAgain:
PLAY Z 0 A_PlayerScream
"----" H 0 A_SpawnItemEx("FakeDeathFX", 0, 0, 0)
"----" H 0 A_SpawnItemEx("JunkDebris1",0,0,0,random(13,17),0,random(15,20),random(0,359))
"----" H 0 A_SpawnItemEx("JunkDebris2",0,0,0,random(13,17),0,random(15,20),random(0,359))
"----" H 0 A_SpawnItemEx("JunkDebris3",0,0,0,random(13,17),0,random(15,20),random(0,359))
"----" H 0 A_SpawnItemEx("JunkDebris4",0,0,0,random(13,17),0,random(15,20),random(0,359))
"----" H 0 A_SpawnItemEx("JunkDebris5",0,0,0,random(13,17),0,random(15,20),random(0,359))
"----" H 0 A_SpawnItemEx("JunkDebris6",0,0,0,random(13,17),0,random(15,20),random(0,359))
"----" H 0 A_SpawnItemEx("JunkDebris7",0,0,0,random(13,17),0,random(15,20),random(0,359))
"----" H 0 A_SpawnItemEx("JunkDebris8",0,0,0,random(13,17),0,random(15,20),random(0,359))
"----" H 0 A_SpawnItemEx("JunkDebris9",0,0,0,random(13,17),0,random(15,20),random(0,359))
PLAY Z 52
PLAY Z 1 A_CheckPlayerDone
wait
Pain.Slender:
"----" H 0 A_GiveInventory("SlenderProtect",1)
goto Pain
Death.Slender:
Death.Slender2:
"----" H 0 ACS_ExecuteAlways(400, 0, 54)
"----" H 0 A_GiveToTarget("KilledMe",1)
"----" H 0 A_GiveToTarget("KilledMeStock",1)
"----" H 0 A_GiveInventory("IsDead",1)
"----" H 0 A_NoBlocking
"----" H 0 A_Jump(256, "SlenderRape")
goto SlenderRape
SlenderRape:
"----" HHHHHHHH 1 A_FadeOut(0.1)
goto DeathEndSequence+2

Pain.FuryCharge:
"----" H 0 A_SpawnItemEx("PORollRageHit")
goto Pain
Death.FuryCharge:
"----" H 0 A_GiveToTarget("PORollRageCharge_P",1)
"----" H 0 A_GiveToTarget("PORollChargeHeal",1)
Goto Death.Gib

Pain.PlantPasture:
"----" H 0 A_SpawnItemEx("PainPlantPasture")
goto Pain+1


Death.Falling:
PLAY Z 0 SetPlayerProperty(0, 0, 4)
"----" H 0 A_TakeInventory("WeaponCharge",999)
"----" H 0 A_NoBlocking
"----" H 0 A_GiveInventory("CutterFlag",999)
"----" H 0 A_GiveInventory("IsDead",1)
"----" Z 1 A_PlayerScream
"----" Z 1 A_Stop
"----" Z 0 A_GiveToTarget("KilledMeStock",1)
"----" Z 0 A_GiveToTarget("KilledMe",1)
"----" Z 1 ACS_ExecuteAlways(999,0,0)
//"----" Z -1
PLAY Z 1 A_CheckPlayerDone
wait
Ice:
"----" H 0
goto IceContinue
IceContinue:
"----" H 0 SetPlayerProperty(0, 0, 4)
"----" H 0 A_GiveInventory("CutterFlag",999)
"----" H 0 A_GiveInventory("IsDead",1)
"----" H 0 A_TakeInventory("WeaponCharge",999)
"----" Z 0 A_GiveToTarget("KilledMeStock",1)
"----" Z 0 A_GiveToTarget("KilledMe",1)
"----" H 1 A_PlayerScream
"----" H 0 ACS_ExecuteAlways(998,0,105,1)
"----" H 0 A_NoBlocking
"----" H 0 A_FreezeDeath
"----" H 35
"----" H 0 A_SpawnItemEx("FrozenDeathFX", 0, 0, 16)
PLAY Z 1 A_CheckPlayerDone
wait

// SINGLEPLAYER STUFF
TheEnd: // Used in the original ending
"----" G 4
loop
WalkForward: 
"----" BBBBBCCCCCDDDDDEEEEE 1 A_Recoil(-0.8)
loop
CreditWalk: 
"----" BCDE 8
loop
CreditRun:
"----" BCDE 5
loop
DozerCarry:
"----" BBBBCCCCDDDDEEEEBBBBCCCCDDDDBBBBCCCCDDDD 1 A_Recoil(-1)
"----" F 10 A_Stop
"----" F -1
stop
DozerThrow:
"----" F 0 A_ChangeFlag("THRUACTORS",1)
"----" F 20 ThrustThingZ(0, 60, 0, 1)
"----" G 20
"----" A -1
stop
EndlessPain:
"----" H -1
stop

// Captain Falcon //
Pain.Knee:
Pain.NormalKnee:
"----" H 0 A_GiveInventory("KneeProtection",1)
"----" H 0 A_SpawnItemEx("Pain_FalconKick")
"----" HHH 1 A_Stop
"----" H 0 A_Recoil(10)
GoTo Pain+1
Pain.FalconPunch:
"----" H 0 A_Stop
"----" H 0 A_FaceTarget
"----" H 0 ThrustThingZ(0,20,0,0)
"----" H 0 A_GiveInventory("PunchProtection",1)
"----" H 0 A_Recoil(20)
GoTo Pain+1
Pain.FalconKick:
"----" H 0 A_GiveInventory("KickProtection",1)
GoTo Pain+1

Death.FalconPunch:
"----" H 0 A_FaceTarget
"----" H 0 SetPlayerProperty(0, 0, 4)
"----" H 0 A_TakeInventory("WeaponCharge",999)
"----" H 0 A_TakeInventory("ConcreteTime", 999)
"----" H 0 A_NoBlocking
"----" H 0 A_TakeInventory("CutterFlag",999)
"----" H 0 A_GiveInventory("IsDead",1)
"----" H 0 A_Stop
"----" H 0 A_PlaySound("weapon/lightningbolt")
"----" H 0 A_SpawnItemEx("Sm4shRedLightning",0,0,25)
"----" H 20 A_Stop
"----" H 0 A_PlayerScream
"----" H 0 A_Recoil(100)
"----" H 0 ThrustThingZ(0,60,0,0)
"----" H 0 A_PlaySound("misc/devildeath")
"----" H 0 A_SpawnItemEx("FakeDeathFX", 0, 0, 0)
"----" H 1 A_SetTranslucent(0.95, 0)
"----" H 1 A_SetTranslucent(0.90, 0)
"----" H 0 A_PlaySound("misc/devildeath")
"----" H 0 A_SpawnItemEx("FakeDeathFX", 0, 0, 0)
"----" H 1 A_SetTranslucent(0.85, 0)
"----" H 1 A_SetTranslucent(0.80, 0)
"----" H 0 A_PlaySound("misc/devildeath")
"----" H 0 A_SpawnItemEx("FakeDeathFX", 0, 0, 0)
"----" H 1 A_SetTranslucent(0.75, 0)
"----" H 1 A_SetTranslucent(0.70, 0)
"----" H 0 A_PlaySound("misc/devildeath")
"----" H 0 A_SpawnItemEx("FakeDeathFX", 0, 0, 0)
"----" H 1 A_SetTranslucent(0.65, 0)
"----" H 1 A_SetTranslucent(0.60, 0)
"----" H 0 A_PlaySound("misc/devildeath")
"----" H 0 A_SpawnItemEx("FakeDeathFX", 0, 0, 0)
"----" H 1 A_SetTranslucent(0.55, 0)
"----" H 1 A_SetTranslucent(0.50, 0)
"----" H 0 A_PlaySound("misc/devildeath")
"----" H 0 A_SpawnItemEx("FakeDeathFX", 0, 0, 0)
"----" H 1 A_SetTranslucent(0.45, 0)
"----" H 1 A_SetTranslucent(0.40, 0)
"----" H 0 A_PlaySound("misc/devildeath")
"----" H 0 A_SpawnItemEx("FakeDeathFX", 0, 0, 0)
"----" H 1 A_SetTranslucent(0.35, 0)
"----" H 1 A_SetTranslucent(0.30, 0)
"----" H 0 A_PlaySound("misc/devildeath")
"----" H 0 A_SpawnItemEx("FakeDeathFX", 0, 0, 0)
"----" H 1 A_SetTranslucent(0.25, 0)
"----" H 1 A_SetTranslucent(0.20, 0)
"----" H 0 A_PlaySound("misc/devildeath")
"----" H 0 A_SpawnItemEx("FakeDeathFX", 0, 0, 0)
"----" H 1 A_SetTranslucent(0.15, 0)
"----" H 1 A_SetTranslucent(0.10, 0)
"----" H 0 A_PlaySound("misc/devildeath")
"----" H 0 A_SpawnItemEx("FakeDeathFX", 0, 0, 0)
"----" H 1 A_SetTranslucent(0.05, 0)
"----" H 1 A_SetTranslucent(0, 0)
"----" Z 1 A_CheckPlayerDone
wait

SurvivorDeathGFXChoZo:
"----" H 18
TNT1 A 0 A_SpawnItemEx("ChozoExplosionSpawner", 0, 0, 32)
goto SurvivorDeathEndChoZo
Pain.ChoZoPunch:
"----" H 0 A_ChangeVelocity(0.25)
Goto Pain
Pain.ChoZoPunchTwo:
"----" H 0 ThrustThingZ(0,30,0,0)
"----" H 0 A_PlaySoundEx("CHOZO/OUCH", "SoundSlot6")
"----" H 0 A_SpawnItemEx("ChoZoKnockback",1)
Goto Pain
Pain.ChoZoExplosion:
"----" H 0
Goto Pain
Pain.ChoZoSlam:
"----" H 0 A_CheckFloor("SlamCont")
goto Pain
SlamCont:
"----" H 0 ThrustThingZ(0,75,0,0)
Goto Pain
Pain.ChoZoMinigun:
"----" H 0 A_ChangeVelocity(0.95)
goto Pain
SurvivorDeathEndChoZo:
//"----" H 20
TNT1 A 0 SetPlayerProperty(0, 0, 4)
goto DeathEndSequenceChoZo
DeathEndSequenceChoZo:
TNT1 A 0 A_PlayerScream
TNT1 A 0 A_SpawnItemEx("ChozoExplosionSpawner", 0, 0, 4)
PLAY Z 1 A_CheckPlayerDone
wait
Death.ChoZoPunch:
Death.ChoZoPunchTwo:
Death.ChoZoExplosion:
Death.ChoZoMinigun:
"----" H 0 A_PlaySoundEx("CHOZO/OUCH", "SoundSlot6")
"----" H 0 SetPlayerProperty(0, 0, 4)
"----" H 0 A_TakeInventory("WeaponCharge",999)
"----" H 0 A_NoBlocking
"----" H 0 A_GiveInventory("CutterFlag",999)
"----" H 0 A_GiveInventory("IsDead",1)
"----" H 0 A_SpawnItemEx("ChoZoKnockback3",1)
"----" H 0 A_GiveToTarget("KilledMeStock",1)
"----" H 0 A_GiveToTarget("KilledMe",1)
"----" H 0 ACS_ExecuteAlways(999,0,0)
"----" H 0 A_Jump(256, "SurvivorDeathGFXChoZo")
goto SurvivorDeathGFXChoZo

Death.ChoZoSlam:
"----" H 0 A_PlaySoundEx("CHOZO/OUCH", "SoundSlot6")
"----" H 0 ThrustThingZ(0,120,0,0)
"----" H 0 SetPlayerProperty(0, 0, 4)
"----" H 0 A_TakeInventory("WeaponCharge",999)
"----" H 0 A_NoBlocking
"----" H 0 A_GiveInventory("CutterFlag",999)
"----" H 0 A_GiveInventory("IsDead",1)
"----" H 0 A_SpawnItemEx("ChoZoKnockback3",1)
"----" H 0 A_GiveToTarget("KilledMeStock",1)
"----" H 0 A_GiveToTarget("KilledMe",1)
"----" H 0 ACS_ExecuteAlways(999,0,0)
"----" H 0 A_Jump(256, "SurvivorDeathGFXChoZo")
goto SurvivorDeathGFXChoZo
}
}

actor ProtoFuckedYouUp : Powerup {Powerup.Duration 20}

actor MudkipDrowning : Inventory
{
inventory.amount 1
inventory.maxamount 100
}

actor DioFlashTimeHUDAssist
{
PROJECTILE
+DONTBLAST
+NOINTERACTION
states
{
Spawn:
TNT1 A 40
TNT1 A 0 A_TakeFromTarget("DioFlashTimeHUD", 999)
TNT1 A 0 A_GiveToTarget("TotallyFrozenOFFItem", 1)
stop
}
}

actor MedicControlSummonNORMAL : CustomInventory
{
states
{
Pickup:
TNT1 A 0 A_SpawnItemEx("MedicControlNORMAL")
stop
}
}

actor MedicControlNORMAL
{
PROJECTILE
+NOINTERACTION
+DONTBLAST
states
{
Spawn:
TNT1 A 0
CheckingHealth:
TNT1 A 1 A_GiveToTarget("MedicHealthNormal", 1)
TNT1 A 0 A_JumpIfInTargetInventory("IsDead", 1, "Death")
loop
Death:
TNT1 A 0
stop
}
}

actor MedicHealthNormal : CustomInventory
{
states
{
Pickup:
TNT1 A 0 A_JumpIfHealthLower(100, "MedicPossible")
TNT1 A 0 A_GiveInventory("MedicHealthMaximiser")
stop
MedicPossible:
TNT1 A 0 A_TakeInventory("MedicHealthMaximiser", 999)
stop
}
}

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

actor BogusDamageControl : PowerProtection
{
Powerup.Duration 14
damagefactor "Normal", 0.0
}

actor GilgameshJump1HIT : BogusDamageControl
{
damagefactor "GilgameshJump", 0.0
}

actor BogusFatality : PowerSpeed
{
powerup.duration -20
powerup.color 255 31 31, 0.45
Speed 1.0
}

actor FireVisionAppeased : FireVision
{
Powerup.Duration 1200
Speed 1.0
Powerup.Color Red, 0.3
}

actor SurfingMorshuFixMove
{
PROJECTILE
+NOINTERACTION
states
{
Spawn:
TNT1 A 30
TNT1 A 0 A_GiveToTarget("TotallyFrozenOFFItem", 1)
stop
}
}

actor ShockFXRebirth : ShockFX
{
states
{
Spawn:
SPAS FGFGFGFGFGFGFG 2
SPAS FGFGFGFGFGFGFG 2
SPAS FGFGFGFGFGFGFG 2
stop
}
}

actor RebirthDynamoControl
{
PROJECTILE
+NOINTERACTION
reactiontime 52
states
{
Spawn:
TNT1 A 0
TNT1 A 0 A_GiveToTarget("RaThorRebirthThunder", 1)
TNT1 A 1 A_GiveToTarget("PartiallyFrozenONItem", 1)
TNT1 A 0 A_CountDown
loop
Death:
TNT1 A 0 A_GiveToTarget("PartiallyFrozenOFFItem", 1)
TNT1 A 0 A_TakeFromTarget("RaThorRebirthThunder", 999)
stop
}
}
