actor SwordMan : HighArmorClass
{
Player.ScoreIcon "SWORMUGS"
player.startitem "BaseFlagPack", 1
player.displayname "Swordman"
player.soundclass "Swordmanc"
player.startitem "FlameSwordBoss"
player.startitem "UltimateAttackItem3MM8"
player.startitem "UltSoundWatcherSpawn3"
player.startitem "BaseAltfireAmmo", 112
player.startitem "IsFromMM8"
player.startitem "NoHealthBar"
player.viewheight 84
projectilepassheight 99
player.forwardmove 0.75,0.75
player.sidemove 0.73,0.73
player.jumpz 12
States
{
Spawn:
SWOM B 0
SWOM B 1 A_JumpIf(z-floorz>0,"Jumping")
Animation0:
SWOM A 0
SWOM A 1 A_JumpIf(z-floorz>0,"Jumping")
Goto Spawn+2
See:
SWOM BBBBBCCCCCDDDDDEEEEE 1 A_JumpIf(z-floorz>0,"Jumping")
Goto Spawn+1
Jumping:
SWOM M 1 A_JumpIf(z-floorz<=0,"Spawn")
wait
Animation1:
Missile:
SWOM FFF 1 A_JumpIf(z-floorz>0,"JumpingMissile")
Animation2:
Missile2:
SWOM GGG 1 A_JumpIf(z-floorz>0,"JumpingMissile2")
Animation3:
Missile3:
SWOM IIIIII 1 A_JumpIf(z-floorz>0,"JumpingMissile3")
Goto Spawn+2
JumpingMissile:
SWOM JJJ 1 A_JumpIf(z-floorz<=0,"Missile")
JumpingMissile2:
SWOM KKK 1 A_JumpIf(z-floorz<=0,"Missile2")
JumpingMissile3:
SWOM LLLLLL 1 A_JumpIf(z-floorz<=0,"Missile3")
Goto Jumping

Animation4:
FireSlashA:
SWOM UUU 1
Goto Spawn+2
Animation5:
FireSlashB:
SWOM VVV 1
Goto Spawn+2
Animation6:
FireSlashC:
SWOM WWW 1
Goto Spawn+2
Animation7:
FireSlashD:
SWOM XXX 1
Goto Spawn+2
Animation8:
FireSlashInvisible:
SWOM YYY 1
SWOM YYY 1 A_JumpIfInventory("SwordTorsoIsMissing",1,"FireSlashInvisible")
Goto Spawn+2

Animation9:
StatueDropA:
SWOM NNN 1
Goto Spawn+2
Animation10:
StatueDropB:
SWOM OOO 1
Goto Spawn+2

Animation11:
DividingStrikeStance:
SWOM RRR 1
Goto Spawn+2

Animation12:
FireCycloneA:
SWOM PPP 1
Goto Spawn+2
Animation13:
FireCycloneB:
SWOM QQQ 1
Goto Spawn+2

ClassPain:
TNT1 A 0 A_JumpIfInventory("BaseCustomFlag2",1,"ClassPain2")
SWOM HHHHHHHHHH 2 A_SpawnItem("PainFX",0,3)
Goto Spawn+1
ClassPain2:
TNT1 AAAAAAAAAA 2 A_SpawnItem("PainFX",0,3)
Goto Spawn+1

Death.WaterBalloon:
Death.WaterBalloonGear:
Death.Aquaman:
Death.TrioWaterBalloon:
TNT1 A 0 A_SpawnItemEx("DeadDrenchedSwordMan",0,0,0,0,0,0,0,1)
NOFX Z 20 ACS_ExecuteAlways(999,0,0)
NOFX A 1 A_CheckPlayerDone
wait
		
ClassDeath:
TNT1 A 0 A_SpawnItemEx("DeadSwordMan",0,0,0,0,0,0,0,1)
TNT1 A 20 ACS_ExecuteAlways(999,0,0)
NOFX A 1 A_CheckPlayerDone
wait
WeaponGetM:
SWOM H 0 A_JumpIfInTargetInventory("FlameSwordWepM",1,2)
SWOM H 0 A_GiveToTarget("WeaponGetter")
SWOM H 0 A_GiveToTarget("FlameSwordWepM")
goto ClassDeath
}
}

actor DeadSwordMan : DeadTenguMan
{
meleerange 862
States
{
Spawn:
SWOM H 0
"####" "#" 0
goto loopit

Death:
TNT1 A 0 A_PlaySoundEx("swordman/dead","Auto")
TNT1 A 0 A_PlaySoundEx("mm8/dead","Auto")
TNT1 A 2 A_SpawnItemEx("FakeDeathFXMM8",0,0,32)
stop
}
}

actor DeadDrenchedSwordMan
{
PROJECTILE
+MISSILE
species "DeadBody"
+THRUSPECIES
+THRUACTORS
+NOGRAVITY
-NOEXPLODEFLOOR
+NOINTERACTION
scale 2.5
ReactionTime 12
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode")
TNT1 A 0 A_PlaySoundEx("weapon/acidwave","Voice")
TNT1 A 0 A_PlaySoundEx("misc/meltinghands","Body")
Spawn2:
SWO2 FFFGGG 1
TNT1 A 0 A_CountDown
loop
Death:
TNT1 A 0
TNT1 A 0 A_StopSoundEx("Body")
TNT1 A 0 A_PlaySoundEx("swordman/dead","Auto")
TNT1 A 0 A_PlaySoundEx("mm8/dead","Auto")
TNT1 A 0 A_SpawnItemEX("CriticalDeathSpawner",0,0,0,0,0,0,0,SXF_TRANSFERTRANSLATION)
Stop
}
}

actor SwordTorsoIsMissing : VCOnce {}

Actor FlameSwordBoss : VCBaseWeapon
{
weapon.ammotype "BaseAltfireAmmo"
Obituary "$OB_SWORDMAN1"
States
{
Ready:
TNT1 A 0 A_JumpIfInventory("BaseAltfireAmmo",28,"Ready.CanTF")
Ready.NoTF:
FHUB A 1 A_WeaponReady(WRF_NOSECONDARY*CallACS("VC_AmmoCheck",3,56)) TNT1 A 0 A_JumpIfInventory("UltAttackFlag",1,"UltimateAttack")
FHUB A 1 A_WeaponReady(WRF_NOSECONDARY*CallACS("VC_AmmoCheck",3,56)) TNT1 A 0 A_JumpIfInventory("UltAttackFlag",1,"UltimateAttack")
TNT1 A 0 A_GiveInventory("BaseAltfireAmmo",1)
Goto Ready
Ready.CanTF:
TNT1 A 0 A_JumpIfInventory("DividingStrikeCoolDown",1,"Ready.NoTF")
FHUB A 1 A_WeaponReady(WRF_NOSECONDARY*CallACS("VC_AmmoCheck",3,56)) TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("VC_CheckBtn",3)==3,"User1") TNT1 A 0 A_JumpIfInventory("UltAttackFlag",1,"UltimateAttack")
FHUB A 1 A_WeaponReady(WRF_NOSECONDARY*CallACS("VC_AmmoCheck",3,56)) TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("VC_CheckBtn",3)==3,"User1") TNT1 A 0 A_JumpIfInventory("UltAttackFlag",1,"UltimateAttack")
TNT1 A 0 A_GiveInventory("BaseAltfireAmmo",1)
Goto Ready
Deselect:
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower
FHUB A 1 A_Lower
Loop
Select:
TNT1 A 0 ACS_ExecuteAlways(991,0,862)
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise
FHUB A 1 A_Raise
Loop
Fire:
TNT1 A 0 A_PlaySoundEx("weapon/flamesword","Weapon")
TNT1 A 0 A_CheckFloor("GroundSwing")
Goto AirSwing
GroundSwing:
FHUB C 1 A_FireCustomMissile("FlameSwordRM", 60,0,0,16,0, -8)
TNT1 A 0 A_FireCustomMissile("FlameSwordRM", 45,0,0,16,0, -6)
TNT1 A 0 A_SpawnItemEx("FSSParkSpawnerRM", 32,0,8,0,16,0,0,0,0)
FHUB D 1 A_FireCustomMissile("FlameSwordRM", 30,0,0,16,0, -4)
TNT1 A 0 A_FireCustomMissile("FlameSwordRM", 15,0,0,16,0, -2)
FHUB E 1 A_FireCustomMissile("FlameSwordRM",  0,0,0,16,0,  0)
TNT1 A 0 A_FireCustomMissile("FlameSwordRM",-15,0,0,16,0,  2)
FHUB F 1 A_FireCustomMissile("FlameSwordRM",-30,0,0,16,0,  4)
TNT1 A 0 A_FireCustomMissile("FlameSwordRM",-45,0,0,16,0,  6)
FHUB G 1 A_FireCustomMissile("FlameSwordRM",-60,0,0,16,0,  8)
Goto EndSwing
AirSwing:
FHUB G 1 A_FireCustomMissile("FlameSwordRM2",-60,0,0,16,0,  8)
TNT1 A 0 A_FireCustomMissile("FlameSwordRM2",-45,0,0,16,0,  6)
FHUB F 1 A_FireCustomMissile("FlameSwordRM2",-30,0,0,16,0,  4)
TNT1 A 0 A_FireCustomMissile("FlameSwordRM2",-15,0,0,16,0,  2)
FHUB E 1 A_FireCustomMissile("FlameSwordRM2",  0,0,0,16,0,  0)
TNT1 A 0 A_FireCustomMissile("FlameSwordRM2", 15,0,0,16,0, -2)
FHUB D 1 A_FireCustomMissile("FlameSwordRM2", 30,0,0,16,0, -4)
TNT1 A 0 A_FireCustomMissile("FlameSwordRM2", 45,0,0,16,0, -6)
FHUB C 1 A_FireCustomMissile("FlameSwordRM2", 60,0,0,16,0, -8)
EndSwing:
TNT1 A 14 Offset(0,122)
FHUB A 1 Offset(0,122)
FHUB A 1 Offset(0,109)
FHUB A 1 Offset(0,96)
FHUB A 1 Offset(0,85)
FHUB A 1 Offset(0,74)
FHUB A 1 Offset(0,65)
FHUB A 1 Offset(0,56)
FHUB A 1 Offset(0,49)
FHUB A 1 Offset(0,42)
Goto Ready
Altfire:
RATU A 0 A_JumpIfInventory("NoAltfire",1,"Ready")
FHUB A 0 A_CheckFloor("FireSlash")
Goto StatueDrop
FireSlash:
TNT1 A 0 A_JumpIfInventory("BaseAltfireAmmo",112,"FireSlashStartUp")
Goto NoAmmo
NoAmmo:
FHUB A 2 A_GiveInventory("BaseAltfireAmmo",1)
goto Ready
FireSlashStartUp:
TNT1 A 0 A_GiveInventory("NoSpeed",1)
TNT1 A 0 A_PlaySound("weapon/flamesword",2,0.7)
TNT1 A 0 A_GiveInventory("SwordManFireSlashFlag",1)
FHUB P 1 A_stop TNT1 A 0 A_GiveInventory("CutterFlag",1) TNT1 A 0 A_JumpIfInventory("CutterFlag",31,"FireSlashGoPre")
TNT1 A 0 A_SpawnItemEx("FireSlashDamager",0,0,32) TNT1 A 0 ACS_NamedExecute("VC_SetState",0,4)
FHUB Q 1 A_stop TNT1 A 0 A_GiveInventory("CutterFlag",1) TNT1 A 0 A_JumpIfInventory("CutterFlag",31,"FireSlashGoPre")
TNT1 A 0 A_SpawnItemEx("FireSlashDamager",0,0,32) TNT1 A 0 ACS_NamedExecute("VC_SetState",0,5)
FHUB R 1 A_stop TNT1 A 0 A_GiveInventory("CutterFlag",1) TNT1 A 0 A_JumpIfInventory("CutterFlag",31,"FireSlashGoPre")
TNT1 A 0 A_SpawnItemEx("FireSlashDamager",0,0,32) TNT1 A 0 ACS_NamedExecute("VC_SetState",0,6)
FHUB S 1 A_stop TNT1 A 0 A_GiveInventory("CutterFlag",1) TNT1 A 0 A_JumpIfInventory("CutterFlag",31,"FireSlashGoPre")
TNT1 A 0 A_SpawnItemEx("FireSlashDamager",0,0,32) TNT1 A 0 ACS_NamedExecute("VC_SetState",0,7)
loop
FireSlashGoPre:
FHUB P 1 Offset(0,28) A_stop 
TNT1 A 0 A_SpawnItemEx("FireSlashDamager",0,0,32) TNT1 A 0 ACS_NamedExecute("VC_SetState",0,4)
FHUB Q 1 Offset(0,22) A_stop
TNT1 A 0 A_SpawnItemEx("FireSlashDamager",0,0,32) TNT1 A 0 ACS_NamedExecute("VC_SetState",0,5)
FHUB R 1 Offset(0,14) A_stop
TNT1 A 0 A_SpawnItemEx("FireSlashDamager",0,0,32) TNT1 A 0 ACS_NamedExecute("VC_SetState",0,6)
FHUB S 1 Offset(0,4) A_stop
TNT1 A 0 A_SpawnItemEx("FireSlashDamager",0,0,32) TNT1 A 0 ACS_NamedExecute("VC_SetState",0,7)
FireSlashGo:
TNT1 A 0 A_ChangeFlag("INVULNERABLE",True) TNT1 A 0 A_GiveInventory("InvProtection",1)
TNT1 A 0 A_TakeInventory("CutterFlag",999) TNT1 A 0 A_FireCustomMissile("SwordManTorso",0,0,0,0)
FireSlashHold:
TNT1 A 0 A_GiveInventory("SwordTorsoIsMissing",1)
TNT1 A 0 ACS_NamedExecute("VC_SetState",0,8)
TNT1 A 0 A_stop
TNT1 A 0 ChangeCamera(400+TID,0,0)
TNT1 A 1 A_JumpIfInventory("BaseCustomFlag1",1,"FireSlashFinishUp")
loop
FireSlashFinishUp:
TNT1 A 0 A_TakeInventory("SwordTorsoIsMissing",1)
TNT1 A 0 A_TakeInventory("SwordManFireSlashFlag",1)
TNT1 A 0 A_PlaySound("weapon/flamesword",2,0.7) TNT1 A 0 ChangeCamera(0,0,0)
TNT1 A 0 A_ChangeFlag("INVULNERABLE",False) TNT1 A 0 A_TakeInventory("InvProtection",1)
TNT1 A 0 A_SpawnItemEx("FireSlashDamager",0,0,32) TNT1 A 0 ACS_NamedExecute("VC_SetState",0,4)
FHUB P 1 A_stop TNT1 A 0 A_GiveInventory("CutterFlag",1) TNT1 A 0 A_JumpIfInventory("CutterFlag",31,"FireSlashEndPre")
TNT1 A 0 A_SpawnItemEx("FireSlashDamager",0,0,32) TNT1 A 0 ACS_NamedExecute("VC_SetState",0,5)
FHUB Q 1 A_stop TNT1 A 0 A_GiveInventory("CutterFlag",1) TNT1 A 0 A_JumpIfInventory("CutterFlag",31,"FireSlashEndPre")
TNT1 A 0 A_SpawnItemEx("FireSlashDamager",0,0,32) TNT1 A 0 ACS_NamedExecute("VC_SetState",0,6)
FHUB R 1 A_stop TNT1 A 0 A_GiveInventory("CutterFlag",1) TNT1 A 0 A_JumpIfInventory("CutterFlag",31,"FireSlashEndPre")
TNT1 A 0 A_SpawnItemEx("FireSlashDamager",0,0,32) TNT1 A 0 ACS_NamedExecute("VC_SetState",0,7)
FHUB S 1 A_stop TNT1 A 0 A_GiveInventory("CutterFlag",1) TNT1 A 0 A_JumpIfInventory("CutterFlag",31,"FireSlashEndPre")
loop
FireSlashEndPre:
FHUB P 1 Offset(0,4) A_stop 
TNT1 A 0 A_SpawnItemEx("FireSlashDamager",0,0,32) TNT1 A 0 ACS_NamedExecute("VC_SetState",0,4)
FHUB Q 1 Offset(0,14) A_stop
TNT1 A 0 A_SpawnItemEx("FireSlashDamager",0,0,32) TNT1 A 0 ACS_NamedExecute("VC_SetState",0,5)
FHUB R 1 Offset(0,22) A_stop
TNT1 A 0 A_SpawnItemEx("FireSlashDamager",0,0,32) TNT1 A 0 ACS_NamedExecute("VC_SetState",0,6)
FHUB S 1 Offset(0,28) A_stop
TNT1 A 0 A_SpawnItemEx("FireSlashDamager",0,0,32) TNT1 A 0 ACS_NamedExecute("VC_SetState",0,7)
FireSlashEnd:
TNT1 A 0 A_TakeInventory("NoSpeed",1)
FHUB A 1 Offset(0,72)ACS_NamedExecute("VC_SetState",0,0)
FHUB A 1 Offset(0,72)A_TakeInventory("CutterFlag",999)
FHUB A 1 Offset(0,62)A_ChangeFlag("INVULNERABLE",False)
FHUB A 1 Offset(0,52)A_TakeInventory("InvProtection",1)
FHUB A 1 Offset(0,42)A_TakeInventory("BaseCustomFlag1",1)
Goto Ready
StatueDrop:
TNT1 A 0 A_SetGravity(0.0)
FHUB A 1 Offset(5,42)A_Stop TNT1 A 0 ACS_NamedExecute("VC_SetState",0,9)
FHUB A 1 Offset(10,52)A_Stop TNT1 A 0 ACS_NamedExecute("VC_SetState",0,9)
FHUB A 1 Offset(15,62)A_Stop TNT1 A 0 ACS_NamedExecute("VC_SetState",0,9)
FHUB A 1 Offset(20,72)A_Stop TNT1 A 0 ACS_NamedExecute("VC_SetState",0,9)
FHUB A 1 Offset(25,82)A_Stop TNT1 A 0 ACS_NamedExecute("VC_SetState",0,9)
FHUB A 1 Offset(30,92)A_Stop TNT1 A 0 ACS_NamedExecute("VC_SetState",0,9)
FHUB A 1 Offset(35,102)A_Stop TNT1 A 0 ACS_NamedExecute("VC_SetState",0,9)
FHUB A 1 Offset(40,112)A_Stop TNT1 A 0 ACS_NamedExecute("VC_SetState",0,9)
TNT1 A 0 A_TakeInventory("BaseAltfireAmmo",56)
DKC3 P 0 A_FireCustomMissile("StatueDropStart",0,0,0,8)
TNT1 A 0 A_PlaySoundEx("weapon/FireStorm","Weapon")
FHUB O 1 Offset(40,112)A_Stop TNT1 A 0 ACS_NamedExecute("VC_SetState",0,10)
FHUB O 1 Offset(40,112)A_Stop TNT1 A 0 ACS_NamedExecute("VC_SetState",0,10)
FHUB O 1 Offset(40,112)A_Stop TNT1 A 0 ACS_NamedExecute("VC_SetState",0,10)
FHUB O 1 Offset(40,112)A_Stop TNT1 A 0 ACS_NamedExecute("VC_SetState",0,10)
FHUB O 1 Offset(40,112)A_Stop TNT1 A 0 ACS_NamedExecute("VC_SetState",0,10)
FHUB O 1 Offset(40,112)A_Stop TNT1 A 0 ACS_NamedExecute("VC_SetState",0,10)
FHUB A 1 Offset(40,112)A_Stop TNT1 A 0 ACS_NamedExecute("VC_SetState",0,9)
FHUB A 1 Offset(35,102)A_Stop TNT1 A 0 ACS_NamedExecute("VC_SetState",0,9)
FHUB A 1 Offset(30,92)A_Stop TNT1 A 0 ACS_NamedExecute("VC_SetState",0,9)
FHUB A 1 Offset(25,82)A_Stop TNT1 A 0 ACS_NamedExecute("VC_SetState",0,9)
FHUB A 1 Offset(20,72)A_Stop TNT1 A 0 ACS_NamedExecute("VC_SetState",0,9)
FHUB A 1 Offset(15,62)A_Stop TNT1 A 0 ACS_NamedExecute("VC_SetState",0,9)
FHUB A 1 Offset(10,52)A_Stop TNT1 A 0 ACS_NamedExecute("VC_SetState",0,9)
FHUB A 1 Offset(5,42)A_Stop TNT1 A 0 ACS_NamedExecute("VC_SetState",0,9)
TNT1 A 0 ACS_NamedExecute("VC_SetState",0,9) TNT1 A 0 A_GiveInventory("GravityRestore",1)
Goto Ready
User1:
TNT1 A 0 A_TakeInventory("UnSolid",1)
TNT1 A 0 A_PlaySoundEx("weapon/pshot","Weapon") TNT1 A 0 A_PlaySoundEx("weapon/chargekick","Body") TNT1 A 0 A_Stop
TNT1 A 0 ThrustThingZ(0,75,0,1) TNT1 A 0 A_ChangeFlag("THRUACTORS",True) TNT1 A 0 A_GiveInventory("BaseCustomFlag2",1)
DividingStrikeAscend:
TNT1 A 0 A_SpawnItemEx("DividingStrikeDamager",0,0,32) TNT1 A 0 A_SpawnItemEx("RisingStrikeLegsSpawner")
FHUB B 1 ACS_NamedExecute("VC_SetState",0,11) TNT1 A 0 A_JumpIf(momz<=0,"DividingStrikeDescend")
TNT1 A 0 A_GiveInventory("DividingStrikeMovement")//A_ChangeVelocity(18,0,momz,CVF_RELATIVE|CVF_REPLACE)
TNT1 A 0 A_SpawnItemEx("DividingStrikeDamager",0,0,32) TNT1 A 0 A_SpawnItemEx("RisingStrikeLegsSpawner")
FHUB B 1 ACS_NamedExecute("VC_SetState",0,11) TNT1 A 0 A_JumpIf(momz<=0,"DividingStrikeDescend")
TNT1 A 0 A_GiveInventory("DividingStrikeMovement")//A_ChangeVelocity(18,0,momz,CVF_RELATIVE|CVF_REPLACE)
loop
DividingStrikeDescend:
TNT1 A 0 A_SpawnItemEx("DividingStrikeDamager",0,0,32) TNT1 A 0 A_SpawnItemEx("FallingStrikeLegsSpawner")
FHUB B 1 ACS_NamedExecute("VC_SetState",0,11) TNT1 A 0 A_JumpIf(momz>0,"DividingStrikeAscend")
TNT1 A 0 A_GiveInventory("DividingStrikeMovement")//A_ChangeVelocity(18,0,momz,CVF_RELATIVE|CVF_REPLACE)
TNT1 A 0 A_SpawnItemEx("DividingStrikeDamager",0,0,32) TNT1 A 0 A_SpawnItemEx("FallingStrikeLegsSpawner")
FHUB B 1 ACS_NamedExecute("VC_SetState",0,11) TNT1 A 0 A_JumpIf(momz>0,"DividingStrikeAscend")
TNT1 A 0 A_GiveInventory("DividingStrikeMovement")//A_ChangeVelocity(18,0,momz,CVF_RELATIVE|CVF_REPLACE)
TNT1 A 0 A_CheckFloor("DividingStrike")
loop
DividingStrike:
TNT1 A 0 A_PlaySoundEx("weapon/adapterreturn","Body") TNT1 A 0 A_TakeInventory("BaseCustomFlag2",1)
FHUB B 1 Offset(3,32)A_Stop TNT1 A 0 ACS_NamedExecute("VC_SetState",0,1)
FHUB B 1 Offset(3,32)A_Stop TNT1 A 0 ACS_NamedExecute("VC_SetState",0,1)
FHUB B 1 Offset(-3,32)A_Stop TNT1 A 0 ACS_NamedExecute("VC_SetState",0,1)
FHUB B 1 Offset(-3,32)A_Stop TNT1 A 0 ACS_NamedExecute("VC_SetState",0,1)
FHUB B 1 Offset(3,32)A_Stop TNT1 A 0 ACS_NamedExecute("VC_SetState",0,1)
FHUB B 1 Offset(3,32)A_Stop TNT1 A 0 ACS_NamedExecute("VC_SetState",0,1)
FHUB B 1 Offset(-3,32)A_Stop TNT1 A 0 ACS_NamedExecute("VC_SetState",0,1)
FHUB B 1 Offset(-3,32)A_Stop TNT1 A 0 ACS_NamedExecute("VC_SetState",0,1)
FHUB B 1 Offset(3,32)A_Stop TNT1 A 0 ACS_NamedExecute("VC_SetState",0,1)
FHUB B 1 Offset(3,32)A_Stop TNT1 A 0 ACS_NamedExecute("VC_SetState",0,1)
FHUB B 1 Offset(-3,32)A_Stop TNT1 A 0 ACS_NamedExecute("VC_SetState",0,1)
FHUB B 1 Offset(-3,32)A_Stop TNT1 A 0 ACS_NamedExecute("VC_SetState",0,1)
FHUB B 1 Offset(3,32)A_Stop TNT1 A 0 ACS_NamedExecute("VC_SetState",0,1)
FHUB B 1 Offset(3,32)A_Stop TNT1 A 0 ACS_NamedExecute("VC_SetState",0,1)
FHUB B 1 Offset(-3,32)A_Stop TNT1 A 0 ACS_NamedExecute("VC_SetState",0,1)
FHUB B 1 Offset(-3,32)A_Stop TNT1 A 0 ACS_NamedExecute("VC_SetState",0,1)
TNT1 A 0 A_PlaySoundEx("weapon/flamesword","Weapon") TNT1 A 0 A_PlaySoundEx("weapon/SlashManClaw","Body") TNT1 A 0 A_Quake(2,10,0,200)
TNT1 A 0 A_FireCustomMissile("DividingStrikePointBlankDamager",0,0) TNT1 A 0 A_FireCustomMissile("DividingStrikeFlame",0,0)
FHUB B 1 A_Stop TNT1 A 0 ACS_NamedExecute("VC_SetState",0,2)
FHUB C 1 A_Stop TNT1 A 0 ACS_NamedExecute("VC_SetState",0,2)
FHUB D 1 A_Stop TNT1 A 0 ACS_NamedExecute("VC_SetState",0,3)
FHUB E 1 A_Stop TNT1 A 0 ACS_NamedExecute("VC_SetState",0,3)
FHUB F 1 A_Stop TNT1 A 0 ACS_NamedExecute("VC_SetState",0,3)
FHUB G 1 A_Stop TNT1 A 0 ACS_NamedExecute("VC_SetState",0,3)
TNT1 A 1 Offset(0,122)A_Stop TNT1 A 0 ACS_NamedExecute("VC_SetState",0,3)
TNT1 A 1 Offset(0,122)A_Stop TNT1 A 0 ACS_NamedExecute("VC_SetState",0,3)
TNT1 A 1 Offset(0,122)A_Stop TNT1 A 0 ACS_NamedExecute("VC_SetState",0,3)
TNT1 A 1 Offset(0,122)A_Stop TNT1 A 0 ACS_NamedExecute("VC_SetState",0,3)
TNT1 A 1 Offset(0,122)A_Stop TNT1 A 0 ACS_NamedExecute("VC_SetState",0,3)
TNT1 A 1 Offset(0,122)A_Stop TNT1 A 0 ACS_NamedExecute("VC_SetState",0,3)
TNT1 A 1 Offset(0,122)A_Stop TNT1 A 0 ACS_NamedExecute("VC_SetState",0,3)
TNT1 A 1 Offset(0,122)A_Stop TNT1 A 0 ACS_NamedExecute("VC_SetState",0,3)
FHUB A 1 Offset(0,122)A_Stop TNT1 A 0 ACS_NamedExecute("VC_SetState",0,3)
FHUB A 1 Offset(0,109)A_Stop TNT1 A 0 ACS_NamedExecute("VC_SetState",0,3)
FHUB A 1 Offset(0,96)A_Stop TNT1 A 0 ACS_NamedExecute("VC_SetState",0,3)
FHUB A 1 Offset(0,85)A_Stop TNT1 A 0 ACS_NamedExecute("VC_SetState",0,3)
FHUB A 1 Offset(0,74)A_Stop TNT1 A 0 ACS_NamedExecute("VC_SetState",0,3)
FHUB A 1 Offset(0,65)A_Stop TNT1 A 0 ACS_NamedExecute("VC_SetState",0,3) TNT1 A 0 A_ChangeFlag("THRUACTORS",False)
FHUB A 1 Offset(0,56)A_Stop TNT1 A 0 ACS_NamedExecute("VC_SetState",0,3) TNT1 A 0 A_SpawnItemEx("Resolidifier")
FHUB A 1 Offset(0,49)A_Stop TNT1 A 0 ACS_NamedExecute("VC_SetState",0,3) TNT1 A 0 A_GiveInventory("DividingStrikeCoolDown",280)
FHUB A 1 Offset(0,42)A_Stop TNT1 A 0 ACS_NamedExecute("VC_SetState",0,3) TNT1 A 0 A_SpawnItemEx("DividingStrikeCoolDownWatcher")
TNT1 A 0 ACS_NamedExecute("VC_SetState",0,0)
Goto Ready
UltimateAttack:
TNT1 A 0 A_PlaySoundEx("classes/ultimateactivation","Auto") TNT1 A 0 ACS_NamedExecuteAlways("VC_UltimateText",0,71)
TNT1 A 0 A_GiveInventory("PowerUltBuildCooldown",1) TNT1 A 0 A_TakeInventory("UltAttackFlag",1) TNT1 A 0 SetPlayerProperty(0,1,3)
FHUB A 1 Offset(-20,52)A_Stop TNT1 A 0 ACS_NamedExecute("VC_SetState",0,12) TNT1 A 0 A_ChangeFlag("INVULNERABLE",1)//A_GiveInventory("HalfDamageProtection",1)
FHUB A 1 Offset(-40,72)A_Stop TNT1 A 0 ACS_NamedExecute("VC_SetState",0,12) TNT1 A 0 A_GiveInventory("InvProtection",1)//A_GiveInventory("HalfDamageProtection",1)
FHUB A 1 Offset(-60,92)A_Stop TNT1 A 0 ACS_NamedExecute("VC_SetState",0,12)
FHUB A 1 Offset(-80,112)A_Stop TNT1 A 0 ACS_NamedExecute("VC_SetState",0,12)
TNT1 A 0 A_PlaySoundEX("weapon/heatsurge","Body")
FireCycloneHold:
TNT1 AAAAAAAAAAAA 0 A_SpawnItemEx("SwordUltFX2",random(130,138),0,0,0,0,random(20,40),random(0,359))
TNT1 A 0 A_PlaySoundEx("weapon/atomicfire","Weapon") TNT1 A 0 A_SpawnItemEx("FireCyclone",0,0,16,0,0,13) TNT1 A 0 A_Quake(2,7,0,100)
TNT1 AAA 0 A_SpawnItemEx("SwordUltFX",128,0,random(0,40),0,0,0,random(-10,10))
TNT1 AAA 0 A_SpawnItemEx("SwordUltFX",128,0,random(0,40),0,0,0,random(80,100))
TNT1 AAA 0 A_SpawnItemEx("SwordUltFX",128,0,random(0,40),0,0,0,random(170,190))
TNT1 AAA 0 A_SpawnItemEx("SwordUltFX",128,0,random(0,40),0,0,0,random(260,280))
TNT1 A 1 A_Stop TNT1 A 0 ACS_NamedExecute("VC_SetState",0,13) TNT1 A 0 A_JumpIfInventory("MediumUltimateAmmo",1,1) Goto UltEnd
TNT1 A 0 A_TakeInventory("MediumUltimateAmmo",2) TNT1 A 0 A_SpawnItemEx("FireCycloneHitBox")
TNT1 A 1 A_Stop TNT1 A 0 ACS_NamedExecute("VC_SetState",0,13) TNT1 A 0 A_JumpIfInventory("MediumUltimateAmmo",1,1) Goto UltEnd
TNT1 A 0 A_TakeInventory("MediumUltimateAmmo",2) TNT1 A 0 A_SpawnItemEx("FireCycloneHitBox")
TNT1 A 1 A_Stop TNT1 A 0 ACS_NamedExecute("VC_SetState",0,13) TNT1 A 0 A_JumpIfInventory("MediumUltimateAmmo",1,1) Goto UltEnd
TNT1 A 0 A_TakeInventory("MediumUltimateAmmo",2) TNT1 A 0 A_SpawnItemEx("FireCycloneHitBox")
TNT1 AAAAAAAAAAAA 0 A_SpawnItemEx("SwordUltFX2",random(130,138),0,0,0,0,random(20,40),random(0,359))
TNT1 A 0 A_PlaySoundEx("weapon/atomicfire","Weapon")
TNT1 AAA 0 A_SpawnItemEx("SwordUltFX",128,0,random(0,40),0,0,0,random(-10,10))
TNT1 AAA 0 A_SpawnItemEx("SwordUltFX",128,0,random(0,40),0,0,0,random(80,100))
TNT1 AAA 0 A_SpawnItemEx("SwordUltFX",128,0,random(0,40),0,0,0,random(170,190))
TNT1 AAA 0 A_SpawnItemEx("SwordUltFX",128,0,random(0,40),0,0,0,random(260,280))
TNT1 A 1 A_Stop TNT1 A 0 ACS_NamedExecute("VC_SetState",0,12) TNT1 A 0 A_JumpIfInventory("MediumUltimateAmmo",1,1) Goto UltEnd
TNT1 A 0 A_TakeInventory("MediumUltimateAmmo",2) TNT1 A 0 A_SpawnItemEx("FireCycloneHitBox")
TNT1 A 1 A_Stop TNT1 A 0 ACS_NamedExecute("VC_SetState",0,12) TNT1 A 0 A_JumpIfInventory("MediumUltimateAmmo",1,1) Goto UltEnd
TNT1 A 0 A_TakeInventory("MediumUltimateAmmo",2) TNT1 A 0 A_SpawnItemEx("FireCycloneHitBox")
TNT1 A 1 A_Stop TNT1 A 0 ACS_NamedExecute("VC_SetState",0,12) TNT1 A 0 A_JumpIfInventory("MediumUltimateAmmo",1,1) Goto UltEnd
TNT1 A 0 A_TakeInventory("MediumUltimateAmmo",2) TNT1 A 0 A_SpawnItemEx("FireCycloneHitBox")
loop
UltEnd:
FHUB A 1 Offset(-80,112)A_stop TNT1 A 0 ACS_NamedExecute("VC_SetState",0,12)
FHUB A 1 Offset(-60,92)A_stop TNT1 A 0 ACS_NamedExecute("VC_SetState",0,12)
FHUB A 1 Offset(-40,72)A_stop TNT1 A 0 ACS_NamedExecute("VC_SetState",0,12) TNT1 A 0 A_ChangeFlag("INVULNERABLE",0)//TNT1 A 0 A_TakeInventory("HalfDamageProtection",1)
FHUB A 1 Offset(-20,52)A_stop TNT1 A 0 ACS_NamedExecute("VC_SetState",0,12) TNT1 A 0 A_TakeInventory("InvProtection",1)//TNT1 A 0 A_TakeInventory("HalfDamageProtection",1

		
TNT1 A 0 ACS_NamedExecute("VC_SetState",0,0) TNT1 A 0 SetPlayerProperty(0,0,3)
Goto Ready
}
}

actor FlameSwordRM
{
PROJECTILE
+THRUACTORS//+RIPPER
+NOEXPLODEFLOOR
damage (0)
height 5
radius 5
Speed 26
scale 2.5
states
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode",1)
TNT1 AAAAAAAAAA 1 A_SpawnItemEx("FlameSwordTrailRM")
Goto Death
Death:
TNT1 A 0 
TNT1 A 0 A_SpawnItemEx("OilPitIgnite",0,0,8)
stop
}
}

actor FlameSwordRM2 : FlameSwordRM
{
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode",1)
TNT1 AAAAAAAAAA 1 A_SpawnItemEx("FlameSwordTrailRM2")
Goto Death
}
}

actor FlameSwordTrailRM
{
Translation "192:192=219:219","198:198=43:43"
+FORCEXYBILLBOARD
PROJECTILE
height 8
radius 8
speed 20
damage (21) 
damagetype "SwordMan"
Obituary "$OB_SWORDMAN1"
scale 2.5 
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode",1)
X_8C E 0 A_ChangeVelocity(0, -15, 0, CVF_RELATIVE | CVF_REPLACE)
X_8C EFGEFG 1 
stop
}
}

actor FlameSwordTrailRM2 : FlameSwordTrailRM
{
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode",1)
FSWD D 0 A_ChangeVelocity(0, 15, 0, CVF_RELATIVE | CVF_REPLACE)
X_8C EFGEFG 1 
stop
}
}

actor FSSParkSpawnerRM
{
scale 2.5
PROJECTILE
+RIPPER
-SOLID
-NOGRAVITY
+NOINTERACTION
damage (0)
radius 1
height 1
speed 0
ReactionTime 10
states
{
Spawn:
TNT1 A 1 A_SpawnItemEx("FlameSwordSparkRM",Random(0,16),Random(-48, -8),8,random(50,55),random(-15,15),random(0,15),0, 0, 0)
TNT1 A 0 A_SpawnItemEx("FlameSwordSparkRM",Random(0,16),0,8,random(45,55),random(-15,15),random(-15,15),0, 0, 0)
TNT1 A 0 A_SpawnItemEx("FlameSwordSparkRM",Random(0,16),Random(8, 48),8,random(40,55),random(-15,15),random(0,15),0, 0, 0)
TNT1 A 0 A_CountDown
loop
Death:
TNT1 A 0
stop
}
}

actor FlameSwordSparkRM : FlameSwordTrailRM
{
damagetype "SwordMan2"
Obituary "$OB_SWORDMAN1"
+DONTSPLASH
damage (1)
height 2
radius 2
Scale 2.0
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode",1)
X_8C ABCD 1
stop
}
}

actor FlameSwordRMProtect : PowerProtection
{
Powerup.Duration 30
damagefactor "SwordMan", 0.0
}

actor FlameSwordBitRM
{
Translation "192:192=219:219","198:198=43:43"
damage 0
+RIPPER
-NOGRAVITY
+CLIENTSIDEONLY
-SOLID
scale 2.5
Height 2
Radius 2
ReactionTime 5
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode",1)
Spawn2:
X_7H P 2
TNT1 A 2
TNT1 A 0 A_CountDown
loop
Death:
TNT1 A 0
stop
}
}

actor FireSlashDamager : BasicExplosion
{
Obituary "$OB_SWORDMAN2"
damagetype "SwordManAlt"
States
{
Spawn:
TNT1 AA 0
TNT1 A 1 A_Explode(7,96,0,0,48)
stop
}
}

actor FireSlashDamager2 : FireSlashDamager
{
States
{
Spawn:
TNT1 AA 0
TNT1 A 1 A_Explode(10,96,0,0,48)
stop
}
}

actor FireSlashProtect : PowerProtection
{
Powerup.Duration 5
damagefactor "SwordManAlt", 0.0
}

actor SwordManTorso
{
Translation "192:192=219:219","198:198=43:43"
PROJECTILE
-MISSILE
+DONTBLAST
+DONTSPLASH
+NOBLOCKMONST
+SLIDESONWALLS
+NODAMAGETHRUST
Obituary "$OB_SWORDMAN2"
damagetype "SwordManAlt"
Radius 16
Height 26
CameraHeight 18
scale 2.5
damage (0)
speed 0
const int SPD = 22;
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode",1)
TNT1 A 0 Thing_ChangeTID(0,400+ACS_ExecuteWithResult(257,0))
Spawn2:
TNT1 A 0 A_PlaySound("weapon/flamesword",2,0.7)
TNT1 A 0 A_SpawnItemEx("FireSlashDamager2",0,0,32,0,0,0,0,SXF_TRANSFERPOINTERS)
TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0) == 0, "Death")
TNT1 A 0 A_GiveInventory("CutterFlag",2) TNT1 A 0 A_TakeFromTarget("BaseAltfireAmmo",2)
TNT1 A 0 A_SpawnItemEx("SwordManTorsoHitBox",0,0,32,8) TNT1 A 0 A_SpawnItemEx("OilPitIgnite",0,0,-8)
SWO2 A 1 A_JumpIfInventory("CutterFlag",112,"Return") TNT1 A 0 A_GiveInventory("SwordM_Torso_P")
TNT1 A 0 A_SpawnItemEx("FireSlashDamager2",0,0,32,0,0,0,0,SXF_TRANSFERPOINTERS)
TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0) == 0, "Death")
TNT1 A 0 A_SpawnItemEx("SwordManTorsoHitBox",0,0,32,8) TNT1 A 0 A_SpawnItemEx("OilPitIgnite",0,0,-8)
SWO2 B 1 A_JumpIfInventory("CutterFlag",112,"Return") TNT1 A 0 A_GiveInventory("SwordM_Torso_P")
TNT1 A 0 A_SpawnItemEx("FireSlashDamager2",0,0,32,0,0,0,0,SXF_TRANSFERPOINTERS)
TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0) == 0, "Death")
TNT1 A 0 A_GiveInventory("CutterFlag",3) TNT1 A 0 A_TakeFromTarget("BaseAltfireAmmo",3)
TNT1 A 0 A_SpawnItemEx("SwordManTorsoHitBox",0,0,32,8) TNT1 A 0 A_SpawnItemEx("OilPitIgnite",0,0,-8)
SWO2 C 1 A_JumpIfInventory("CutterFlag",112,"Return") TNT1 A 0 A_GiveInventory("SwordM_Torso_P")
TNT1 A 0 A_SpawnItemEx("FireSlashDamager2",0,0,32,0,0,0,0,SXF_TRANSFERPOINTERS)
TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0) == 0, "Death")
TNT1 A 0 A_SpawnItemEx("SwordManTorsoHitBox",0,0,32,8) TNT1 A 0 A_SpawnItemEx("OilPitIgnite",0,0,-8)
SWO2 D 1 A_JumpIfInventory("CutterFlag",112,"Return") TNT1 A 0 A_GiveInventory("SwordM_Torso_P")
loop

Death:
TNT1 A 0
stop

Return:
TNT1 A 0 A_ChangeFlag("MISSILE",1)
TNT1 A 0 A_SpawnItemEx("SwordManTorsoReturn",0,0,0,0,0,0,0,33,0)
stop
}
}

//CBM
actor SwordM_Torso_P : CustomInventory
{
//156 TorsoSpeed
States
{
Pickup:
TNT1 A 0 ACS_NamedExecuteWithResult("cbm_CopyPointerAnglePitch",2,1)
TNT1 A 0 //A_TakeFromTarget("TorsoSpeed",1)
TNT1 A 0 A_JumpIf(Args[1]<1,2)
TNT1 A 0 A_SetArg(1,Args[1]-1)

TNT1 A 0 A_ChangeVelocity(cos(pitch)*22,0,-sin(pitch)*22,3)
TNT1 A 0
stop
}
}

actor SwordManTorsoReturn
{
Translation "192:192=219:219","198:198=43:43"
PROJECTILE
Obituary "$OB_SWORDMAN2"
damagetype "SwordManAlt"
+RIPPER
+SKYEXPLODE
+DONTSPLASH
+HEXENBOUNCE
+NOINTERACTION
+SEEKERMISSILE
+NOTARGETSWITCH
damage (0)
Speed 15
Radius 8
Height 8
scale 2.5
ReactionTime 999
const int RTRN = 32;
const int SEEK = 90;
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode",1)
TNT1 A 0 A_RearrangePointers(AAPTR_DEFAULT,AAPTR_DEFAULT,AAPTR_TARGET)//Target >> Tracer
TNT1 A 0 A_FaceTarget
Goto Spawn2
Spawn2:
TNT1 A 0 A_JumpIfCloser(RTRN,"Returned")
TNT1 A 0 A_PlaySound("weapon/flamesword",2,0.7)
TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0) == 0, "Death")
TNT1 AAAA 0 A_SeekerMissile(SEEK,SEEK,SMF_PRECISE)
SWO2 A 1 A_SpawnItemEx("FireSlashDamager2",0,0,32,0,0,0,0,SXF_TRANSFERPOINTERS)
TNT1 A 0 A_JumpIfCloser(RTRN,"Returned")
TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0) == 0, "Death")
TNT1 AAAA 0 A_SeekerMissile(SEEK,SEEK,SMF_PRECISE)
SWO2 B 1 A_SpawnItemEx("FireSlashDamager2",0,0,32,0,0,0,0,SXF_TRANSFERPOINTERS)
TNT1 A 0 A_JumpIfCloser(RTRN,"Returned")
TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0) == 0, "Death")
TNT1 AAAA 0 A_SeekerMissile(SEEK,SEEK,SMF_PRECISE)
SWO2 C 1 A_SpawnItemEx("FireSlashDamager2",0,0,32,0,0,0,0,SXF_TRANSFERPOINTERS)
TNT1 A 0 A_JumpIfCloser(RTRN,"Returned")
TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0) == 0, "Death")
TNT1 AAAA 0 A_SeekerMissile(SEEK,SEEK,SMF_PRECISE)
SWO2 D 1 A_SpawnItemEx("FireSlashDamager2",0,0,32,0,0,0,0,SXF_TRANSFERPOINTERS)
TNT1 A 0 A_CountDown
loop
Returned:
TNT1 A 0 A_PlaySoundEx("weapon/adapterreturn","Body")
SWO2 A 1 A_GiveToTarget("BaseCustomFlag1",1)
Death:
TNT1 A 1
stop
}
}

actor SwordManTorsoHitBox
{
PROJECTILE
-NOBLOCKMAP
+DONTBLAST
+THRUACTORS
+DONTREFLECT
damage (0)
Speed 0
Radius 16
Height 24
scale 2.5
const int SPD = 6;
States
{
Spawn:
TNT1 A 1
stop
Death:
TNT1 A 1 A_PlaySound("item/protoreflect",2,0.7)
TNT1 AAAAA 0 A_SpawnItemEx("FlameSwordWallTrail",0,0,16,Random(9,18),0,Random(-10,10),Random(0,359))
stop
}
}

actor FlameSwordWallTrail
{
Translation "192:192=219:219","198:198=43:43"
+FORCEXYBILLBOARD
PROJECTILE
height 8
radius 8
damage (0) 
damagetype "SwordManAlt"
Obituary "$OB_SWORDMAN2"
scale 2.5 
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode",1)
X_8C EFGEFG 1 
stop
}
}

actor StatueDropStart : FastProjectile
{
PROJECTILE
+SPECTRAL
Radius 4
Height 4
scale 2.5
-DONTBLAST
+RIPPER
+SKYEXPLODE
speed 600
damage (0)
States
{
Spawn:
TNT1 AA 0
TNT1 A 5
Death:
Death:
TNT1 A 0 A_ChangeFlag("FLOORHUGGER",True)
TNT1 A 1 A_Stop
TNT1 A 0 A_CheckFloor("Death.Floor")
TNT1 A 0 A_CheckCeiling("Death.Ceiling")
Goto Death.wall
Death.Floor:
TNT1 A 0 A_spawnItemEx("StatueDropStart2",0,0,16)
stop
Death.Ceiling:
TNT1 A 0 A_spawnItemEx("StatueDropStart2",0,0,-16)
stop
Death.Wall:
TNT1 A 0 A_spawnItemEx("StatueDropStart2",-16)
stop
}
}

actor StatueDropStart2 : StatueDropStart
{

States
{
Spawn:
TNT1 AA 0
TNT1 A 1 A_SpawnItemEx("StatueDropMark",0,0,0,0,0,100)
stop
}
}

actor StatueDropMark
{
PROJECTILE
+SPECTRAL
+RIPPER
-DONTBLAST
+SKYEXPLODE
radius 2
height 8
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode")
TNT1 AAA 1
Death:
TNT1 A 0 A_SpawnItemEx("SwordManStatue",0,0,-16,0,0,-7)
stop
}
}

actor SwordManStatue
{
PROJECTILE
Obituary "$OB_SWORDMAN3"
damagetype "SwordManAlt2"
-NOGRAVITY
+THRUACTORS
+SKYEXPLODE
+FORCEXYBILLBOARD
damage(0)
speed 30
Radius 4
Height 4
scale 2.5
const int SPD = 18;
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode")
TNT1 A 0 A_PlaySound("misc/catcherdrop",1,0.8)
Spawn2:
STTU A 1
wait
Death:
TNT1 A 0 A_PlaySound("weapon/GutsmanToss", "Weapon")
TNT1 A 0 A_SpawnItemEx("BrokenSwordManStatueA",Random(0,32),0,Random(16,48),Random(6,18),0,Random(6,18),Random(0,359))
TNT1 A 0 A_SpawnItemEx("BrokenSwordManStatueB",Random(0,32),0,Random(16,48),Random(6,18),0,Random(6,18),Random(0,359))
TNT1 A 0 A_SpawnItemEx("BrokenSwordManStatueC",Random(0,32),0,Random(16,48),Random(6,18),0,Random(6,18),Random(0,359))
TNT1 A 0 A_SpawnItemEx("BrokenSwordManStatueD",Random(0,32),0,Random(16,48),Random(6,18),0,Random(6,18),Random(0,359))
TNT1 A 0 A_SpawnItemEx("BrokenSwordManStatueE",Random(0,32),0,Random(16,48),Random(6,18),0,Random(6,18),Random(0,359))
TNT1 A 0 A_PlaySoundEx("misc/quake","weapon")
TNT1 A 0 A_Explode(40,100,0,0,100)
TNT1 A 20 A_Quake(2,20,0,300)
stop
}
}

actor BrokenSwordManStatueA
{
+MISSILE
+RIPPER
+THRUACTORS
+CLIENTSIDEONLY
+FLOORCLIP
Damage (0)
Scale 2.5
Height 5
Radius 5
-NOGRAVITY
+BOUNCEONFLOORS
+DOOMBOUNCE
bouncefactor 0.5
Bouncecount 2
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode")
Spawn2:
STTU B 2
TNT1 A 2
loop
Death:
XDeath:
TNT1 A 0
stop
}
}

actor BrokenSwordManStatueB : BrokenSwordManStatueA
{
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode")
Spawn2:
STTU C 2
TNT1 A 2
loop
}
}

actor BrokenSwordManStatueC : BrokenSwordManStatueA
{
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode")
Spawn2:
STTU D 2
TNT1 A 2
loop
}
}

actor BrokenSwordManStatueD : BrokenSwordManStatueA
{
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode")
Spawn2:
STTU E 2
TNT1 A 2
loop
}
}

actor BrokenSwordManStatueE : BrokenSwordManStatueA
{
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode")
Spawn2:
STTU F 2
TNT1 A 2
loop
}
}

Actor DividingStrikeMovement : BaseMovement
{
states
{
itTimeGo:
TNT1 A 0 A_ChangeVelocity(CallACS("VC_XYMob", 18.0),0,momz,CVF_RELATIVE|CVF_REPLACE)//
stop
}
}

actor DividingStrikeDamager : BasicExplosion
{
Obituary "$OB_SWORDMAN4"
damagetype "SwordManTF"
States
{
Spawn:
TNT1 AA 0
TNT1 A 1 A_Explode(5,64,0,0,32)
stop
}
}

actor DividingStrikeProtect : PowerProtection
{
Powerup.Duration 1
damagefactor "SwordManTF", 0.0
}

actor RisingStrikeLegsSpawner : FastProjectile
{
Translation "192:192=219:219","198:198=43:43"
PROJECTILE
Obituary "$OB_SWORDMAN4"
damagetype "SwordManTF"
+THRUACTORS
+SKYEXPLODE
damage (0)
speed 20
Radius 1
Height 1
scale 2.5
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode")
TNT1 A 1 ThrustThingZ(0,-600,0,1)
wait
Death:
TNT1 A 1
SWOM SS 1 A_SpawnItemEx("DividingStrikeDamager",0,0,16,0,0,0,0)
stop
}
}

actor FallingStrikeLegsSpawner : RisingStrikeLegsSpawner
{
States
{
Death:
TNT1 A 1
SWOM TT 1 A_SpawnItemEx("DividingStrikeDamager",0,0,16,0,0,0,0)
stop
}
}

actor DividingStrikePointBlankDamager
{
species "DustManType"
+THRUSPECIES
Projectile
Scale 2.5
Height 6
Radius 6
damagetype "SwordManTF2"
Obituary "$OB_SWORDMAN4"
States
{
Spawn:
TNT1 A 0
TNT1 A 1 A_Explode(35,96,0,0,48)
stop
}
}

actor SwordManWallRush_CI : CustomInventory
{
states
{
Pickup:
TNT1 A 0 A_JumpIfInventory("NewWallSlam",1,"PickupNo")
TNT1 A 0 A_GiveInventory("NoNewWallSlam",1)
TNT1 A 0 A_GiveInventory("NewWallSlam",1)
TNT1 A 0 A_GiveInventory("WallSlamRealTimer",1)
TNT1 A 0 A_SpawnItemEX("SwordManWallRushChecker")
stop
PickupNo:
TNT1 A 0
stop
}
}

actor SwordManWallRushChecker
{
Height 0
Radius 0
Damage (0)
+NOINTERACTION
+NOCLIP
DamageType "RaThorWallRush"
Obituary "$OB_SWORDMAN4"
PROJECTILE
states
{
Spawn:
TNT1 A 0
TNT1 A 0 A_RearrangePointers(AAPTR_DEFAULT, AAPTR_DEFAULT, AAPTR_TARGET)
TNT1 A 0 A_TransferPointer(AAPTR_TARGET, AAPTR_DEFAULT, AAPTR_TARGET, AAPTR_TARGET)
SpawnStart0:
TNT1 A 0 A_GiveInventory("WallSlamTimer",1)
SpawnStart:
TNT1 A 0 A_GiveInventory("WallSlamTrailPickup",1,AAPTR_TRACER)
TNT1 A 1 A_GiveInventory("WallSlamTimer",1,AAPTR_TRACER)
TNT1 A 0 A_Warp(AAPTR_TRACER,0,0,CallACS("TracerHeightGet")/2,0,0)
TNT1 A 0 A_JumpIfInventory("RaThorWallRush_P",1,"DeathCheck",AAPTR_TRACER)
TNT1 A 0 A_JumpIfInventory("WallSlamRealTimer",1,"SpawnStart",AAPTR_TRACER)
goto Death
DeathCheck:
TNT1 A 0 //A_JumpIfInventory("NewWallSlam",1,"Death",AAPTR_TRACER)
TNT1 A 0 A_SpawnItemEx("RaThorWallBonk")
TNT1 A 0 A_GiveInventory("WallSlamTimer",1)
TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_SpawnItemEx("SwordManSlamRocks",random(-8,8),random(-8,8),random(-8,8),random(-8,8),random(-8,8),random(-8,8))
TNT1 A 0 A_Quake(3,10,0,256)
TNT1 A 0 A_PlaySoundEx("misc/quake","Body")
TNT1 A 0 A_PlaySoundEx("weapon/wallrush","Weapon")
TNT1 A 0 A_Warp(AAPTR_TRACER,0,0,CallACS("TracerHeightGet")/2,0,0)
TNT1 A 0 A_Explode(25,12,0,0,12)
TNT1 A 35
Death:
TNT1 A 2 A_GiveInventory("TempPitProtectEnd_P",1,AAPTR_TRACER)
stop
}
}

actor SwordManSlamRocks : ThorSlamRocks
{
translation "208:208=215:215", "46:46=230:230", "8:8=234:234"
}

actor DividingStrikeFlame
{
PROJECTILE
+THRUACTORS
+FLOORHUGGER
Damage (0)
speed 25
radius 1
height 1
const int SPD = -10;
const int OFS = 15;
States
{
Spawn:
TNT1 AA 0
Spawn2:
TNT1 A 0 A_PlaySoundEx("weapon/flamesword","Weapon")
TNT1 A 1
TNT1 AAAAAAAAAAAA 0 A_SpawnItemEx("FlameSwordTrailRM3",0,0,0,SPD,Random(-OFS,OFS),Random(-OFS,OFS))
TNT1 A 1
TNT1 AAAAAAAAAAAA 0 A_SpawnItemEx("FlameSwordTrailRM3",0,0,0,SPD,Random(-OFS,OFS),Random(-OFS,OFS))
TNT1 A 1
TNT1 AAAAAAAAAAAA 0 A_SpawnItemEx("FlameSwordTrailRM3",0,0,0,SPD,Random(-OFS,OFS),Random(-OFS,OFS))
TNT1 A 1
TNT1 AAAAAAAAAAAA 0 A_SpawnItemEx("FlameSwordTrailRM3",0,0,0,SPD,Random(-OFS,OFS),Random(-OFS,OFS))
TNT1 A 1
TNT1 AAAAAAAAAAAA 0 A_SpawnItemEx("FlameSwordTrailRM3",0,0,0,SPD,Random(-OFS,OFS),Random(-OFS,OFS))
TNT1 A 1
TNT1 AAAAAAAAAAAA 0 A_SpawnItemEx("FlameSwordTrailRM3",0,0,0,SPD,Random(-OFS,OFS),Random(-OFS,OFS))
TNT1 A 0 A_GiveInventory("CutterFlag",1)
TNT1 A 0 A_JumpIfInventory("CutterFlag",4,"Death")
loop
Death:
TNT1 A 0
stop
}
}

actor FlameSwordTrailRM3 : FlameSwordTrailRM
{
+RIPPER
damagetype "SwordManTF"
Obituary "$OB_SWORDMAN4"
Damage (3)
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode",1)
TNT1 A 0 A_SpawnItemEx("OilPitIgnite",0,0,8)
X_8C EFGEFGEFG 1
stop
Death:
TNT1 A 0 A_SpawnItemEx("OilPitIgnite",0,0,-40)
stop
}
}

Actor DividingStrikeCoolDownWatcher
{
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("DividingStrikeCoolDown",1)
TNT1 A 0 A_JumpIfInTargetInventory("DividingStrikeCoolDown",1,"Spawn")
Death:
TNT1 A 1
stop
}
}

actor DividingStrikeCoolDown : Inventory
{
inventory.amount 1
inventory.maxamount 280
}

actor FireCyclone
{
PROJECTILE
+RIPPER
+THRUSPECIES
damagetype "SwordManUlt"
Obituary "$OB_SWORDMAN5"
Species "FireCyclone"
damage (0)
height 1
radius 1
Speed 26
scale 2.5
const int OFS = 80;
states
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode",1)
TNT1 A 0 A_SpawnItemEx("OilPitIgnite",0,0,8)
Spawn2:
FCYC A 1 A_Explode(5,96,0) TNT1 A 0 A_SpawnItemEx("FireCycloneBlocker") TNT1 A 0 A_GiveToTarget("SwordUltBuildCooldownGiver",1)
FCYC B 1 A_Explode(5,96,0) TNT1 A 0 A_SpawnItemEx("FireCycloneBlocker") TNT1 A 0 A_GiveToTarget("SwordUltBuildCooldownGiver",1)
FCYC B 1 A_Explode(5,96,0) TNT1 A 0 A_SpawnItemEx("FireCycloneBlocker") TNT1 A 0 A_GiveToTarget("SwordUltBuildCooldownGiver",1)
FCYC C 1 A_Explode(5,96,0) TNT1 A 0 A_SpawnItemEx("FireCycloneBlocker") TNT1 A 0 A_GiveToTarget("SwordUltBuildCooldownGiver",1)
FCYC C 1 A_Explode(5,96,0) TNT1 A 0 A_SpawnItemEx("FireCycloneBlocker") TNT1 A 0 A_GiveToTarget("SwordUltBuildCooldownGiver",1)
FCYC D 1 A_Explode(5,96,0) TNT1 A 0 A_SpawnItemEx("FireCycloneBlocker") TNT1 A 0 A_GiveToTarget("SwordUltBuildCooldownGiver",1)
FCYC D 1 A_Explode(5,96,0) TNT1 A 0 A_SpawnItemEx("FireCycloneBlocker") TNT1 A 0 A_GiveToTarget("SwordUltBuildCooldownGiver",1)
loop
}
}

actor FireCycloneBlocker
{
PROJECTILE
-NOBLOCKMAP
+GHOST
+NOBLOOD
+DONTRIP
+SHOOTABLE
+NORADIUSDMG
+DONTREFLECT
+THRUSPECIES
Species "FireCyclone"
health 99999
mass 99999
height 40
radius 96
Damage (0)
Speed 0
scale 2.5
painchance 256
States
{
Spawn:
TNT1 AA 0
TNT1 A 1
stop
Pain:
TNT1 A 1 A_PlaySound("weapon/firestorm")
TNT1 A 0 A_SpawnItemEx("FlameSwordBitRM",0,0,0,random(-10,10),random(-10,10),random(10,15),random(0,359))
stop
}
}

actor FireCycloneHitBox : BasicExplosion
{
damagetype "SwordManUlt"
Obituary "$OB_SWORDMAN5"
States
{
Spawn:
TNT1 A 0
TNT1 A 1
TNT1 A 1 ACS_ExecuteAlways(247, 0, 3, 800)//3, 400)
stop
}
}

actor FireCycloneProtect : PowerProtection
{
Powerup.Duration 3
damagefactor "SwordManUlt", 0.0
}

actor SwordUltBuildCooldownGiver : UltBuildCooldownGiver
{
Powerup.Duration 8
}

actor SwordUltFX : BasicClientSide
{
Translation "192:192=219:219","198:198=43:43"
reactiontime 60
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode")
TNT1 A 0 A_SetAngle(angle+90)
loopit:
X_8C E 0 A_CheckCeiling("Death")
X_8C E 0 A_ChangeVelocity(20,0,16,CVF_RELATIVE|CVF_REPLACE)
X_8C E 1 A_SetAngle(angle+9)
X_8C F 0 A_CheckCeiling("Death")
X_8C F 0 A_ChangeVelocity(20,0,16,CVF_RELATIVE|CVF_REPLACE)
X_8C F 1 A_SetAngle(angle+9)
X_8C G 0 A_CheckCeiling("Death")
X_8C G 0 A_ChangeVelocity(20,0,16,CVF_RELATIVE|CVF_REPLACE)
X_8C G 1 A_SetAngle(angle+9)
X_8C G 0 A_Countdown
loop
Death:
X_8C ABCD 2 A_Stop
stop
}
}

actor SwordUltFX2 : SwordUltFX
{
Translation "192:192=215:215","198:198=218:218"
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode")
X_8C AABBCCDD 1 A_ScaleVelocity(0.88)
stop
}
}

actor SwordManFireSlashFlag : VCOnce {}