actor Slashman : VCBaseClass
{
Player.ScoreIcon "SLASMUGS"
player.startitem "BaseFlagPack", 1
player.displayname "Slashman"
player.soundclass "Slashmanc"
player.startitem "SlashClawBoss"
player.startitem "UltimateAttackItem2"
player.startitem "UltSoundWatcherSpawn2"
player.startitem "IsFromMM7"
player.startitem "NoHealthBar"
player.viewheight 51
player.forwardmove 0.9, 0.9
player.sidemove 0.88, 0.88
player.jumpz 12
States
{
Animation0:
Spawn:
SLAS B 0 
SLAS B 1 A_JumpIf(z-floorz>0,"Jumping")
SLAS A 1 A_JumpIf(z-floorz>0,"Jumping")
Goto Spawn+2
See:
SLAS BBBBBCCCCCDDDDDEEEEE 1 A_JumpIf(z-floorz>0,"Jumping")
Goto Spawn+1
Jumping:
SLAS I 1 A_JumpIf(z-floorz<=0,"Land")
wait
Land:
SLAS FFF 1 A_JumpIf(z-floorz>0,"Jumping")
Goto Spawn+2
Animation1:
Missile:
SLAS FFFFF 1 A_JumpIf(z-floorz>0,"JumpingMissile")
Animation2:
Missile2:
SLAS GGGGG 1 A_JumpIf(z-floorz>0,"JumpingMissile2")
Goto Spawn+2
JumpingMissile:
SLAS SSSSS 1 A_JumpIf(z-floorz<=0,"Missile")
JumpingMissile2:
SLAS TTTTT 1 A_JumpIf(z-floorz<=0,"Missile2")
Goto Jumping
Animation3:
RollingSlashA:
SLAS KKKKK 1
Goto Spawn+2
Animation4:
RollingSlashB:
SLAS LLLLL 1
Goto Spawn+2
Animation5:
RollingSlashC:
SLAS JJJJJ 1
Goto Spawn+2
Animation6:
SlashClingA:
SLAS MMMMM 1
Animation7:
SlashClingB:
SLAS NNNNN 1
wait
Animation8:
SlashClingC:
SLAS OOOOO 1
Animation9:
SlashClingD:
SLAS PPPPP 1
Goto Spawn+2
Animation10:
SlashDashA:
SLAS QQQQQ 1
Animation11:
SlashDashB:
SLAS RRRRR 1
Goto Spawn+2
Animation12:
SLAS UV 1 A_JumpIf(z-floorz>0,"JumpingA12")
Animation12b:
SLAS WWWWW 1 A_JumpIf(z-floorz>0,"JumpingA12b")
goto Spawn+1
JumpingA12:
SLAS XY 1 A_JumpIf(z-floorz<=0,"Animation12")
JumpingA12b:
SLAS ZZZZZ 1 A_JumpIf(z-floorz<=0,"Animation12b")
goto Spawn+1
ClassPain:
SLAS HHHHHHHHHH 2 A_SpawnItem("PainFX",0,3)
Goto Spawn+1
Death.FreezeCracker:
Death.FreezeCrackerBit:
Death.Freezeman:
TNT1 A 0 A_SpawnItemEx("DeadFrozenSlashMan",0,0,32)
NOFX A 20 ACS_ExecuteAlways(999,0,0)
NOFX A 1 A_CheckPlayerDone
wait
Death.ScorchWheel:
Death.TurbomanWheel:
Death.TurbomanWheel2:
Death.TurbomanBurn:
Death.TurbomanBurn2:
TNT1 A 0 A_SpawnItemEx("DeadBurnedSlashMan",0,0,32)
NOFX A 20 ACS_ExecuteAlways(999,0,0)
NOFX A 1 A_CheckPlayerDone
wait
ClassDeath:
TNT1 A 0 A_SpawnItemEx("DeadSlashMan",0,0,0,0,0,0,0,SXF_TRANSFERTRANSLATION)
NOFX A 20 ACS_ExecuteAlways(999,0,0)
NOFX A 1 A_CheckPlayerDone
wait
WeaponGetM:
SLAS H 0 A_JumpIfInTargetInventory("SlashClawWepM",1,2)
SLAS H 0 A_GiveToTarget("WeaponGetter")
SLAS H 0 A_GiveToTarget("SlashClawWepM")
goto ClassDeath
}
}

actor DeadSlashMan : DeadFreezeMan
{
meleerange 7845
States
{
Spawn:
SL7S U 0 A_JumpIfInventory("CutterFlag",10,"Spawn2")
SL7S U 0
"####" "#" 0
goto loopit
Spawn2:
SL7S V 0
"####" "#" 0
goto loopit
}
}

actor DeadFrozenSlashMan
{
Translation "0:0=195:195", "192:192=205:205"
PROJECTILE
-NOGRAVITY
+THRUACTORS
+BOUNCEONWALLS
+NOEXPLODEFLOOR
+BOUNCEONCEILINGS
+DONTBLAST
WallBounceFactor 0.0
Gravity 1.0
height 32
radius 32
scale 2.5
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode")
TNT1 A 0 A_PlaySoundEx("weapon/icefreeze","SoundSlot6")
TNT1 A 0 A_Recoil(20)
TNT1 A 0 ThrustThingZ(0,45,0,1)
SL7S W 2
SL7S W 1 A_CheckFloor(1)
wait
SL7S XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX 1 A_ScaleVelocity(0.95)
IceHolding:
TNT1 A 0 A_ScaleVelocity(0.95) SL7S X 1 A_GiveInventory("CutterFlag",1) TNT1 A 0 A_JumpIfInventory("CutterFlag",35,"Death") TNT1 A 0 ThrustThingZ(0,6,0,0)
TNT1 A 0 A_ScaleVelocity(0.95) SL7S X 1 A_GiveInventory("CutterFlag",1) TNT1 A 0 A_JumpIfInventory("CutterFlag",35,"Death") TNT1 A 0 ThrustThingZ(0,-6,0,0)
TNT1 A 0 A_ScaleVelocity(0.95) SL7S X 1 A_GiveInventory("CutterFlag",1) TNT1 A 0 A_JumpIfInventory("CutterFlag",35,"Death") TNT1 A 0 ThrustThingZ(0,6,0,0)
TNT1 A 0 A_ScaleVelocity(0.95) SL7S X 1 A_GiveInventory("CutterFlag",1) TNT1 A 0 A_JumpIfInventory("CutterFlag",35,"Death") TNT1 A 0 ThrustThingZ(0,-6,0,0)
loop
Death:
TNT1 A 0 A_PlaySoundEx("mm7/dead","Auto")
TNT1 A 0 A_PlaySoundEx("weapon/centaurflash","Voice")
TNT1 A 0 A_SpawnItemEX("CriticalDeathSpawner",0,0,0,0,0,0,0,SXF_TRANSFERTRANSLATION)
Stop
}
}

actor DeadBurnedSlashMan : DeadFrozenSlashMan
{
-NOINTERACTION
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode")
TUHU A 0 A_PlaySoundEx("weapon/turbowheel","Weapon")
TNT1 A 0 A_Recoil(20)
TNT1 A 0 ThrustThingZ(0,45,0,1)
SL7S V 2
TNT1 A 0 A_SpawnItemEx("ScorchBit",0,0,0,random(-10,10),random(-10,10),random(10,15),random(0,360))
Spawn2:
SL7S VV 1 A_CheckFloor("Death")
TNT1 A 0 A_SpawnItemEx("ScorchBit",0,0,0,random(-10,10),random(-10,10),random(10,15),random(0,360))
loop
Death:
TNT1 A 0 A_Stop
TNT1 A 0 A_ChangeFlag("NOINTERACTION",True)
SL7S V 8 ACS_ExecuteAlways(971,0,5678)
TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_SpawnItemEx("MagmaUltDeathFX",random(0,48),0,random(0,64),0,0,frandom(0.0,1.0),random(0,359))
TNT1 A 0 A_PlaySoundEx("mm7/dead","Auto")
TNT1 A 0 A_PlaySoundEx("misc/lava","SoundSlot6")
Stop
}
}

actor SlashManBurn : BasicClientSide
{
States
{
Spawn:
FLAF ABABABABAB 2
stop
}
}

Actor SlashClawBoss : VCBaseWeapon
{
weapon.ammotype "Base28Ammo"
weapon.ammotype2 "BaseAltfireAmmo"
Obituary "$OB_SLASHMAN1"
const int SLS_SPD = 20;
const int Z_OFS = 32;
States
{
Ready:
SL7H A 0 A_JumpIfInventory("RollingSlashCooldown",1,"Ready.NoAlt")
SL7H A 0 A_JumpIfInventory("SlashLungeCooldown",1,"Ready.NoTF")
SL7H A 1 A_WeaponReady(WRF_NOSECONDARY*CallACS("VC_AmmoCheck",0,0))
SL7H A 0 A_JumpIfInventory("UltAttackFlag",1,"UltimateAttack")
SL7H A 0 A_JumpIf(ACS_NamedExecuteWithResult("VC_CheckBtn",3)==3,"User1")
loop
Ready.NoAlt:
SL7H A 0 A_JumpIfInventory("SlashLungeCooldown",1,"Ready.NoAltAndNoTF")
SL7H A 1 A_WeaponReady(WRF_NOSECONDARY)
SL7H A 0 A_JumpIfInventory("UltAttackFlag",1,"UltimateAttack")
SL7H A 0 A_JumpIf(ACS_NamedExecuteWithResult("VC_CheckBtn",3)==3,"User1")
Goto Ready
Ready.NoTF:
SL7H A 0 A_JumpIfInventory("RollingSlashCooldown",1,"Ready.NoAltAndNoTF")
SL7H A 1 A_WeaponReady(WRF_NOSECONDARY*CallACS("VC_AmmoCheck",0,0))
SL7H A 0 A_JumpIfInventory("UltAttackFlag",1,"UltimateAttack")
Goto Ready
Ready.NoAltAndNoTF:
SL7H A 1 A_WeaponReady(WRF_NOSECONDARY)
SL7H A 0 A_JumpIfInventory("UltAttackFlag",1,"UltimateAttack")
Goto Ready

Deselect:
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower
SL7H A 1 A_Lower
Loop
Select:
TNT1 A 0 A_SpawnItemEx("JumpKeyWatcher") //In actors/BasicActorsVC.txt -Fr3ak
TNT1 A 0 ACS_ExecuteAlways(998,0,7845)
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise
SL7H A 1 A_Raise
Loop

Fire:
TNT1 A 0 A_JumpIfInventory("SlashClingTimer",1,"SlashDashStart")
SL7H B 1 A_GiveInventory("Base28Ammo",1)
FireHold:
TOAD A 0 A_GiveInventory("ToadChargeDamageGive")
SL7H B 0 A_JumpIfInventory("Base28Ammo",28,"FireHold2")
SL7H B 1 A_GiveInventory("Base28Ammo",1)
SL7H A 0 A_Refire("FireHold")
SL7H C 0 A_TakeInventory("Base28Ammo")
SL7H C 0 A_PlaySoundEx("weapon/slashclaw","Weapon")
SL7H C 0 A_FireCustomMissile("SlashClawRM",0,0,11,8)
Goto Slash
FireHold2:
SL7H B 1 Offset(2,34)A_GiveInventory("Base28Ammo",1)
SL7H B 1 Offset(4,36)A_GiveInventory("Base28Ammo",1)
SL7H B 0 A_Refire("FireHold2")
SL7H C 0 A_TakeInventory("Base28Ammo")
SL7H C 0 A_PlaySoundEx("weapon/SlashManClaw","Weapon")
SL7H C 0 A_FireCustomMissile("SlashClawRM2",0,0,11,8)
Goto Slash2
Slash:
SL7H B 0 ACS_NamedExecute("VC_SetState",0,12)
TNT1 A 0 A_WeaponReady(WRF_NOFIRE)
TOAD A 0 A_GiveInventory("ToadChargeDamageTake")
SL7H CDEFFFGHA 1 A_ClearRefire
Goto Ready
Slash2:
SL7H B 0 ACS_NamedExecute("VC_SetState",0,12)
TNT1 A 0 A_WeaponReady(WRF_NOFIRE)
TOAD A 0 A_GiveInventory("ToadChargeDamageTake")
SL7H CDE 1 A_ClearRefire
SL7H F 1 Offset(4,30)
SL7H F 1 Offset(1,33)
SL7H F 1 Offset(2,31)
SL7H F 1 Offset(2,32)
SL7H F 1 Offset(1,33)
SL7H F 1 Offset(2,31)
SL7H F 1 Offset(1,33)
SL7H F 6 A_WeaponReady(WRF_NOFIRE)
SL7H GH 1
Goto Ready

Altfire:
RATU A 0 A_JumpIfInventory("NoAltfire",1,"Ready")
TNT1 A 0 A_JumpIfInventory("SlashClingTimer",1,"EggToss")
SL7H A 0 A_GiveInventory("HalfDamageProtection") SL7H A 0 A_SetGravity(0.0)
TOAD A 0 A_GiveInventory("ToadChargeDamageGive")
SL7H A 1 Offset(0,52)A_Stop SL7H A 0 ACS_NamedExecute("VC_SetState",0,3) SL7H A 0 A_GiveInventory("BaseAltfireAmmo",1)
SL7H A 1 Offset(0,72)A_Stop SL7H A 0 ACS_NamedExecute("VC_SetState",0,3) SL7H A 0 A_GiveInventory("BaseAltfireAmmo",2)
AltfireHoldA:
TNT1 A 0 A_PlaySound("weapon/topspin",1,0.8)
AltfireHoldB: SL7H I 1 A_Stop TNT1 A 0 A_GiveInventory("BaseAltfireAmmo",1) TNT1 A 0 ACS_NamedExecute("VC_SetState",0,4) TNT1 A 0 A_SpawnItemEx("RollingSlashDamager",0,0,Z_OFS,momx,momy,momz)
TNT1 A 0 A_JumpIfInventory("BaseAltfireAmmo",112,"RollingSlash") TNT1 A 0 A_Refire("AltfireHoldC") Goto RollingSlash
AltfireHoldC: SL7H I 1 A_Stop TNT1 A 0 A_GiveInventory("BaseAltfireAmmo",2) TNT1 A 0 ACS_NamedExecute("VC_SetState",0,4)
TNT1 A 0 A_JumpIfInventory("BaseAltfireAmmo",112,"RollingSlash") TNT1 A 0 A_Refire("AltfireHoldD") Goto RollingSlash
AltfireHoldD: SL7H J 1 A_Stop TNT1 A 0 A_GiveInventory("BaseAltfireAmmo",1) TNT1 A 0 ACS_NamedExecute("VC_SetState",0,5) TNT1 A 0 A_SpawnItemEx("RollingSlashDamager",0,0,Z_OFS,momx,momy,momz)
TNT1 A 0 A_JumpIfInventory("BaseAltfireAmmo",112,"RollingSlash") TNT1 A 0 A_Refire("AltfireHoldE") Goto RollingSlash
AltfireHoldE: SL7H J 1 A_Stop TNT1 A 0 A_GiveInventory("BaseAltfireAmmo",2) TNT1 A 0 ACS_NamedExecute("VC_SetState",0,5)
TNT1 A 0 A_JumpIfInventory("BaseAltfireAmmo",112,"RollingSlash") TNT1 A 0 A_Refire("AltfireHoldF") Goto RollingSlash
AltfireHoldF: SL7H K 1 A_Stop TNT1 A 0 A_GiveInventory("BaseAltfireAmmo",1) TNT1 A 0 ACS_NamedExecute("VC_SetState",0,3) TNT1 A 0 A_SpawnItemEx("RollingSlashDamager",0,0,Z_OFS,momx,momy,momz)
TNT1 A 0 A_JumpIfInventory("BaseAltfireAmmo",112,"RollingSlash") TNT1 A 0 A_Refire("AltfireHoldG") Goto RollingSlash
AltfireHoldG: SL7H K 1 A_Stop TNT1 A 0 A_GiveInventory("BaseAltfireAmmo",2) TNT1 A 0 ACS_NamedExecute("VC_SetState",0,3)
TNT1 A 0 A_JumpIfInventory("BaseAltfireAmmo",112,"RollingSlash") TNT1 A 0 A_Refire("AltfireHoldA") Goto RollingSlash
RollingSlash:
TOAD A 0 A_GiveInventory("ToadChargeDamageTake")
TNT1 A 0 A_TakeInventory("HalfDamageProtection") TNT1 A 0 A_GiveInventory("GravityRestore",1)
RollingSlashHold:
TNT1 A 0 A_PlaySound("weapon/PlutoBreakDash",1,0.8) 
SL7H I 1 ACS_NamedExecute("VC_SetState",0,3) TNT1 A 0 A_TakeInventory("BaseAltfireAmmo",1) TNT1 A 0 A_JumpIfInventory("BaseAltfireAmmo",1,1) Goto RollingSlashEnd
TNT1 A 0 A_SpawnItemEx("RollingSlashDamager",0,0,Z_OFS,momx,momy,momz) TNT1 A 0 A_GiveInventory("SlashAltfireMovement")//A_ChangeVelocity(cos(pitch)*35,0,momz,CVF_RELATIVE|CVF_REPLACE)
SL7H J 1 ACS_NamedExecute("VC_SetState",0,4) TNT1 A 0 A_TakeInventory("BaseAltfireAmmo",2) TNT1 A 0 A_JumpIfInventory("BaseAltfireAmmo",1,1) Goto RollingSlashEnd
TNT1 A 0 A_SpawnItemEx("RollingSlashDamager",0,0,Z_OFS,momx,momy,momz) TNT1 A 0 A_GiveInventory("SlashAltfireMovement")//A_ChangeVelocity(cos(pitch)*35,0,momz,CVF_RELATIVE|CVF_REPLACE)
SL7H K 1 ACS_NamedExecute("VC_SetState",0,5) TNT1 A 0 A_TakeInventory("BaseAltfireAmmo",1) TNT1 A 0 A_JumpIfInventory("BaseAltfireAmmo",1,1) Goto RollingSlashEnd
TNT1 A 0 A_SpawnItemEx("RollingSlashDamager",0,0,Z_OFS,momx,momy,momz) TNT1 A 0 A_GiveInventory("SlashAltfireMovement")//A_ChangeVelocity(cos(pitch)*35,0,momz,CVF_RELATIVE|CVF_REPLACE)
loop
RollingSlashEnd:
SL7H A 1 Offset(0,82)A_GiveInventory("RollingSlashCooldown",105)
SL7H A 1 Offset(0,72)A_SpawnItemEx("RollingSlashWatcher")
SL7H A 1 Offset(0,62)A_ClearRefire
SL7H A 1 Offset(0,52)
SL7H A 1 Offset(0,42)
Goto Ready

User1:
SL7H B 0 A_Stop
SL7H B 0 A_ChangeFlag("SOLID",False)
SL7H B 0 A_TakeInventory("UnSolid",1)
SL7H B 0 A_TakeInventory("BaseCustomFlag1")
SL7H B 0 A_PlaySoundEx("weapon/SlashDash","Weapon")
SL7H B 0 A_ChangeVelocity(cos(pitch)*45,0,-sin(pitch)*45,CVF_RELATIVE|CVF_REPLACE)
SL7H I 1 ACS_NamedExecute("VC_SetState",0,3) SL7H B 0 A_JumpIfInventory("BaseCustomFlag1",1,"WallTouch")
SL7H B 0 A_SpawnItemEx("SlashCling",0,0,Z_OFS,momx,momy,momz,0,SXF_ABSOLUTEMOMENTUM|SXF_NOCHECKPOSITION) TNT1 A 0 A_SpawnItemEx("SlashLungeDamager",0,0,Z_OFS,momx,momy,momz)
SL7H J 1 ACS_NamedExecute("VC_SetState",0,3) SL7H B 0 A_JumpIfInventory("BaseCustomFlag1",1,"WallTouch")
SL7H B 0 A_SpawnItemEx("SlashCling",0,0,Z_OFS,momx,momy,momz,0,SXF_ABSOLUTEMOMENTUM|SXF_NOCHECKPOSITION) TNT1 A 0 A_SpawnItemEx("SlashLungeDamager",0,0,Z_OFS,momx,momy,momz)
SL7H K 1 ACS_NamedExecute("VC_SetState",0,4) SL7H B 0 A_JumpIfInventory("BaseCustomFlag1",1,"WallTouch")
SL7H B 0 A_SpawnItemEx("SlashCling",0,0,Z_OFS,momx,momy,momz,0,SXF_ABSOLUTEMOMENTUM|SXF_NOCHECKPOSITION) TNT1 A 0 A_SpawnItemEx("SlashLungeDamager",0,0,Z_OFS,momx,momy,momz)
Goto User1Hold

User1Hold:
SL7H I 1 ACS_NamedExecute("VC_SetState",0,4) SL7H B 0 A_JumpIfInventory("BaseCustomFlag1",1,"WallTouch") SL7H B 0 A_JumpIf(momz<=0,"LungeLanding") SL7H B 0 A_JumpIf(z-floorz<=0,"LungeLand")
SL7H B 0 A_SpawnItemEx("SlashCling",0,0,Z_OFS,momx,momy,momz,0,SXF_ABSOLUTEMOMENTUM|SXF_NOCHECKPOSITION) SL7H B 0 A_SpawnItemEx("SlashLungeDamager",0,0,Z_OFS,momx,momy,momz) SL7H B 0 A_JumpIfInventory("UltAttackFlag",1,"UltimateAttack")
SL7H I 1 ACS_NamedExecute("VC_SetState",0,5) SL7H B 0 A_JumpIfInventory("BaseCustomFlag1",1,"WallTouch") SL7H B 0 A_JumpIf(momz<=0,"LungeLanding") SL7H B 0 A_JumpIf(z-floorz<=0,"LungeLand")
SL7H B 0 A_SpawnItemEx("SlashCling",0,0,Z_OFS,momx,momy,momz,0,SXF_ABSOLUTEMOMENTUM|SXF_NOCHECKPOSITION) SL7H B 0 A_SpawnItemEx("SlashLungeDamager",0,0,Z_OFS,momx,momy,momz) SL7H B 0 A_JumpIfInventory("UltAttackFlag",1,"UltimateAttack")
SL7H J 1 ACS_NamedExecute("VC_SetState",0,5) SL7H B 0 A_JumpIfInventory("BaseCustomFlag1",1,"WallTouch") SL7H B 0 A_JumpIf(momz<=0,"LungeLanding") SL7H B 0 A_JumpIf(z-floorz<=0,"LungeLand")
SL7H B 0 A_SpawnItemEx("SlashCling",0,0,Z_OFS,momx,momy,momz,0,SXF_ABSOLUTEMOMENTUM|SXF_NOCHECKPOSITION) SL7H B 0 A_SpawnItemEx("SlashLungeDamager",0,0,Z_OFS,momx,momy,momz) SL7H B 0 A_JumpIfInventory("UltAttackFlag",1,"UltimateAttack")
SL7H J 1 ACS_NamedExecute("VC_SetState",0,3) SL7H B 0 A_JumpIfInventory("BaseCustomFlag1",1,"WallTouch") SL7H B 0 A_JumpIf(momz<=0,"LungeLanding") SL7H B 0 A_JumpIf(z-floorz<=0,"LungeLand")
SL7H B 0 A_SpawnItemEx("SlashCling",0,0,Z_OFS,momx,momy,momz,0,SXF_ABSOLUTEMOMENTUM|SXF_NOCHECKPOSITION) SL7H B 0 A_SpawnItemEx("SlashLungeDamager",0,0,Z_OFS,momx,momy,momz) SL7H B 0 A_JumpIfInventory("UltAttackFlag",1,"UltimateAttack")
SL7H K 1 ACS_NamedExecute("VC_SetState",0,3) SL7H B 0 A_JumpIfInventory("BaseCustomFlag1",1,"WallTouch") SL7H B 0 A_JumpIf(momz<=0,"LungeLanding") SL7H B 0 A_JumpIf(z-floorz<=0,"LungeLand")
SL7H B 0 A_SpawnItemEx("SlashCling",0,0,Z_OFS,momx,momy,momz,0,SXF_ABSOLUTEMOMENTUM|SXF_NOCHECKPOSITION) SL7H B 0 A_SpawnItemEx("SlashLungeDamager",0,0,Z_OFS,momx,momy,momz) SL7H B 0 A_JumpIfInventory("UltAttackFlag",1,"UltimateAttack")
SL7H K 1 ACS_NamedExecute("VC_SetState",0,4) SL7H B 0 A_JumpIfInventory("BaseCustomFlag1",1,"WallTouch") SL7H B 0 A_JumpIf(momz<=0,"LungeLanding") SL7H B 0 A_JumpIf(z-floorz<=0,"LungeLand")
SL7H B 0 A_SpawnItemEx("SlashCling",0,0,Z_OFS,momx,momy,momz,0,SXF_ABSOLUTEMOMENTUM|SXF_NOCHECKPOSITION) SL7H B 0 A_SpawnItemEx("SlashLungeDamager",0,0,Z_OFS,momx,momy,momz) SL7H B 0 A_JumpIfInventory("UltAttackFlag",1,"UltimateAttack")
loop

LungeLanding:
SL7H A 1 Offset(0,72)A_JumpIfInventory("BaseCustomFlag1",1,"WallTouch")
SL7H B 0 A_SpawnItemEx("ReSolidifier")
SL7H B 0 A_JumpIf(z-floorz<=0,"LungeLand")
SL7H A 0 A_SpawnItemEx("SlashCling",0,0,Z_OFS,momx,momy,momz,0,SXF_ABSOLUTEMOMENTUM|SXF_NOCHECKPOSITION)
SL7H B 0 A_JumpIfInventory("UltAttackFlag",1,"UltimateAttack")
loop

LungeLand:
SL7H A 1 Offset(0,74)A_GiveInventory("SlashLungeLandPickUp",1)
SL7H A 1 Offset(0,76)
SL7H A 1 Offset(0,78)
SL7H A 1 Offset(0,80)
SL7H A 1 Offset(0,80)
SL7H A 1 Offset(0,78)
SL7H A 1 Offset(0,76)
SL7H A 1 Offset(0,74)
SL7H A 1 Offset(0,62)
SL7H A 1 offset(0,52)
SL7H A 1 offset(0,42)
Goto Ready

WallTouch:
SL7H B 0 A_SpawnItemEx("ReSolidifier") SL7H B 0 A_GiveInventory("HalfDamageProtection")
SL7H B 0 A_PlaySoundEx("weapon/BladeManCling","Body") SL7H B 0 A_SetGravity(0.0)
SL7H B 0 A_GiveInventory("SlashClingTimer",175) SL7H B 0 A_SpawnItemEx("SlashClingWatcher")
SL7H A 1 Offset(0,62)A_Stop SL7H B 0 ACS_NamedExecute("VC_SetState",0,6)
SL7H A 1 Offset(0,52)A_Stop SL7H B 0 ACS_NamedExecute("VC_SetState",0,6)
SL7H A 1 Offset(0,42)A_Stop SL7H B 0 ACS_NamedExecute("VC_SetState",0,6)
Goto WallTouchReady

WallTouchReady:
SL7H B 0 A_JumpIfInventory("SlashClingTimer",1,1)
goto DropDown
SL7H A 0 A_Stop SL7H B 0 ACS_NamedExecute("VC_SetState",0,7) SL7H B 0 A_JumpIfInventory("UltAttackFlag",1,"UltimateAttack")
SL7H B 0 A_JumpIfInventory("WallStickCancel",1,"DropDown")
SL7H A 1 A_WeaponReady(WRF_NOSECONDARY*CallACS("VC_AmmoCheck",0,0))
loop

DropDown:
SL7H A 1 A_GiveInventory("SlashDropDownPickUp",1)
SL7H AA 1 ACS_NamedExecute("VC_SetState",0,0)
Goto Ready

EggToss:
RATU A 0 A_JumpIfInventory("NoAltfire",1,"WallTouchReady")
SL7H C 0 ACS_NamedExecute("VC_SetState",0,8) SL7H L 1 A_Stop
SL7H C 0 ACS_NamedExecute("VC_SetState",0,8) SL7H M 1 A_Stop
SL7H C 0 ACS_NamedExecute("VC_SetState",0,8) SL7H N 1 A_Stop
SL7H C 0 ACS_NamedExecute("VC_SetState",0,8) SL7H Z 1 A_Stop
SL7H C 0 A_PlaySoundEx("weapon/mbuster","Weapon")
SL7H O 0 A_FireCustomMissile("GooCapsule",0,1,11,-8)
SL7H O 1 A_Stop
SL7H C 0 ACS_NamedExecute("VC_SetState",0,8) TNT1 A 1 A_Stop
SL7H C 0 ACS_NamedExecute("VC_SetState",0,8) TNT1 A 1 A_Stop
SL7H C 0 ACS_NamedExecute("VC_SetState",0,8) TNT1 A 1 A_Stop
SL7H C 0 ACS_NamedExecute("VC_SetState",0,8) TNT1 A 1 A_Stop
SL7H C 0 ACS_NamedExecute("VC_SetState",0,8) TNT1 A 1 A_Stop
SL7H C 0 ACS_NamedExecute("VC_SetState",0,8) TNT1 A 1 A_Stop
SL7H C 0 ACS_NamedExecute("VC_SetState",0,8) TNT1 A 1 A_Stop
SL7H C 0 ACS_NamedExecute("VC_SetState",0,8) TNT1 A 1 A_Stop
SL7H C 0 ACS_NamedExecute("VC_SetState",0,8) TNT1 A 1 A_Stop
SL7H A 1 Offset(0,62)A_Stop
SL7H A 1 Offset(0,52)A_Stop
SL7H A 1 Offset(0,42)A_Stop
SL7H A 1 Offset(0,22)A_Stop
Goto WallTouchReady

SlashDashStart:
SL7H A 1 Offset(0,47)A_Stop SL7H B 0 A_GiveInventory("BaseAltfireAmmo",2) SL7H B 0 ACS_NamedExecute("VC_SetState",0,8)
SL7H A 1 Offset(0,62)A_Stop SL7H B 0 A_GiveInventory("BaseAltfireAmmo",3) SL7H B 0 ACS_NamedExecute("VC_SetState",0,8)
SL7H A 1 Offset(0,77)A_Stop SL7H B 0 A_GiveInventory("BaseAltfireAmmo",2) SL7H B 0 ACS_NamedExecute("VC_SetState",0,8)
SL7H A 1 Offset(0,92)A_Stop SL7H B 0 A_GiveInventory("BaseAltfireAmmo",3) SL7H B 0 ACS_NamedExecute("VC_SetState",0,8)
SlashDashStartHold:
TOAD A 0 A_GiveInventory("ToadChargeDamageGive")
SL7H B 0 A_JumpIfInventory("SlashClingTimer",1,1)
Goto SlashDash
SL7H A 1 Offset(0,92)A_Stop SL7H B 0 A_GiveInventory("BaseAltfireAmmo",2) SL7H B 0 ACS_NamedExecute("VC_SetState",0,8) SL7H B 0 A_JumpIfInventory("BaseAltfireAmmo",112,"SlashDashStartCharged")
SL7H A 0 A_Refire("SlashDashStartHoldB")
Goto SlashDash
SlashDashStartHoldB:
SL7H A 1 Offset(0,92)A_Stop SL7H B 0 A_GiveInventory("BaseAltfireAmmo",3) SL7H B 0 ACS_NamedExecute("VC_SetState",0,8) SL7H B 0 A_JumpIfInventory("BaseAltfireAmmo",112,"SlashDashStartCharged")
SL7H A 0 A_Refire("SlashDashStartHold")
Goto SlashDash
SlashDashStartCharged:
TNT1 A 0 A_GiveInventory("VC_Timer",1) //For stronger hitbox
SL7H A 0 A_PlaySoundEx("weapon/turbowheel","Weapon")
SlashDashStartChargedHold:
SL7H A 0 A_JumpIfInventory("SlashClingTimer",1,1)
Goto SlashDash
SL7H A 1 Offset(0,91)A_Stop SL7H B 0 ACS_NamedExecute("VC_SetState",0,9)
SL7H A 0 A_Refire("SlashDashStartChargedHoldB")
SL7H A 0 A_PlaySoundEx("weapon/cshot","Body")
Goto SlashDash
SlashDashStartChargedHoldB:
SL7H A 1 Offset(0,93)A_Stop SL7H B 0 ACS_NamedExecute("VC_SetState",0,9)
SL7H A 0 A_Refire("SlashDashStartChargedHold")
SL7H A 0 A_PlaySoundEx("weapon/cshot","Body")
Goto SlashDash

SlashDash:
SLSX A 0 A_GiveInventory("ToadChargeDamageTake")
SLSX A 0 A_TakeInventory("SlashClingTimer",175)
SLSX A 0 A_TakeInventory("HalfDamageProtection")
SLSX A 0 A_GunFlash("SlashManDash")
SLSX S 1 A_TakeInventory("BaseAltfireAmmo",6)
TNT1 A 0 A_WeaponReady(WRF_NOFIRE)
SlashDashHold:
SLSX C 0 A_SpawnItemEx("SlashWallCheck",0,0,8,momx,momy,momz,0,8)
TNT1 A 0 A_GiveInventory("SlashDashHandler")
SLSX C 0 A_JumpIfInventory("WeaponCharge",1,"RecoilBack")
SLSX C 0 A_CheckFloor("RecoilUp")
SL7H P 1 A_CheckCeiling("RecoilDown")
SLSX C 0 A_SpawnItemEx("SlashWallCheck",0,0,8,momx,momy,momz,0,8)
TNT1 A 0 A_GiveInventory("SlashDashHandler")
SLSX C 0 A_JumpIfInventory("WeaponCharge",1,"RecoilBack")
SLSX C 0 A_CheckFloor("RecoilUp")
SL7H Q 1 A_CheckCeiling("RecoilDown")
SLSX C 0 A_SpawnItemEx("SlashWallCheck",0,0,8,momx,momy,momz,0,8)
TNT1 A 0 A_GiveInventory("SlashDashHandler")
SLSX C 0 A_JumpIfInventory("WeaponCharge",1,"RecoilBack")
SLSX C 0 A_CheckFloor("RecoilUp")
SL7H R 1 A_CheckCeiling("RecoilDown")
SLSX C 0 A_SpawnItemEx("SlashWallCheck",0,0,8,momx,momy,momz,0,8)
TNT1 A 0 A_GiveInventory("SlashDashHandler")
SLSX C 0 A_JumpIfInventory("WeaponCharge",1,"RecoilBack")
SLSX C 0 A_CheckFloor("RecoilUp")
SL7H S 1 A_CheckCeiling("RecoilDown")
SLSX C 0 A_JumpIfInventory("BaseAltfireAmmo",1,"SlashDashHold")
Goto SlashDashEnd

RecoilUp: TNT1 A 0 A_Stop TNT1 A 0 A_Recoil(-15) TNT1 A 0 ThrustThingZ(0,40,0,1)  Goto RecoilFinish
RecoilDown: TNT1 A 0 A_Stop TNT1 A 0 A_Recoil(-15) TNT1 A 0 ThrustThingZ(0,-40,0,1) Goto RecoilFinish
RecoilBack: TNT1 A 0 A_Stop TNT1 A 0 A_Recoil(15)  TNT1 A 0 ThrustThingZ(0,40,0,1)  Goto RecoilFinish

RecoilFinish:
TNT1 A 0 A_PlaySoundEx("weapon/ConcreteTackleHit","Body") TNT1 A 0 A_TakeInventory("BaseAltfireAmmo")
SlashDashEnd:
TNT1 A 0 A_TakeInventory("CutterFlag")
TNT1 A 0 A_GiveInventory("GravityRestore",1)
TNT1 A 0 A_TakeInventory("BaseCustomFlag1")
TNT1 A 0 ACS_NamedExecute("VC_SetState",0,0)
TNT1 A 0 A_TakeInventory("SlashDashAfterImage")
SL7H A 1 Offset(25,82)SetPlayerProperty(0,0,4)
SL7H A 1 Offset(20,72)A_GiveInventory("SlashLungeCooldown",105)
SL7H A 1 Offset(15,62)A_SpawnItemEx("SlashLungeWatcher")
SL7H A 1 Offset(10,52)A_ChangeFlag("THRUACTORS",False)
SL7H A 1 Offset(5,42)A_SpawnItemEx("ReSolidifier")
TNT1 A 0 A_TakeInventory("WeaponCharge",99)
TNT1 A 0 A_TakeInventory("VC_Timer",99)
Goto Ready

UltimateAttack:
SL7H A 0 A_PlaySoundEx("classes/ultimateactivation","Auto") SL7H A 0 ACS_NamedExecuteAlways("VC_UltimateText",0,62)
SL7H A 0 A_GiveInventory("PowerUltBuildCooldown",1) SL7H A 0 A_TakeInventory("UltAttackFlag",1) SL7H A 0 A_setGravity(0.0)
SL7H A 0 A_TakeInventory("BaseCustomFlag1") SL7H A 0 A_SpawnItemEx("ReSolidifier")
TNT1 A 0 A_ChangeFlag("INVULNERABLE",True) TNT1 A 0 A_GiveInventory("InvProtection",1)
SL7H A 1 Offset(0,52)A_Stop TNT1 A 0 ACS_NamedExecute("VC_SetState",0,3)
SL7H A 1 Offset(0,72)A_Stop TNT1 A 0 ACS_NamedExecute("VC_SetState",0,3)
UltHold:
SL7H I 1 A_Stop TNT1 A 0 ACS_NamedExecute("VC_SetState",0,4) TNT1 A 0 A_Quake(2,5,0,400)
TNT1 A 0 A_PlaySoundEx("weapon/mbuster","Weapon") TNT1 A 0 A_TakeInventory("MediumShortUltimateAmmo",4)
TNT1 A 0 A_SpawnItemEx("GooCapsule2",32,0,32,Random(9,18),0,Random(-5,5),Random(0,359))
TNT1 A 0 A_SpawnItemEx("GooCapsule2",32,0,32,Random(18,27),0,Random(-10,10),Random(0,359))
TNT1 A 0 A_SpawnItemEx("GooCapsule2",32,0,32,Random(27,36),0,Random(-15,15),Random(0,359))
SL7H J 1 A_Stop TNT1 A 0 ACS_NamedExecute("VC_SetState",0,5) TNT1 A 0 A_Quake(2,5,0,400)
TNT1 A 0 A_PlaySoundEx("weapon/mbuster","Weapon") TNT1 A 0 A_TakeInventory("MediumShortUltimateAmmo",4)
TNT1 A 0 A_SpawnItemEx("GooCapsule2",32,0,32,Random(9,18),0,Random(-5,5),Random(0,359))
TNT1 A 0 A_SpawnItemEx("GooCapsule2",32,0,32,Random(18,27),0,Random(-10,10),Random(0,359))
TNT1 A 0 A_SpawnItemEx("GooCapsule2",32,0,32,Random(27,36),0,Random(-15,15),Random(0,359))
SL7H K 1 A_Stop TNT1 A 0 ACS_NamedExecute("VC_SetState",0,3) TNT1 A 0 A_Quake(2,5,0,400)
TNT1 A 0 A_PlaySoundEx("weapon/mbuster","Weapon") TNT1 A 0 A_TakeInventory("MediumShortUltimateAmmo",4)
TNT1 A 0 A_SpawnItemEx("GooCapsule2",32,0,32,Random(9,18),0,Random(-5,5),Random(0,359))
TNT1 A 0 A_SpawnItemEx("GooCapsule2",32,0,32,Random(18,27),0,Random(-10,10),Random(0,359))
TNT1 A 0 A_SpawnItemEx("GooCapsule2",32,0,32,Random(27,36),0,Random(-15,15),Random(0,359))
TNT1 A 0 A_JumpIfInventory("MediumShortUltimateAmmo",1,"UltHold")
SlashTrapCheck:
TNT1 AAA 0 A_JumpIfInventory("SlashTrapTally",1,"SlashTrapCheckContinue")
Goto UltEnd
SlashTrapCheckContinue:
TNT1 A 0 A_PlaySound("weapon/topspin",1,0.8) TNT1 A 0 A_GiveInventory("BaseCustomFlag2")
TNT1 A 0 A_GiveInventory("InvProtection") TNT1 A 0 A_ChangeFlag("INVULNERABLE",True)
SL7H I 1 A_Stop TNT1 A 0 ACS_NamedExecute("VC_SetState",0,3)
TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("VC_CheckBtn",4)==3,"SlashTrapDash") TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("VC_CheckBtn",4)==5,"UltEnd")
SL7H J 1 A_Stop TNT1 A 0 ACS_NamedExecute("VC_SetState",0,4)
TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("VC_CheckBtn",4)==3,"SlashTrapDash") TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("VC_CheckBtn",4)==5,"UltEnd")
SL7H K 1 A_Stop TNT1 A 0 ACS_NamedExecute("VC_SetState",0,5)
TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("VC_CheckBtn",4)==3,"SlashTrapDash") TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("VC_CheckBtn",4)==5,"UltEnd")
Goto SlashTrapCheck
SlashTrapDash:
SLSX D 1 A_Stop SLSX D 0 ACS_NamedExecute("VC_SetState",0,4) SLSX D 1 A_Stop SLSX D 0 ACS_NamedExecute("VC_SetState",0,4)
SLSX E 1 A_Stop SLSX E 0 ACS_NamedExecute("VC_SetState",0,4) SLSX E 1 A_Stop SLSX E 0 ACS_NamedExecute("VC_SetState",0,4)
SLSX E 0 A_FireCustomMissile("SlashManTrap") SLSX E 0 A_SetTranslucent(0.0,0)
SlashTrapDashHold:
SL7H A 0 A_GiveInventory("SlashManTrapProjAimed_CI",1)
TNT1 A 0 A_JumpIfInventory("SlashTrapTally",1,1)
Goto SlashTrapEnd
TNT1 A 1 A_stop
TNT1 A 0 A_SpawnItemEx("SlashManTrap",Random(-160,160),Random(-160,160),Random(-160,160),50,0,0,Random(0,359))
TNT1 A 1 A_stop
TNT1 A 0 A_SpawnItemEx("SlashManTrap2",Random(-160,160),Random(-160,160),Random(-160,160),50,0,0,Random(0,359))
loop
SlashTrapEnd:
SL7H AAA 0 A_TakeInventory("VCOnce")
TNT1 A 0 A_spawnItemEx("SlashManTeleportIn",0,0,0,0,0,0,0,SXF_TRANSFERTRANSLATION)
SlashTrapEndHold:
TNT1 A 1 A_stop
TNT1 A 0 A_JumpIfInventory("VCOnce",1,"SlashTrapFinish")
loop
SlashTrapFinish:
SLSX EEE 0 A_SetTranslucent(1.0,0)
UltEnd:
SL7H A 1 Offset(0,102)A_GiveInventory("GravityRestore",1)
SL7H A 1 Offset(0,92)ACS_NamedExecute("VC_SetState",0,0)
SL7H A 1 Offset(0,82)A_TakeInventory("InvProtection")
SL7H A 1 Offset(0,72)A_ChangeFlag("INVULNERABLE",False)
SL7H A 1 Offset(0,62)
SL7H A 1 Offset(0,52)
SL7H A 1 Offset(0,42)
Goto Ready

SlashManDash:
TNT1 A 0 SetPlayerProperty(0,1,4)
TNT1 A 0 A_ChangeFlag("SOLID",False)
TNT1 A 0 A_ChangeFlag("THRUACTORS",True)
TNT1 A 0 A_GiveInventory("GravityRestore",1)
TNT1 A 0 A_GiveInventory("SlashDashAfterImage")
TNT1 A 0 A_PlaySoundEx("weapon/tengudash","Weapon")
TNT1 A 0 A_JumpIfInventory("BaseAltfireAmmo",112,"SpeedUp10") TNT1 A 0 A_JumpIfInventory("BaseAltfireAmmo",100,"SpeedUp9")
TNT1 A 0 A_JumpIfInventory("BaseAltfireAmmo",89,"SpeedUp8") TNT1 A 0 A_JumpIfInventory("BaseAltfireAmmo",78,"SpeedUp7")
TNT1 A 0 A_JumpIfInventory("BaseAltfireAmmo",67,"SpeedUp6") TNT1 A 0 A_JumpIfInventory("BaseAltfireAmmo",56,"SpeedUp5")
TNT1 A 0 A_JumpIfInventory("BaseAltfireAmmo",44,"SpeedUp4") TNT1 A 0 A_JumpIfInventory("BaseAltfireAmmo",33,"SpeedUp3")
TNT1 A 0 A_JumpIfInventory("BaseAltfireAmmo",22,"SpeedUp2") TNT1 A 0 A_JumpIfInventory("BaseAltfireAmmo",11,"SpeedUp1")
Goto DashSpeedCheck
SpeedUp10: TNT1 A 0 A_GiveInventory("CutterFlag",1) SpeedUp9: TNT1 A 0 A_GiveInventory("CutterFlag",1)
SpeedUp8:  TNT1 A 0 A_GiveInventory("CutterFlag",1) SpeedUp7: TNT1 A 0 A_GiveInventory("CutterFlag",1)
SpeedUp6:  TNT1 A 0 A_GiveInventory("CutterFlag",1) SpeedUp5: TNT1 A 0 A_GiveInventory("CutterFlag",1)
SpeedUp4:  TNT1 A 0 A_GiveInventory("CutterFlag",1) SpeedUp3: TNT1 A 0 A_GiveInventory("CutterFlag",1)
SpeedUp2:  TNT1 A 0 A_GiveInventory("CutterFlag",1) SpeedUp1: TNT1 A 0 A_GiveInventory("CutterFlag",1)
Goto DashSpeedCheck
DashSpeedCheck:
TNT1 A 0 A_JumpIfInventory("CutterFlag",10,"DashSpeed10") TNT1 A 0 A_JumpIfInventory("CutterFlag",9,"DashSpeed9")
TNT1 A 0 A_JumpIfInventory("CutterFlag",8,"DashSpeed8") TNT1 A 0 A_JumpIfInventory("CutterFlag",7,"DashSpeed7")
TNT1 A 0 A_JumpIfInventory("CutterFlag",6,"DashSpeed6") TNT1 A 0 A_JumpIfInventory("CutterFlag",5,"DashSpeed5")
TNT1 A 0 A_JumpIfInventory("CutterFlag",4,"DashSpeed4") TNT1 A 0 A_JumpIfInventory("CutterFlag",3,"DashSpeed3")
TNT1 A 0 A_JumpIfInventory("CutterFlag",2,"DashSpeed2") TNT1 A 0 A_JumpIfInventory("CutterFlag",1,"DashSpeed1")
DashSpeed0:  TNT1 A 0 A_ChangeVelocity(cos(pitch)*20,0,-sin(pitch)*20,CVF_RELATIVE|CVF_REPLACE) TNT1 A 0 ACS_NamedExecute("VC_SetState",0,10) Goto SlashManDashCheck
DashSpeed1:  TNT1 A 0 A_ChangeVelocity(cos(pitch)*23,0,-sin(pitch)*23,CVF_RELATIVE|CVF_REPLACE) TNT1 A 0 ACS_NamedExecute("VC_SetState",0,10) Goto SlashManDashCheck
DashSpeed2:  TNT1 A 0 A_ChangeVelocity(cos(pitch)*26,0,-sin(pitch)*26,CVF_RELATIVE|CVF_REPLACE) TNT1 A 0 ACS_NamedExecute("VC_SetState",0,10) Goto SlashManDashCheck
DashSpeed3:  TNT1 A 0 A_ChangeVelocity(cos(pitch)*29,0,-sin(pitch)*29,CVF_RELATIVE|CVF_REPLACE) TNT1 A 0 ACS_NamedExecute("VC_SetState",0,10) Goto SlashManDashCheck
DashSpeed4:  TNT1 A 0 A_ChangeVelocity(cos(pitch)*32,0,-sin(pitch)*32,CVF_RELATIVE|CVF_REPLACE) TNT1 A 0 ACS_NamedExecute("VC_SetState",0,10) Goto SlashManDashCheck
DashSpeed5:  TNT1 A 0 A_ChangeVelocity(cos(pitch)*35,0,-sin(pitch)*35,CVF_RELATIVE|CVF_REPLACE) TNT1 A 0 ACS_NamedExecute("VC_SetState",0,10) Goto SlashManDashCheck
DashSpeed6:  TNT1 A 0 A_ChangeVelocity(cos(pitch)*38,0,-sin(pitch)*38,CVF_RELATIVE|CVF_REPLACE) TNT1 A 0 ACS_NamedExecute("VC_SetState",0,10) Goto SlashManDashCheck
DashSpeed7:  TNT1 A 0 A_ChangeVelocity(cos(pitch)*41,0,-sin(pitch)*41,CVF_RELATIVE|CVF_REPLACE) TNT1 A 0 ACS_NamedExecute("VC_SetState",0,10) Goto SlashManDashCheck
DashSpeed8:  TNT1 A 0 A_ChangeVelocity(cos(pitch)*44,0,-sin(pitch)*44,CVF_RELATIVE|CVF_REPLACE) TNT1 A 0 ACS_NamedExecute("VC_SetState",0,10) Goto SlashManDashCheck
DashSpeed9:  TNT1 A 0 A_ChangeVelocity(cos(pitch)*47,0,-sin(pitch)*47,CVF_RELATIVE|CVF_REPLACE) TNT1 A 0 ACS_NamedExecute("VC_SetState",0,10) Goto SlashManDashCheck
DashSpeed10: TNT1 A 0 A_ChangeVelocity(cos(pitch)*50,0,-sin(pitch)*50,CVF_RELATIVE|CVF_REPLACE) TNT1 A 0 ACS_NamedExecute("VC_SetState",0,11) Goto SlashManDashCheck
SlashManDashCheck:
TNT1 A 1 A_JumpIfInventory("IsDead",1,"EndDash")
TNT1 A 0 A_JumpIfInventory("BaseAltfireAmmo",1,"DashSpeedCheck")
SlashManSpinning:
TNT1 A 1 ACS_NamedExecute("VC_SetState",0,3) TNT1 A 0 A_JumpIf(momz<=0,"EndFlash")
TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("VC_CheckBtn",4)==3||ACS_NamedExecuteWithResult("VC_CheckBtn",4)==5||ACS_NamedExecuteWithResult("VC_CheckBtn",4)==7,"EndFlash")
TNT1 A 1 ACS_NamedExecute("VC_SetState",0,3) TNT1 A 0 A_JumpIf(momz<=0,"EndFlash")
TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("VC_CheckBtn",4)==3||ACS_NamedExecuteWithResult("VC_CheckBtn",4)==5||ACS_NamedExecuteWithResult("VC_CheckBtn",4)==7,"EndFlash")
TNT1 A 1 ACS_NamedExecute("VC_SetState",0,4) TNT1 A 0 A_JumpIf(momz<=0,"EndFlash")
TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("VC_CheckBtn",4)==3||ACS_NamedExecuteWithResult("VC_CheckBtn",4)==5||ACS_NamedExecuteWithResult("VC_CheckBtn",4)==7,"EndFlash")
TNT1 A 1 ACS_NamedExecute("VC_SetState",0,4) TNT1 A 0 A_JumpIf(momz<=0,"EndFlash")
TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("VC_CheckBtn",4)==3||ACS_NamedExecuteWithResult("VC_CheckBtn",4)==5||ACS_NamedExecuteWithResult("VC_CheckBtn",4)==7,"EndFlash")
TNT1 A 1 ACS_NamedExecute("VC_SetState",0,5) TNT1 A 0 A_JumpIf(momz<=0,"EndFlash")
TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("VC_CheckBtn",4)==3||ACS_NamedExecuteWithResult("VC_CheckBtn",4)==5||ACS_NamedExecuteWithResult("VC_CheckBtn",4)==7,"EndFlash")
TNT1 A 1 ACS_NamedExecute("VC_SetState",0,5) TNT1 A 0 A_JumpIf(momz<=0,"EndFlash")
TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("VC_CheckBtn",4)==3||ACS_NamedExecuteWithResult("VC_CheckBtn",4)==5||ACS_NamedExecuteWithResult("VC_CheckBtn",4)==7,"EndFlash")
loop
EndFlash:
TNT1 A 1 ACS_NamedExecute("VC_SetState",0,0)
EndDash:
TNT1 A 1
stop
}
}

actor SlashClawRM
{
Translation "192:192=168:168"
PROJECTILE
+RIPPER
+DONTBLAST
damagetype "SlashMan"
Obituary "$OB_SLASHMAN1"
damage (0)
speed 15
Radius 5
Height 5
scale 2.5
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode",1)
Y_7F ABCDE 1 A_Explode(5,96,0)
stop
}
}

actor SlashClawRM2 : SlashClawRM
{

damagetype "SlashMan2"
speed 25
const int SLS_DMG = 8;
const int SLS_RNG = 96;
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode",1)
TNT1 A 1 A_Explode(SLS_DMG,SLS_RNG,0) SLSA M 0 A_GiveInventory("Repulsion")
TNT1 A 1 A_Explode(SLS_DMG,SLS_RNG,0) SLSA M 0 A_GiveInventory("Repulsion")
SLSA M 1 A_Explode(SLS_DMG,SLS_RNG,0) SLSA M 0 A_GiveInventory("Repulsion")
SLSA M 1 A_Explode(SLS_DMG,SLS_RNG,0) SLSA M 0 A_GiveInventory("Repulsion")
SLSA M 1 A_Explode(SLS_DMG,SLS_RNG,0) SLSA M 0 A_GiveInventory("Repulsion")
SLSA N 1 A_Explode(SLS_DMG,SLS_RNG,0) SLSA N 0 A_GiveInventory("Repulsion")
SLSA N 1 A_Explode(SLS_DMG,SLS_RNG,0) SLSA N 0 A_GiveInventory("Repulsion")
stop
}
}

actor SlashManClawHitFX
{
Translation "192:192=168:168","198:198=204:204"
+NOINTERACTION
+DONTBLAST
Scale 2.5
Mass 99999
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode",1)
SLCW ABCDEFGH 1 A_Stop
stop
}
}

actor SlashedFragment
{
Projectile
-NOGRAVITY
+THRUACTORS
+DONTREFLECT
+DONTBLAST
Scale 2.5
Mass 99999
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode")
TNT1 A 1 A_Jump(256,"Scrap1","Scrap2","Scrap3","Scrap4")
wait
Scrap1:
SCRP A 1
TNT1 A 1
loop
Scrap2:
SCRP B 1
TNT1 A 1
loop
Scrap3:
SCRP C 1
TNT1 A 1
loop
Scrap4:
SCRP D 1
TNT1 A 1
loop
}
}

actor RollingSlashDamager : BasicExplosion
{
damagetype "SlashManAlt"
Obituary "$OB_SLASHMAN2"
States
{
Spawn:
TNT1 A 0
TNT1 A 1 A_Explode(4,48,0,0,48)
stop
}
}

actor RollingSlashProtect : PowerProtection
{
powerup.duration 3
damagefactor "SlashManAlt", 0.0
}

actor RollingSlashWatcher
{
Height 0
Radius 0
+NOINTERACTION
-SOLID
+NOGRAVITY
+MISSILE
States
{
Spawn:
TNT1 AA 0
TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0) == 0, "Death")
TNT1 A 1 A_TakeFromTarget("RollingSlashCooldown",1)
TNT1 A 0 A_JumpIfInTargetInventory("RollingSlashCooldown",1,"Spawn")
Death:
TNT1 A 1
stop
}
}

Actor SlashLungeLandPickUp : CustomInventory
{
States
{
Pickup:
TNT1 A 0 ACS_NamedExecute("VC_SetState",0,0)
TNT1 A 0 A_GiveInventory("SlashLungeCooldown",105)
TNT1 A 0 A_SpawnItemEx("SlashLungeWatcher")
TNT1 A 0 A_SpawnItemEx("ReSolidifier")
stop
}
}

Actor SlashManTrapProjAimed_CI: CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_JumpIfInventory("SlashUltCooldown",1,"Nah")
TNT1 A 0 A_FireCustomMissile("SlashManTrap")
TNT1 A 0 A_GiveInventory("SlashUltCooldown")
stop
Nah:
TNT1 A 0
stop
}
}

actor SlashUltCooldown : Powerup
{
powerup.duration 20
}

Actor SlashDropDownPickUp : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_SpawnItemEx("SlashLungeWatcher")
TNT1 A 0 A_TakeInventory("BaseCustomFlag1")
TNT1 A 0 ACS_NamedExecute("VC_SetState",0,0)
TNT1 A 0 A_GiveInventory("GravityRestore",1)
TNT1 A 0 A_TakeInventory("SlashClingTimer",175)
TNT1 A 0 A_TakeInventory("HalfDamageProtection")
TNT1 A 0 A_GiveInventory("SlashLungeCooldown",105)
stop
}
}

actor SlashLungeDamager : RollingSlashDamager
{
damagetype "SlashMan2"
Obituary "$OB_SLASHMAN5"
States
{
Spawn:
TNT1 A 0
TNT1 A 1 A_Explode(6,48,0,0,48)
stop
}
}

actor SlashCling
{
PROJECTILE
+RIPPER
+DONTBLAST
+THRUACTORS
+THRUSPECIES
species "DustManType"
damage (0)
radius 24
height 24
speed 7
States
{
Spawn:
TNT1 AA 0
TNT1 A 1
stop
Death:
TNT1 A 0 A_CheckFloor("XDeath")
TNT1 A 0 A_CheckCeiling("XDeath")
TNT1 A 0 A_GiveToTarget("BaseCustomFlag1")
XDeath:
TNT1 A 0
stop
}
}

actor SlashDashAfterImage : PowerSpeed
{
-POWERSPEED.NOTRAIL
powerup.duration -999
Speed 1.0
}

actor SlashDashDamager : BasicExplosion
{
damagetype "SlashManDash"
Obituary "$OB_SLASHMAN3"
States
{
Spawn:
TNT1 A 0
TNT1 A 1 A_Explode(40,80,0,0,80)
stop
}
}

actor SlashDashDamagerB : SlashDashDamager
{
radius 40
height 40
+THRUACTORS
States
{
Spawn:
TNT1 A 0
TNT1 A 1 A_Explode(60,80,0,0,80)
stop
Death:
TNT1 A 0 A_GiveToTarget("WeaponCharge")
stop
}
}

actor SlashDashProtect : PowerProtection
{
powerup.duration 20
damagefactor "SlashManDash", 0.0
damagefactor "SlashManDash2", 0.0
}

actor SlashLungeWatcher
{
Height 0
Radius 0
+NOINTERACTION
-SOLID
+NOGRAVITY
+MISSILE
States
{
Spawn:
TNT1 AA 0
TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0) == 0, "Death")
TNT1 A 1 A_TakeFromTarget("SlashLungeCooldown",1)
TNT1 A 0 A_JumpIfInTargetInventory("SlashLungeCooldown",1,"Spawn")
Death:
TNT1 A 1
stop
}
}

actor SlashClingWatcher
{
Height 0
Radius 0
+NOINTERACTION
-SOLID
+NOGRAVITY
+MISSILE
States
{
Spawn:
TNT1 AA 0
TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0) == 0, "Death")
TNT1 A 1 A_TakeFromTarget("SlashClingTimer",1)
TNT1 A 0 A_JumpIfInTargetInventory("SlashClingTimer",1,"Spawn")
Death:
TNT1 A 1
stop
}
}

actor GooCapsule
{
PROJECTILE
damagetype "SlashManGoo"
Obituary "$OB_SLASHMAN4"
-NOGRAVITY
+NOCLIP
BounceType Hexen
damage (6)
radius 16
height 16
speed 35
scale 2.5
states
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode",1)
TNT1 A 1
TNT1 A 0 A_ChangeFlag("NOCLIP",0)
SLS2 AAA 1 A_CheckFloor("Death")
wait
Death:
SLS2 B 0 A_PlaySoundEx("weapon/SlashGoop","Weapon")
SLS2 B 0 A_ChangeFlag("NOINTERACTION",True)
SLS2 BBCC 1 A_Stop
SLS2 C 0 A_SpawnItemEx("GooPile")
stop
XDeath:
TNT1 A 0
stop
}
}

actor GooCapsule2 : GooCapsule
{
damagetype "SlashManGoo2Floor"//"SlashManGoo2"//&Ze
-NOCLIP
+HITTRACER
states
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode",1)
SLS2 DD 1 A_CheckFloor("Death")
SLS2 DD 1 A_CheckFloor("Death")
wait
Death:
SLS2 E 0 A_PlaySoundEx("weapon/SlashGoop","Weapon")
SLS2 E 0 A_ChangeFlag("NOINTERACTION",True)
SLS2 EEFF 1 A_Stop
SLS2 F 0 A_SpawnItemEx("GooPile2")
stop
XDeath:
TNT1 A 0
TNT1 A 0 A_JumpIfInventory("CanBeGrabBustered",1,"XDeathContinue",AAPTR_TRACER)
Goto Failed

Failed:
TNT1 A 0
stop

XDeathContinue:
TNT1 A 0 A_JumpIfInventory("IAmGooped",1,"XDeath2",AAPTR_TRACER)
TNT1 A 0 A_GiveToTarget("SlashTrapTally",1)
XDeath2:
TNT1 A 0 A_JumpIfInventory("IsDead",1,"XDeath3",AAPTR_TRACER)
TNT1 A 1 A_GiveInventory("CutterFlag",1) TNT1 A 0 A_JumpIfInventory("CutterFlag",210,"XDeath3")
TNT1 A 0 A_JumpIfInventory("IsDead",1,"XDeath3",AAPTR_TRACER)
TNT1 A 1 A_GiveInventory("CutterFlag",1) TNT1 A 0 A_JumpIfInventory("CutterFlag",210,"XDeath3")
TNT1 A 0 A_JumpIfInventory("IsDead",1,"XDeath3",AAPTR_TRACER)
TNT1 A 1 A_GiveInventory("CutterFlag",1) TNT1 A 0 A_JumpIfInventory("CutterFlag",210,"XDeath3")
loop
XDeath3:
TNT1 A 1 A_TakeFromTarget("SlashTrapTally",1)
stop
}
}

actor GooPile : GooCapsule
{
-NOGRAVITY
damagetype "SlashManGooFloor"
ReactionTime 210
Mass 9999999
+DONTBLAST
+DONTREFLECT
states
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode",1)
SLS2 GG 1 A_CountDown
SLS2 HHH 1 A_CountDown
wait
Death:
TNT1 AAAA 0 A_SpawnItemEx("GooBit",0,0,0,4,0,4,Random(0,359))
TNT1 A 2 A_PlaySoundEx("weapon/SlashGoop2","Weapon")
stop
}
}

actor GooPile2 : GooCapsule2
{
-NOGRAVITY
damagetype "SlashManGoo2Floor"
ReactionTime 175
Mass 9999999
BounceFactor 0.0
+DONTBLAST
+DONTREFLECT
states
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode",1)
SLS2 G 1 A_CountDown SLS2 G 0 A_GiveToTarget("SlashUltBuildCooldownGiver",1)
SLS2 G 1 A_CountDown SLS2 G 0 A_GiveToTarget("SlashUltBuildCooldownGiver",1)
Spawn2:
SLS2 H 1 A_CountDown SLS2 G 0 A_GiveToTarget("SlashUltBuildCooldownGiver",1)
SLS2 H 1 A_CountDown SLS2 G 0 A_GiveToTarget("SlashUltBuildCooldownGiver",1)
SLS2 H 1 A_CountDown SLS2 G 0 A_GiveToTarget("SlashUltBuildCooldownGiver",1)
loop
Death:
TNT1 AAAA 0 A_SpawnItemEx("GooBit",0,0,0,4,0,4,Random(0,359))
TNT1 A 2 A_PlaySoundEx("weapon/SlashGoop2","Weapon")
stop
XDeath:
TNT1 A 0
stop
}
}

actor MovementFreezeSlash
{
PROJECTILE
+NOINTERACTION
-DONTBLAST
Scale 2.5
reactiontime 210
states
{
Spawn:
TNT1 AA 0
SLS2 H 1 A_GiveToTarget("MovementFrozen2",1)
SLS2 H 0 A_GiveToTarget("IAmGooped")
SLS2 H 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0) == 0, "Death")
SLS2 H 0 A_Countdown
loop
Death:
TNT1 A 0 A_GiveToTarget("MovementReturnFailsafe",1)
TNT1 AAAA 0 A_SpawnItemEx("GooBit",0,0,0,3,0,3,Random(0,359))
TNT1 A 2 A_PlaySoundEx("weapon/SlashGoop2","Weapon")
stop
}
}

actor GooCapsuleDebuff
{
PROJECTILE
-DONTBLAST
+NOINTERACTION
Scale 2.5
ReactionTime 210
states
{
Spawn:
TNT1 AA 0
TNT1 A 0 A_PlaySoundEx("weapon/SlashGoop","Weapon")
SLS2 B 1 A_Warp(AAPTR_TARGET,0,0,0,40,WARPF_COPYINTERPOLATION|WARPF_INTERPOLATE) SLS2 B 0 A_GiveToTarget("GooDebuffGiverPickUp",1) SLS2 B 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0) == 0, "Death") SLS2 B 0 A_Countdown
SLS2 B 1 A_Warp(AAPTR_TARGET,0,0,0,40,WARPF_COPYINTERPOLATION|WARPF_INTERPOLATE) SLS2 B 0 A_GiveToTarget("GooDebuffGiverPickUp",1) SLS2 B 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0) == 0, "Death") SLS2 B 0 A_Countdown
SLS2 C 1 A_Warp(AAPTR_TARGET,0,0,0,40,WARPF_COPYINTERPOLATION|WARPF_INTERPOLATE) SLS2 C 0 A_GiveToTarget("GooDebuffGiverPickUp",1) SLS2 C 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0) == 0, "Death") SLS2 C 0 A_Countdown
SLS2 C 1 A_Warp(AAPTR_TARGET,0,0,0,40,WARPF_COPYINTERPOLATION|WARPF_INTERPOLATE) SLS2 C 0 A_GiveToTarget("GooDebuffGiverPickUp",1) SLS2 C 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0) == 0, "Death") SLS2 C 0 A_Countdown
SLS2 I 1 A_Warp(AAPTR_TARGET,0,0,0,0,WARPF_COPYINTERPOLATION|WARPF_INTERPOLATE) SLS2 I 0 A_GiveToTarget("GooDebuffGiverPickUp",1) SLS2 I 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0) == 0, "Death") SLS2 I 0 A_Countdown
SLS2 I 1 A_Warp(AAPTR_TARGET,0,0,0,0,WARPF_COPYINTERPOLATION|WARPF_INTERPOLATE) SLS2 I 0 A_GiveToTarget("GooDebuffGiverPickUp",1) SLS2 I 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0) == 0, "Death") SLS2 I 0 A_Countdown
SLS2 J 1 A_Warp(AAPTR_TARGET,0,0,0,0,WARPF_COPYINTERPOLATION|WARPF_INTERPOLATE) SLS2 J 0 A_GiveToTarget("GooDebuffGiverPickUp",1) SLS2 J 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0) == 0, "Death") SLS2 J 0 A_Countdown
SLS2 J 1 A_Warp(AAPTR_TARGET,0,0,0,0,WARPF_COPYINTERPOLATION|WARPF_INTERPOLATE) SLS2 J 0 A_GiveToTarget("GooDebuffGiverPickUp",1) SLS2 J 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0) == 0, "Death") SLS2 J 0 A_Countdown
Spawn2:
SLS2 K 1 A_Warp(AAPTR_TARGET,0,0,0,0,WARPF_COPYINTERPOLATION|WARPF_INTERPOLATE)SLS2 K 0 A_GiveToTarget("GooDebuffGiverPickUp",1) SLS2 K 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0) == 0, "Death") SLS2 K 0 A_Countdown
SLS2 K 1 A_Warp(AAPTR_TARGET,0,0,0,0,WARPF_COPYINTERPOLATION|WARPF_INTERPOLATE)SLS2 K 0 A_GiveToTarget("GooDebuffGiverPickUp",1) SLS2 K 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0) == 0, "Death") SLS2 K 0 A_Countdown
SLS2 K 1 A_Warp(AAPTR_TARGET,0,0,0,0,WARPF_COPYINTERPOLATION|WARPF_INTERPOLATE)SLS2 K 0 A_GiveToTarget("GooDebuffGiverPickUp",1) SLS2 K 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0) == 0, "Death") SLS2 K 0 A_Countdown
loop
Death:
TNT1 AAAA 0 A_SpawnItemEx("GooBit",0,0,40,3,0,3,Random(0,359))
TNT1 A 0 A_GiveToTarget("GoODebuffTakerPickUp",1)
TNT1 A 2 A_PlaySoundEx("weapon/SlashGoop2","Weapon")
stop
}
}

actor GooCapsuleDebuff2 : GooCapsuleDebuff
{
ReactionTime 210
states
{
Spawn:
TNT1 AA 0
TNT1 A 0 ACS_NamedExecute("SlashMan_Face_Target_Scripts",0,0)
TNT1 A 0 A_PlaySoundEx("weapon/SlashGoop","Weapon")
SLS2 E 1 A_Warp(AAPTR_TARGET,0,0,0,40,WARPF_COPYINTERPOLATION|WARPF_INTERPOLATE) SLS2 E 0 A_GiveToTarget("GooDebuffGiverPickUp2",1) SLS2 E 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0) == 0, "Death") SLS2 E 0 A_Countdown
SLS2 E 1 A_Warp(AAPTR_TARGET,0,0,0,40,WARPF_COPYINTERPOLATION|WARPF_INTERPOLATE) SLS2 E 0 A_GiveToTarget("GooDebuffGiverPickUp2",1) SLS2 E 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0) == 0, "Death") SLS2 E 0 A_Countdown
SLS2 F 1 A_Warp(AAPTR_TARGET,0,0,0,40,WARPF_COPYINTERPOLATION|WARPF_INTERPOLATE) SLS2 F 0 A_GiveToTarget("GooDebuffGiverPickUp2",1) SLS2 F 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0) == 0, "Death") SLS2 F 0 A_Countdown
SLS2 F 1 A_Warp(AAPTR_TARGET,0,0,0,40,WARPF_COPYINTERPOLATION|WARPF_INTERPOLATE) SLS2 F 0 A_GiveToTarget("GooDebuffGiverPickUp2",1) SLS2 F 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0) == 0, "Death") SLS2 F 0 A_Countdown
SLS2 I 1 A_Warp(AAPTR_TARGET,0,0,0,0,WARPF_COPYINTERPOLATION|WARPF_INTERPOLATE) SLS2 I 0 A_GiveToTarget("GooDebuffGiverPickUp2",1) SLS2 I 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0) == 0, "Death") SLS2 I 0 A_Countdown
SLS2 I 1 A_Warp(AAPTR_TARGET,0,0,0,0,WARPF_COPYINTERPOLATION|WARPF_INTERPOLATE) SLS2 I 0 A_GiveToTarget("GooDebuffGiverPickUp2",1) SLS2 I 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0) == 0, "Death") SLS2 I 0 A_Countdown
SLS2 J 1 A_Warp(AAPTR_TARGET,0,0,0,0,WARPF_COPYINTERPOLATION|WARPF_INTERPOLATE) SLS2 J 0 A_GiveToTarget("GooDebuffGiverPickUp2",1) SLS2 J 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0) == 0, "Death") SLS2 J 0 A_Countdown
SLS2 J 1 A_Warp(AAPTR_TARGET,0,0,0,0,WARPF_COPYINTERPOLATION|WARPF_INTERPOLATE) SLS2 J 0 A_GiveToTarget("GooDebuffGiverPickUp2",1) SLS2 J 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0) == 0, "Death") SLS2 J 0 A_Countdown
Spawn2:
SLS2 K 1 A_Warp(AAPTR_TARGET,0,0,0,0,WARPF_COPYINTERPOLATION|WARPF_INTERPOLATE) SLS2 K 0 A_GiveToTarget("GooDebuffGiverPickUp2",1) SLS2 K 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0) == 0, "Death") SLS2 K 0 A_Countdown
SLS2 K 1 A_Warp(AAPTR_TARGET,0,0,0,0,WARPF_COPYINTERPOLATION|WARPF_INTERPOLATE) SLS2 K 0 A_GiveToTarget("GooDebuffGiverPickUp2",1) SLS2 K 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0) == 0, "Death") SLS2 K 0 A_Countdown
SLS2 K 1 A_Warp(AAPTR_TARGET,0,0,0,0,WARPF_COPYINTERPOLATION|WARPF_INTERPOLATE) SLS2 K 0 A_GiveToTarget("GooDebuffGiverPickUp2",1) SLS2 K 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0) == 0, "Death") SLS2 K 0 A_Countdown
loop
Death:
TNT1 AAAA 0 A_SpawnItemEx("GooBit",0,0,40,3,0,3,Random(0,359))
TNT1 A 0 A_GiveToTarget("GoODebuffTakerPickUp2",1)
TNT1 A 2 A_PlaySoundEx("weapon/SlashGoop2","Weapon")
stop
}
}

Actor GooDebuffGiverPickUp : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_GiveInventory("IAmGooped",1)
TNT1 A 0 A_GiveInventory("SlashGooWeight",1)
TNT1 A 0 A_GiveInventory("SlashGooSlowDown",1)
stop
}
}

Actor GooDebuffGiverPickUp2 : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_GiveInventory("IAmGooped",1) 
TNT1 A 0 A_GiveInventory("SlashGooVision",1)
TNT1 A 0 A_GiveInventory("SlashGooWeight",1)  
TNT1 A 0 A_GiveInventory("SlashTrapDebuff",1)
TNT1 A 0 A_GiveInventory("SlashGooSlowDown",1)
stop
}
}

Actor GooDebuffTakerPickUp : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_GiveInventory("GravityRestore",1)
TNT1 A 0 A_TakeInventory("SlashGooSlowDown")
stop
}
}

Actor GooDebuffTakerPickUp2 : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_GiveInventory("GravityRestore",1)
TNT1 A 0 A_TakeInventory("SlashGooSlowDown")
TNT1 A 0 A_TakeInventory("SlashGooVision",1)
TNT1 A 0 A_TakeInventory("SlashTrapDebuff",1)
stop
}
}

actor IAmGooped : Powerup
{
Powerup.Duration 5
}

actor SlashGooWeight : CustomInventory
{
+INVENTORY.AUTOACTIVATE
States
{
Use:
TNT1 A 0 A_SetGravity(2.0)
stop
}
}

actor SlashGooSlowDown : PowerSpeed
{
+POWERSPEED.NOTRAIL
powerup.duration -99
Speed 0.50
}

actor SlashGooSlowDown2 : PowerSpeed
{
+POWERSPEED.NOTRAIL
powerup.duration 0x7FFFFFFD
Speed 0.25
}

actor SlashGooVision : PowerUp
{
powerup.color RedMap
powerup.duration -99
}

actor SlashTrapDebuff : PowerProtection
{
damagefactor "SlashManDash2", 5.0
Powerup.Duration -99
}

actor SlashUltBuildCooldownGiver : UltBuildCooldownGiver
{
Powerup.Duration -1
}

actor GooBit
{
+MISSILE
-SOLID
-NOGRAVITY
+THRUACTORS
+CLIENTSIDEONLY
+DONTBLAST
scale 2.5
states
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode",1)
SLS2 LMN 4
Spawn2:
SLS2 N 2
TNT1 A 2
loop
}
}

actor SlashManTrap
{
PROJECTILE
+NOCLIP
+NOINTERACTION
+THRUGHOST
damage (0)
speed 50
Radius 5
Height 5
scale 2.5
ReactionTime 15
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode",1)
TNT1 A 0 A_PlaySoundEx("weapon/tengudash","Weapon")
Spawn2:
SLAS R 1 A_SpawnItemEx("SlashDashDamager2") SLAS R 0 A_SpawnItemEx("SlashManTrapFX") SLAS R 0 A_CountDown
SLAS R 1 A_SpawnItemEx("SlashDashDamager2") SLAS R 0 A_SpawnItemEx("SlashManTrapFX") SLAS R 0 A_CountDown
SLAS R 1 A_SpawnItemEx("SlashDashDamager2") SLAS R 0 A_SpawnItemEx("SlashManTrapFX") SLAS R 0 A_CountDown
loop
}
}

actor SlashManTrap2 : SlashManTrap
{
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode",1)
TNT1 A 0 A_PlaySoundEx("weapon/tengudash","Weapon")
TNT1 AA 0 A_FaceTarget
TNT1 A 0 A_ChangeVelocity(cos(pitch)*50,0,-sin(pitch)*50,CVF_RELATIVE|CVF_REPLACE)
Spawn2:
SLAS R 1 A_SpawnItemEx("SlashDashDamager2") SLAS R 0 A_SpawnItemEx("SlashManTrapFX") SLAS R 0 A_CountDown
SLAS R 1 A_SpawnItemEx("SlashDashDamager2") SLAS R 0 A_SpawnItemEx("SlashManTrapFX") SLAS R 0 A_CountDown
SLAS R 1 A_SpawnItemEx("SlashDashDamager2") SLAS R 0 A_SpawnItemEx("SlashManTrapFX") SLAS R 0 A_CountDown
loop
}
}

actor SlashDashDamager2 : SlashDashDamager
{
Obituary "$OB_SLASHMAN6"
damagetype "SlashManDash2"
States
{
Spawn:
TNT1 A 0
TNT1 A 1 A_Explode(40,64,0,0,64)
stop
}
}

actor SlashManTrapFX
{
Translation "192:192=168:168","198:198=204:204"
+NOINTERACTION
Scale 1.5
Mass 99999
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode",1)
SLAS R 1
SLAS RR 1 A_FadeOut
wait
}
}

actor SlashManTeleportIn
{
Species "SlashManTeleport"
PROJECTILE
Height 1
Radius 1
scale 2.5
+THRUACTORS
+NOGRAVITY
+NOINTERACTION
var int User_Ofs;
const int OFS_NUM = 32;
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode",1)
TNT1 A 0 A_PlaySoundEx("misc/teleport2","Body")
TNT1 A 1 A_SetUserVar("User_Ofs",640)
TNT1 A 0 A_JumpIf(User_Ofs <= 64,"End")
TNT1 A 1 A_Warp(AAPTR_TARGET,0,0,User_Ofs,0,WARPF_INTERPOLATE|WARPF_NOCHECKPOSITION)
TNT1 A 0 A_SetUserVar("User_Ofs",User_Ofs-OFS_NUM)
Spawn2:
TFOG A 0 A_JumpIf(User_Ofs <= 64,"End")
TFOG A 1 A_Warp(AAPTR_TARGET,0,0,User_Ofs,0,WARPF_INTERPOLATE|WARPF_NOCHECKPOSITION)
TFOG A 0 A_SetUserVar("User_Ofs",User_Ofs-OFS_NUM)
loop
End:
TFOG BBCC 1 A_Warp(AAPTR_TARGET,0,0,User_Ofs,0,WARPF_INTERPOLATE|WARPF_NOCHECKPOSITION)
TNT1 A 0 A_PlaySoundEx("misc/teleport2","Body")
TNT1 A 1 A_GiveToTarget("VCOnce",1)
stop
}
}

actor SlashTrapTally : Inventory
{
inventory.amount 1
inventory.maxamount 64
}

actor RollingSlashCooldown : Inventory
{
inventory.amount 1
inventory.maxamount 105
}
actor SlashLungeCooldown : RollingSlashCooldown {}

actor SlashClingTimer : Inventory
{
inventory.amount 1
inventory.maxamount 175
}

actor SlashWallCheck : NiceWallCheck
{
Radius 36
Height 36
states
{
Spawn:
PLAY A 1
stop
Crash:
XDeath:
TNT1 A 1
stop
Death:
TNT1 A 0 A_JumpIfInTargetInventory("WeaponCharge",1,"XDeath")
TNT1 A 0 A_GiveToTarget("WeaponCharge",1)
Stop
}
}

actor SlashDashHandler : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_TakeInventory("BaseAltfireAmmo",2)
TNT1 A 0 A_JumpIfInventory("VC_Timer",1,"Pickup2")
TNT1 A 0 A_SpawnItemEx("SlashDashDamager",0,0,32,momx,momy,momz)
stop

Pickup2:
TNT1 A 0 A_SpawnItemEx("SlashDashDamagerB",0,0,32,momx,momy,momz)
stop
}
}

Actor SlashAltfireMovement : BaseMovement
{
States
{
itTimeGo:
TNT1 A 0 A_ChangeVelocity(CallACS("VC_XYMob",cos(pitch)*35),0,momz,CVF_RELATIVE|CVF_REPLACE)
stop
}
}