actor Slashman : VCBaseClass
{
Player.ScoreIcon "SLASMUGS"
player.startitem "BaseFlagPack", 1
player.displayname "Slashman"
player.soundclass "Slashmanc"
player.startitem "SlashClawBoss"
player.startitem "UltimateAttackItem3"
player.startitem "UltSoundWatcherSpawn3"
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
{
Spawn:
SLAS B 0 A_JumpIfInventory("SlashManDashFlag",1,"SlashManDash")
SLAS B 0 A_JumpIfInventory("SlashManClingFlag",1,"SlashManClingA")
SLAS B 0 A_JumpIfInventory("SlashManSpinFlag1",1,"SlashManSpinA")
SLAS B 1 A_JumpIf(z-floorz>0,"Jumping")
Spawn.Idle:
SLAS A 0 A_JumpIfInventory("SlashManDashFlag",1,"SlashManDash")
SLAS A 0 A_JumpIfInventory("SlashManClingFlag",1,"SlashManClingA")
SLAS A 0 A_JumpIfInventory("SlashManSpinFlag1",1,"SlashManSpinA")
SLAS A 1 A_JumpIf(z-floorz>0,"Jumping")
Goto Spawn.Idle

See:
SLAS B 0 A_JumpIfInventory("SlashManDashFlag",1,"SlashManDash")
SLAS B 0 A_JumpIfInventory("SlashManSpinFlag1",1,"SlashManSpinA")
SLAS BBBBB 1 A_JumpIf(z-floorz>0,"Jumping")
SLAS C 0 A_JumpIfInventory("SlashManDashFlag",1,"SlashManDash")
SLAS C 0 A_JumpIfInventory("SlashManSpinFlag1",1,"SlashManSpinA")
SLAS CCCCC 1 A_JumpIf(z-floorz>0,"Jumping")
SLAS D 0 A_JumpIfInventory("SlashManDashFlag",1,"SlashManDash")
SLAS D 0 A_JumpIfInventory("SlashManSpinFlag1",1,"SlashManSpinA")
SLAS DDDDD 1 A_JumpIf(z-floorz>0,"Jumping")
SLAS E 0 A_JumpIfInventory("SlashManDashFlag",1,"SlashManDash")
SLAS E 0 A_JumpIfInventory("SlashManSpinFlag1",1,"SlashManSpinA")
SLAS EEEEE 1 A_JumpIf(z-floorz>0,"Jumping")
Goto Spawn

Jumping:
SLAS I 0 A_JumpIfInventory("SlashManDashFlag",1,"SlashManDash")
SLAS I 0 A_JumpIfInventory("SlashManClingFlag",1,"SlashManClingA")
SLAS I 0 A_JumpIfInventory("SlashManSpinFlag1",1,"SlashManSpinA")
SLAS I 1 A_JumpIf(z-floorz<=0,"Land")
loop

Land:
SLAS F 0 A_JumpIfInventory("SlashManDashFlag",1,"SlashManDash")
SLAS F 0 A_JumpIfInventory("SlashManClingFlag",1,"SlashManClingA")
SLAS F 0 A_JumpIfInventory("SlashManSpinFlag1",1,"SlashManSpinA")
SLAS F 1 A_JumpIf(z-floorz>0,"Jumping") SLAS F 0 A_JumpIfInventory("SlashManSpinFlag1",1,"SlashManSpinA")
SLAS F 0 A_JumpIfInventory("SlashManClingFlag",1,"SlashManClingA") SLAS F 0 A_JumpIfInventory("SlashManSpinFlag1",1,"SlashManSpinA")
SLAS F 1 A_JumpIf(z-floorz>0,"Jumping") SLAS F 0 A_JumpIfInventory("SlashManSpinFlag1",1,"SlashManSpinA")
SLAS F 0 A_JumpIfInventory("SlashManClingFlag",1,"SlashManClingA") SLAS F 0 A_JumpIfInventory("SlashManSpinFlag1",1,"SlashManSpinA")
SLAS F 1 A_JumpIf(z-floorz>0,"Jumping") SLAS F 0 A_JumpIfInventory("SlashManSpinFlag1",1,"SlashManSpinA")
SLAS F 0 A_JumpIfInventory("SlashManClingFlag",1,"SlashManClingA") SLAS F 0 A_JumpIfInventory("SlashManSpinFlag1",1,"SlashManSpinA")
SLAS F 1 A_JumpIf(z-floorz>0,"Jumping") SLAS F 0 A_JumpIfInventory("SlashManSpinFlag1",1,"SlashManSpinA")
SLAS F 0 A_JumpIfInventory("SlashManClingFlag",1,"SlashManClingA") SLAS F 0 A_JumpIfInventory("SlashManSpinFlag1",1,"SlashManSpinA")
Goto Spawn.Idle

Missile:
SLAS F 0 A_JumpIfInventory("SlashManSpinFlag1",1,"SlashManSpinA")
SLAS F 0 A_JumpIfInventory("SlashManClingFlag",1,"SlashManClingMissile")
SLAS F 1 A_JumpIf(z-floorz>0,"JumpingMissile")
SLAS F 0 A_JumpIfInventory("SlashManSpinFlag1",1,"SlashManSpinA") SLAS F 0 A_JumpIfInventory("SlashManClingFlag",1,"SlashManClingMissile")
SLAS F 1 A_JumpIf(z-floorz>0,"JumpingMissile")
SLAS F 0 A_JumpIfInventory("SlashManSpinFlag1",1,"SlashManSpinA") SLAS F 0 A_JumpIfInventory("SlashManClingFlag",1,"SlashManClingMissile")
SLAS F 1 A_JumpIf(z-floorz>0,"JumpingMissile")
SLAS F 0 A_JumpIfInventory("SlashManSpinFlag1",1,"SlashManSpinA") SLAS F 0 A_JumpIfInventory("SlashManClingFlag",1,"SlashManClingMissile")
SLAS F 1 A_JumpIf(z-floorz>0,"JumpingMissile")
SLAS F 0 A_JumpIfInventory("SlashManSpinFlag1",1,"SlashManSpinA") SLAS F 0 A_JumpIfInventory("SlashManClingFlag",1,"SlashManClingMissile")
Missile2:
SLAS UV 1 A_JumpIf(z-floorz>0,"JumpingMissile2")
Missile3:
SLAS WWWWW 1 A_JumpIf(z-floorz>0,"JumpingMissile3")
Goto Spawn.Idle

JumpingMissile:
SLAS S 0 A_JumpIfInventory("SlashManSpinFlag1",1,"SlashManSpinA")
SLAS s 0 A_JumpIfInventory("SlashManClingFlag",1,"SlashManClingMissile")
SLAS S 1 A_JumpIf(z-floorz<=0,"Missile")
SLAS S 0 A_JumpIfInventory("SlashManSpinFlag1",1,"SlashManSpinA") SLAS s 0 A_JumpIfInventory("SlashManClingFlag",1,"SlashManClingMissile")
SLAS S 1 A_JumpIf(z-floorz<=0,"Missile")
SLAS S 0 A_JumpIfInventory("SlashManSpinFlag1",1,"SlashManSpinA") SLAS s 0 A_JumpIfInventory("SlashManClingFlag",1,"SlashManClingMissile")
SLAS S 1 A_JumpIf(z-floorz<=0,"Missile")
SLAS S 0 A_JumpIfInventory("SlashManSpinFlag1",1,"SlashManSpinA") SLAS s 0 A_JumpIfInventory("SlashManClingFlag",1,"SlashManClingMissile")
SLAS S 1 A_JumpIf(z-floorz<=0,"Missile")
SLAS S 0 A_JumpIfInventory("SlashManSpinFlag1",1,"SlashManSpinA") SLAS s 0 A_JumpIfInventory("SlashManClingFlag",1,"SlashManClingMissile")
JumpingMissile2:
SLAS XY 1 A_JumpIf(z-floorz<=0,"Missile2")
JumpingMissile3:
SLAS ZZZZZ 1 A_JumpIf(z-floorz<=0,"Missile3")
Goto Jumping

SlashManSpinA:
SLAS K 1
SLAS K 1 A_JumpIfInventory("SlashManSpinFlag2",1,"SlashManSpinB")
SLAS K 1 A_JumpIfInventory("SlashManSpinFlag1",1,"SlashManSpinB")
Goto Spawn
SlashManSpinB:
SLAS L 1
SLAS L 1 A_JumpIfInventory("SlashManSpinFlag2",1,"SlashManSpinC")
SLAS L 1 A_JumpIfInventory("SlashManSpinFlag1",1,"SlashManSpinC")
Goto Spawn
SlashManSpinC:
SLAS J 1
SLAS J 1 A_JumpIfInventory("SlashManSpinFlag2",1,"SlashManSpinA")
SLAS J 1 A_JumpIfInventory("SlashManSpinFlag1",1,"SlashManSpinA")
Goto Spawn

SlashManClingA:
SLAS MM 1 A_JumpIfInventory("SlashManDashFlag",1,"SlashManDash")
SlashManClingB:
SLAS N 1 A_JumpIfInventory("SlashManDashFlag",1,"SlashManDash")
SLAS N 1 A_JumpIfInventory("SlashManClingFlag",1,"SlashManClingB")
Goto Spawn

SlashManClingMissile:
SLAS O 0 A_JumpIfInventory("SlashManDashFlag",1,"SlashManDash")
SLAS O 0 A_JumpIfInventory("BaseAltfireAmmo",112,"SlashManClingMissile2")
SLAS O 1 A_JumpIfInventory("BaseAltfireAmmo",112,"SlashManClingMissile2") SLAS O 0 A_JumpIfInventory("SlashManDashFlag",1,"SlashManDash")
SLAS O 1 A_JumpIfInventory("BaseAltfireAmmo",112,"SlashManClingMissile2") SLAS O 0 A_JumpIfInventory("SlashManDashFlag",1,"SlashManDash")
SLAS O 1 A_JumpIfInventory("BaseAltfireAmmo",112,"SlashManClingMissile2") SLAS O 0 A_JumpIfInventory("SlashManDashFlag",1,"SlashManDash")
SLAS O 1 A_JumpIfInventory("BaseAltfireAmmo",112,"SlashManClingMissile2") SLAS O 0 A_JumpIfInventory("SlashManDashFlag",1,"SlashManDash")
Goto Spawn
SlashManClingMissile2:
SLAS PPPP 1 A_JumpIfInventory("SlashManDashFlag",1,"SlashManDash")
Goto Spawn

SlashManDash:
SLAS QQ 1 A_JumpIfInventory("VC_Timer",1,"SlashManDash2")
SLAS Q 1 A_JumpIfInventory("SlashManDashFlag",1,"SlashManDash")
Goto Spawn
SlashManDash2:
SLAS RR 1
SLAS R 1 A_JumpIfInventory("SlashManDashFlag",1,"SlashManDash2")
Goto Spawn

ClassPain:
SLAS H 2 A_SpawnItem("PainFX",0,3) SLAS H 0 A_JumpIfInventory("SlashManSpinFlag1",1,"SlashManSpinA")
SLAS H 0 A_JumpIfInventory("SlashManClingFlag",1,"SlashManClingA") SLAS H 0 A_JumpIfInventory("SlashManDashFlag",1,"SlashManDash")
SLAS H 2 A_SpawnItem("PainFX",0,3) SLAS H 0 A_JumpIfInventory("SlashManSpinFlag1",1,"SlashManSpinA")
SLAS H 0 A_JumpIfInventory("SlashManClingFlag",1,"SlashManClingA") SLAS H 0 A_JumpIfInventory("SlashManDashFlag",1,"SlashManDash")
SLAS H 2 A_SpawnItem("PainFX",0,3) SLAS H 0 A_JumpIfInventory("SlashManSpinFlag1",1,"SlashManSpinA")
SLAS H 0 A_JumpIfInventory("SlashManClingFlag",1,"SlashManClingA") SLAS H 0 A_JumpIfInventory("SlashManDashFlag",1,"SlashManDash")
SLAS H 2 A_SpawnItem("PainFX",0,3) SLAS H 0 A_JumpIfInventory("SlashManSpinFlag1",1,"SlashManSpinA")
SLAS H 0 A_JumpIfInventory("SlashManClingFlag",1,"SlashManClingA") SLAS H 0 A_JumpIfInventory("SlashManDashFlag",1,"SlashManDash")
SLAS H 2 A_SpawnItem("PainFX",0,3) SLAS H 0 A_JumpIfInventory("SlashManSpinFlag1",1,"SlashManSpinA")
SLAS H 0 A_JumpIfInventory("SlashManClingFlag",1,"SlashManClingA") SLAS H 0 A_JumpIfInventory("SlashManDashFlag",1,"SlashManDash")
SLAS H 2 A_SpawnItem("PainFX",0,3) SLAS H 0 A_JumpIfInventory("SlashManSpinFlag1",1,"SlashManSpinA")
SLAS H 0 A_JumpIfInventory("SlashManClingFlag",1,"SlashManClingA") SLAS H 0 A_JumpIfInventory("SlashManDashFlag",1,"SlashManDash")
SLAS H 2 A_SpawnItem("PainFX",0,3) SLAS H 0 A_JumpIfInventory("SlashManSpinFlag1",1,"SlashManSpinA")
SLAS H 0 A_JumpIfInventory("SlashManClingFlag",1,"SlashManClingA") SLAS H 0 A_JumpIfInventory("SlashManDashFlag",1,"SlashManDash")
SLAS H 2 A_SpawnItem("PainFX",0,3) SLAS H 0 A_JumpIfInventory("SlashManSpinFlag1",1,"SlashManSpinA")
SLAS H 0 A_JumpIfInventory("SlashManClingFlag",1,"SlashManClingA") SLAS H 0 A_JumpIfInventory("SlashManDashFlag",1,"SlashManDash")
SLAS H 2 A_SpawnItem("PainFX",0,3) SLAS H 0 A_JumpIfInventory("SlashManSpinFlag1",1,"SlashManSpinA")
SLAS H 0 A_JumpIfInventory("SlashManClingFlag",1,"SlashManClingA") SLAS H 0 A_JumpIfInventory("SlashManDashFlag",1,"SlashManDash")
SLAS H 2 A_SpawnItem("PainFX",0,3) SLAS H 0 A_JumpIfInventory("SlashManSpinFlag1",1,"SlashManSpinA")
SLAS H 0 A_JumpIfInventory("SlashManClingFlag",1,"SlashManClingA") SLAS H 0 A_JumpIfInventory("SlashManDashFlag",1,"SlashManDash")
Goto Spawn.Idle

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 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
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
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:
SL7H A 0 A_JumpIfInventory("SlashManClingFlag",1,"SlashDash")
SL7H A 0 A_GiveInventory("ToadChargeDamageGive",1)
Goto Fire.Charge

Fire.Charge:
SL7H B 0 A_JumpIfInventory("Base28Ammo",28,"Fire.Charged")
SL7H B 1 A_GiveInventory("Base28Ammo",1)
SL7H B 0 A_Refire("Fire.Charge")
Fire.Rapid:
SLYH B 0 A_SetArg(4,pitch)
SLYH B 0 A_SetArg(3,angle)
SL7H B 0 A_TakeInventory("Base28Ammo",28)
SL7H B 0 A_GiveInventory("ToadChargeDamageTake",1)
SL7H B 0 A_PlaySoundEx("weapon/slashclaw","Weapon")
SL7H B 0 A_FireCustomMissile("SlashClawRM",0,0,11,8)
SL7H CDEFG 1 A_GiveInventory("SlashClawRMHitscan")
SL7H HAAA 1 //A_ClearRefire I don't know what this does, let's hope nothing breaks
SL7H B 0 A_Refire("Fire.Rapid")
Goto Ready

Fire.Charged:
SL7H B 1 Offset(0,34)
SL7H B 1 Offset(0,36)
SLYH B 0 A_SetArg(4,pitch)
SLYH B 0 A_SetArg(3,angle)
SL7H B 0 A_Refire("Fire.Charged")
SL7H B 0 A_TakeInventory("Base28Ammo",28)
SL7H B 0 A_GiveInventory("ToadChargeDamageTake",1)
SL7H B 0 A_PlaySoundEx("weapon/SlashManClaw","Weapon")
SL7H B 0 A_FireCustomMissile("SlashClawRM2",0,0,11,8)
SL7H CDE 1 A_GiveInventory("SlashClawRMHitscan2")//A_ClearRefire
SL7H F 1 Offset(4,30) A_GiveInventory("SlashClawRMHitscan2")
SL7H F 1 Offset(4,30) A_GiveInventory("SlashClawRMHitscan2")
SL7H F 1 Offset(2,31)
SL7H FFGHAAAAAAAA 1 A_WeaponReady(WRF_NOFIRE)
Goto Ready

Altfire:
SL7H A 0 A_JumpIfInventory("NoAltfire",1,"Ready")
SL7H A 0 A_JumpIfInventory("SlashManClingFlag",1,"EggToss")
SL7H A 1 Offset(0,52)A_GunFlash("RollingSlashCharging")
SL7H A 1 Offset(0,72)A_GiveInventory("RollingSlashChargePickUp",1)
SL7H A 0 A_WeaponReady(WRF_NOFIRE)
Goto RollingSlash.Start

RollingSlash.Start:
SL7H I 0 A_PlaySound("weapon/topspin",1,0.8)
SL7H IIJJKK 1 A_JumpIfInventory("BaseAltfireAmmo",112,"RollingSlash.Go")
SL7H K 0 A_Refire("RollingSlash.Start")
Goto RollingSlash.Go

RollingSlash.Go:
SL7H I 1 A_GunFlash("RollingSlashDraining")
SL7H J 1 A_GiveInventory("RollingSlashBeginPickUp",1)
SL7H K 1
RollingSlash.Hold:
SL7H I 0 A_PlaySound("weapon/PlutoBreakDash",1,0.8)
SL7H IJK 1
SL7H I 0 A_JumpIfInventory("BaseAltfireAmmo",1,"RollingSlash.Hold")
SL7H A 1 Offset(0,82)A_GunFlash("NoFlash")
SL7H A 1 Offset(0,72)A_GiveInventory("RollingSlashFinishPickUp",1)
SL7H A 1 Offset(0,62)
SL7H A 1 Offset(0,52)
SL7H A 1 Offset(0,42)
Goto Ready

User1:
TNT1 A 0 A_GiveInventory("SlashLungeStartPickUp",1)
SL7H I 1 A_JumpIfInventory("BaseCustomFlag1",1,"User1.Wall") SL7H I 0 A_SpawnItemEx("SlashLungeDamager",0,0,32)
SL7H I 0 A_SpawnItemEx("SlashCling",0,0,32,0,0,0,0,SXF_ABSOLUTEMOMENTUM|SXF_NOCHECKPOSITION)
SL7H I 1 A_JumpIfInventory("BaseCustomFlag1",1,"User1.Wall") SL7H I 0 A_SpawnItemEx("SlashLungeDamager",0,0,32)
SL7H I 0 A_SpawnItemEx("SlashCling",0,0,32,0,0,0,0,SXF_ABSOLUTEMOMENTUM|SXF_NOCHECKPOSITION)
SL7H J 1 A_JumpIfInventory("BaseCustomFlag1",1,"User1.Wall") SL7H J 0 A_SpawnItemEx("SlashLungeDamager",0,0,32)
SL7H J 0 A_SpawnItemEx("SlashCling",0,0,32,0,0,0,0,SXF_ABSOLUTEMOMENTUM|SXF_NOCHECKPOSITION)
SL7H J 1 A_JumpIfInventory("BaseCustomFlag1",1,"User1.Wall") SL7H J 0 A_SpawnItemEx("SlashLungeDamager",0,0,32)
SL7H J 0 A_SpawnItemEx("SlashCling",0,0,32,0,0,0,0,SXF_ABSOLUTEMOMENTUM|SXF_NOCHECKPOSITION)
SL7H K 1 A_JumpIfInventory("BaseCustomFlag1",1,"User1.Wall") SL7H K 0 A_SpawnItemEx("SlashLungeDamager",0,0,32)
SL7H K 0 A_SpawnItemEx("SlashCling",0,0,32,0,0,0,0,SXF_ABSOLUTEMOMENTUM|SXF_NOCHECKPOSITION)
SL7H K 1 A_JumpIfInventory("BaseCustomFlag1",1,"User1.Wall") SL7H K 0 A_SpawnItemEx("SlashLungeDamager",0,0,32)
SL7H K 0 A_SpawnItemEx("SlashCling",0,0,32,0,0,0,0,SXF_ABSOLUTEMOMENTUM|SXF_NOCHECKPOSITION)
Goto User1.Hold

User1.Hold:
SL7H I 1 A_JumpIfInventory("BaseCustomFlag1",1,"User1.Wall") SL7H I 0 A_SpawnItemEx("SlashLungeDamager",0,0,32)
SL7H I 0 A_SpawnItemEx("SlashCling",0,0,32,0,0,0,0,SXF_ABSOLUTEMOMENTUM|SXF_NOCHECKPOSITION)
SL7H I 0 A_JumpIf(momz<=0,"User1.Landing") SL7H I 0 A_JumpIf(z-floorz<=0,"User1.Land")
SL7H I 0 A_JumpIfInventory("UltAttackFlag",1,"UltimateAttack")
SL7H I 1 A_JumpIfInventory("BaseCustomFlag1",1,"User1.Wall") SL7H I 0 A_SpawnItemEx("SlashLungeDamager",0,0,32)
SL7H I 0 A_SpawnItemEx("SlashCling",0,0,32,0,0,0,0,SXF_ABSOLUTEMOMENTUM|SXF_NOCHECKPOSITION)
SL7H I 0 A_JumpIf(momz<=0,"User1.Landing") SL7H I 0 A_JumpIf(z-floorz<=0,"User1.Land")
SL7H I 0 A_JumpIfInventory("UltAttackFlag",1,"UltimateAttack")
SL7H J 1 A_JumpIfInventory("BaseCustomFlag1",1,"User1.Wall") SL7H J 0 A_SpawnItemEx("SlashLungeDamager",0,0,32)
SL7H J 0 A_SpawnItemEx("SlashCling",0,0,32,0,0,0,0,SXF_ABSOLUTEMOMENTUM|SXF_NOCHECKPOSITION)
SL7H J 0 A_JumpIf(momz<=0,"User1.Landing") SL7H J 0 A_JumpIf(z-floorz<=0,"User1.Land")
SL7H J 0 A_JumpIfInventory("UltAttackFlag",1,"UltimateAttack")
SL7H J 1 A_JumpIfInventory("BaseCustomFlag1",1,"User1.Wall") SL7H J 0 A_SpawnItemEx("SlashLungeDamager",0,0,32)
SL7H J 0 A_SpawnItemEx("SlashCling",0,0,32,0,0,0,0,SXF_ABSOLUTEMOMENTUM|SXF_NOCHECKPOSITION)
SL7H J 0 A_JumpIf(momz<=0,"User1.Landing") SL7H J 0 A_JumpIf(z-floorz<=0,"User1.Land")
SL7H J 0 A_JumpIfInventory("UltAttackFlag",1,"UltimateAttack")
SL7H K 1 A_JumpIfInventory("BaseCustomFlag1",1,"User1.Wall") SL7H K 0 A_SpawnItemEx("SlashLungeDamager",0,0,32)
SL7H K 0 A_SpawnItemEx("SlashCling",0,0,32,0,0,0,0,SXF_ABSOLUTEMOMENTUM|SXF_NOCHECKPOSITION)
SL7H K 0 A_JumpIf(momz<=0,"User1.Landing") SL7H K 0 A_JumpIf(z-floorz<=0,"User1.Land")
SL7H K 0 A_JumpIfInventory("UltAttackFlag",1,"UltimateAttack")
SL7H K 1 A_JumpIfInventory("BaseCustomFlag1",1,"User1.Wall") SL7H K 0 A_SpawnItemEx("SlashLungeDamager",0,0,32)
SL7H K 0 A_SpawnItemEx("SlashCling",0,0,32,0,0,0,0,SXF_ABSOLUTEMOMENTUM|SXF_NOCHECKPOSITION)
SL7H K 0 A_JumpIf(momz<=0,"User1.Landing") SL7H K 0 A_JumpIf(z-floorz<=0,"User1.Land")
SL7H K 0 A_JumpIfInventory("UltAttackFlag",1,"UltimateAttack")
loop

User1.Landing:
SL7H A 1 Offset(0,82)A_GiveInventory("SlashLungeLandingPickUp",1)
SL7H A 1 Offset(0,72)
User1.Landing.Hold:
SL7H A 1 Offset(0,62)A_JumpIfInventory("BaseCustomFlag1",1,"User1.Wall")
SL7H A 0 A_JumpIf(z-floorz<=0,"User1.Land") SL7H A 0 A_JumpIfInventory("UltAttackFlag",1,"UltimateAttack")
SL7H A 0 A_SpawnItemEx("SlashCling",0,0,Z_OFS,momx,momy,momz,0,SXF_ABSOLUTEMOMENTUM|SXF_NOCHECKPOSITION)
SL7H A 1 Offset(0,62)A_JumpIfInventory("BaseCustomFlag1",1,"User1.Wall")
SL7H A 0 A_JumpIf(z-floorz<=0,"User1.Land") SL7H A 0 A_JumpIfInventory("UltAttackFlag",1,"UltimateAttack")
SL7H A 0 A_SpawnItemEx("SlashCling",0,0,Z_OFS,momx,momy,momz,0,SXF_ABSOLUTEMOMENTUM|SXF_NOCHECKPOSITION)
loop

User1.Land:
SL7H A 1 Offset(0,64)A_GiveInventory("SlashLungeLandPickUp",1)
SL7H A 1 Offset(0,66)
SL7H AA 1 Offset(0,68)
SL7H A 1 Offset(0,66)
SL7H A 1 Offset(0,64)
SL7H A 1 Offset(0,62)
SL7H A 1 Offset(0,47)
Goto Ready

User1.Wall:
SL7H A 0 ACS_NamedExecute("VC_ViewHeight",0,46)
SL7H A 1 Offset(0,52)A_GunFlash("SlashStopping")
SL7H A 1 Offset(0,42)A_GiveInventory("SlashClingPickUp")
SL7H A 0 ACS_NamedExecute("VC_ViewHeight",0,41)
Goto Ready.Wall

Ready.Wall:
SL7H A 0 A_JumpIfInventory("SlashClingTimer",1,"Ready.Wall.Continue")
Goto User1.Drop

Ready.Wall.Continue:
SL7H A 1 A_WeaponReady
SL7H A 0 A_JumpIfInventory("WallStickCancel",1,"User1.Drop")
SL7H A 0 A_JumpIfInventory("UltAttackFlag",1,"UltimateAttack")
Goto Ready.Wall

User1.Drop:
SL7H A 1 A_GunFlash("NoFlash")
SL7H A 1 A_GiveInventory("SlashDropDownPickUp",1)
Goto Ready

EggToss:
SL7H L 0 A_JumpIfInventory("NoAltfire",1,"Ready.Wall")
SL7H LMNZ 1
SL7H O 0 A_PlaySoundEx("weapon/mbuster","Weapon")
SL7H O 0 A_FireCustomMissile("GooCapsule")
SL7H O 1
TNT1 AAAAAAAAA 1
SL7H A 1 Offset(0,62)
SL7H A 1 Offset(0,52)
SL7H A 1 Offset(0,42)
SL7H A 1 Offset(0,22)
Goto Ready.Wall

SlashDash:
SL7H A 1 Offset(0,52)A_GunFlash("SlashDashCharging")
SL7H A 1 Offset(0,72)A_GiveInventory("ToadChargeDamageGive")
Goto SlashDash.Charge

SlashDash.Charge:
SL7H A 0 A_JumpIfInventory("SlashClingTimer",1,"SlashDash.Charge.Continue")
Goto SlashDash.Go

SlashDash.Charge.Continue:
SL7H A 1 Offset(0,72)A_JumpIfInventory("BaseAltfireAmmo",112,"SlashDash.Charged")
SL7H A 0 A_Refire("SlashDash.Charge")
Goto SlashDash.Go

SlashDash.Charged:
TNT1 A 0 A_GiveInventory("VC_Timer",1) //For stronger hitbox
SL7H A 0 A_PlaySoundEx("weapon/turbowheel","Weapon")
SlashDash.Charged2:
SL7H A 0 A_JumpIfInventory("SlashClingTimer",1,"SlashDash.Charged.Continue")
Goto SlashDash.Go

SlashDash.Charged.Continue:
SL7H A 1 Offset(0,74)
SL7H A 1 Offset(0,72)
SL7H A 0 A_Refire("SlashDash.Charged2")
Goto SlashDash.Go

SlashDash.Go:
SL7H A 0 A_GiveInventory("SlashDashSpeedPickUp",1)
SL7H A 0 A_GiveInventory("SlashDashStartPickUp",1)
SL7H A 0 A_WeaponReady(WRF_NOFIRE)
SL7H A 0 A_GunFlash("NoFlash")
SL7H PQRSPQRS 1 A_GiveInventory("SlashDashAttackPickUp",1)
Goto SlashDash.Hold

SlashDash.Hold:
SL7H P 0 A_CheckFloor("Recoil.Up")
SL7H P 0 A_CheckCeiling("Recoil.Down")
SL7H P 1 A_GiveInventory("SlashDashAttackPickUp",1)
SL7H P 0 A_JumpIfInventory("WeaponCharge",1,"Recoil.Back")
SL7H P 0 A_SpawnItemEx("SlashWallCheck",0,0,8,momx,momy,momz,0,8)
SL7H Q 0 A_CheckFloor("Recoil.Up")
SL7H Q 0 A_CheckCeiling("Recoil.Down")
SL7H Q 1 A_GiveInventory("SlashDashAttackPickUp",1)
SL7H Q 0 A_JumpIfInventory("WeaponCharge",1,"Recoil.Back")
SL7H Q 0 A_SpawnItemEx("SlashWallCheck",0,0,8,momx,momy,momz,0,8)
SL7H R 0 A_CheckFloor("Recoil.Up")
SL7H R 0 A_CheckCeiling("Recoil.Down")
SL7H R 1 A_GiveInventory("SlashDashAttackPickUp",1)
SL7H R 0 A_JumpIfInventory("WeaponCharge",1,"Recoil.Back")
SL7H R 0 A_SpawnItemEx("SlashWallCheck",0,0,8,momx,momy,momz,0,8)
SL7H S 0 A_CheckFloor("Recoil.Up")
SL7H S 0 A_CheckCeiling("Recoil.Down")
SL7H S 1 A_GiveInventory("SlashDashAttackPickUp",1)
SL7H S 0 A_JumpIfInventory("WeaponCharge",1,"Recoil.Back")
SL7H S 0 A_SpawnItemEx("SlashWallCheck",0,0,8,momx,momy,momz,0,8)
SL7H S 0 A_JumpIfInventory("BaseAltfireAmmo",1,"SlashDash.Hold")
Goto SlashDash.End

Recoil.Up:
TNT1 A 0 A_Stop
TNT1 A 0 A_Recoil(-15)
TNT1 A 0 ThrustThingZ(0,40,0,1)
Goto Recoil.End

Recoil.Down:
TNT1 A 0 A_Stop
TNT1 A 0 A_Recoil(-15)
TNT1 A 0 ThrustThingZ(0,-40,0,1)
Goto Recoil.End

Recoil.Back:
TNT1 A 0 A_Stop
TNT1 A 0 A_Recoil(15)
TNT1 A 0 ThrustThingZ(0,40,0,1)
Goto Recoil.End

Recoil.End:
SL7H I 0 A_GiveInventory("SlashDashRecoilPickUp",1)
SL7H IIJJKKIIJJKK 1
SlashDash.End:
SL7H A 1 Offset(0,82)A_GiveInventory("SlashDashFinishPickUp",1)
SL7H A 1 Offset(0,72)
SL7H A 1 Offset(0,62)
SL7H A 1 Offset(0,52)
SL7H A 1 Offset(0,42) A_SpawnItemEx("RollingSlashWatcher")
Goto Ready

UltimateAttack:
SL7H A 1 Offset(0,52)A_GunFlash("SlashStopping")
SL7H A 1 Offset(0,72)A_GiveInventory("SlashManUltimatePickUp",1)
TNT1 A 0 A_WeaponReady(WRF_NOFIRE)
Goto UltimateAttack.Hold

UltimateAttack.Hold:
SL7H I 1 A_TakeInventory("MediumUltimateAmmo",4)
SL7H I 0 A_PlaySoundEx("weapon/mbuster","Weapon") SL7H I 0 A_Quake(2,5,0,400)
SL7H I 0 A_SpawnItemEx("GooCapsule2",32,0,32,Random(9,18),0,Random(-5,5),Random(0,359))
SL7H I 0 A_SpawnItemEx("GooCapsule2",32,0,32,Random(18,27),0,Random(-10,10),Random(0,359))
SL7H I 0 A_SpawnItemEx("GooCapsule2",32,0,32,Random(27,36),0,Random(-15,15),Random(0,359))
SL7H J 1 A_TakeInventory("MediumUltimateAmmo",4)
SL7H J 0 A_PlaySoundEx("weapon/mbuster","Weapon") SL7H I 0 A_Quake(2,5,0,400)
SL7H J 0 A_SpawnItemEx("GooCapsule2",32,0,32,Random(9,18),0,Random(-5,5),Random(0,359))
SL7H J 0 A_SpawnItemEx("GooCapsule2",32,0,32,Random(18,27),0,Random(-10,10),Random(0,359))
SL7H J 0 A_SpawnItemEx("GooCapsule2",32,0,32,Random(27,36),0,Random(-15,15),Random(0,359))
SL7H K 1 A_TakeInventory("MediumUltimateAmmo",4)
SL7H K 0 A_PlaySoundEx("weapon/mbuster","Weapon") SL7H I 0 A_Quake(2,5,0,400)
SL7H K 0 A_SpawnItemEx("GooCapsule2",32,0,32,Random(9,18),0,Random(-5,5),Random(0,359))
SL7H K 0 A_SpawnItemEx("GooCapsule2",32,0,32,Random(18,27),0,Random(-10,10),Random(0,359))
SL7H K 0 A_SpawnItemEx("GooCapsule2",32,0,32,Random(27,36),0,Random(-15,15),Random(0,359))
SL7H K 1 A_JumpIfInventory("MediumUltimateAmmo",1,"UltimateAttack.Hold")
Goto Ultimate.SlashTrap.Check

Ultimate.SlashTrap.Check:
SL7H I 0 A_JumpIfInventory("SlashTrapTally",1,"Ultimate.SlashTrap.Continue")
Goto Ultimate.SlashTrap.Finish

Ultimate.SlashTrap.Continue:
SL7H I 0 A_GiveInventory("SlashTrapStartPickUp",1)
SL7H I 1 A_GiveInventory("BaseCustomFlag2",1)
SL7H I 0 A_JumpIf(ACS_NamedExecuteWithResult("VC_CheckBtn",4)==3,"Ultimate.SlashTrap")
SL7H I 0 A_JumpIf(ACS_NamedExecuteWithResult("VC_CheckBtn",4)==5,"Ultimate.SlashTrap.Finish")
SL7H J 1 A_GiveInventory("BaseCustomFlag2",1)
SL7H J 0 A_JumpIf(ACS_NamedExecuteWithResult("VC_CheckBtn",4)==3,"Ultimate.SlashTrap")
SL7H J 0 A_JumpIf(ACS_NamedExecuteWithResult("VC_CheckBtn",4)==5,"Ultimate.SlashTrap.Finish")
SL7H K 1 A_GiveInventory("BaseCustomFlag2",1)
SL7H K 0 A_JumpIf(ACS_NamedExecuteWithResult("VC_CheckBtn",4)==3,"Ultimate.SlashTrap")
SL7H K 0 A_JumpIf(ACS_NamedExecuteWithResult("VC_CheckBtn",4)==5,"Ultimate.SlashTrap.Finish")
Goto Ultimate.SlashTrap.Check

Ultimate.SlashTrap:
SL7H PQRS 1
SL7H S 0 A_GiveInventory("SlashTrapAttackPickUp",1)
Goto Ultimate.SlashTrap.Hold

Ultimate.SlashTrap.Hold:
TNT1 A 0 A_GiveInventory("SlashManTrapProjAimed_CI",1)
TNT1 A 0 A_JumpIfInventory("SlashTrapTally",1,"Ultimate.SlashTrap.Go")
Goto Ultimate.SlashTrap.End

Ultimate.SlashTrap.Go:
TNT1 A 1 A_SpawnItemEx("SlashManTrap",Random(-160,160),Random(-160,160),Random(-160,160),50,0,0,Random(0,359))
TNT1 A 1 A_SpawnItemEx("SlashManTrap2",Random(-160,160),Random(-160,160),Random(-160,160),50,0,0,Random(0,359))
Goto Ultimate.SlashTrap.Hold

Ultimate.SlashTrap.End:
TNT1 AA 0 A_TakeInventory("VCOnce")
TNT1 A 0 A_spawnItemEx("SlashManTeleportIn",0,0,0,0,0,0,0,SXF_TRANSFERTRANSLATION)
TNT1 A 1 A_JumpIfInventory("VCOnce",1,"Ultimate.SlashTrap.Finish")
wait

Ultimate.SlashTrap.Finish:
SL7H A 1 Offset(0,82)A_GunFlash("NoFlash")
SL7H A 1 Offset(0,72)A_GiveInventory("SlashTrapFinishPickUp",1)
SL7H A 1 Offset(0,62)
SL7H A 1 Offset(0,52)
SL7H A 1 Offset(0,42)
Goto Ready

RollingSlashCharging:
TNT1 A 1 A_Stop TNT1 A 0 A_JumpIfInventory("IsDead",1,"NoFlash")
TNT1 A 0 A_GiveInventory("BaseAltfireAmmo",1) TNT1 A 0 A_SpawnItemEx("RollingSlashDamager",0,0,32)
TNT1 A 1 A_Stop TNT1 A 0 A_JumpIfInventory("IsDead",1,"NoFlash")
TNT1 A 0 A_GiveInventory("BaseAltfireAmmo",2) TNT1 A 0 A_SpawnItemEx("RollingSlashDamager",0,0,32)
loop

RollingSlashDraining:
TNT1 A 1 A_GiveInventory("SlashAltfireMovement") TNT1 A 0 A_JumpIfInventory("IsDead",1,"NoFlash")
TNT1 A 0 A_TakeInventory("BaseAltfireAmmo",1) TNT1 A 0 A_SpawnItemEx("RollingSlashDamager",0,0,32)
TNT1 A 1 A_GiveInventory("SlashAltfireMovement") TNT1 A 0 A_JumpIfInventory("IsDead",1,"NoFlash")
TNT1 A 0 A_TakeInventory("BaseAltfireAmmo",2) TNT1 A 0 A_SpawnItemEx("RollingSlashDamager",0,0,32)
loop

SlashStopping:
TNT1 A 1 A_Stop TNT1 A 0 A_JumpIfInventory("IsDead",1,"NoFlash")
TNT1 A 1 A_Stop TNT1 A 0 A_JumpIfInventory("IsDead",1,"NoFlash")
loop

SlashDashCharging:
TNT1 A 1 A_Stop SL7H B 0 A_GiveInventory("BaseAltfireAmmo",2) TNT1 A 0 A_JumpIfInventory("IsDead",1,"NoFlash")
TNT1 A 1 A_Stop SL7H B 0 A_GiveInventory("BaseAltfireAmmo",3) TNT1 A 0 A_JumpIfInventory("IsDead",1,"NoFlash")
loop
}
}

Actor SlashClawRMHitscan : CustomInventory
{
CONST INT OFS = 15;
States
{
Pickup:///By storing the angle and pitch on the ARGs, we make it so the hitscan cannot be aimed after it's already going
TNT1 A 0 A_RailAttack(1,0,0,"none","none",RGF_SILENT|RGF_CENTERZ|RGF_EXPLICITANGLE,0,"SlashClawRMPuff",-angle + args[3],pitch - args[4],112,0,2,0,"none",-15 + OFS)
TNT1 A 0 A_RailAttack(1,12.5,0,"none","none",RGF_SILENT|RGF_CENTERZ|RGF_EXPLICITANGLE,0,"SlashClawRMPuff",-angle + args[3],pitch - args[4],112,0,2,0,"none",OFS)
TNT1 A 0 A_RailAttack(1,0,0,"none","none",RGF_SILENT|RGF_CENTERZ|RGF_EXPLICITANGLE,0,"SlashClawRMPuff",-angle + args[3],pitch - args[4],112,0,2,0,"none",OFS)
TNT1 A 0 A_RailAttack(1,-12.5,0,"none","none",RGF_SILENT|RGF_CENTERZ|RGF_EXPLICITANGLE,0,"SlashClawRMPuff",-angle + args[3],pitch - args[4],112,0,2,0,"none",OFS)
TNT1 A 0 A_RailAttack(1,0,0,"none","none",RGF_SILENT|RGF_CENTERZ|RGF_EXPLICITANGLE,0,"SlashClawRMPuff",-angle + args[3],pitch - args[4],112,0,2,0,"none",15 + OFS)
stop
}
}

Actor SlashClawRMHitscan2 : SlashClawRMHitscan
{
States
{
Pickup:
TNT1 A 0 A_RailAttack(2,0,0,"none","none",RGF_SILENT|RGF_CENTERZ|RGF_EXPLICITANGLE,0,"SlashClawRM2Puff",-angle + args[3],pitch - args[4],136,0,2,0,"none",-15 + OFS)
TNT1 A 0 A_RailAttack(2,12.5,0,"none","none",RGF_SILENT|RGF_CENTERZ|RGF_EXPLICITANGLE,0,"SlashClawRM2Puff",-angle + args[3],pitch - args[4],136,0,2,0,"none",OFS)
TNT1 A 0 A_RailAttack(2,-12.5,0,"none","none",RGF_SILENT|RGF_CENTERZ|RGF_EXPLICITANGLE,0,"SlashClawRM2Puff",-angle + args[3],pitch - args[4],136,0,2,0,"none",OFS)
TNT1 A 0 A_RailAttack(2,0,0,"none","none",RGF_SILENT|RGF_CENTERZ|RGF_EXPLICITANGLE,0,"SlashClawRM2Puff",-angle + args[3],pitch - args[4],136,0,2,0,"none",15 + OFS)
stop
}
}


actor SlashClawRM
{
Translation "192:192=168:168"
PROJECTILE
+RIPPER
+DONTBLAST
+DONTREFLECT
damagetype "SlashMan"
Obituary "$OB_SLASHMAN1"
damage (0)
speed 7
Radius 8
Height 8
scale 2.5
renderstyle "translucent"
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode",1)
TNT1 A 0 ACS_NamedExecuteWithResult("core_alphaprojectile", CallACS("core_getptrtid", AAPTR_TARGET), APROJ_TEAM, 6553, 192)
Y_7F ABCDE 1// A_Explode(4,80,0)
stop
}
}

actor SlashClawRM2 : SlashClawRM
{
Renderstyle "normal"
speed 22.5
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode",1)
TNT1 A 2 A_GiveInventory("Repulsion")
SLSA MMMNN 1 A_GiveInventory("Repulsion")
stop
}
}

actor SlashClawRMPuff : BulletPuff
{
Renderstyle "None"
damagetype "SlashMan"
Obituary "$OB_SLASHMAN1"
}

actor SlashClawRM2Puff : BulletPuff
{
Renderstyle "None"
damagetype "SlashMan2"
Obituary "$OB_SLASHMAN1"
}

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

actor SlashedFragment
{
PROJECTILE
-NOGRAVITY
+DONTBLAST
+THRUACTORS
+DONTREFLECT
Scale 2.5
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode")
TNT1 A 1 A_Jump(256,"A","B","C","D")
wait
A:
SCRP A 1
wait
B:
SCRP B 1
wait
C:
SCRP C 1
wait
D:
SCRP D 1
wait
}
}

actor SlashManSpinFlag1 : VCOnce {}
actor SlashManSpinFlag2 : VCOnce {}

actor RollingSlashChargePickUp : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_SetGravity(0.0)
TNT1 A 0 A_GiveInventory("SlashManSpinFlag1",1)
TNT1 A 0 A_GiveInventory("ToadChargeDamageGive",1)
stop
}
}

actor RollingSlashBeginPickUp : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_GiveInventory("GravityRestore",1)
TNT1 A 0 A_GiveInventory("SlashManSpinFlag2",1)
TNT1 A 0 A_GiveInventory("ToadChargeDamageTake",1)
stop
}
}

actor RollingSlashFinishPickUp : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_TakeInventory("SlashManSpinFlag1",1)
TNT1 A 0 A_TakeInventory("SlashManSpinFlag2",1)
TNT1 A 0 A_SpawnItemEx("RollingSlashWatcher")
stop
}
}

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

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

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

actor RollingSlashWatcher
{
Height 0
Radius 0
+NOINTERACTION
-SOLID
+NOGRAVITY
+MISSILE
States
{
Spawn:
TNT1 AA 0
TNT1 A 1 A_GiveToTarget("RollingSlashCooldown",105)
Goto Spawn2

Spawn2:
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,"Spawn2")
Goto Death

Death:
TNT1 A 1// A_TakeFromTarget("SlashManTiredSlow",1)
stop
}
}

Actor SlashLungeStartPickUp : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_Stop
TNT1 A 0 A_ChangeFlag("SOLID",False)
TNT1 A 0 A_TakeInventory("UnSolid",1)
TNT1 A 0 A_TakeInventory("BaseCustomFlag1")
TNT1 A 0 A_GiveInventory("SlashManSpinFlag1",1)
TNT1 A 0 A_PlaySoundEx("weapon/SlashDash","Weapon")
TNT1 A 0 A_ChangeVelocity(CallACS("VC_XYMob",cos(pitch)*45),0,-sin(pitch)*45,CVF_RELATIVE|CVF_REPLACE)
stop
}
}

Actor SlashLungeLandingPickUp : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_SpawnItemEx("ReSolidifier")
TNT1 A 0 A_TakeInventory("SlashManSpinFlag1",1)
stop
}
}

Actor SlashLungeLandPickUp : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_SpawnItemEx("ReSolidifier")
TNT1 A 0 A_SpawnItemEx("SlashLungeWatcher")
stop
}
}

Actor SlashClingPickUp : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_SetGravity(0.0)
TNT1 A 0 A_SpawnItemEx("ReSolidifier")
TNT1 A 0 A_SpawnItemEx("SlashClingWatcher")
TNT1 A 0 A_TakeInventory("SlashManSpinFlag1",1)
TNT1 A 0 A_giveInventory("SlashManClingFlag",1)
TNT1 A 0 A_GiveInventory("HalfDamageProtection",1)
TNT1 A 0 A_PlaySoundEx("weapon/BladeManCling","Body")
stop
}
}

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

Actor SlashDashStartPickUp : CustomInventory
{
States
{
Pickup:
TNT1 A 0 SetPlayerProperty(0,1,4)
TNT1 A 0 A_WeaponReady(WRF_NOFIRE)
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_PlaySoundEx("weapon/cshot","Body")
TNT1 A 0 A_GiveInventory("SlashManDashFlag",1)
TNT1 A 0 A_GiveInventory("SlashDashAfterImage")
TNT1 A 0 A_TakeInventory("SlashClingTimer",175)
TNT1 A 0 A_GiveInventory("ToadChargeDamageTake")
TNT1 A 0 A_TakeInventory("HalfDamageProtection")
TNT1 A 0 A_PlaySoundEx("weapon/tengudash","Weapon")
stop
}
}

Actor SlashDashSpeedPickUp : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_JumpIfInventory("BaseAltfireAmmo",112,"A")
TNT1 A 0 A_JumpIfInventory("BaseAltfireAmmo",100,"B")
TNT1 A 0 A_JumpIfInventory("BaseAltfireAmmo",89,"C")
TNT1 A 0 A_JumpIfInventory("BaseAltfireAmmo",78,"D")
TNT1 A 0 A_JumpIfInventory("BaseAltfireAmmo",67,"E")
TNT1 A 0 A_JumpIfInventory("BaseAltfireAmmo",56,"F")
TNT1 A 0 A_JumpIfInventory("BaseAltfireAmmo",44,"G")
TNT1 A 0 A_JumpIfInventory("BaseAltfireAmmo",33,"H")
TNT1 A 0 A_JumpIfInventory("BaseAltfireAmmo",22,"I")
TNT1 A 0 A_JumpIfInventory("BaseAltfireAmmo",11,"J")
stop

A: TNT1 A 0 A_GiveInventory("CutterFlag",1)
B: TNT1 A 0 A_GiveInventory("CutterFlag",1)
C: TNT1 A 0 A_GiveInventory("CutterFlag",1)
D: TNT1 A 0 A_GiveInventory("CutterFlag",1)
E: TNT1 A 0 A_GiveInventory("CutterFlag",1)
F: TNT1 A 0 A_GiveInventory("CutterFlag",1)
G: TNT1 A 0 A_GiveInventory("CutterFlag",1)
H: TNT1 A 0 A_GiveInventory("CutterFlag",1)
I: TNT1 A 0 A_GiveInventory("CutterFlag",1)
J: TNT1 A 0 A_GiveInventory("CutterFlag",1)
stop
}
}

Actor SlashDashAttackPickUp : BaseMovement//CustomInventory
{
States
{
itTimeGo:
TNT1 A 0 A_TakeInventory("BaseAltfireAmmo",2)
TNT1 A 0 A_JumpIfInventory("CutterFlag",10,"PickupB10")
TNT1 A 0 A_JumpIfInventory("CutterFlag",9,"PickupB9")
TNT1 A 0 A_JumpIfInventory("CutterFlag",8,"PickupB8")
TNT1 A 0 A_JumpIfInventory("CutterFlag",7,"PickupB7")
TNT1 A 0 A_JumpIfInventory("CutterFlag",6,"PickupB6")
TNT1 A 0 A_JumpIfInventory("CutterFlag",5,"PickupB5")
TNT1 A 0 A_JumpIfInventory("CutterFlag",4,"PickupB4")
TNT1 A 0 A_JumpIfInventory("CutterFlag",3,"PickupB3")
TNT1 A 0 A_JumpIfInventory("CutterFlag",2,"PickupB2")
TNT1 A 0 A_JumpIfInventory("CutterFlag",1,"PickupB1")
Goto PickupB0

PickupB0: TNT1 A 0 A_ChangeVelocity(CallACS("VC_XYMob",cos(pitch)*20),0,-sin(pitch)*20,CVF_RELATIVE|CVF_REPLACE) Goto PickupC
PickupB1: TNT1 A 0 A_ChangeVelocity(CallACS("VC_XYMob",cos(pitch)*23),0,-sin(pitch)*23,CVF_RELATIVE|CVF_REPLACE) Goto PickupC
PickupB2: TNT1 A 0 A_ChangeVelocity(CallACS("VC_XYMob",cos(pitch)*26),0,-sin(pitch)*26,CVF_RELATIVE|CVF_REPLACE) Goto PickupC
PickupB3: TNT1 A 0 A_ChangeVelocity(CallACS("VC_XYMob",cos(pitch)*29),0,-sin(pitch)*29,CVF_RELATIVE|CVF_REPLACE) Goto PickupC
PickupB4: TNT1 A 0 A_ChangeVelocity(CallACS("VC_XYMob",cos(pitch)*32),0,-sin(pitch)*32,CVF_RELATIVE|CVF_REPLACE) Goto PickupC
PickupB5: TNT1 A 0 A_ChangeVelocity(CallACS("VC_XYMob",cos(pitch)*35),0,-sin(pitch)*35,CVF_RELATIVE|CVF_REPLACE) Goto PickupC
PickupB6: TNT1 A 0 A_ChangeVelocity(CallACS("VC_XYMob",cos(pitch)*38),0,-sin(pitch)*38,CVF_RELATIVE|CVF_REPLACE) Goto PickupC
PickupB7: TNT1 A 0 A_ChangeVelocity(CallACS("VC_XYMob",cos(pitch)*41),0,-sin(pitch)*41,CVF_RELATIVE|CVF_REPLACE) Goto PickupC
PickupB8: TNT1 A 0 A_ChangeVelocity(CallACS("VC_XYMob",cos(pitch)*44),0,-sin(pitch)*44,CVF_RELATIVE|CVF_REPLACE) Goto PickupC
PickupB9: TNT1 A 0 A_ChangeVelocity(CallACS("VC_XYMob",cos(pitch)*47),0,-sin(pitch)*47,CVF_RELATIVE|CVF_REPLACE) Goto PickupC
PickupB10: TNT1 A 0 A_ChangeVelocity(CallACS("VC_XYMob",cos(pitch)*50),0,-sin(pitch)*50,CVF_RELATIVE|CVF_REPLACE) Goto PickupC

PickupC:
TNT1 A 0 A_JumpIfInventory("VC_Timer",1,"PickupC2")
TNT1 A 0 A_RailAttack(30,0,0,"none","none",RGF_SILENT|RGF_CENTERZ|RGF_EXPLICITANGLE,0,"SlashDashDamager",0,0,80,0,2,0,"none",0)
TNT1 A 0 A_RailAttack(30,40,0,"none","none",RGF_SILENT|RGF_CENTERZ|RGF_EXPLICITANGLE,0,"SlashDashDamager",0,0,80,0,2,0,"none",0)
TNT1 A 0 A_RailAttack(30,-40,0,"none","none",RGF_SILENT|RGF_CENTERZ|RGF_EXPLICITANGLE,0,"SlashDashDamager",0,0,80,0,2,0,"none",0)

TNT1 A 0 A_RailAttack(30,0,0,"none","none",RGF_SILENT|RGF_CENTERZ|RGF_EXPLICITANGLE,0,"SlashDashDamager",0,0,80,0,2,0,"none",40/2)
TNT1 A 0 A_RailAttack(30,40,0,"none","none",RGF_SILENT|RGF_CENTERZ|RGF_EXPLICITANGLE,0,"SlashDashDamager",0,0,80,0,2,0,"none",40/2)
TNT1 A 0 A_RailAttack(30,-40,0,"none","none",RGF_SILENT|RGF_CENTERZ|RGF_EXPLICITANGLE,0,"SlashDashDamager",0,0,80,0,2,0,"none",40/2)

TNT1 A 0 A_RailAttack(30,0,0,"none","none",RGF_SILENT|RGF_CENTERZ|RGF_EXPLICITANGLE,0,"SlashDashDamager",0,0,80,0,2,0,"none",-40/2)
TNT1 A 0 A_RailAttack(30,40,0,"none","none",RGF_SILENT|RGF_CENTERZ|RGF_EXPLICITANGLE,0,"SlashDashDamager",0,0,80,0,2,0,"none",-40/2)
TNT1 A 0 A_RailAttack(30,-40,0,"none","none",RGF_SILENT|RGF_CENTERZ|RGF_EXPLICITANGLE,0,"SlashDashDamager",0,0,80,0,2,0,"none",-40/2)
stop

PickupC2:
TNT1 A 0 A_RailAttack(50,0,0,"none","none",RGF_SILENT|RGF_CENTERZ|RGF_EXPLICITANGLE,0,"SlashDashDamager",0,0,80,0,2,0,"none",0)
TNT1 A 0 A_RailAttack(50,40,0,"none","none",RGF_SILENT|RGF_CENTERZ|RGF_EXPLICITANGLE,0,"SlashDashDamager",0,0,80,0,2,0,"none",0)
TNT1 A 0 A_RailAttack(50,-40,0,"none","none",RGF_SILENT|RGF_CENTERZ|RGF_EXPLICITANGLE,0,"SlashDashDamager",0,0,80,0,2,0,"none",0)

TNT1 A 0 A_RailAttack(50,0,0,"none","none",RGF_SILENT|RGF_CENTERZ|RGF_EXPLICITANGLE,0,"SlashDashDamager",0,0,80,0,2,0,"none",40/2)
TNT1 A 0 A_RailAttack(50,40,0,"none","none",RGF_SILENT|RGF_CENTERZ|RGF_EXPLICITANGLE,0,"SlashDashDamager",0,0,80,0,2,0,"none",40/2)
TNT1 A 0 A_RailAttack(50,-40,0,"none","none",RGF_SILENT|RGF_CENTERZ|RGF_EXPLICITANGLE,0,"SlashDashDamager",0,0,80,0,2,0,"none",40/2)

TNT1 A 0 A_RailAttack(50,0,0,"none","none",RGF_SILENT|RGF_CENTERZ|RGF_EXPLICITANGLE,0,"SlashDashDamager",0,0,80,0,2,0,"none",-40/2)
TNT1 A 0 A_RailAttack(50,40,0,"none","none",RGF_SILENT|RGF_CENTERZ|RGF_EXPLICITANGLE,0,"SlashDashDamager",0,0,80,0,2,0,"none",-40/2)
TNT1 A 0 A_RailAttack(50,-40,0,"none","none",RGF_SILENT|RGF_CENTERZ|RGF_EXPLICITANGLE,0,"SlashDashDamager",0,0,80,0,2,0,"none",-40/2)
stop

Failed:
TNT1 A 0 A_Stop
stop
}
}

Actor SlashDashRecoilPickUp : CustomInventory
{
States
{
Pickup:
SL7H A 0 ACS_NamedExecute("VC_ViewHeight",0,51)//Reset viewheight
TNT1 A 0 A_TakeInventory("SlashManDashFlag",1)
TNT1 A 0 A_TakeInventory("BaseAltfireAmmo",112)
TNT1 A 0 A_GiveInventory("SlashManSpinFlag1",1)
TNT1 A 0 A_TakeInventory("SlashManClingFlag",1)
TNT1 A 0 A_PlaySoundEx("weapon/ConcreteTackleHit","Body")
stop
}
}

Actor SlashDashFinishPickUp : CustomInventory
{
States
{
Pickup:
SL7H A 0 ACS_NamedExecute("VC_ViewHeight",0,51)
TNT1 A 0 A_JumpIfInventory("VC_Timer",1,"Pickup3")
goto Pickup2

Pickup3:
TNT1 A 0 A_GiveInventory("SlashManTiredSlow",1)
Pickup2:
TNT1 A 0 SetPlayerProperty(0,0,4)
TNT1 A 0 A_SpawnItemEx("ReSolidifier")
TNT1 A 0 A_TakeInventory("VC_Timer",99)
TNT1 A 0 A_TakeInventory("CutterFlag",99)
TNT1 A 0 A_ChangeFlag("THRUACTORS",False)
TNT1 A 0 A_SpawnItemEx("SlashLungeWatcher")
TNT1 A 0 A_TakeInventory("WeaponCharge",99)
TNT1 A 0 A_GiveInventory("GravityRestore",1)
TNT1 A 0 A_TakeInventory("BaseCustomFlag1",1)
TNT1 A 0 A_TakeInventory("SlashManDashFlag",1)
TNT1 A 0 A_TakeInventory("SlashManSpinFlag1",1)
TNT1 A 0 A_TakeInventory("SlashManClingFlag",1)
TNT1 A 0 A_TakeInventory("SlashDashAfterImage")
stop
}
}

actor SlashManClingFlag : VCOnce {}
actor SlashManDashFlag : VCOnce {}

actor SlashLungeDamager : RollingSlashDamager
{
damagetype "SlashMan2"
Obituary "$OB_SLASHMAN5"
mass 6
}

actor SlashCling
{
PROJECTILE
+RIPPER
+DONTBLAST
+THRUACTORS
+THRUSPECIES
species "DustManType"
damage (0)
radius 24
height 24
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 0x7FFFFFFD
Speed 1.0
}

actor SlashDashDamager : BulletPuff
{
damagetype "SlashManDash"
Obituary "$OB_SLASHMAN3"
renderstyle "None"
}

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

actor SlashLungeCooldown : RollingSlashCooldown {}

actor SlashLungeWatcher : RollingSlashWatcher
{
States
{
Spawn:
TNT1 AA 0
TNT1 A 1 A_GiveToTarget("SlashLungeCooldown",105)
Goto Spawn2

Spawn2:
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,"Spawn2")
Goto Death
}
}

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


actor SlashClingWatcher : RollingSlashWatcher
{
States
{
Spawn:
TNT1 AA 0
TNT1 A 1 A_GiveToTarget("SlashClingTimer",175)
Goto Spawn2

Spawn2:
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,"Spawn2")
Goto Death
}
}

actor GooCapsule
{
PROJECTILE
-NOGRAVITY
-NOINTERACTION
+NOCLIP
+BOUNCEONWALLS
+BOUNCEONCEILINGS
damagetype "SlashManGoo"
Obituary "$OB_SLASHMAN4"
BounceFactor 0.5
WallBounceFactor 0.5
damage (6)
speed 35
radius 32
height 32
scale 2.5
ReactionTime 140
states
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode",1)
TNT1 A 1
TNT1 A 0 A_ChangeFlag("NOCLIP",False)
SLS2 A 1 A_CountDown
wait

Death:
TNT1 A 0 A_PlaySoundEx("weapon/SlashGoop","Weapon")
TNT1 A 0 A_ChangeFlag("NOINTERACTION",True)
SLS2 BBCC 1 A_Stop
TNT1 A 0 A_SpawnItemEx("GooPile")
stop
}
}

actor GooPile : GooCapsule
{
-NOCLIP
+DONTBLAST
+DONTREFLECT
damagetype "SlashManGooFloor"
ReactionTime 210
states
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode",1)
SLS2 GG 1 A_CountDown
SLS2 H 1 A_CountDown
wait

Death:
TNT1 A 0 A_SpawnItemEx("GooBit",0,0,0,4,0,4,45)
TNT1 A 0 A_SpawnItemEx("GooBit",0,0,0,4,0,4,135)
TNT1 A 0 A_SpawnItemEx("GooBit",0,0,0,4,0,4,225)
TNT1 A 0 A_SpawnItemEx("GooBit",0,0,0,4,0,4,315)
TNT1 A 2 A_PlaySoundEx("weapon/SlashGoop2","Weapon")
stop
}
}

actor GooCapsuleDebuff
{
PROJECTILE
+NOINTERACTION
+DONTREFLECT
RenderStyle Translucent
Alpha 0.8
Scale 2.5
ReactionTime 210
states
{
Spawn:
TNT1 A 0
TNT1 A 0 A_PlaySoundEx("weapon/SlashGoop","Weapon")
SLS2 B 1 A_Warp(AAPTR_TARGET,0,0,0,40,WARPF_COPYINTERPOLATION|WARPF_INTERPOLATE) TNT1 A 0 A_Countdown
TNT1 A 0 A_GiveToTarget("GooDebuffGiverPickUp",1) TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0) == 0, "Death")
SLS2 B 1 A_Warp(AAPTR_TARGET,0,0,0,40,WARPF_COPYINTERPOLATION|WARPF_INTERPOLATE) TNT1 A 0 A_Countdown
TNT1 A 0 A_GiveToTarget("GooDebuffGiverPickUp",1) TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0) == 0, "Death")
SLS2 C 1 A_Warp(AAPTR_TARGET,0,0,0,40,WARPF_COPYINTERPOLATION|WARPF_INTERPOLATE) TNT1 A 0 A_Countdown
TNT1 A 0 A_GiveToTarget("GooDebuffGiverPickUp",1) TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0) == 0, "Death")
SLS2 C 1 A_Warp(AAPTR_TARGET,0,0,0,40,WARPF_COPYINTERPOLATION|WARPF_INTERPOLATE) TNT1 A 0 A_Countdown
TNT1 A 0 A_GiveToTarget("GooDebuffGiverPickUp",1) TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0) == 0, "Death")
SLS2 I 1 A_Warp(AAPTR_TARGET,0,0,0,0,WARPF_COPYINTERPOLATION|WARPF_INTERPOLATE) TNT1 A 0 A_Countdown
TNT1 A 0 A_GiveToTarget("GooDebuffGiverPickUp",1) TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0) == 0, "Death")
SLS2 I 1 A_Warp(AAPTR_TARGET,0,0,0,0,WARPF_COPYINTERPOLATION|WARPF_INTERPOLATE) TNT1 A 0 A_Countdown
TNT1 A 0 A_GiveToTarget("GooDebuffGiverPickUp",1) TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0) == 0, "Death")
SLS2 J 1 A_Warp(AAPTR_TARGET,0,0,0,0,WARPF_COPYINTERPOLATION|WARPF_INTERPOLATE) TNT1 A 0 A_Countdown
TNT1 A 0 A_GiveToTarget("GooDebuffGiverPickUp",1) TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0) == 0, "Death")
SLS2 J 1 A_Warp(AAPTR_TARGET,0,0,0,0,WARPF_COPYINTERPOLATION|WARPF_INTERPOLATE) TNT1 A 0 A_Countdown
TNT1 A 0 A_GiveToTarget("GooDebuffGiverPickUp",1) TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0) == 0, "Death")
Goto Spawn2

Spawn2:
SLS2 K 1 A_Warp(AAPTR_TARGET,0,0,0,0,WARPF_COPYINTERPOLATION|WARPF_INTERPOLATE) TNT1 A 0 A_Countdown
TNT1 A 0 A_GiveToTarget("GooDebuffGiverPickUp",1) TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0) == 0, "Death")
SLS2 K 1 A_Warp(AAPTR_TARGET,0,0,0,0,WARPF_COPYINTERPOLATION|WARPF_INTERPOLATE) TNT1 A 0 A_Countdown
TNT1 A 0 A_GiveToTarget("GooDebuffGiverPickUp",1) TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0) == 0, "Death")
loop

Death:
TNT1 A 0 A_SpawnItemEx("GooBit",0,0,40,4,0,4,45)
TNT1 A 0 A_SpawnItemEx("GooBit",0,0,40,4,0,4,135)
TNT1 A 0 A_SpawnItemEx("GooBit",0,0,40,4,0,4,225)
TNT1 A 0 A_SpawnItemEx("GooBit",0,0,40,4,0,4,315)
TNT1 A 0 A_GiveToTarget("GoODebuffTakerPickUp",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 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 0x7FFFFFFD
Speed 0.50
}

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

actor GooCapsule2 : GooCapsule
{
damagetype "SlashManGoo2Floor"//"SlashManGoo2"//&Ze
-NOCLIP
+HITTRACER
+DONTREFLECT
states
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode",1)
TNT1 A 1
SLS2 D 1 A_CountDown
wait

Death:
TNT1 A 0 A_PlaySoundEx("weapon/SlashGoop","Weapon")
TNT1 A 0 A_ChangeFlag("NOINTERACTION",True)
SLS2 EEFF 1 A_Stop
TNT1 A 0 A_SpawnItemEx("GooPile2")
stop

XDeath:
TNT1 A 0
TNT1 A 0 A_JumpIfInventory("CanBeGrabBustered",1,"XDeath2",AAPTR_TRACER)
stop

XDeath2:
TNT1 A 0
TNT1 A 0 A_JumpIfInventory("IAmGooped",1,"End",AAPTR_TRACER)
Goto XDeath3

XDeath3:
TNT1 A 0
TNT1 A 1 A_GiveToTarget("SlashTrapTallyGiverPickUp",1)
Goto XDeath4

XDeath4:
TNT1 A 1 A_JumpIfInventory("IsDead",1,"XDeath5",AAPTR_TRACER)
TNT1 A 0 A_GiveInventory("CutterFlag",1) TNT1 A 0 A_JumpIfInventory("CutterFlag",210,"XDeath5")
TNT1 A 1 A_JumpIfInventory("IsDead",1,"XDeath5",AAPTR_TRACER)
TNT1 A 0 A_GiveInventory("CutterFlag",1) TNT1 A 0 A_JumpIfInventory("CutterFlag",210,"XDeath5")
loop

XDeath5:
TNT1 A 0
TNT1 A 1 A_GiveToTarget("SlashTrapTallyTakerPickUp",1)
stop

End:
TNT1 A 0
stop
}
}

actor GooPile2 : GooCapsule2
{
+DONTBLAST
+DONTREFLECT
damagetype "SlashManGoo2Floor"
ReactionTime 210
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)
Goto Spawn2

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)
loop
Death:
XDeath:
TNT1 A 0 A_SpawnItemEx("GooBit",0,0,0,4,0,4,45)
TNT1 A 0 A_SpawnItemEx("GooBit",0,0,0,4,0,4,135)
TNT1 A 0 A_SpawnItemEx("GooBit",0,0,0,4,0,4,225)
TNT1 A 0 A_SpawnItemEx("GooBit",0,0,0,4,0,4,315)
TNT1 A 2 A_PlaySoundEx("weapon/SlashGoop2","Weapon")
stop
}
}

Actor SlashTrapTallyGiverPickUp : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_GiveInventory("SlashTrapTally",1)
stop
}
}

Actor SlashTrapTallyTakerPickUp : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_TakeInventory("SlashTrapTally",1)
stop
}
}

actor GooCapsuleDebuff2 : GooCapsuleDebuff
{
states
{
Spawn:
TNT1 A 0
TNT1 A 0 A_PlaySoundEx("weapon/SlashGoop","Weapon")
SLS2 E 1 A_Warp(AAPTR_TARGET,0,0,0,40,WARPF_COPYINTERPOLATION|WARPF_INTERPOLATE) TNT1 A 0 A_Countdown
TNT1 A 0 A_GiveToTarget("GooDebuffGiverPickUp2",1) TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0) == 0, "Death")
SLS2 E 1 A_Warp(AAPTR_TARGET,0,0,0,40,WARPF_COPYINTERPOLATION|WARPF_INTERPOLATE) TNT1 A 0 A_Countdown
TNT1 A 0 A_GiveToTarget("GooDebuffGiverPickUp2",1) TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0) == 0, "Death")
SLS2 F 1 A_Warp(AAPTR_TARGET,0,0,0,40,WARPF_COPYINTERPOLATION|WARPF_INTERPOLATE) TNT1 A 0 A_Countdown
TNT1 A 0 A_GiveToTarget("GooDebuffGiverPickUp2",1) TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0) == 0, "Death")
SLS2 F 1 A_Warp(AAPTR_TARGET,0,0,0,40,WARPF_COPYINTERPOLATION|WARPF_INTERPOLATE) TNT1 A 0 A_Countdown
TNT1 A 0 A_GiveToTarget("GooDebuffGiverPickUp2",1) TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0) == 0, "Death")
SLS2 I 1 A_Warp(AAPTR_TARGET,0,0,0,0,WARPF_COPYINTERPOLATION|WARPF_INTERPOLATE) TNT1 A 0 A_Countdown
TNT1 A 0 A_GiveToTarget("GooDebuffGiverPickUp2",1) TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0) == 0, "Death")
SLS2 I 1 A_Warp(AAPTR_TARGET,0,0,0,0,WARPF_COPYINTERPOLATION|WARPF_INTERPOLATE) TNT1 A 0 A_Countdown
TNT1 A 0 A_GiveToTarget("GooDebuffGiverPickUp2",1) TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0) == 0, "Death")
SLS2 J 1 A_Warp(AAPTR_TARGET,0,0,0,0,WARPF_COPYINTERPOLATION|WARPF_INTERPOLATE) TNT1 A 0 A_Countdown
TNT1 A 0 A_GiveToTarget("GooDebuffGiverPickUp2",1) TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0) == 0, "Death")
SLS2 J 1 A_Warp(AAPTR_TARGET,0,0,0,0,WARPF_COPYINTERPOLATION|WARPF_INTERPOLATE) TNT1 A 0 A_Countdown
TNT1 A 0 A_GiveToTarget("GooDebuffGiverPickUp2",1) TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0) == 0, "Death")
Goto Spawn2

Spawn2:
SLS2 K 1 A_Warp(AAPTR_TARGET,0,0,0,0,WARPF_COPYINTERPOLATION|WARPF_INTERPOLATE) TNT1 A 0 A_Countdown
TNT1 A 0 A_GiveToTarget("GooDebuffGiverPickUp2",1) TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0) == 0, "Death")
SLS2 K 1 A_Warp(AAPTR_TARGET,0,0,0,0,WARPF_COPYINTERPOLATION|WARPF_INTERPOLATE) TNT1 A 0 A_Countdown
TNT1 A 0 A_GiveToTarget("GooDebuffGiverPickUp2",1) TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0) == 0, "Death")
loop

Death:
TNT1 A 0 A_SpawnItemEx("GooBit",0,0,40,4,0,4,45)
TNT1 A 0 A_SpawnItemEx("GooBit",0,0,40,4,0,4,135)
TNT1 A 0 A_SpawnItemEx("GooBit",0,0,40,4,0,4,225)
TNT1 A 0 A_SpawnItemEx("GooBit",0,0,40,4,0,4,315)
TNT1 A 0 A_GiveToTarget("GoODebuffTakerPickUp2",1)
TNT1 A 2 A_PlaySoundEx("weapon/SlashGoop2","Weapon")
stop
}
}

actor MovementFreezeSlash
{
PROJECTILE
+NOINTERACTION
Scale 2.5
reactiontime 105//210
states
{
Spawn:
TNT1 AA 0
SLS2 H 1 A_GiveToTarget("MovementFrozen2",1) TNT1 A 0 A_GiveToTarget("IAmGooped") TNT1 A 0 A_Countdown
TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0) == 0, "Death")
SLS2 H 1 A_GiveToTarget("MovementFrozen2",1) TNT1 A 0 A_GiveToTarget("IAmGooped") TNT1 A 0 A_Countdown
TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0) == 0, "Death")
loop

Death:
TNT1 A 0 A_SpawnItemEx("GooBit",0,0,0,4,0,4,45)
TNT1 A 0 A_SpawnItemEx("GooBit",0,0,0,4,0,4,135)
TNT1 A 0 A_SpawnItemEx("GooBit",0,0,0,4,0,4,225)
TNT1 A 0 A_SpawnItemEx("GooBit",0,0,0,4,0,4,315)
TNT1 A 0 A_GiveToTarget("MovementReturnFailsafe",1)
TNT1 A 2 A_PlaySoundEx("weapon/SlashGoop2","Weapon")
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("SlashGooWeight2",1)  
TNT1 A 0 A_GiveInventory("SlashTrapDebuff",1)
TNT1 A 0 A_GiveInventory("SlashGooSlowDown2",1)
stop
}
}

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

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

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

actor SlashGooVision : PowerUp
{
powerup.color RedMap
powerup.duration 0x7FFFFFFD
}

actor SlashTrapDebuff : PowerProtection
{
damagefactor "SlashManDash2", 5.0
powerup.duration 0x7FFFFFFD
}

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

actor SlashUltBuildCooldownGiver : UltBuildCooldownGiver
{
Powerup.Duration -1
}

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

actor SlashManTrap
{
PROJECTILE
+NOCLIP
+NOINTERACTION
+THRUGHOST
damage (0)
speed 50
Radius 5
Height 5
scale 2.5
ReactionTime 15
damagetype "SlashManDash"
Obituary "$OB_SLASHMAN3"
mass 30
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode",1)
TNT1 A 0 A_PlaySoundEx("weapon/tengudash","Weapon")
TNT1 A 0 A_RearrangePointers(AAPTR_NULL, AAPTR_TARGET, AAPTR_DEFAULT)
TNT1 A 0 A_SpawnItemEx("SlashManTrapFX")
TNT1 A 0 A_SpawnItemEx("SlashManTrapFX2")
TNT1 A 0 A_SpawnItemEx("SlashManTrapFX3")
TNT1 A 0 A_SpawnItemEx("SlashManTrapFX4")
TNT1 A 0 A_SpawnItemEx("SlashManTrapFX5")
TNT1 A 0 A_SpawnItemEx("SlashManTrapFX6")
TNT1 A 0 A_SpawnItemEx("SlashManTrapFX7")
TNT1 A 0 A_SpawnItemEx("SlashManTrapFX8")
TNT1 A 0 A_SpawnItemEx("SlashManTrapFX9")
TNT1 A 0 A_SpawnItemEx("SlashManTrapFX10")
TNT1 A 0 A_RearrangePointers(AAPTR_MASTER, AAPTR_TARGET, AAPTR_DEFAULT)
Spawn2:
SLAS R 1 A_Explode(mass,80,0,0,80) SLAS R 0 A_CountDown
SLAS R 1 A_Explode(mass,80,0,0,80) SLAS R 0 A_CountDown
SLAS R 1 A_Explode(mass,80,0,0,80) SLAS R 0 A_CountDown
loop
Death:
TNT1 AAAAAAA 4 A_GiveInventory("TopKickHud")
stop
}
}

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)
TNT1 A 0 A_RearrangePointers(AAPTR_NULL, AAPTR_TARGET, AAPTR_DEFAULT)
TNT1 A 0 A_SpawnItemEx("SlashManTrapFX")
TNT1 A 0 A_SpawnItemEx("SlashManTrapFX2")
TNT1 A 0 A_SpawnItemEx("SlashManTrapFX3")
TNT1 A 0 A_SpawnItemEx("SlashManTrapFX4")
TNT1 A 0 A_SpawnItemEx("SlashManTrapFX5")
TNT1 A 0 A_SpawnItemEx("SlashManTrapFX6")
TNT1 A 0 A_SpawnItemEx("SlashManTrapFX7")
TNT1 A 0 A_SpawnItemEx("SlashManTrapFX8")
TNT1 A 0 A_SpawnItemEx("SlashManTrapFX9")
TNT1 A 0 A_SpawnItemEx("SlashManTrapFX10")
TNT1 A 0 A_RearrangePointers(AAPTR_MASTER, AAPTR_TARGET, AAPTR_DEFAULT)
Spawn2:
SLAS R 1 A_Explode(mass,80,0,0,80) SLAS R 0 A_CountDown
SLAS R 1 A_Explode(mass,80,0,0,80) SLAS R 0 A_CountDown
SLAS R 1 A_Explode(mass,80,0,0,80) SLAS R 0 A_CountDown
loop
}
}

actor SlashDashDamager2 : SlashDashDamager
{
Obituary "$OB_SLASHMAN6"
damagetype "SlashManDash2"
}

actor SlashManTrapFX
{
Translation "192:192=168:168","198:198=204:204"
+NOINTERACTION
Scale 1.5
Mass 99999
mass 1
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode",1)
TNT1 A 0 A_RearrangePointers(AAPTR_DEFAULT,AAPTR_TARGET,AAPTR_DEFAULT) // TARGET (head) moves to MASTER
TNT1 A 0 A_TransferPointer(AAPTR_MASTER,AAPTR_DEFAULT,AAPTR_MASTER,AAPTR_TARGET)
TNT1 A 1 A_SetTics(mass)
loopit:
SLAS R 0 A_warp(aaptr_master,0,0,0,0,WARPF_nocheckposition)
SLAS RRRRRRRRRR 1 A_FadeOut(0.1,0)
SLAS R 0 A_JumpIfInventory("TopKickHud",1,"Death",AAPTR_MASTER)//A_CheckFlag("MISSILE","Death",AAPTR_MASTER)
//SLAS R 0 A_warp(aaptr_master,0,0,0,0,WARPF_nocheckposition)
SLAS R 0 A_FadeIn(1)
loop
Death:
TNT1 A 1
stop
}
}

actor SlashManTrapFX2 : SlashManTrapFX{mass 2}
actor SlashManTrapFX3 : SlashManTrapFX{mass 3}
actor SlashManTrapFX4 : SlashManTrapFX{mass 4}
actor SlashManTrapFX5 : SlashManTrapFX{mass 5}
actor SlashManTrapFX6 : SlashManTrapFX{mass 6}
actor SlashManTrapFX7 : SlashManTrapFX{mass 7}
actor SlashManTrapFX8 : SlashManTrapFX{mass 8}
actor SlashManTrapFX9 : SlashManTrapFX{mass 9}
actor SlashManTrapFX10 : SlashManTrapFX{mass 10}

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 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 SlashManUltimatePickUp : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_setGravity(0.0)
TNT1 A 0 A_SpawnItemEx("ReSolidifier")
TNT1 A 0 A_ChangeFlag("INVULNERABLE",True)
TNT1 A 0 A_GiveInventory("InvProtection",1)
TNT1 A 0 A_TakeInventory("UltAttackFlag",1)
TNT1 A 0 A_TakeInventory("BaseCustomFlag1")
TNT1 A 0 A_TakeInventory("MediumUltimateAmmo",100)
TNT1 A 0 A_GiveInventory("SlashManSpinFlag1",1)
TNT1 A 0 A_GiveInventory("SlashManSpinFlag2",1)
TNT1 A 0 A_GiveInventory("PowerUltBuildCooldown",1)
TNT1 A 0 ACS_NamedExecuteAlways("VC_UltimateText",0,62)
TNT1 A 0 A_PlaySoundEx("classes/ultimateactivation","Auto")
stop
}
}

actor SlashTrapStartPickUp : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_TakeInventory("UltAttackFlag",1)
TNT1 A 0 A_ChangeFlag("INVULNERABLE",True)
TNT1 A 0 A_GiveInventory("InvProtection",1)
TNT1 A 0 A_PlaySound("weapon/topspin",1,0.8)
stop
}
}

actor SlashTrapAttackPickUp : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_SetTranslucent(0.0,0)
TNT1 A 0 A_FireCustomMissile("SlashManTrap")
TNT1 A 0 A_TakeInventory("SlashManSpinFlag1",1)
TNT1 A 0 A_TakeInventory("SlashManSpinFlag2",1)
TNT1 A 0 A_TakeInventory("UltAttackFlag",1)
stop
}
}

actor SlashTrapFinishPickUp : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_SetTranslucent(1.0,0)
TNT1 A 0 A_TakeInventory("InvProtection")
TNT1 A 0 A_ChangeFlag("INVULNERABLE",False)
TNT1 A 0 A_GiveInventory("GravityRestore",1)
TNT1 A 0 A_TakeInventory("SlashManSpinFlag1",1)
TNT1 A 0 A_TakeInventory("SlashManSpinFlag2",1)
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 SlashAltfireMovement : BaseMovement
{
States
{
itTimeGo:
TNT1 A 0 A_ChangeVelocity(CallACS("VC_XYMob",cos(pitch)*35),0,momz,CVF_RELATIVE|CVF_REPLACE)
stop
}
}


actor SlashManTiredSlow : PowerSpeed
{
+POWERSPEED.NOTRAIL
powerup.duration 70
Speed 0.50
}