actor DrLight_W : 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 "RisingFistWep" //HadokenWep kappa
Weapon.AmmoUse 0
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

Deselect:
HDKO B 0
goto DeselectSwap
Select:
HDKO B 0
goto SelectSwap

Ready:
HDKO B 0 ACS_NamedExecuteWithResult("core_weaponcolor",DYE_LIGHTRYU)
HDKO B 0 A_GiveInventory("SpawningMisfire",1)
HDKO B 1 A_GunFlash("Flash",1)
HDKO B 0 A_SpawnItemEx("RyuL_SelectionFX",0,0,70,0,0,3)
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

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("SlideVivifyFlag",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","SoundSlot7")
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_FireCustomMissile("RyuL_HadokenShot",0,0,0,0)
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","SoundSlot7")
HDKO S 1 Offset(20,52)
goto Hadoken
EXFire:
HDKO S 0 A_GiveInventory("RyuL_FireEX_P")
HDKO S 2 Offset(1,31)
HDKO T 2 Offset(1,31)ACS_NamedExecuteWithResult("core_chargecolor",DYE_LIGHTCHARGE1,TINT_TCLR2)
HDKO S 2 Offset(1,31)ACS_NamedExecuteWithResult("core_chargecolor",DYE_LIGHTRYU,TCLR_NONE)
HDKO T 2 Offset(1,31)ACS_NamedExecuteWithResult("core_chargecolor",DYE_LIGHTCHARGE1,TINT_TCLR2)
HDKO S 0 ACS_NamedExecuteWithResult("core_chargecolor",DYE_LIGHTRYU,TCLR_NONE)
HDKO S 2 Offset(20,52)A_TakeInventory("RyuMainFlag",1)
HDKO T 2 Offset(20,52)ACS_NamedExecuteWithResult("core_chargecolor",DYE_LIGHTCHARGE1,TINT_TCLR2)
HDKO S 12 Offset(20,52)ACS_NamedExecuteWithResult("core_chargecolor",DYE_LIGHTRYU,TCLR_NONE)
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 A_GiveInventory("RyuL_ShinkuChargeSlow",1)
HDKO S 0 A_PlaySoundEx("Ryu_L/shinhado","SoundSlot7")
HDKO S 0 A_GiveInventory("RyuL_ShinkuHadokenStart_P")
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",14)
HDKO S 0 A_TakeInventory("SuperComboGauge",14,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")
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_NamedExecuteWithResult("core_chargecolor",DYE_LIGHTCHARGE2,TINT_TCLR3)
HDKO S 2 Offset(55,82)ACS_NamedExecuteWithResult("core_chargecolor",DYE_LIGHTRYU,TCLR_NONE)
HDKO U 2 Offset(55,82)ACS_NamedExecuteWithResult("core_chargecolor",DYE_LIGHTCHARGE2,TINT_TCLR3)
HDKO S 0 A_PlaySoundEx("Ryu_L/hadoken","SoundSlot7")
HDKO S 0 A_PlaySoundEx("weapon/heattackle","Weapon")
HDKO S 0 A_FireCustomMissile("RyuL_HadokenSuperShot",0,0,0,0)
HDKO S 0 ACS_NamedExecuteWithResult("core_chargecolor",DYE_LIGHTRYU,TCLR_NONE)
HDKO S 2 Offset(1,31)A_GiveInventory("RyuL_Flag",1)
HDKO U 0 ACS_NamedExecuteWithResult("core_chargecolor",DYE_LIGHTCHARGE2,TINT_TCLR3)
HDKO U 2 Offset(1,31)A_TakeInventory("RyuMainFlagX",1)
HDKO S 2 Offset(1,31)ACS_NamedExecuteWithResult("core_chargecolor",DYE_LIGHTRYU,TCLR_NONE)
HDKO U 0 A_TakeInventory("BasicArmor")
HDKO U 0 A_TakeInventory("DynamicArmorDosage")
HDKO U 2 Offset(1,31)ACS_NamedExecuteWithResult("core_chargecolor",DYE_LIGHTCHARGE2,TINT_TCLR3)
HDKO S 2 Offset(1,31)ACS_NamedExecuteWithResult("core_chargecolor",DYE_LIGHTRYU,TCLR_NONE)
HDKO U 2 Offset(1,31)ACS_NamedExecuteWithResult("core_chargecolor",DYE_LIGHTCHARGE2,TINT_TCLR3)
HDKO S 0 A_TakeInventory("RyuL_ShinkuChargeSlow")
HDKO S 2 Offset(20,52)ACS_NamedExecuteWithResult("core_chargecolor",DYE_LIGHTRYU,TCLR_NONE)
HDKO U 2 Offset(20,52)ACS_NamedExecuteWithResult("core_chargecolor",DYE_LIGHTCHARGE2,TINT_TCLR3)
HDKO S 12 Offset(20,52)ACS_NamedExecuteWithResult("core_chargecolor",DYE_LIGHTRYU,TCLR_NONE)
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("SlideVivifyFlag",1)
HDKO O 0 A_PlaySoundEx("weapon/topspin","Weapon")
HDKO O 0 ACS_NamedExecuteWithResult("core_stopplayer",0,1)
HDKO O 0 ACS_NamedExecuteWithResult("core_unsolidplayer",0,USP_TOGGLEON)
HDKO O 2 A_GiveInventory("RyuL_AltfireThrust_P",1)
HDKO P 1 A_WeaponReady(8)
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_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_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_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_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_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_HurricaneH_P",1)
HDKO P 1 A_WeaponReady(8)
HDKO O 5 ACS_NamedExecuteWithResult("core_stopplayer",0,0)
HDKO B 0 A_GiveInventory("RyuL_Flag",1)
HDKO B 0 ACS_NamedExecuteWithResult("core_unsolidplayer",0,USP_TOGGLEOFF_DAMAGE,CallACS("core_getmaxhealth")/10)
HDKO B 8
HDKO B 0 A_Refire("TatsuQuiet")
HDKO B 0 A_TakeInventory("SlideVivifyFlag",1)
HDKO B 0 A_TakeInventory("RyuAltFlag",1)
Goto Ready1

ShinTatCheck: 
HDKO O 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","SoundSlot7")
HDKO O 0 A_PlaySoundEx("weapon/topspin","Weapon")
HDKO O 0 A_GiveInventory("NoJumpCancel",1)
HDKO O 0 ACS_NamedExecuteWithResult("core_invulnerableplayer",0,1)
HDKO O 0 ACS_NamedExecuteWithResult("core_stopplayer",0,1)
HDKO O 0 ACS_NamedExecuteWithResult("core_flyplayer",0,2)
HDKO Q 0 A_SpawnItemEx("RyuL_TrueHurricaneFX")
HDKO O 0 A_TakeInventory("SuperComboGauge",3)
HDKO O 0 A_TakeInventory("SuperComboGauge",4,1)
HDKO O 0 ACS_NamedExecuteWithResult("core_unsolidplayer",0,USP_TOGGLEON)
HDKO Q 0 ACS_NamedExecuteWithResult("core_chargecolor",DYE_LIGHTCHARGE1,TINT_TCLR2)
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("PlayerPropertyRage",1,1)
HDKO R 0 ACS_NamedExecuteWithResult("core_chargecolor",DYE_LIGHTCHARGE1,TINT_TCLR2)
HDKO R 1 OffSet(-111,32)A_FireCustomMissile("RyuL_TrueHurricane",0,0,0,-8)
HDKO R 1 OffSet(-148,32)A_JumpIfInventory("PlayerPropertyRage",1,1)
HDKO P 0 ACS_NamedExecuteWithResult("core_chargecolor",DYE_LIGHTRYU,TCLR_NONE)
HDKO P 1 OffSet(296,32)A_FireCustomMissile("RyuL_TrueHurricane",0,0,0,-8)
HDKO P 1 OffSet(259,32)A_JumpIfInventory("PlayerPropertyRage",1,1)
HDKO R 0 ACS_NamedExecuteWithResult("core_chargecolor",DYE_LIGHTCHARGE1,TINT_TCLR2)
HDKO R 1 OffSet(222,32)A_FireCustomMissile("RyuL_TrueHurricane",0,0,0,-8)
HDKO R 1 OffSet(185,32)A_JumpIfInventory("PlayerPropertyRage",1,1)
HDKO P 0 ACS_NamedExecuteWithResult("core_chargecolor",DYE_LIGHTRYU,TCLR_NONE)
HDKO P 1 OffSet(148,32)A_FireCustomMissile("RyuL_TrueHurricane",0,0,0,-8)
HDKO P 1 OffSet(111,32)A_JumpIfInventory("PlayerPropertyRage",1,1)
HDKO R 0 ACS_NamedExecuteWithResult("core_chargecolor",DYE_LIGHTCHARGE1,TINT_TCLR2)
HDKO R 1 OffSet(74,32)A_FireCustomMissile("RyuL_TrueHurricane",0,0,0,-8)
HDKO R 1 OffSet(37,32)A_JumpIfInventory("PlayerPropertyRage",1,1)
HDKO O 0 A_WeaponReady(14)
HDKO O 0 ACS_NamedExecuteWithResult("core_chargecolor",DYE_LIGHTRYU,TCLR_NONE)
HDKO O 2 ACS_NamedExecuteWithResult("core_flyplayer",0,0)
HDKO Q 0 ACS_NamedExecuteWithResult("core_chargecolor",DYE_LIGHTCHARGE1,TINT_TCLR2)
HDKO Q 2 A_GiveInventory("RyuL_Flag",1)
HDKO O 2 ACS_NamedExecuteWithResult("core_chargecolor",DYE_LIGHTRYU,TCLR_NONE)
HDKO O 0 ACS_NamedExecuteWithResult("core_stopplayer",0,0)
HDKO O 0 ACS_NamedExecuteWithResult("core_unsolidplayer",0,USP_TOGGLEOFF_DAMAGE,CallACS("core_getmaxhealth")/10)
HDKO O 0 ACS_NamedExecuteWithResult("core_invulnerableplayer",0,0)
HDKO O 2
HDKO B 2 A_TakeInventory("NoJumpCancel",1)
HDKO B 0 A_TakeInventory("SlideVivifyFlag",1)
HDKO B 0 A_TakeInventory("RyuAltFlag",1)
HDKO B 0 A_TakeInventory("RyuMainFlag",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","SoundSlot7")
HDKO W 0 A_PlaySoundEx("weapon/SlashDClaw","Weapon")
HDKO W 1 Offset(-6,111)
HDKO V 1 Offset(-12,80)
HDKO V 0 A_GiveInventory("RyuL_ShoryukenStart_P")
HDKO V 1 Offset(-12,80)A_GiveInventory("RyuL_ShoryukenH_P",1)
HDKO V 1 Offset(-12,80)A_GiveInventory("RyuL_ShoryukenH_P2",1)
HDKO VVVVVVVVVV 1 Offset(1,31)A_GiveInventory("RyuL_ShoryukenH_P2",1)

HDKO W 2 Offset(1,31)
HDKO W 2 Offset(38,43)
TNT1 A 4
TNT1 A 2 A_GiveInventory("RyuL_ShoryukenEnd_P")
TNT1 A 2 A_WeaponReady(14)
TNT1 A 0 A_JumpIfInventory("RyuAltFlagX",1,"Recovery")
TNT1 A 0 ACS_NamedExecuteWithResult("core_stopplayer",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("RyuAltFlagX",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 ACS_NamedExecuteWithResult("core_freezeplayer",0,0)
HDKO W 0 ACS_NamedExecuteWithResult("core_nogravityplayer",0,0,1)
HDKO W 0 ACS_NamedExecuteWithResult("core_invulnerableplayer",0,0)
goto Shoryu

ShinShoryuFail_2:
HDKO W 0 A_JumpIfInventory("RyuShinShoryuFlag",1,"ShinShoryu3")
HDKO W 0 ACS_NamedExecuteWithResult("core_freezeplayer",0,0)
HDKO W 0 ACS_NamedExecuteWithResult("core_nogravityplayer",0,0,1)
HDKO W 0 ACS_NamedExecuteWithResult("core_invulnerableplayer",0,0)
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 ACS_NamedExecuteWithResult("core_freezeplayer",0,1)
HDKO X 0 ACS_NamedExecuteWithResult("core_invulnerableplayer",0,1)
HDKO X 0 A_PlaySoundEx("Ryu_L/shinshor1","SoundSlot7")
HDKO X 0 A_TakeInventory("SuperComboGauge",14)
HDKO X 0 A_TakeInventory("SuperComboGauge",14,1)
HDKO X 0 A_TakeInventory("RyuL_Flag",9)
HDKO X 0 ACS_NamedExecuteWithResult("core_unsolidplayer",0,USP_TOGGLEON)
HDKO X 0 ACS_NamedExecuteWithResult("core_nogravityplayer",0,2,1)
HDKO X 0 A_Stop
HDKO X 1
HDKO X 0 A_TakeInventory("RyuSuperFlag",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,1+8)
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","SoundSlot7")
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,1+8)
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 ACS_NamedExecuteWithResult("cbm_cantpushwallsplayer",0,1)
HDKO V 24 Offset(-12,80)A_TakeInventory("RyuShinShoryuFlag",9)
HDKO V 0 A_PlaySoundEx("Ryu_L/shoryuken","SoundSlot7")
HDKO V 0
HDKO V 0 A_SpawnItemEx("ShinShoryukenFinalHit",24,-12,24,40,0,0,9)
HDKO V 0 A_ChangeVelocity(2,0,48,3)
HDKO V 0 A_GiveInventory("MegaShoryu",1)
HDKO VV 1 Offset(-12,80)A_SpawnItemEx("RyuL_ShinShoryukenTrailFX",0,0,0,0,0,0,0,1)
HDKO VVVVVVVV 1 Offset(1,31)A_SpawnItemEx("RyuL_ShinShoryukenTrailFX",0,0,0,0,0,0,0,1)
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,1+8)
HDKO V 18 Offset(1,31)
HDKO W 0 ACS_NamedExecuteWithResult("core_unsolidplayer",0,USP_TOGGLEOFF_DAMAGE,CallACS("core_getmaxhealth")/10)
HDKO W 0 ACS_NamedExecuteWithResult("core_nogravityplayer",0,0,1)
HDKO W 2 Offset(1,31)
HDKO W 2 Offset(38,43)ACS_NamedExecuteWithResult("cbm_cantpushwallsplayer",0,0)
TNT1 A 2 ACS_NamedExecuteWithResult("core_invulnerableplayer",0,0)
TNT1 A 2 A_TakeInventory("NoJumpCancel",1)
TNT1 A 2 A_TakeInventory("RyuShinShoryuFlag",9)
TNT1 A 2 A_TakeInventory("MegaShoryu",9)
TNT1 A 0 ACS_NamedExecuteWithResult("core_freezeplayer",0,0)
goto Recovery

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

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

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

actor RyuL_Flag : OnceC{}

actor MegaShoryu : OnceC{}

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


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

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

actor RyuL_ShinkuChargeSlow : PowerSpeed
{
+POWERSPEED.NOTRAIL
powerup.duration 60
speed 0.6
}

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

actor RyuSuperItem : BasicClassItem
{
inventory.pickupmessage "Always pick Denjin Hadoken unless you're a scrub"
inventory.icon "RyuIcon"
Tag "Dr. Light Super Trigger"
states
{
Spawn:
HDKO Z 1
loop
UseCBM:
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
}
}


actor RyuL_FireEX_P : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_PlaySoundEx("Ryu_L/EXMove","Body")
TNT1 A 0 A_PlaySoundEx("Ryu_L/shakunetsu","SoundSlot7")
TNT1 A 0 A_PlaySoundEx("weapon/atomicfire","Weapon")
TNT1 A 0 A_TakeInventory("SuperComboGauge",3)
TNT1 A 0 A_TakeInventory("SuperComboGauge",4,1)
TNT1 A 0 A_FireCustomMissile("RyuL_HadokenEXShot",0,0,0,0)
stop
}
}

actor RyuL_ShinkuHadokenStart_P : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_JumpIfInventory("SlideVivifyFlag",1,1)//
stop
TNT1 A 0 ACS_NamedExecuteWithResult("core_stopplayer",0,0)
stop
}
}


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","SoundSlot7")
stop
P_Snd2:
TNT1 A 0 A_PlaySoundEx("Ryu_L/poundcake","SoundSlot7")
stop
}
}

actor RyuL_AltfireThrust_P : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_JumpIfInventory("DrRightAmmo",421,"WeakCheck")
//goto WeakCheck
//PickupCheck:
TNT1 A 0 A_JumpIfInventory("IsUnderWater",1,"P_Water")
goto PickupNormal
PickupNormal:
TNT1 A 0 A_ChangeVelocity(37,0,momz/2+6,3)
stop
P_Water:
TNT1 A 0 A_JumpIf(momz<0,"P_WaterD")
goto P_WaterU
P_WaterU:
TNT1 A 0 A_ChangeVelocity(37,0,momz/3+6,3)
stop
P_WaterD:
TNT1 A 0 A_ChangeVelocity(37,0,momz+6,3)
stop

WeakCheck:
TNT1 A 0 A_GiveInventory("RyuL_WeakKick_F",1)
TNT1 A 0 A_JumpIfInventory("IsUnderWater",1,"W_Water")
goto WeakNormal
WeakNormal:
TNT1 A 0 A_ChangeVelocity(18,0,momz/2+3,3)
stop
W_Water:
TNT1 A 0 A_JumpIf(momz<0,"W_WaterD")
goto W_WaterU
W_WaterU:
TNT1 A 0 A_ChangeVelocity(18,0,momz/3+3,3)
stop
W_WaterD:
TNT1 A 0 A_ChangeVelocity(18,0,momz+3,3)
stop
}
}

actor RyuL_WeakKick_F : Powerup
{
Powerup.Duration 20
}

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

actor RyuL_ShoryukenStart_P : CustomInventory
{
States
{
Pickup:
TNT1 A 0 ACS_NamedExecuteWithResult("cbm_cantpushwallsplayer",0,1)
TNT1 A 0 A_ChangeVelocity(10,0,11,3)
TNT1 A 0 A_SetArg(1,angle)
TNT1 A 0 A_SetArg(4,momz*100000)
TNT1 A 0 A_SetArg(3,momy*100000)
TNT1 A 0 A_SetArg(2,momx*100000)
TNT1 A 0 A_SpawnItemEx("RyuL_ShoryukenWarper",0,0,0,0,0,0,0)
TNT1 A 0 A_SpawnItemEx("RyuL_ShoryukenWarper",0,0,0,0,0,0,180)
stop
}
}
actor RyuL_ShoryukenEnd_P : CustomInventory
{
States
{
Pickup:
TNT1 A 0 ACS_NamedExecuteWithResult("core_unsolidplayer",0,USP_TOGGLEOFF_DAMAGE,CallACS("core_getmaxhealth")/10)
TNT1 A 0 ACS_NamedExecuteWithResult("cbm_cantpushwallsplayer",0,0)
TNT1 A 0 A_TakeInventory("NoJumpCancel",1)
TNT1 A 0 A_TakeInventory("MegaShoryu",1)
TNT1 A 0 A_TakeInventory("SlideVivifyFlag",1)
stop
}
}

actor RyuL_ShoryukenH_P : CustomInventory
{
States
{
Pickup://Sheng Long
//A_SpawnItemEx("RyuL_ShoryukenHitbox",0,4,32,24)
TNT1 A 0 A_SpawnItemEx("RyuL_ShoryukenTrailFX",0,0,0,0,0,0,0,1)
TNT1 A 0 A_SpawnItemEx("RyuL_ShoryukenHitbox",0,0,32,30,0,2,Args[1],4+32)
TNT1 A 0 A_JumpIfInventory("PlayerPropertySpread",1,"PickupR")
stop
PickupR:
TNT1 A 0 A_SpawnItemEx("RyuL_ShoryukenHitbox",0,0,32,32,0,2,Args[1]+25,4+32)
TNT1 A 0 A_SpawnItemEx("RyuL_ShoryukenHitbox",0,0,32,32,0,2,Args[1]-25,4+32)
stop
}
}
actor RyuL_ShoryukenH_P2 : RyuL_ShoryukenH_P
{
States
{
Pickup:
TNT1 A 0 A_JumpIf(CallACS("cbm_IsDashingDisabled"),2)
TNT1 A 0 A_ChangeVelocity(Args[2]*0.00001,Args[3]*0.00001,Args[4]*0.00001,CVF_REPLACE)
TNT1 A 0 
goto Super::Pickup
}
}


actor RyuL_StaminaUse_P : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_GiveInventory("RyuL_StaminaDelay",1)
TNT1 A 0 A_JumpIfInventory("RyuL_HasKicked_F",1,3)
TNT1 A 0 A_GiveInventory("RyuL_HasKicked_F",1)
TNT1 A 0 A_SpawnItemEx("RyuL_StaminaUse_H")
//TNT1 A 0 A_JumpIfInventory("PowerInfiniteAmmo",1,2)
TNT1 A 0 A_GiveInventory("DrRightAmmo",10)
TNT1 A 0
stop
}
}
actor RyuL_StaminaDelay : Powerup
{
Powerup.Duration 88
+INVENTORY.ALWAYSPICKUP
}
actor RyuL_HasKicked_F : Inventory{}

actor RyuL_StaminaUse_H : BasicHelper
{
+SERVERSIDEONLY
States
{
Spawn:
TNT1 A 1
TNT1 A 0
TNT1 A 5 //A_GiveToTarget("DrRightAmmo",10,1)
Spawn2:
TNT1 A 0 A_JumpIfInTargetInventory("RyuL_StaminaDelay",1,2)
TNT1 A 0 A_TakeFromTarget("DrRightAmmo",1+CallACS("core_checkrune",RUNE_RAGE,2))
TNT1 A 1
TNT1 A 0 A_JumpIfInTargetInventory("RyuL_StaminaDelay",1,"Spawn2")
TNT1 A 0 A_JumpIf(!CallACS("cbm_PointerExists",AAPTR_TARGET),"Death")
TNT1 A 0 A_JumpIfInTargetInventory("DrRightAmmo",1,"Spawn2")
goto Death
Death:
TNT1 A 1 A_TakeFromTarget("RyuL_HasKicked_F",99)
stop
}
}

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


actor PainLightRyu_HadokenHit : BasicWatcher
{
States
{
Spawn:
TNT1 A 0 nodelay A_GiveToTarget("SuperComboGauge",4,AAPTR_TARGET)
stop
}
}

actor RyuL_HadokenShot : ProjSpawnFuncActor
{
PROJECTILE
damagetype "LightRyu_Hadoken"
Obituary "$OB_RYUL_M1"
+SKYEXPLODE
+EXPLODEONWATER
+BRIGHT
Renderstyle Translucent
Alpha 0.9
Damage (160)
radius 12
height 12
Speed 36
scale 2.5
States
{
Spawn:
HDOK OP 4
loop
Death:
XDeath:
TNT1 A 2 A_SpawnItemEx("RyuL_HadokenShotFX",0,0,0,0,0,0,0,1)
stop
Crash:
TNT1 A 2
stop
}
}

actor RyuL_HadokenShotFX : BasicGraphicEffect
{
+BRIGHT
Scale 3.0
States
{
SpawnFrame:
HD0K ABCDEFGHIJ 1
stop
}
}
actor RyuL_HadokenShotFX2 : RyuL_HadokenShotFX
{
+BRIGHT
States
{
SpawnFrame:
HD0K KLMNOPQRST 1
stop
}
}

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

actor RyuL_HadokenEXShot : ProjSpawnFuncActor
{
PROJECTILE
damagetype "LightRyu_Fire"
Obituary "$OB_RYUL_M2"
+SKYEXPLODE
+EXPLODEONWATER
+THRUACTORS
+THRUGHOST
+DONTREFLECT
+BRIGHT
Renderstyle Translucent
Alpha 0.9
Damage (0)
radius 4
height 4
Speed 36
scale 2.75
States
{
Spawn:
HDOK M 0
HDOK M 0 A_Explode(160,42,0,0,43)
HDOK M 1 A_SpawnItemEx("RyuL_HadokenEXShotFX",random(-4,4),random(-4,4),random(-8,0),0,0,0,0,1)
HDOK M 0 A_Explode(160,42,0,0,43)
HDOK M 1 A_SpawnItemEx("RyuL_HadokenEXShotFX",random(-4,4),random(-4,4),random(-8,0),0,0,0,0,1)
HDOK N 0 A_Explode(160,42,0,0,43)
HDOK N 1 A_SpawnItemEx("RyuL_HadokenEXShotFX",random(-4,4),random(-4,4),random(-8,0),0,0,0,0,1)
HDOK N 0 A_Explode(160,42,0,0,43)
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_Explode(20,42,0,0,43)
TNT1 A 0 A_SpawnItemEx("OilPitIgnite",0,0,8)
TNT1 A 2 A_SpawnItemEx("RyuL_HadokenShotFX2",0,0,0,0,0,0,0,1)
stop
Crash:
TNT1 A 2
stop
}
}

actor RyuL_HadokenEXShotFX : BasicGraphicEffect
{
+BRIGHT
Renderstyle Translucent
Alpha 0.9
Scale 1
States
{
SpawnFrame:
HDOK W 0
HDOK W 0 A_Jump(256,1,2,3,4)
SpawnL:
HDOK WXYZ 3 A_FadeOut(0.1)
loop
}
}


actor PainLightRyu_FireHit : Basic_PainTID_H
{
States
{
Check:
TNT1 A 0 A_JumpIf(CallACS("cbm_PoisonControl_acs",8,PSN_SET_TO,7)>0,"DoT")
stop
DoT://15
TNT1 AAAAAAAAAAAAAAA 1 A_JumpIf(!CallACS("cbm_PointerExists",8),"Death")

TNT1 A 0 A_Warp(AAPTR_TRACER,0,0,28,0,WARPF_NOCHECKPOSITION)
TNT1 A 0 A_SpawnItemEX("LightRyuFireBurn")
TNT1 A 0 A_JumpIf(CallACS("cbm_PoisonControl_acs",8,PSN_ADJUST,-1)<=0,"Death")
loop
}
}

actor LightRyuFireBurn : BasicExplosion
{
damagetype "LightRyu_FireBurn"
Obituary "$OB_RYUL_M2X"
RenderStyle None
States
{
Spawn:
TNT1 A 0
TNT1 AAAAAAAAAA 0 A_SpawnItemEx("LightRyuFireBurnFX",random(4,18),0,random(16,40),frandom(1,4),0,frandom(0,2),random(0,359),1)
TNT1 A 2 A_Explode(20,15,0,0,15)
stop
}
}

actor LightRyuFireBurnFX : BasicGraphicEffect
{
+BRIGHT
alpha 0.875
Scale 0.6
states
{
SpawnFrame:
TNT1 A 0 A_SetScale(ScaleX+random(0,13)*0.05)
TNT1 A 0 A_Jump(256,1,4,7)
HD0K X 1 ThrustThingZ(0,random(1,3),0,1)
HD0K X 1 A_FadeOut(0.05)
HD0K X 0 A_JumpIf(Alpha<=0.25,"Spawn2")
HD0K Y 1 ThrustThingZ(0,random(1,3),0,1)
HD0K Y 1 A_FadeOut(0.05)
HD0K Y 0 A_JumpIf(Alpha<=0.25,"Spawn2")
HD0K Z 1 ThrustThingZ(0,random(1,3),0,1)
HD0K Z 1 A_FadeOut(0.05)
HD0K Z 0 A_JumpIf(Alpha<=0.25,"Spawn2")
goto SpawnFrame+2
Spawn2:
HD0K [ 1 ThrustThingZ(0,random(1,3),0,1)
HD0K [ 1 A_FadeOut(0.05)
HD0K ] 1 ThrustThingZ(0,random(1,3),0,1)
HD0K ] 1 A_FadeOut(0.05)
stop
}
}


actor RyuL_HadokenSuperCharge_P1 : CustomInventory
{
States
{
Pickup:
TNT1 A 0 ACS_NamedExecuteWithResult("core_chargecolor",DYE_LIGHTRYU,TCLR_NONE)
TNT1 A 0 A_SpawnItemEx("RyuL_HadokenSuperCharge",0,0,28)
stop
}
}

actor RyuL_HadokenSuperCharge_P2 : CustomInventory
{
States
{
Pickup:
TNT1 A 0 ACS_NamedExecuteWithResult("core_chargecolor",DYE_LIGHTCHARGE2,TINT_TCLR3)
TNT1 A 0 A_SpawnItemEx("RyuL_HadokenSuperCharge",0,0,28)
stop
}
}

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

actor RyuL_HadokenSuperChargerFX : BasicGraphicEffect
{
+BRIGHT
ReactionTime 3
States
{
SpawnFrame:
TNT1 A 0
Shield:
HDOK D 0 A_JumpIf(!CallACS("cbm_PointerExists",AAPTR_TARGET),"Death")
HDOK D 0 A_JumpIfInTargetInventory("PlayerPropertyRage",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 : BasicExplosion
{
States
{
Spawn:
TNT1 A 0
TNT1 A 2 A_SpawnItemEx("RyuL_HadokenSuperCharge1",0,0,0,0,0,0,0,1)
stop
}
}

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

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

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

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

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

actor RyuL_HadokenSuperShot : ProjSpawnFuncActor
{
var int user_D;
PROJECTILE
damagetype "LightRyu_ShinkuShot"
Obituary "$OB_RYUL_M3"
+SKYEXPLODE
+EXPLODEONWATER
+THRUACTORS
+THRUGHOST
+DONTBLAST
+DONTREFLECT
+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 A_JumpIfInTargetInventory("NoSourcePushFlag",1,"SpawnNoPush")
//HDOK Q 0 ACS_NamedExecuteWithResult("cbm_missileyank",96)
Spawn1:
HDOK Q 0 A_Explode(20,96,0,0,97)
HDOK Q 0 A_SetUserVar("user_D",user_D+10)
HDOK QQQ 1 ACS_NamedExecuteWithResult("cbm_missileyank",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,1+8)
HDOK R 0 A_Explode(20,96,0,0,97)
HDOK R 0 A_SetUserVar("user_D",user_D+10)
HDOK RRR 1 ACS_NamedExecuteWithResult("cbm_missileyank",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,1+8)
HDOK S 0 A_Explode(20,96,0,0,97)
HDOK S 0 A_SetUserVar("user_D",user_D+10)
HDOK SSS 1 ACS_NamedExecuteWithResult("cbm_missileyank",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,1+8)
goto Spawn+2

SpawnNoPush:
HDOK Q 0 A_Explode(20,96,0,0,97)
HDOK Q 3 A_SetUserVar("user_D",user_D+10)
HDOK R 0 A_SpawnItemEx("RyuL_HadokenSuperShotFX2",0,0,0,momx*0.01,momy*0.01,momz*0.01,0,1+8)
HDOK R 0 A_Explode(20,96,0,0,97)
HDOK R 3 A_SetUserVar("user_D",user_D+10)
HDOK S 0 A_SpawnItemEx("RyuL_HadokenSuperShotFX2",0,0,0,momx*0.01,momy*0.01,momz*0.01,0,1+8)
HDOK S 0 A_Explode(20,96,0,0,97)
HDOK S 3 A_SetUserVar("user_D",user_D+10)
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,1+8)
goto Spawn+2

Death:
TNT1 A 0 A_Explode(700-(user_D*0.334),196,0,0,96)
TNT1 A 0 A_SetDamageType("LightRyu_ShinkuStop")
TNT1 A 0 A_Explode(20,128,0,0,129)
TNT1 A 2 A_SpawnItemEx("RyuL_HadokenSuperShotEndFX",0,0,0,0,0,0,0,1)
stop
}
}

actor RyuL_HadokenSuperShotEndFX : RyuL_HadokenShotFX
{
+FORCEXYBILLBOARD
Scale 6.0
}

actor RyuL_HadokenSuperShotFX : BasicGraphicEffect
{
+FORCEXYBILLBOARD
+BRIGHT
States
{
SpawnFrame:
HD0K UV 3
HD0K W 2 A_ScaleVelocity(1.15)
HD0K W 1 A_Fadeout(0.2)
goto SpawnFrame+2
}
}

actor RyuL_HadokenSuperShotFX2 : BasicGraphicEffect
{
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 PainLightRyu_KickHit : BasicWatcher
{
States
{
Spawn:
TNT1 A 0 nodelay A_GiveToTarget("SuperComboGauge",1,AAPTR_TARGET)
stop
}
}

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

actor RyuL_HurricaneRadius3 : RyuL_HurricaneRadius
{
States
{
Spawn:
TNT1 A 0
TNT1 A 2 A_Explode(CallACS("cbm_getplayervelocity",3,0)*10+10,96,0,0,10)
stop
}
}

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

actor RyuL_TrueHurricane : BasicImplosion
{
Damagetype "LightRyu_SpinKick"
Obituary "$OB_RYUL_A2"
States
{
Spawn:
TNT1 A 0
TNT1 A 0 ACS_ExecuteAlways(247,0,14,320)
TNT1 A 4 A_Explode(90,160,0,0,32)
stop
}
}

actor RyuL_ShoryukenWarper : ShieldWarper_CBM
{
+NOTIMEFREEZE
ReactionTime 12
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_GiveInventory("MM8BDMProjSpawnFuncClient",1)
Goto Shield
Shield:
TNT1 A 0 A_JumpIf(!CallACS("cbm_PointerExists",AAPTR_TARGET),"Death")
TNT1 A 0 A_JumpIfInTargetInventory("PlayerPropertyRage",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 : BasicGraphicEffect
{
Speed 40
States
{
SpawnFrame:
TNT1 A 0
HDOK K 0 A_SetScale(1.0,2.0)
HDOK KLKLKLKLKL 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 DeathLightRyu_ShoryuHit : Basic_DeathFling_H{Args 15,90,0}

actor RyuL_ShoryukenHitbox : ProjSpawnFuncActor
{
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(50,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 L 2
//TMFX JK 2
stop
}
}

actor RyuL_ShoryukenHitboxFX : BasicGraphicEffect
{
+FORCEXYBILLBOARD
+BRIGHT
Scale 1.0
States
{
SpawnFrame:
OMFX CD 2
stop
}
}

actor PainLightRyu_StopHit : BasicWatcher
{
States
{
Spawn:
TNT1 A 0 nodelay A_GiveToTarget("RyuShinShoryuFlag_P",1,AAPTR_TARGET)
stop
}
}
actor RyuShinShoryuFlag_P : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_GiveInventory("RyuShinShoryuFlag",1)
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(20+CallACS("core_checkrune",RUNE_SPREAD,2)*40,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 LightRyu_StopCamera_F : Inventory {}
actor IsComboedByShoryu_F : Inventory {}
actor LightRyu_StopDuration : Powerup
{
Powerup.Duration 45
}

actor LightRyu_StopStart_P : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_JumpIfInventory("LightRyu_StopDuration",1,"Reset")
TNT1 A 0 A_GiveInventory("EternalPainFlag",1)
TNT1 A 0 A_SpawnItemEx("LightRyu_StopWatcher_H")
TNT1 A 0 ACS_NamedExecuteWithResult("core_freezeplayer",0,1)
TNT1 A 0 ACS_NamedExecuteWithResult("cbm_LightRyu_StopCameraLook")

Reset:
TNT1 A 0 A_GiveInventory("IsComboedByShoryu_F",1)
TNT1 A 0 A_GiveInventory("LightRyu_StopDuration",1)
stop
}
}

actor LightRyu_StopWatcher_H : BasicWatcher
{
+SERVERSIDEONLY
States
{
Spawn:
TNT1 A 0
TNT1 A 1 A_GiveToTarget("LightRyu_StopperFX_P",1)
TNT1 A 0 A_TakeFromTarget("EternalPainFlag",1)
Spawn1:
TNT1 A 0 A_GiveToTarget("LightRyu_StopperFX_P",1)
TNT1 A 1 A_JumpIf(!CallACS("cbm_PointerExists",AAPTR_TARGET),"Death")
TNT1 A 0 A_JumpIfInTargetInventory("EternalPainFlag",1,"Spawn2")
TNT1 A 0 A_JumpIfInTargetInventory("LightRyu_StopDuration",1,"Spawn")
goto Spawn2
Spawn2:
TNT1 A 0
TNT1 A 2 A_GiveToTarget("LightRyu_StopEnd_P",1)
stop
}
}

actor LightRyu_StopperFX_P : CustomInventory
{
States
{
Pickup:
//TNT1 A 0 A_SpawnItemEx("")
TNT1 A 0 A_Stop
stop
}
}

actor LightRyu_StopEnd_P : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_TakeInventory("LightRyu_StopDuration")
TNT1 A 0 A_JumpIfInventory("IsComboedByShoryu_F",1,2)
TNT1 A 0 A_TakeInventory("IsComboedByShoryu_F")
stop
TNT1 A 0 A_TakeInventory("IsComboedByShoryu_F")
TNT1 A 0 ACS_NamedExecuteWithResult("core_freezeplayer",0,0)
stop
}
}


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 DeathLightRyu_ShinShoryuHit : Basic_DeathFling_H{Args 35,200,0}

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(1000+CallACS("core_checkrune",RUNE_SPREAD,2)*2000,80,0,0,81)
stop
}
}


//actor DrLight_W_NormalBar : NormalBar {Args 4,41}
actor DrLight_W_ScriptBar : ScriptBar {Args 4,41}