actor ShotokanLightBoss : BaseMM8BDMWep_CBM
{//i put this in 'actors' because fuck ARKMAN for making 'wep' a seperate folder and thus not making .txts load as DECORATE files - that's been an issue for 6 years  ~~Max
tag "$TAGC_0R"
dropitem "RisingFistWepCDropped" //HadokenWep kappa
Weapon.AmmoUse 0
Weapon.AmmoGive 28
Weapon.SlotNumber 1
Obituary "$OB_RYUL_W"
Inventory.Pickupmessage "You became, like... the 11th shotoclone or something?"
weapon.ammotype "SuperComboGauge"
weapon.ammotype2 "DrRightAmmo"
States
{
Spawn:
C_00 R 1
loop
Ready:
HDKO B 0 ACS_ExecuteAlways(998,0,DYE_LIGHTRYU)
HDKO B 0 A_GiveInventory("SpawningMisfire",1)
HDKO B 1 A_GunFlash
HDKO B 0 A_SpawnItemEx("RyuL_SelectionFX",0,0,70,0,0,3,0,1)
goto Ready0
Ready0:
HDKO B 2 A_WeaponReady
HDKO B 0 A_TakeInventory("SpawningMisfire",1)
Goto Ready1

Ready1:
HDKO B 2 A_WeaponReady
HDKO B 2 Offset(-2,34)A_WeaponReady(1)
HDKO B 2 Offset(-5,37)A_WeaponReady(1)
HDKO B 2 Offset(-7,41)A_WeaponReady(1)
HDKO B 2 Offset(-9,46)A_WeaponReady(1)
HDKO B 2 Offset(-11,52)A_WeaponReady(1)
HDKO B 2 Offset(-9,46)A_WeaponReady(1)
HDKO B 2 Offset(-7,41)A_WeaponReady(1)
HDKO B 2 Offset(-5,37)A_WeaponReady(1)
HDKO B 2 Offset(-2,34)A_WeaponReady(1)
HDKO B 2 A_WeaponReady
HDKO B 2 Offset(2,34)A_WeaponReady(1)
HDKO B 2 Offset(5,37)A_WeaponReady(1)
HDKO B 2 Offset(7,41)A_WeaponReady(1)
HDKO B 2 Offset(9,46)A_WeaponReady(1)
HDKO B 2 Offset(11,52)A_WeaponReady(1)
HDKO B 2 Offset(9,46)A_WeaponReady(1)
HDKO B 2 Offset(7,41)A_WeaponReady(1)
HDKO B 2 Offset(5,37)A_WeaponReady(1)
HDKO B 2 Offset(2,34)A_WeaponReady(1)
HDKO B 2 A_WeaponReady
HDKO B 2 Offset(-2,34)A_WeaponReady(1)
HDKO B 2 Offset(-5,37)A_WeaponReady(1)
HDKO B 2 Offset(-7,41)A_WeaponReady(1)
HDKO B 2 Offset(-9,46)A_WeaponReady(1)
HDKO B 2 Offset(-11,52)A_WeaponReady(1)
HDKO B 2 Offset(-9,46)A_WeaponReady(1)
HDKO B 2 Offset(-7,41)A_WeaponReady(1)
HDKO B 2 Offset(-5,37)A_WeaponReady(1)
HDKO B 2 Offset(-2,34)A_WeaponReady(1)
HDKO B 2 A_WeaponReady
HDKO B 2 Offset(2,34)A_WeaponReady(1)
HDKO B 2 Offset(5,37)A_WeaponReady(1)
HDKO B 2 Offset(7,41)A_WeaponReady(1)
HDKO B 2 Offset(9,46)A_WeaponReady(1)
HDKO B 2 Offset(11,52)A_WeaponReady(1)
HDKO B 2 Offset(9,46)A_WeaponReady(1)
HDKO B 2 Offset(7,41)A_WeaponReady(1)
HDKO B 2 Offset(5,37)A_WeaponReady(1)
HDKO B 2 Offset(2,34)A_WeaponReady(1)
HDKO B 0 A_JumpIfInventory("RyuSuperFlag",1,2)
HDKO B 0 A_GiveInventory("SuperComboGauge",1)
HDKO B 0
loop
Deselect:
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower
HDKO A 1 A_Lower
Loop
Select:
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise
HDKO A 1 A_Raise
Loop

SpawnProtect:
HDKO B 1
Goto Ready0

Fire:
//HDKO S 0 A_JumpIfInventory("IsBot",1,"BotFire")
HDKO S 0 A_JumpIfInventory("SpawningMisfire",1,"SpawnProtect")
HDKO S 0 A_JumpIfInventory("RyuSuperFlag",1,"ShinkuHadoken")
HDKO S 0 A_JumpIfInventory("MegaSlide",1,"Shoryu")
HDKO S 0 A_JumpIfInventory("RyuAltFlag",1,"ShinTatCheck")
HDKO S 0 A_GiveInventory("RyuMainFlag",1)
HDKO S 3 Offset(55,82)A_WeaponReady(5)
HDKO S 0 A_PlaySoundEx("Ryu_L/hadoken","SoundSlot6")
HDKO S 1 Offset(20,52)A_WeaponReady(5)
goto Hadoken
HadokenQuiet:
HDKO S 3 Offset(55,82)
HDKO S 1 Offset(20,52)
goto Hadoken
Hadoken:
HDKO S 0 A_PlaySoundEx("weapon/FireManShot","Weapon")
HDKO S 0 A_GiveInventory("RyuMain_CI",1)
HDKO S 8 Offset(1,31)
HDKO S 16 Offset(20,52)
HDKO S 0 A_Refire("HadokenQuiet")
HDKO S 0 A_TakeInventory("RyuMainFlag",1)
Goto Ready1
ShakuCheck:
HDKO S 0
HDKO S 0 A_JumpIfInventory("SuperComboGauge",7,"EXFire")
HDKO S 0 A_PlaySoundEx("Ryu_L/hadoken","SoundSlot6")
HDKO S 1 Offset(20,52)
goto Hadoken
EXFire:
HDKO S 0 A_PlaySoundEx("Ryu_L/EXMove","Body")
HDKO S 0 A_PlaySoundEx("Ryu_L/shakunetsu","SoundSlot6")
HDKO S 0 A_PlaySoundEx("weapon/atomicfire","Weapon")
HDKO S 0 A_GiveInventory("RyuMainEX_CI",1)
HDKO S 2 Offset(1,31)
HDKO T 2 Offset(1,31)ACS_ExecuteAlways(998,0,DYE_LIGHTCHARGE1,6)
HDKO S 2 Offset(1,31)ACS_ExecuteAlways(998,0,DYE_LIGHTRYU,1)
HDKO T 2 Offset(1,31)ACS_ExecuteAlways(998,0,DYE_LIGHTCHARGE1,6)
HDKO S 0 ACS_ExecuteAlways(998,0,DYE_LIGHTRYU,1)
HDKO S 2 Offset(20,52)A_TakeInventory("RyuMainFlag",1)
HDKO T 2 Offset(20,52)ACS_ExecuteAlways(998,0,DYE_LIGHTCHARGE1,6)
HDKO S 12 Offset(20,52)ACS_ExecuteAlways(998,0,DYE_LIGHTRYU,1)
Goto Ready1
ShinkuHadoken:
HDKO S 0 A_GiveInventory("RyuMainFlagX",1)
HDKO S 0 A_Refire(1)
HDKO S 0 A_GiveInventory("RyuL_HadokenSuperChargerFX_P")//A_SpawnItemEx("RyuL_HadokenSuperChargerFX",0,0,0,0,0,0,0,33)
HDKO S 0 ACS_ExecuteAlways(CORE_ACS_191,0,APROP_Speed,3,5)
HDKO S 0 A_PlaySoundEx("Ryu_L/shinhado","SoundSlot7")
HDKO S 0 SetPlayerProperty(0,0,0)
HDKO S 0 A_TakeInventory("SlideVivifyFlag",9)
HDKO S 0 A_TakeInventory("RyuAltFlag",9)
HDKO S 0 A_TakeInventory("RyuL_Flag",9)
HDKO S 0 A_TakeInventory("SuperComboGauge",999,1)
HDKO S 2 Offset(55,82)A_GiveInventory("RyuL_HadokenSuperCharge_P1",1)
HDKO U 0 A_GiveInventory("RyuLight_BasicArmor_P")
HDKO U 0 A_GiveInventory("SetDynamicArmorDosage_P")
HDKO U 0 A_TakeInventory("RyuSuperFlag",1)
HDKO U 2 Offset(55,82)A_GiveInventory("RyuL_HadokenSuperCharge_P2",1)
HDKO S 2 Offset(55,82)A_GiveInventory("RyuL_HadokenSuperCharge_P1",1)
HDKO U 2 Offset(55,82)A_GiveInventory("RyuL_HadokenSuperCharge_P2",1)
HDKO S 2 Offset(55,82)A_GiveInventory("RyuL_HadokenSuperCharge_P1",1)
HDKO U 2 Offset(55,82)A_GiveInventory("RyuL_HadokenSuperCharge_P2",1)
HDKO S 2 Offset(55,82)A_GiveInventory("RyuL_HadokenSuperCharge_P1",1)
HDKO U 2 Offset(55,82)A_GiveInventory("RyuL_HadokenSuperCharge_P2",1)
HDKO S 2 Offset(55,82)A_GiveInventory("RyuL_HadokenSuperCharge_P1",1)
HDKO U 2 Offset(55,82)A_GiveInventory("RyuL_HadokenSuperCharge_P2",1)
HDKO S 2 Offset(55,82)A_GiveInventory("RyuL_HadokenSuperCharge_P1",1)
HDKO U 2 Offset(55,82)A_GiveInventory("RyuL_HadokenSuperCharge_P2",1)
HDKO S 2 Offset(55,82)A_GiveInventory("RyuL_HadokenSuperCharge_P1",1)
HDKO U 2 Offset(55,82)A_GiveInventory("RyuL_HadokenSuperCharge_P2",1)
HDKO S 2 Offset(55,82)A_GiveInventory("RyuL_HadokenSuperCharge_P1",1)
HDKO U 2 Offset(55,82)A_GiveInventory("RyuL_HadokenSuperCharge_P2",1)
HDKO S 2 Offset(55,82)A_GiveInventory("RyuL_HadokenSuperCharge_P1",1)
HDKO U 2 Offset(55,82)A_GiveInventory("RyuL_HadokenSuperCharge_P2",1)
HDKO S 2 Offset(55,82)A_GiveInventory("RyuL_HadokenSuperCharge_P1",1)//38

HDKO U 2 Offset(55,82)ACS_ExecuteAlways(998,0,DYE_LIGHTCHARGE2,7)
HDKO S 2 Offset(55,82)ACS_ExecuteAlways(998,0,DYE_LIGHTRYU,1)
HDKO U 2 Offset(55,82)ACS_ExecuteAlways(998,0,DYE_LIGHTCHARGE2,7)
HDKO S 0 A_PlaySoundEx("Ryu_L/hadoken","SoundSlot7")
HDKO S 0 A_PlaySoundEx("weapon/heattackle","Weapon")
HDKO S 0 A_GiveInventory("RyuMainSuper_CI",1)
HDKO S 0 ACS_ExecuteAlways(998,0,DYE_LIGHTRYU,1)
HDKO S 2 Offset(1,31)A_GiveInventory("RyuL_Flag",1)
HDKO U 0 ACS_ExecuteAlways(998,0,DYE_LIGHTCHARGE2,7)
HDKO U 2 Offset(1,31)A_TakeInventory("RyuMainFlagX",1)
HDKO S 2 Offset(1,31)ACS_ExecuteAlways(998,0,DYE_LIGHTRYU,1)
HDKO U 0 A_TakeInventory("BasicArmor")
HDKO U 0 A_TakeInventory("DynamicArmorDosage_F")
HDKO U 2 Offset(1,31)ACS_ExecuteAlways(998,0,DYE_LIGHTCHARGE2,7)
HDKO S 2 Offset(1,31)ACS_ExecuteAlways(998,0,DYE_LIGHTRYU,1)
HDKO U 2 Offset(1,31)ACS_ExecuteAlways(998,0,DYE_LIGHTCHARGE2,7)
HDKO S 0 ACS_ExecuteAlways(CORE_ACS_191,0,APROP_Speed,1,1)
HDKO S 2 Offset(20,52)ACS_ExecuteAlways(998,0,DYE_LIGHTRYU,1)
HDKO U 2 Offset(20,52)ACS_ExecuteAlways(998,0,DYE_LIGHTCHARGE2,7)
HDKO S 12 Offset(20,52)ACS_ExecuteAlways(998,0,DYE_LIGHTRYU,1)
Goto Ready1

AltFire:
HDKO B 0 A_JumpIfInventory("SpawningMisfire",1,"SpawnProtect")
HDKO B 0 A_JumpIfInventory("RyuSuperFlag",1,"ShinShoryu")
HDKO B 0 A_JumpIfInventory("RyuMainFlag",1,"ShakuCheck")
HDKO B 0 A_GiveInventory("RyuAltFlag",1)
HDKO B 0 A_Refire(1)
HDKO B 0 A_TakeInventory("RyuL_Flag",9)
HDKO B 3 A_WeaponReady(9)
HDKO B 0 A_GiveInventory("RyuL_PoundCake_P",1)
HDKO B 1 A_WeaponReady(9)
goto Tatsu
TatsuQuiet:
HDKO B 0 A_TakeInventory("RyuL_Flag",9)
HDKO B 0 A_Refire(1)
HDKO B 3
HDKO B 1
goto Tatsu
Tatsu:
HDKO O 0 A_GiveInventory("MegaSlide",1)
HDKO O 0 A_PlaySoundEx("weapon/topspin","Weapon")
HDKO O 0 SetPlayerProperty(0,1,0)
HDKO O 0 A_TakeInventory("UnSolid",1)
HDKO O 0 A_ChangeFlag("THRUSPECIES",1)
HDKO O 0 A_ChangeFlag("SOLID",0)
HDKO O 2 A_GiveInventory("RyuL_AltfireThrustX_P",1)
HDKO P 1 A_WeaponReady(8)
QBUS G 0 A_SetArg(4,momz)
QBUS G 0 A_SetArg(3,momy)
QBUS G 0 A_SetArg(2,momx)
HDKO P 0 A_GiveInventory("RyuL_AltfireThrust_P",1)
HDKO P 0 A_GiveInventory("RyuL_HurricaneH_P",1)
HDKO P 1 OffSet(-37,32)A_WeaponReady(9)
HDKO P 1 OffSet(-74,32)A_WeaponReady(9)
HDKO P 0 A_GiveInventory("RyuL_AltfireThrust_P",1)
HDKO P 0 A_GiveInventory("RyuL_HurricaneH_P",1)
HDKO P 1 OffSet(-111,32)A_WeaponReady(9)
HDKO P 1 OffSet(-148,32)A_WeaponReady(9)
HDKO P 0 A_GiveInventory("RyuL_AltfireThrust_P",1)
HDKO P 0 A_GiveInventory("RyuL_HurricaneH_P",1)
HDKO P 1 OffSet(296,32)A_WeaponReady(9)
HDKO P 1 OffSet(259,32)A_WeaponReady(9)
HDKO P 0 A_GiveInventory("RyuL_AltfireThrust_P",1)
HDKO P 0 A_GiveInventory("RyuL_HurricaneH_P",1)
HDKO P 1 OffSet(222,32)A_WeaponReady(9)
HDKO P 1 OffSet(185,32)A_WeaponReady(9)
HDKO P 0 A_GiveInventory("RyuL_AltfireThrust_P",1)
HDKO P 0 A_GiveInventory("RyuL_HurricaneH_P",1)
HDKO P 1 OffSet(148,32)A_WeaponReady(9)
HDKO P 1 OffSet(111,32)A_WeaponReady(9)
HDKO P 0 A_GiveInventory("RyuL_AltfireThrust_P",1)
HDKO P 0 A_GiveInventory("RyuL_HurricaneH_P",1)
HDKO P 1 OffSet(74,32)A_WeaponReady(9)
HDKO P 1 OffSet(37,32)A_WeaponReady(9)
HDKO P 0 A_GiveInventory("RyuL_AltfireThrust_P",1)
HDKO P 0 A_GiveInventory("RyuL_HurricaneH_P",1)
HDKO P 1 A_WeaponReady(8)
HDKO O 5 SetPlayerProperty(0,0,0)
HDKO B 0 A_GiveInventory("RyuL_Flag",1)
HDKO B 0 A_ChangeFlag("THRUSPECIES",0)
HDKO B 0 A_SpawnItemEx("ResolidifyPlayer_H")
HDKO B 8
HDKO B 0 A_Refire("TatsuQuiet")
HDKO A 0 A_TakeInventory("MegaSlide",1)
HDKO A 0 A_TakeInventory("RyuAltFlag",1)
Goto Ready1

ShinTatCheck:
HDKO A 0 A_JumpIfInventory("RyuL_ExTatsuDelay",1,"Tatsu")
HDKO A 0 A_JumpIfInventory("SuperComboGauge",7,"EXAltfire")
goto Tatsu
EXAltFire:
HDKO O 0 A_PlaySoundEx("Ryu_L/EXMove","Body")
HDKO O 0 A_PlaySoundEx("Ryu_L/shintatsu","SoundSlot6")
HDKO O 0 A_PlaySoundEx("weapon/topspin","Weapon")
HDKO O 0 A_GiveInventory("NoJumpCancel",1)
HDKO B 0 A_GiveInventory("GuardUpFlag",1)
HDKO B 0 A_GiveInventory("CancerKickPowerPro",1)
//HDKO O 0 SetPlayerProperty(0,1,0)
HDKO O 0 SetPlayerProperty(0,1,3)
HDKO Q 0 A_SpawnItemEx("RyuL_TrueHurricaneFX",0,0,0,0,0,0,0,1)
HDKO O 0 A_TakeInventory("SuperComboGauge",7)
HDKO O 0 A_TakeInventory("UnSolid",1)
HDKO O 0 A_ChangeFlag("THRUSPECIES",1)
HDKO O 0 A_ChangeFlag("SOLID",0)
HDKO Q 0 ACS_ExecuteAlways(998,0,DYE_LIGHTCHARGE1,6)
HDKO Q 2 A_ChangeVelocity(0,0,momz*0.5+12,3)

HDKO P 1 OffSet(-37,32)A_FireCustomMissile("RyuL_TrueHurricane",0,0,0,-8)
HDKO P 1 OffSet(-74,32)A_JumpIfInventory("PowerRage_ST",1,1)
HDKO R 0 ACS_ExecuteAlways(998,0,DYE_LIGHTCHARGE1,6)
HDKO R 1 OffSet(-111,32)A_FireCustomMissile("RyuL_TrueHurricane",0,0,0,-8)
HDKO R 1 OffSet(-148,32)A_JumpIfInventory("PowerRage_ST",1,1)
HDKO P 0 ACS_ExecuteAlways(998,0,DYE_LIGHTRYU,1)
HDKO P 1 OffSet(296,32)A_FireCustomMissile("RyuL_TrueHurricane",0,0,0,-8)
HDKO P 1 OffSet(259,32)A_JumpIfInventory("PowerRage_ST",1,1)
HDKO R 0 ACS_ExecuteAlways(998,0,DYE_LIGHTCHARGE1,6)
HDKO R 1 OffSet(222,32)A_FireCustomMissile("RyuL_TrueHurricane",0,0,0,-8)
HDKO R 1 OffSet(185,32)A_JumpIfInventory("PowerRage_ST",1,1)
HDKO P 0 ACS_ExecuteAlways(998,0,DYE_LIGHTRYU,1)
HDKO P 1 OffSet(148,32)A_FireCustomMissile("RyuL_TrueHurricane",0,0,0,-8)
HDKO P 1 OffSet(111,32)A_JumpIfInventory("PowerRage_ST",1,1)
HDKO R 0 ACS_ExecuteAlways(998,0,DYE_LIGHTCHARGE1,6)
HDKO R 1 OffSet(74,32)A_FireCustomMissile("RyuL_TrueHurricane",0,0,0,-8)
HDKO R 1 OffSet(37,32)A_JumpIfInventory("PowerRage_ST",1,1)
HDKO O 0 A_WeaponReady(14)
HDKO O 0 ACS_ExecuteAlways(998,0,DYE_LIGHTRYU,1)
HDKO O 2 SetPlayerProperty(0,0,3)
HDKO Q 0 ACS_ExecuteAlways(998,0,DYE_LIGHTCHARGE1,6)
HDKO Q 2 A_GiveInventory("RyuL_Flag",1)
HDKO O 2 ACS_ExecuteAlways(998,0,DYE_LIGHTRYU,1)
HDKO O 0 SetPlayerProperty(0,0,0)
HDKO O 0 A_ChangeFlag("THRUSPECIES",0)
HDKO O 0 A_SpawnItemEx("ResolidifyPlayer_H")
HDKO B 0 A_TakeInventory("GuardUpFlag",1)
HDKO B 0 A_TakeInventory("CancerKickPowerPro",1)
HDKO B 0 A_TakeInventory("RyuAltFlag",1)
HDKO B 0 A_TakeInventory("RyuMainFlag",1)
HDKO O 2 A_GiveInventory("RyuL_ExTatsuDelay",1)
HDKO B 2 A_TakeInventory("NoJumpCancel",1)
HDKO B 0 A_TakeInventory("MegaSlide",1)
Goto Ready1

Shoryu:
HDKO W 0 A_GiveInventory("MegaShoryu",1)
HDKO W 0 A_GiveInventory("NoJumpCancel",1)
HDKO W 0 A_Refire(1)
HDKO W 0 A_PlaySoundEx("Ryu_L/shoryuken","SoundSlot6")
HDKO W 0 A_PlaySoundEx("weapon/SlashDClaw","Weapon")
HDKO W 0 SetPlayerProperty(0,1,0)
HDKO W 1 Offset(-6,111)
HDKO V 1 Offset(-12,80)
HDKO V 0 A_GiveInventory("LadderDisable",1)
HDKO V 0 A_SpawnItemEx("RyuL_ShoryukenWarper",0,0,0,0,0,0,0,1)
HDKO V 0 A_SpawnItemEx("RyuL_ShoryukenWarper",0,0,0,0,0,0,180,1)
HDKO V 0 A_ChangeVelocity(8,0,12,3)
HDKO V 1 Offset(-12,80)A_GiveInventory("RyuL_ShoryukenH_P",1)
HDKO V 0 A_ChangeVelocity(8,0,12,3)
HDKO V 1 Offset(-12,80)A_GiveInventory("RyuL_ShoryukenH_P",1)
HDKO V 0 A_Refire("ShoryuHold")
goto ShoryuEnding
ShoryuHold:
HDKO A 0 A_JumpIfInventory("ShoryuCounter",10,"ShoryuEnding")
HDKO V 0 A_GiveInventory("ShoryuCounter",1)
HDKO V 0 A_ChangeVelocity(8,0,12,3)
HDKO V 1 Offset(1,31)A_GiveInventory("RyuL_ShoryukenH_P",1)
HDKO V 0 A_Refire("ShoryuHold")
ShoryuEnding:
HDKO W 2 Offset(1,31)
HDKO W 2 Offset(38,43)
TNT1 A 4
TNT1 A 0 A_ChangeFlag("THRUSPECIES",0)
TNT1 A 0 A_SpawnItemEx("ResolidifyPlayer_H")
TNT1 A 2 A_GiveInventory("LadderEnable",1)
TNT1 A 0 A_TakeInventory("NoJumpCancel",1)
TNT1 A 0 A_TakeInventory("ShoryuCounter",10)
TNT1 A 0 A_TakeInventory("MegaShoryu",1)
TNT1 A 0 A_TakeInventory("MegaSlide",1)
TNT1 A 2 A_WeaponReady(14)
TNT1 A 0 SetPlayerProperty(0,0,0)
goto Recovery
Recovery:
TNT1 A 0 A_JumpIf(z-floorz==0,"Recovered")
TNT1 A 0 A_JumpIf(momz==0,"Recovery_Z")
TNT1 A 0 A_JumpIfInventory("RyuRecoverFlag",110,"Recovered")
TNT1 A 1 A_GiveInventory("RyuRecoverFlag",1)
loop
Recovery_Z:
TNT1 A 1
TNT1 A 0 A_JumpIf(z-floorz==0,"Recovered")
TNT1 A 0 A_JumpIf(momz==0,"Recovered")
goto Recovery+2

Recovered:
HDKO O 1 A_GiveInventory("RyuL_Flag",1)
HDKO O 0 A_TakeInventory("RyuMainFlag",1)
HDKO O 0 A_TakeInventory("RyuAltFlag",1)
HDKO O 0 A_TakeInventory("RyuRecoverFlag",999)
HDKO OOOO 2 A_WeaponReady(8)
goto Ready1

ShinShoryuFail_1:
HDKO W 0 A_JumpIfInventory("RyuShinShoryuFlag",1,"ShinShoryu2")
HDKO W 0 A_GiveInventory("SelfTotallyUnfrozen",1)
HDKO W 0 A_ChangeFlag("NOGRAVITY",0)
HDKO W 0 A_GiveInventory("InvulnerableOff_Pickup",1)
goto Shoryu

ShinShoryuFail_2:
HDKO W 0 A_JumpIfInventory("RyuShinShoryuFlag",1,"ShinShoryu3")
HDKO W 0 A_GiveInventory("SelfTotallyUnfrozen",1)
HDKO W 0 A_ChangeFlag("NOGRAVITY",0)
HDKO W 0 A_GiveInventory("InvulnerableOff_Pickup",1)
goto Shoryu

ShinShoryu:
HDKO X 0 A_GiveInventory("RyuAltFlagX",1)
HDKO X 0 A_Refire(1)
HDKO X 0 A_GiveInventory("NoJumpCancel",1)
HDKO X 0 A_GiveInventory("SelfTotallyFrozen",1)
HDKO X 0 A_GiveInventory("InvulnerableOn_Pickup",1)
HDKO X 0 A_PlaySoundEx("Ryu_L/shinshor1","SoundSlot6")
HDKO X 0 A_TakeInventory("SuperComboGauge",999)
HDKO X 0 A_TakeInventory("RyuL_Flag",9)
HDKO X 0 A_TakeInventory("UnSolid",1)
HDKO X 0 A_ChangeFlag("THRUSPECIES",1)
HDKO X 0 A_ChangeFlag("NOGRAVITY",1)
HDKO X 0 A_Stop
HDKO X 1
HDKO X 2 A_TakeInventory("RyuShinShoryuFlag",1)
HDKO Y 1 A_SpawnItemEx("ShinShoryukenStart",24,-12,24,30,0,0,9)
HDKO Y 2 A_SpawnItemEx("ShinShoryukenStart",24,-12,24,30,0,0,9)
HDKO Y 0 A_PlaySoundEx("Ryu_L/shinhit","Weapon")
HDKO Y 0 A_SpawnItemEx("ShinShoryu2",24,-12,24,momx,0,0,0,9)
HDKO YY 1 A_JumpIfInventory("RyuShinShoryuFlag",1,"ShinShoryu2")
goto ShinShoryuFail_1
ShinShoryu2:
HDKO Y 2
HDKO Y 2 A_GiveInventory("VivifyDelay5",1)
HDKO Y 30 A_TakeInventory("RyuShinShoryuFlag",9)
HDKO W 0 A_PlaySoundEx("Ryu_L/shinshor2","SoundSlot6")
HDKO W 3 Offset(-6,111)
HDKO V 1 Offset(-12,80)A_SpawnItemEx("ShinShoryukenStart",24,-12,24,30,0,0,9)
HDKO V 2 Offset(-12,80)A_SpawnItemEx("ShinShoryukenStart",24,-12,24,30,0,0,9)
HDKO V 0 A_PlaySoundEx("Ryu_L/shinhit","Weapon")
HDKO V 0 A_SpawnItemEx("ShinShoryu2",24,20,32,momx,0,0,0,9)
HDKO VV 1 A_JumpIfInventory("RyuShinShoryuFlag",1,"ShinShoryu3")
goto ShinShoryuFail_2
ShinShoryu3:
HDKO V 2 Offset(-12,80)A_GiveInventory("VivifyDelay5",1)
HDKO V 2 A_GiveInventory("LadderDisable",1)
HDKO V 24 Offset(-12,80)A_TakeInventory("RyuShinShoryuFlag",9)
HDKO V 0 A_PlaySoundEx("Ryu_L/shoryuken","SoundSlot6")
HDKO V 0 A_ChangeFlag("NOGRAVITY",1)
HDKO V 0 A_SpawnItemEx("ShinShoryukenFinalHit",24,-12,24,40,0,0,9)
HDKO V 0 A_ChangeVelocity(2,0,48,3)
HDKO V 2 Offset(-12,80)A_GiveInventory("MegaShoryu",1)
HDKO VVVV 2 Offset(1,31)
HDKO V 0 //A_Stop
HDKO V 0 A_PlaySoundEx("Ryu_L/shinhit2","Weapon")
HDKO V 0 A_PlaySoundEx("Ryu_L/knockout","Body")
HDKO V 0 A_SpawnItemEx("ShinShoryu2",28,20,48,momx,0,0,0,9)
HDKO V 18 Offset(1,31)
HDKO W 0 A_ChangeFlag("THRUSPECIES",0)
HDKO W 0 A_SpawnItemEx("ResolidifyPlayer_H")
HDKO W 0 A_ChangeFlag("NOGRAVITY",0)
HDKO W 2 Offset(1,31)
HDKO W 2 Offset(38,43)A_GiveInventory("LadderEnable",1)
TNT1 A 2 A_GiveInventory("InvulnerableOff_Pickup",1)
TNT1 A 2 A_TakeInventory("NoJumpCancel",1)
TNT1 A 2 A_TakeInventory("RyuShinShoryuFlag",9)
TNT1 A 2 A_TakeInventory("MegaShoryu",9)
TNT1 A 0 A_GiveInventory("SelfTotallyUnfrozen",1)
goto Recovery

Flash:
TNT1 A 0 A_JumpIfInventory("IsDead",1,"NoFlash")
TNT1 A 1 A_JumpIfInventory("SuperComboGauge",28,"Flash_LetsGo")
loop
Flash_LetsGo:
TNT1 A 0 A_PlaySoundEx("Ryu_L/letsgo","SoundSlot7")
Flash_SuperReady:
TNT1 A 0 A_JumpIfInventory("IsDead",1,"NoFlash")
TNT1 A 1 A_JumpIfInventory("RyuSuperFlag",1,"Flash_Drain")
TNT1 A 0 A_JumpIfInventory("SuperComboGauge",28,"Flash_SuperReady")
goto Flash_Drain+5
Flash_Drain:
TNT1 A 0 A_GiveInventory("RyuL_SuperFlagPower",1)
TNT1 A 2 A_JumpIfInventory("IsDead",1,"NoFlash")
TNT1 A 3 A_JumpIfInventory("IsDead",1,"NoFlash")
TNT1 A 0 A_TakeInventory("SuperComboGauge",1)
TNT1 A 0 A_JumpIfInventory("SuperComboGauge",1,"Flash_Drain")
TNT1 A 0 A_TakeInventory("RyuSuperFlag",1)
goto Flash
}
}

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

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

actor RyuL_Flag : OnceC{}

actor MegaShoryu : OnceC{}

actor RyuMainFlag : OnceC{}
actor RyuAltFlag : OnceC{}
actor RyuMainFlagX : OnceC{}
actor RyuAltFlagX : OnceC{}

actor CancerKickPowerPro : BasePowerPro
{
damagefactor "Normal", 0.25
}

actor RyuRecoverFlag : Inventory
{
inventory.amount 1
inventory.maxamount 255
}

actor ShoryuCounter : Inventory
{
inventory.amount 1
inventory.maxamount 10
}

actor RyuSuperFlag : OnceC{}
actor RyuShinShoryuFlag : OnceC{}

actor RyuL_SuperFlagPower : PowerSpeed
{
+POWERSPEED.NOTRAIL
powerup.duration 8
speed 1.25
}

actor RyuL_ExTatsuDelay : PowerUp
{
powerup.duration 29
}


actor RyuL_ArmorPickup : BasicArmorPickup
{
Armor.Savepercent 50.001
Armor.Saveamount 40
}

actor RyuShinShoryuFlag_P : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_GiveInventory("RyuShinShoryuFlag",1)
stop
}
}

actor RyuSuperItem : CustomInventory
{
inventory.amount 1
inventory.maxamount 1
tag "$TAGC_0R2"
inventory.pickupmessage "Always pick Denjin Hadoken unless you're a scrub"
inventory.icon "RyuIcon"
scale 2.0
+INVBAR
states
{
Spawn:
HDKO Z 1
loop
Use:
TNT1 A 0 A_JumpIfInventory("RyuSuperFlag",1,"No")
TNT1 A 0 A_JumpIfInventory("SuperComboGauge",28,"Success")
fail
Success:
TNT1 A 0 A_PlaySoundEx("Ryu_L/superact","Item")
TNT1 A 0 A_GiveInventory("RyuSuperFlag",1)
fail
No:
TNT1 A 0
fail
}
}


actor RyuL_PoundCake_P : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_Jump(3,"P_Snd2")
goto P_Snd1
P_Snd1:
TNT1 A 0 A_PlaySoundEx("Ryu_L/tatsumaki","SoundSlot6")
stop
P_Snd2:
TNT1 A 0 A_PlaySoundEx("Ryu_L/poundcake","SoundSlot6")
stop
}
}

actor RyuL_AltfireThrustX_P : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_JumpIfInventory("DrRightAmmo",1,"PickupCheck")
goto WeakCheck
PickupCheck:
TNT1 A 0 A_GiveInventory("RyuL_StaminaTakeFlag",1)
TNT1 A 0 A_JumpIfInventory("IsUnderWater",1,"P_Water")
goto PickupNormal
PickupNormal:
TNT1 A 0 A_ChangeVelocity(28,0,6*sin(-pitch),3)
stop
P_Water:
TNT1 A 0 A_JumpIf(momz<0,"P_WaterD")
goto P_WaterU
P_WaterU:
TNT1 A 0 A_ChangeVelocity(28,0,6*sin(-pitch),3)
stop
P_WaterD:
TNT1 A 0 A_ChangeVelocity(28,0,6*sin(-pitch),3)
stop

WeakCheck:
TNT1 A 0 A_JumpIfInventory("IsUnderWater",1,"W_Water")
goto WeakNormal
WeakNormal:
TNT1 A 0 A_ChangeVelocity(8,0,(3*sin(-pitch))-1.5,3)
stop
W_Water:
TNT1 A 0 A_JumpIf(momz<0,"W_WaterD")
goto W_WaterU
W_WaterU:
TNT1 A 0 A_ChangeVelocity(8,0,(3*sin(-pitch))-1.5,3)
stop
W_WaterD:
TNT1 A 0 A_ChangeVelocity(8,0,(3*sin(-pitch))-1.5,3)
stop

}
}

actor RyuL_AltfireThrust_P : CustomInventory
{
States
{
Pickup:
TNT1 AA 0
TNT1 A 0 A_ChangeVelocity(args[2],args[3],args[4],CVF_REPLACE)
stop
}
}

actor RyuL_HurricaneH_P : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_GiveInventory("RyuL_StaminaUse_P",1)
TNT1 A 0 A_JumpIfInventory("RyuL_StaminaTakeFlag",1,"Pickup2")
goto PickupW
Pickup2:
TNT1 A 0 A_SpawnItemEx("RyuL_HurricaneRadius",0,0,28,momx,momy,momz,0,9,0)
TNT1 A 0 A_JumpIfInventory("PowerSpread_ST",1,"Pickup2_S")
stop
Pickup2_S:
TNT1 AA 0 A_SpawnItemEx("RyuL_HurricaneRadius",0,0,28,momx,momy,momz,0,9,0)
stop
PickupW:
TNT1 A 0 A_SpawnItemEx("RyuL_HurricaneRadius3",0,0,28,momx,momy,momz,0,9,0)
TNT1 A 0 A_JumpIfInventory("PowerSpread_ST",1,"PickupW_S")
stop
PickupW_S:
TNT1 AA 0 A_SpawnItemEx("RyuL_HurricaneRadius",0,0,28,momx,momy,momz,0,9,0)
stop
}
}

actor RyuL_ShoryukenH_P : CustomInventory
{
States
{
Pickup://Sheng Long
//A_SpawnItemEx("RyuL_ShoryukenHitbox",0,4,32,24)
//TNT1 A 0 A_SpawnItemEx("RyuL_ShoryukenRadius",0,0,28,momx*4.5,momy*4.5,0,0,9)
TNT1 A 0 A_SpawnItemEx("RyuL_ShoryukenHitbox",12,0,56,momx*4.5,momy*4.5,0,0,9)
TNT1 A 0 A_JumpIfInventory("PowerSpread_ST",1,"PickupR")
stop
PickupR:
//TNT1 AA 0 A_SpawnItemEx("RyuL_ShoryukenRadius",0,0,28,momx*4.5,momy*4.5,0,0,9)
TNT1 AA 0 A_SpawnItemEx("RyuL_ShoryukenHitbox",12,0,56,momx*4.5,momy*4.5,0,20,9)
TNT1 AA 0 A_SpawnItemEx("RyuL_ShoryukenHitbox",12,0,56,momx*4.5,momy*4.5,0,-20,9)
stop
}
}

actor RyuL_StaminaTakeFlag : Powerup
{
Powerup.Duration 20
}

actor RyuL_StaminaUse_P : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_GiveInventory("RyuL_StaminaDelay",1)
TNT1 A 0 A_JumpIfInventory("RyuL_StaminaTakeFlag",1,"Pickup1")
goto No
Pickup1:
TNT1 A 0 A_JumpIfInventory("DrRightAmmo",280,"Pickup2")
TNT1 A 0 A_TakeInventory("DrRightAmmo",10)
stop
Pickup2:
TNT1 A 0 A_SpawnItemEx("RyuL_StaminaUse_H",0,0,24)
stop
No:
TNT1 A 0
stop
}
}
actor RyuL_StaminaDelay : Powerup
{
Powerup.Duration 88
}
actor RyuL_StaminaUse_H : BasicHelper
{
States
{
Spawn:
TNT1 A 1
TNT1 A 5 A_TakeFromTarget("DrRightAmmo",10)
Spawn2:
TNT1 A 0 A_JumpIfInTargetInventory("RyuL_StaminaDelay",1,2)
TNT1 A 0 A_GiveToTarget("DrRightAmmo",1)
TNT1 A 1
TNT1 A 0 A_JumpIfInTargetInventory("RyuL_StaminaDelay",1,"Spawn2")
TNT1 A 0 A_JumpIfInTargetInventory("DrRightAmmo",280,"Death")
TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(C_CHECK_TARGET_OOC)==0,"Death")
loop
}
}



actor RyuL_SelectionFX : BasicExplosion
{
ReactionTime 16
Scale 2.5
States
{
Spawn:
HDOK Z 1
TNT1 A 1 A_CountDown
loop
}
}

actor RyuL_HadokenShot
{
Translation "202:202=197:197","199:199=74:74"
//Translation "202:202=192:192","199:199=198:198"
PROJECTILE
damagetype "LightRyu_Hadoken"
Obituary "$OB_RYUL_M1"
+BRIGHT
Renderstyle Translucent
Alpha 0.9
Damage (0)
radius 12
height 12
Speed 36
scale 2.5
States
{
Spawn:
TNT1 A 0
TNT1 A 0 ACS_NamedExecuteAlways("BULL_Tidifier", 0)
SpawnLOOP:
HDOK OP 4
loop
Death:
XDeath:
TNT1 A 0 A_SpawnItemEx("RyuL_HadokenShotFX",0,0,0,0,0,0,0,1)
TNT1 A 2 A_Explode(16,48,0,0,49)
stop
}
}

actor RyuL_HadokenShotB : RyuL_HadokenShot{Translation "202:202=205:205","199:199=74:74"}
actor RyuL_HadokenShotR : RyuL_HadokenShot{Translation "202:202=171:171","199:199=41:41"}
actor RyuL_HadokenShotO : RyuL_HadokenShot{Translation "202:202=104:104","199:199=128:128"}
actor RyuL_HadokenShotP : RyuL_HadokenShot{Translation "202:202=229:229","199:199=232:232"}

actor RyuL_HadokenShotFX : BasicClientSide
{
+BRIGHT
Scale 3.0
States
{
Spawn:
Y_4D PQRSTYVWXY 1
stop
}
}
actor RyuL_HadokenShotFX2 : RyuL_HadokenShotFX
{
+BRIGHT
States
{
Spawn:
V_4D PQRSTYVWXY 1
stop
}
}

actor LightRyu_FireProtect : PowerProtection
{
Powerup.Duration 3
DamageFactor "LightRyu_Fire", 0.2
}

actor RyuL_HadokenEXShot
{
Translation "250:250=175:175","249:249=189:189"
PROJECTILE
damagetype "LightRyu_Fire"
Obituary "$OB_RYUL_M2"
Renderstyle Translucent
Alpha 0.9
Damage (22)
radius 12
height 12
Speed 63
scale 2.75
States
{
Spawn:
TNT1 A 0
TNT1 A 0 ACS_NamedExecuteAlways("BULL_Tidifier", 0)
SpawnLOOP:
HDOK M 1 A_SpawnItemEx("RyuL_HadokenEXShotFX",random(-4,4),random(-4,4),random(-8,0),0,0,0,0,1)
HDOK M 1 A_SpawnItemEx("RyuL_HadokenEXShotFX",random(-4,4),random(-4,4),random(-8,0),0,0,0,0,1)
HDOK N 1 A_SpawnItemEx("RyuL_HadokenEXShotFX",random(-4,4),random(-4,4),random(-8,0),0,0,0,0,1)
HDOK N 1 A_SpawnItemEx("RyuL_HadokenEXShotFX",random(-4,4),random(-4,4),random(-8,0),0,0,0,0,1)
loop
Death:
XDeath:
TNT1 A 0 A_SpawnItemEx("CBM_OilPitIgnite",0,0,8)
TNT1 A 2 A_SpawnItemEx("RyuL_HadokenShotFX2",0,0,0,0,0,0,0,1)
stop
}
}

actor RyuL_HadokenEXShotB : RyuL_HadokenEXShot{Translation "250:250=196:196","249:249=199:199"}
actor RyuL_HadokenEXShotR : RyuL_HadokenEXShot{Translation "250:250=170:170","249:249=43:43"}
actor RyuL_HadokenEXShotO : RyuL_HadokenEXShot{Translation "250:250=138:138","249:249=131:131"}
actor RyuL_HadokenEXShotP : RyuL_HadokenEXShot{Translation "250:250=214:214","249:249=223:223"}

actor RyuL_HadokenEXShotFX : BasicClientSide
{
+BRIGHT
Renderstyle Translucent
Alpha 0.9
Scale 1
States
{
Spawn:
HDOK W 0
HDOK W 0 A_Jump(256,1,2,3,4)
HDOK WXYZ 3 A_FadeOut(0.1)
goto Spawn+2
}
}
actor LightRyuFireBurn : BasicExplosion
{
damagetype "LightRyu_FireBurn"
Obituary "$OB_RYUL_M2X"
RenderStyle None
States
{
Spawn:
TNT1 A 0
TNT1 A 2 A_Explode(2,15,0,0,15)
stop
}
}

actor RyuL_HadokenSuperCharge_P1 : CustomInventory
{
States
{
Pickup:
TNT1 A 0 ACS_ExecuteAlways(998,0,DYE_LIGHTRYU,1)
TNT1 A 0 A_SpawnItemEx("RyuL_HadokenSuperCharge",0,0,28,0,0,0,0,1)
stop
}
}

actor RyuL_HadokenSuperCharge_P2 : CustomInventory
{
States
{
Pickup:
TNT1 A 0 ACS_ExecuteAlways(998,0,DYE_LIGHTCHARGE2,7)
TNT1 A 0 A_SpawnItemEx("RyuL_HadokenSuperCharge",0,0,28,0,0,0,0,1)
stop
}
}

actor RyuL_HadokenSuperChargerFX_P : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_SpawnItemEx("RyuL_HadokenSuperChargerFX",0,0,0,0,0,0,0,33)
stop
}
}

actor RyuL_HadokenSuperChargerFX : ShieldWarper_CBM
{
+BRIGHT
ReactionTime 3
States
{
Spawn:
TNT1 A 0
Shield:
HDOK D 0 A_JumpIf(ACS_ExecuteWithResult(C_CHECK_TARGET_OOC)==0,"Death")
HDOK D 0 A_JumpIfInTargetInventory("PowerRage_ST",1,"ShieldR")
HDOK DDEEFFGGHHII 1 A_Warp(2,0,0,0,0,24)
HDOK D 0 A_CountDown
loop
ShieldR:
HDOK DEFGHI 1 A_Warp(2,0,0,0,0,24)
HDOK D 0 A_CountDown
goto Shield
Death:
TNT1 A 0
stop
}
}

actor RyuL_HadokenSuperCharge : BasicHelper
{
States
{
Spawn:
TNT1 A 0
TNT1 A 2 A_SpawnItemEx("RyuL_HadokenSuperCharge1",0,0,0,0,0,0,0,1)
stop
}
}

actor RyuL_HadokenSuperCharge1 : BasicClientSide
{
var int user_A;
reactiontime 12
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_SetUserVar("user_A",random(0,30))
TNT1 A 0 A_SpawnItemEx("RyuL_HadokenSuperCharge2",80,0,random(-10,10),140,0,0,user_A+random(-15,15),33,224)

TNT1 A 0 A_SpawnItemEx("RyuL_HadokenSuperCharge2",60,0,random(0,20),120,0,40,user_A+random(-25,25),33,224)
TNT1 A 0 A_SpawnItemEx("RyuL_HadokenSuperCharge2",60,0,random(-20,0),120,0,-40,user_A+random(-25,25),33,224)

TNT1 A 0 A_SpawnItemEx("RyuL_HadokenSuperCharge2",40,0,random(10,30),100,0,60,user_A+random(-25,25),33,224)
TNT1 A 0 A_SpawnItemEx("RyuL_HadokenSuperCharge2",40,0,random(-30,10),100,0,-60,user_A+random(-25,25),33,224)

TNT1 A 0 A_SetUserVar("user_A",user_A+30)
TNT1 A 0 A_Countdown
goto Spawn+2
Death:
TNT1 A 0
stop
}
}

actor RyuL_HadokenSuperCharge2 : BasicClientSide
{
+MISSILE
+FORCEXYBILLBOARD
+BRIGHT
Speed 20
States
{
Spawn:
TNT1 A 0
HDOK T 1 A_ScaleVelocity(-0.1)
HDOK TTUUUVVV 1 A_ScaleVelocity(1.1)
stop
}
}

actor RyuL_HadokenSuperShot
{
var int user_D;
Translation "202:202=197:197","199:199=74:74"
PROJECTILE
damagetype "LightRyu_ShinkuShot"
Obituary "$OB_RYUL_M3"
+SKYEXPLODE
+EXPLODEONWATER
+THRUACTORS
+THRUGHOST
+DONTBLAST
+BRIGHT
renderstyle translucent
alpha 0.9
ReactionTime 10
Damage (0)
radius 4
height 4
Speed 38
scale 3.5
States
{
Spawn:
HDOK Q 0
HDOK Q 0 ACS_NamedExecuteAlways("cbm_missileyank",0,96)
HDOK Q 0 A_Explode(2,96,0,0,97)
HDOK Q 0 A_SetUserVar("user_D",user_D+10)
HDOK QQQ 1 ACS_NamedExecuteAlways("cbm_missileyank",0,96)
HDOK R 0 A_SetTranslucent(0.9)
HDOK R 0 A_SpawnItemEx("RyuL_HadokenSuperShotFX2",0,0,0,momx*0.01,momy*0.01,momz*0.01,0,9)
HDOK R 0 A_Explode(2,96,0,0,97)
HDOK R 0 A_SetUserVar("user_D",user_D+10)
HDOK RRR 1 ACS_NamedExecuteAlways("cbm_missileyank",0,96)
HDOK S 0 A_SetTranslucent(1.0)
HDOK S 0 A_SpawnItemEx("RyuL_HadokenSuperShotFX2",0,0,0,momx*0.01,momy*0.01,momz*0.01,0,9)
HDOK S 0 A_Explode(2,96,0,0,97)
HDOK S 0 A_SetUserVar("user_D",user_D+10)
HDOK SSS 1 ACS_NamedExecuteAlways("cbm_missileyank",0,96)
HDOK Q 0 A_SetTranslucent(0.8)
HDOK Q 0 A_CountDown
HDOK Q 0 A_SpawnItemEx("RyuL_HadokenSuperShotFX2",0,0,0,momx*0.01,momy*0.01,momz*0.01,0,9)
goto Spawn+2
Death:
TNT1 A 0 A_Explode(70-(user_D*0.334),196,0,0,96)
TNT1 A 2 A_SpawnItemEx("RyuL_HadokenSuperShotEnd",0,0,0,0,0,0,0,1)
stop
}
}

actor RyuL_HadokenSuperShotEnd : BasicExplosion
{
damagetype "ClassPainStop"
Obituary "$OB_RYUL_M3"
+FORCEXYBILLBOARD
+BRIGHT
Scale 6.0
States
{
Spawn:
Y_4D P 0
Y_4D P 0 A_Explode(2,128,0,0,129)
Y_4D PQRSTYVWXY 1
stop
}
}

actor RyuL_HadokenSuperShotFX : BasicClientSide
{
States
{
Spawn://ODuo Sprites
GIGO UV 3
GIGO W 2 A_ScaleVelocity(1.15)
GIGO W 1 A_Fadeout(0.2)
goto Spawn+2
}
}

actor RyuL_HadokenSuperShotFX2 : BasicClientSide
{
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_SpawnItemEx("RyuL_HadokenSuperShotFX",0,4,12,-sqrt(momx*momx+momy*momy),1,-momz+3,0,1)
TNT1 A 0 A_SpawnItemEx("RyuL_HadokenSuperShotFX",0,-4,12,-sqrt(momx*momx+momy*momy),-1,-momz+3,0,1)
TNT1 A 0 A_SpawnItemEx("RyuL_HadokenSuperShotFX",0,12,4,-sqrt(momx*momx+momy*momy),3,-momz+1,0,1)
TNT1 A 0 A_SpawnItemEx("RyuL_HadokenSuperShotFX",0,12,-4,-sqrt(momx*momx+momy*momy),3,-momz-1,0,1)
TNT1 A 0 A_SpawnItemEx("RyuL_HadokenSuperShotFX",0,4,-12,-sqrt(momx*momx+momy*momy),1,-momz-3,0,1)
TNT1 A 0 A_SpawnItemEx("RyuL_HadokenSuperShotFX",0,-4,-12,-sqrt(momx*momx+momy*momy),-1,-momz-3,0,1)
TNT1 A 0 A_SpawnItemEx("RyuL_HadokenSuperShotFX",0,-12,4,-sqrt(momx*momx+momy*momy),-3,-momz+1,0,1)
TNT1 A 0 A_SpawnItemEx("RyuL_HadokenSuperShotFX",0,-12,-4,-sqrt(momx*momx+momy*momy),-3,-momz-1,0,1)
TNT1 A 1
stop
}
}


actor RyuL_HadokenSuperShotB : RyuL_HadokenSuperShot{Translation "202:202=205:205","199:199=74:74"}
actor RyuL_HadokenSuperShotR : RyuL_HadokenSuperShot{Translation "202:202=171:171","199:199=41:41"}
actor RyuL_HadokenSuperShotO : RyuL_HadokenSuperShot{Translation "202:202=104:104","199:199=128:128"}
actor RyuL_HadokenSuperShotP : RyuL_HadokenSuperShot{Translation "202:202=229:229","199:199=232:232"}

actor RyuL_HurricaneRadius : BasicExplosion
{
Damagetype "LightRyu_Kick"
Obituary "$OB_RYUL_A1"
States
{
Spawn:
TNT1 A 0
TNT1 A 2 A_Explode(ACS_NamedExecuteWithResult("cbm_getplayervelocity",7,0)+1,96,0,0,10)
stop
}
}

actor RyuL_HurricaneRadius3 : RyuL_HurricaneRadius
{
States
{
Spawn:
TNT1 A 0
TNT1 A 2 A_Explode(ACS_NamedExecuteWithResult("cbm_getplayervelocity",7,0)+1,96,0,0,10)
stop
}
}

actor RyuL_TrueHurricaneFX : BasicExplosion
{
Scale 2.5
States
{
Spawn:
HDOK ABCABC 3
stop
}
}

actor RyuL_TrueHurricane : BasicExplosion
{
Damagetype "LightRyu_SpinKick"
Obituary "$OB_RYUL_A2"
States
{
Spawn:
TNT1 A 0
TNT1 A 0 ACS_NamedExecuteWithResult("cbm_GalaxyBHB_ACS",6,6,320)
TNT1 A 4 A_Explode(5,120,0,0,102)
stop
}
}

actor RyuL_ShoryukenWarper : ShieldWarper_CBM
{
+NOTIMEFREEZE
ReactionTime 12
States
{
Spawn:
TNT1 A 0
Goto Shield
Shield:
TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(C_CHECK_TARGET_OOC)==0,"Death")
TNT1 A 0 A_JumpIfInTargetInventory("PowerRage_ST",1,"ShieldR")
TNT1 A 0 A_Warp(AAPTR_TARGET,64,0,16,15,28)
TNT1 A 0 A_SpawnItemEx("RyuL_ShoryukenWarperFX",0,0,0,0,0,1,0,1)
TNT1 A 1 A_CountDown
loop
ShieldR:
TNT1 A 0 A_Warp(AAPTR_TARGET,64,0,16,30,28)
goto Shield+3
Death:
TNT1 A 1
stop
}
}

actor RyuL_ShoryukenWarperFX : BasicClientSide
{
+MISSILE
+DONTBLAST
Speed 40
States
{
Spawn:
TNT1 A 0
VMFX K 0 A_SetScale(1.0,2.0)
VMFX KKKKKKKKKK 1 A_SetScale(ScaleX - 0.1,ScaleY - 0.1)
stop
}
}


actor RyuL_ShoryukenTrailFX : RyuL_ShoryukenWarperFX
{
RenderStyle Translucent
Alpha 0.25
Speed 45
Scale 2.5
States
{
Spawn:
RYUL L 0
RYUL L 6
stop
}
}

actor RyuL_ShoryukenHitbox
{
PROJECTILE
damagetype "LightRyu_Shoryu"
Obituary "$OB_RYUL_A3"
+SKYEXPLODE
+EXPLODEONWATER
+THRUACTORS
+DONTBLAST
+DONTREFLECT
+EXPLODEONDEATH
ReactionTime 1
damage (0)
radius 4
height 4
Speed 60
States
{
Spawn:
TNT1 A 0
TNT1 A 1 A_CountDown
wait
Death:
TNT1 A 0
TNT1 A 0 A_SpawnItemEx("RyuL_ShoryukenHitboxFX",0,0,0,0,0,0,0,1)
TNT1 A 2 A_Explode(3,56,0,0,28)
//TNT1 A 0 A_Explode(30,56,0,0,57)
//TNT1 A 0 A_SetDamageType("RisingFist")
//TNT1 A 2 A_Explode(20,56,0,0,28)
//TMFX J 2
//XMFX Q 2
//TMFX JK 2
stop
}
}

actor RyuL_ShoryukenHitboxFX : BasicClientSide
{
+FORCEXYBILLBOARD
+BRIGHT
Scale 1.0
States
{
Spawn:
VMFX K 0
VMFX K 2
XMFX D 2
stop
}
}

actor ShinShoryukenStart
{
PROJECTILE
damagetype "LightRyu_Stop"
Obituary "$OB_RYUL_A4X"
+THRUGHOST
+DONTBLAST
+DONTREFLECT
RenderStyle None
ReactionTime 1
Damage (0)
radius 12
height 12
Speed 30
scale 2.5
States
{
Spawn:
TNT1 A 0
TNT1 A 1 A_CountDown
wait
Death:
TNT1 A 3 A_Explode(2,56,0,0,57)
stop
}
}

actor LightRyu_StopProtect : PowerProtection
{
Powerup.Duration 40
damagefactor "Normal", 0.0
damagefactor "LightRyu_Stop", 1.0
damagefactor "LightRyu_ShinShoryu", 1.0
}


actor ShinShoryu2 : BasicExplosion
{
+FORCEXYBILLBOARD
+BRIGHT
scale 1.75
States
{
Spawn:
TNT1 A 0
X_1G NMLKJIHFE 1
stop
}
}


actor RyuL_ShinShoryukenTrailFX : RyuL_ShoryukenTrailFX
{
Alpha 0.35
States
{
Spawn:
RYUL L 0
RYUL L 10
stop
}
}

actor ShinShoryukenFinalHit
{
PROJECTILE
damagetype "LightRyu_ShinShoryu"
Obituary "$OB_RYUL_A4"
+THRUGHOST
+DONTBLAST
+DONTREFLECT
+PIERCEARMOR
RenderStyle None
ReactionTime 1
Damage (0)
radius 12
height 12
Speed 30
scale 2.5
States
{
Spawn:
TNT1 A 0
TNT1 A 1 A_CountDown
wait
Death:
TNT1 A 4 A_Explode(100,80,0,0,81)
stop
}
}



actor RyuMain_CI : TeamColor_CI
{
states
{
FireX:
TNT1 A 0 A_FireCustomMissile("RyuL_HadokenShot",0,0,0,0)
goto Done
FireB:
TNT1 A 0 A_FireCustomMissile("RyuL_HadokenShotB",0,0,0,0)
goto Done
FireR:
TNT1 A 0 A_FireCustomMissile("RyuL_HadokenShotR",0,0,0,0)
goto Done
FireO:
TNT1 A 0 A_FireCustomMissile("RyuL_HadokenShotO",0,0,0,0)
goto Done
FireP:
TNT1 A 0 A_FireCustomMissile("RyuL_HadokenShotP",0,0,0,0)
goto Done
}
}

actor RyuMainEX_CI : TeamColor_CI
{
states
{
FireX:
TNT1 A 0 A_FireCustomMissile("RyuL_HadokenEXShot",0,0,0,0)
goto Done
FireB:
TNT1 A 0 A_FireCustomMissile("RyuL_HadokenEXShotB",0,0,0,0)
goto Done
FireR:
TNT1 A 0 A_FireCustomMissile("RyuL_HadokenEXShotR",0,0,0,0)
goto Done
FireO:
TNT1 A 0 A_FireCustomMissile("RyuL_HadokenEXShotO",0,0,0,0)
goto Done
FireP:
TNT1 A 0 A_FireCustomMissile("RyuL_HadokenEXShotP",0,0,0,0)
goto Done
Done:
TNT1 A 0 A_TakeInventory("SuperComboGauge",7,1)
stop
}
}

actor RyuMainSuper_CI : TeamColor_CI
{
states
{
FireX:
TNT1 A 0 A_FireCustomMissile("RyuL_HadokenSuperShot",0,0,0,0)
goto Done
FireB:
TNT1 A 0 A_FireCustomMissile("RyuL_HadokenSuperShotB",0,0,0,0)
goto Done
FireR:
TNT1 A 0 A_FireCustomMissile("RyuL_HadokenSuperShotR",0,0,0,0)
goto Done
FireO:
TNT1 A 0 A_FireCustomMissile("RyuL_HadokenSuperShotO",0,0,0,0)
goto Done
FireP:
TNT1 A 0 A_FireCustomMissile("RyuL_HadokenSuperShotP",0,0,0,0)
goto Done
}
}

