actor SlashClawBoss : BaseMM8BDMWep_CBM
{
dropitem "SlashClawWepCDropped"
Weapon.AmmoUse 0
Weapon.AmmoGive 56
Weapon.AmmoUse2 0
Weapon.AmmoGive2 0
Weapon.SlotNumber 4
Obituary "$OB_SLASHCLAW"
Inventory.Pickupmessage "Power up! Slash Claw!"
weapon.ammotype "DashAmmo"
weapon.ammotype2 "SlashAmmo"
States
{
Spawn:
C_07 F 1
loop
Ready:
SLSA A 0 ACS_ExecuteAlways(998,0,845)
SLSA A 0 A_JumpIfInventory("DashAmmo",14,"Ready2")
SLSA A 2 A_WeaponReady(WRF_NOSECONDARY)
SLSA A 0 A_JumpIfInventory("SlashDashFlag",1,3)
SLSA A 0 A_GiveInventory("DashAmmo",1)
SLSA A 0 A_TakeInventory("SlashAmmo",2)
SLSA A 0
Goto Ready+1
Ready2:
SLSA A 2 A_WeaponReady
SLSA A 0 A_JumpIfInventory("SlashDashFlag",1,3)
SLSA A 0 A_GiveInventory("DashAmmo",1)
SLSA A 0 A_TakeInventory("SlashAmmo",2)
SLSA A 0
loop
Deselect:
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower
SLSA A 1 A_Lower
Loop
Select:
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise
SLSA A 1 A_Raise
Loop
Fire:
SLSA A 1 offset(15,47)
SLSA A 1 offset(30,62)
SLSA A 1 offset(45,77)
SLSA B 1 offset(91,-33)
//SLSA A 1 offset(0,92)
//SLSA BC 2
SLSA A 0 A_JumpIfInventory("SlashAmmo",49,"Fire8")
SLSA A 0 A_JumpIfInventory("SlashAmmo",42,"Fire7")
SLSA A 0 A_JumpIfInventory("SlashAmmo",35,"Fire6")
SLSA A 0 A_JumpIfInventory("SlashAmmo",28,"Fire5")
SLSA A 0 A_JumpIfInventory("SlashAmmo",21,"Fire4")
SLSA A 0 A_JumpIfInventory("SlashAmmo",14,"Fire3")
SLSA A 0 A_JumpIfInventory("SlashAmmo",7,"Fire2")
goto Fire1
Fire8:
SLSA A 0 A_PlaySoundEx("weapon/SlashDClaw","Weapon")
SLSA A 0 A_GiveInventory("SlashmanMain8_CI",1)
goto SlashEnd
Fire7:
SLSA A 0 A_PlaySoundEx("weapon/SlashDClaw","Weapon")
SLSA A 0 A_GiveInventory("SlashmanMain7_CI",1)
goto SlashEnd
Fire6:
SLSA A 0 A_PlaySoundEx("weapon/SlashDClaw","Weapon")
SLSA A 0 A_GiveInventory("SlashmanMain6_CI",1)
goto SlashEnd
Fire5:
SLSA A 0 A_PlaySoundEx("weapon/SlashDClaw","Weapon")
SLSA A 0 A_GiveInventory("SlashmanMain5_CI",1)
goto SlashEnd
Fire4:
SLSA A 0 A_PlaySoundEx("weapon/SlashClaw","Weapon")
SLSA A 0 A_GiveInventory("SlashmanMain4_CI",1)
goto SlashEnd
Fire3:
SLSA A 0 A_PlaySoundEx("weapon/SlashClaw","Weapon")
SLSA A 0 A_GiveInventory("SlashmanMain3_CI",1)
goto SlashEnd
Fire2:
SLSA A 0 A_PlaySoundEx("weapon/SlashClaw","Weapon")
SLSA A 0 A_GiveInventory("SlashmanMain2_CI",1)
goto SlashEnd
Fire1:
SLSA A 0 A_PlaySoundEx("weapon/slashClaw","Weapon")
SLSA A 0 A_GiveInventory("SlashmanMain1_CI",1)
goto SlashEnd
SlashEnd:
SLSA A 0 A_TakeInventory("SlashAmmo",56)
//SLSA DEFG 2
SLSA B 1 offset(45,-18)
SLSA B 1 offset(1,-3)
SLSA B 1 offset(-14,12)
SLSA B 1 offset(-29,27)
SLSA B 1 offset(-44,42)
SLSA B 1 offset(-59,57)
SLSA B 1 offset(-79,77)
SLSA B 1 offset(-99,97)
SLSA A 0 A_JumpIfInventory("SlashDashFlag",1,2)
SLSA A 0 A_GiveInventory("DashAmmo",1)
//SLSA B 2
SLSA B 1 offset(-119,117)
SLSA B 1 offset(-139,137)
SLSA A 0 A_JumpIfInventory("SlashDashFlag",1,2)
SLSA A 0 A_GiveInventory("DashAmmo",1)
//SLSA B 2
SLSA A 1 offset(-20,132)
SLSA A 1 offset(-18,122)
SLSA A 0 A_JumpIfInventory("SlashDashFlag",1,2)
SLSA A 0 A_GiveInventory("DashAmmo",1)
//SLSA A 2
SLSA A 1 offset(-16,112)
SLSA A 1 offset(-14,102)
SLSA A 0 A_JumpIfInventory("SlashDashFlag",1,2)
SLSA A 0 A_GiveInventory("DashAmmo",1)
//SLSA A 2
SLSA A 1 offset(-12,92)
SLSA A 1 offset(-10,82)
SLSA A 0 A_JumpIfInventory("SlashDashFlag",1,2)
SLSA A 0 A_GiveInventory("DashAmmo",1)
//SLSA A 2
SLSA A 1 offset(-8,72)
SLSA A 1 offset(-6,62)
SLSA A 0 A_JumpIfInventory("SlashDashFlag",1,2)
SLSA A 0 A_GiveInventory("DashAmmo",1)
//SLSA A 2
SLSA A 1 offset(-4,52)
SLSA A 1 offset(-2,42)
Goto Ready+1
Altfire:
SLSA A 0 A_JumpIfInventory("DashAmmo",14,"Dash")
Goto Ready+1
Dash:
SLSA A 0 A_TakeInventory("DashAmmo",14)
SLSA A 0 A_GiveInventory("SlashDashFlag",1)
//SLSA A 0 A_ScaleVelocity(0.5)
//SLSA A 0 A_ChangeVelocity(cos(pitch)*40,0,-sin(pitch)*25,1)
SLSA A 0 A_ChangeVelocity(cos(pitch)*40,0,-sin(pitch)*25,3)
goto Dash2
Dash2:
SLSA A 0 A_PlaySoundEx("weapon/SlashDash","Body")
SLSA A 0 A_SpawnItemEx("SlashThrustFX",0,0,8,0,0,0,0,1,0)
SLSA A 0 A_SpawnItemEx("SlashGoop",0,0,0,momx*1.2,momy*1.2,momz*1.2,0,9,0)
SLSA A 0 A_SpawnItemEx("SlashGoop",0,0,0,momx*0.8,momy*0.8,momz*0.8,0,9,0)
//SLSA B 0 A_TakeInventory("JumpCancler",1)
//SLSA BBB 2 A_GiveInventory("SlashAmmo",2)
SLSA B 1 offset(15,47)A_GiveInventory("SlashAmmo",2)
SLSA B 1 offset(30,62)
SLSA B 1 offset(45,77)A_GiveInventory("SlashAmmo",2)
SLSA B 1 offset(45,77)
SLSA B 1 offset(30,62)A_GiveInventory("SlashAmmo",2)
SLSA B 1 offset(15,47)
SLSA B 0 A_GiveInventory("SlashAmmo",2)
SLSA B 2 A_WeaponReady(WRF_NOSECONDARY)
SLSA B 0 A_GiveInventory("SlashAmmo",2)
SLSA B 2 A_WeaponReady(WRF_NOSECONDARY)
SLSA B 0 A_GiveInventory("SlashAmmo",2)
SLSA B 2 A_WeaponReady(WRF_NOSECONDARY)
SLSA B 0 A_GiveInventory("SlashAmmo",2)
SLSA B 2 A_WeaponReady(WRF_NOSECONDARY)
Goto Ready+1
NoAmmo:
SLSA A 0
//SLSA A 1 ACS_Execute(979,0)
Goto Ready+1
}
}

actor SlashDashFlag : Powerup
{
Powerup.Duration 50
}

actor DashAmmo : Ammo
{
inventory.amount 1
inventory.maxamount 56
+INVENTORY.IGNORESKILL
}

actor SlashAmmo : Ammo
{
inventory.amount 1
inventory.maxamount 56
+INVENTORY.IGNORESKILL
}

actor SlashThrustFX
{
Scale 2.5
height 1
radius 1
-SOLID
+NOBLOCKMONST
+NOGRAVITY
+CLIENTSIDEONLY
+DONTBLAST
+NOINTERACTION
+NOTIMEFREEZE
States
{
Spawn:
SLSA DEFG 4
stop
}
}

actor SlasherClawBoss : SlashClaw
{
Translation "202:202=4:4","199:199=210:210"

Bouncetype Hexen
+DONTSPLASH
+NOEXPLODEFLOOR
Bouncecount 2
BounceFactor 1.0
WallBounceFactor 1.0
//Translation "0:255=4:4"
speed 18
}


actor SlasherClawBoss1 : SlasherClawBoss
{
States
{
Spawn:
SLSA HIJKL 1 A_Explode(10,90,0)
stop
}
}
actor SlasherClawBoss1B : SlasherClawBoss1{translation "202:202=205:205", "199:199=74:74"}
actor SlasherClawBoss1R : SlasherClawBoss1{translation "202:202=171:171", "199:199=41:41"}
actor SlasherClawBoss1O : SlasherClawBoss1{translation "202:202=104:104", "199:199=128:128"}
actor SlasherClawBoss1P : SlasherClawBoss1{translation "202:202=229:229", "199:199=232:232"}

actor SlasherClawBoss2 : SlasherClawBoss
{
States
{
Spawn:
SLSA HIJKL 1 A_Explode(12,93,0)
stop
}
}
actor SlasherClawBoss2B : SlasherClawBoss2{translation "202:202=205:205", "199:199=74:74"}
actor SlasherClawBoss2R : SlasherClawBoss2{translation "202:202=171:171", "199:199=41:41"}
actor SlasherClawBoss2O : SlasherClawBoss2{translation "202:202=104:104", "199:199=128:128"}
actor SlasherClawBoss2P : SlasherClawBoss2{translation "202:202=229:229", "199:199=232:232"}

actor SlasherClawBoss3 : SlasherClawBoss
{
States
{
Spawn:
SLSA HIJKL 1 A_Explode(14,96,0)
stop
}
}
actor SlasherClawBoss3B : SlasherClawBoss3{translation "202:202=205:205", "199:199=74:74"}
actor SlasherClawBoss3R : SlasherClawBoss3{translation "202:202=171:171", "199:199=41:41"}
actor SlasherClawBoss3O : SlasherClawBoss3{translation "202:202=104:104", "199:199=128:128"}
actor SlasherClawBoss3P : SlasherClawBoss3{translation "202:202=229:229", "199:199=232:232"}

actor SlasherClawBoss4 : SlasherClawBoss
{
States
{
Spawn:
SLSA HIJKL 1 A_Explode(16,99,0)
stop
}
}
actor SlasherClawBoss4B : SlasherClawBoss4{translation "202:202=205:205", "199:199=74:74"}
actor SlasherClawBoss4R : SlasherClawBoss4{translation "202:202=171:171", "199:199=41:41"}
actor SlasherClawBoss4O : SlasherClawBoss4{translation "202:202=104:104", "199:199=128:128"}
actor SlasherClawBoss4P : SlasherClawBoss4{translation "202:202=229:229", "199:199=232:232"}

actor SlasherClawBoss5 : SlasherClawBoss
{
States
{
Spawn:
SLSA HIJKL 1 A_Explode(18,102,0)
stop
}
}
actor SlasherClawBoss5B : SlasherClawBoss5{translation "202:202=205:205", "199:199=74:74"}
actor SlasherClawBoss5R : SlasherClawBoss5{translation "202:202=171:171", "199:199=41:41"}
actor SlasherClawBoss5O : SlasherClawBoss5{translation "202:202=104:104", "199:199=128:128"}
actor SlasherClawBoss5P : SlasherClawBoss5{translation "202:202=229:229", "199:199=232:232"}

actor SlasherClawBoss6 : SlasherClawBoss
{
States
{
Spawn:
SLSA HIJKL 1 A_Explode(20,105,0)
stop
}
}
actor SlasherClawBoss6B : SlasherClawBoss6{translation "202:202=205:205", "199:199=74:74"}
actor SlasherClawBoss6R : SlasherClawBoss6{translation "202:202=171:171", "199:199=41:41"}
actor SlasherClawBoss6O : SlasherClawBoss6{translation "202:202=104:104", "199:199=128:128"}
actor SlasherClawBoss6P : SlasherClawBoss6{translation "202:202=229:229", "199:199=232:232"}

actor SlasherClawBoss7 : SlasherClawBoss
{
States
{
Spawn:
SLSA HIJKL 1 A_Explode(22,108,0)
stop
}
}
actor SlasherClawBoss7B : SlasherClawBoss7{translation "202:202=205:205", "199:199=74:74"}
actor SlasherClawBoss7R : SlasherClawBoss7{translation "202:202=171:171", "199:199=41:41"}
actor SlasherClawBoss7O : SlasherClawBoss7{translation "202:202=104:104", "199:199=128:128"}
actor SlasherClawBoss7P : SlasherClawBoss7{translation "202:202=229:229", "199:199=232:232"}

actor SlasherClawBoss8 : SlasherClawBoss
{
States
{
Spawn:
SLSA HIJKL 1 A_Explode(24,111,0)
stop
}
}
actor SlasherClawBoss8B : SlasherClawBoss8{translation "202:202=205:205", "199:199=74:74"}
actor SlasherClawBoss8R : SlasherClawBoss8{translation "202:202=171:171", "199:199=41:41"}
actor SlasherClawBoss8O : SlasherClawBoss8{translation "202:202=104:104", "199:199=128:128"}
actor SlasherClawBoss8P : SlasherClawBoss8{translation "202:202=229:229", "199:199=232:232"}

actor SlashGoop
{
Translation "202:202=4:4","199:199=210:210", "195:195=43:43", "204:204=219:219"
PROJECTILE
-NOGRAVITY
Obituary "$OB_SLASHGOOP"
Damagetype "NeutralShockW"
scale 2.5
radius 10
height 10
damage (5)
speed 25
states
{
Spawn:
SLSA Q 1
loop
Crash:
XDeath:
SLSA Q 1
stop
Death:
SLSA Q 0
SLSA Q 0 A_JumpIf(z-floorz<=0,"Death2")
SLSA Q 1 A_GiveInventory("CutterFlag", 1)
SLSA Q 0 A_JumpIfInventory("CutterFlag", 175, "Xdeath")
loop
Death2:
SLSA Q 0 A_PlaySoundEx("weapon/SlashGoop","Weapon")
SLSA Q 1 A_SpawnItemEx("SlashGoop2",0,0,0,0,0,0,0,1)
stop
}
}

actor SlashGoop2 : SlashGoop
{
+DONTBLAST
Damagetype "NeutralShock"
damage (5)
+NOGRAVITY
reactiontime 215
Speed 0
states
{
Spawn:
SLSA RVW 3
//TNT1 A 0 A_ChangeFlag("NOINTERACTION", 0)
Spawn2:
SLSA X 1
SLSA X 0 A_CountDown
loop
Death:
TNT1 A 0 A_PlaySoundEx("weapon/SlashGoop","Weapon")
TNT1 A 0 A_SpawnItemEx("SlashGoop3",0,0,0,2,2,4,0,1)
TNT1 A 0 A_SpawnItemEx("SlashGoop3",0,0,0,2,2,4,90,1)
TNT1 A 0 A_SpawnItemEx("SlashGoop3",0,0,0,2,2,4,-90,1)
TNT1 A 1 A_SpawnItemEx("SlashGoop3",0,0,0,2,2,4,180,1)
stop
}
}

actor SlashGoop3
{
-SOLID
-NOGRAVITY
+NOINTERACTION
+CLIENTSIDEONLY
+DONTBLAST
scale 2.5
states
{
Spawn:
SLSA S 0
SLSA STU 4 ThrustThingZ(0,14,1,1)
stop
}
}

actor SlashmanMain1_CI : TeamColor_CI{states{
FireX:TNT1 A 0 A_FireCustomMissile("SlasherClawBoss1" ,0,0,11,-8)goto Done
FireB:TNT1 A 0 A_FireCustomMissile("SlasherClawBoss1B",0,0,11,-8)goto Done
FireR:TNT1 A 0 A_FireCustomMissile("SlasherClawBoss1R",0,0,11,-8)goto Done
FireO:TNT1 A 0 A_FireCustomMissile("SlasherClawBoss1O",0,0,11,-8)goto Done
FireP:TNT1 A 0 A_FireCustomMissile("SlasherClawBoss1P",0,0,11,-8)goto Done}}
actor SlashmanMain2_CI : TeamColor_CI{states{
FireX:TNT1 A 0 A_FireCustomMissile("SlasherClawBoss2" ,0,0,11,-8)goto Done
FireB:TNT1 A 0 A_FireCustomMissile("SlasherClawBoss2B",0,0,11,-8)goto Done
FireR:TNT1 A 0 A_FireCustomMissile("SlasherClawBoss2R",0,0,11,-8)goto Done
FireO:TNT1 A 0 A_FireCustomMissile("SlasherClawBoss2O",0,0,11,-8)goto Done
FireP:TNT1 A 0 A_FireCustomMissile("SlasherClawBoss2P",0,0,11,-8)goto Done}}
actor SlashmanMain3_CI : TeamColor_CI{states{
FireX:TNT1 A 0 A_FireCustomMissile("SlasherClawBoss3" ,0,0,11,-8)goto Done
FireB:TNT1 A 0 A_FireCustomMissile("SlasherClawBoss3B",0,0,11,-8)goto Done
FireR:TNT1 A 0 A_FireCustomMissile("SlasherClawBoss3R",0,0,11,-8)goto Done
FireO:TNT1 A 0 A_FireCustomMissile("SlasherClawBoss3O",0,0,11,-8)goto Done
FireP:TNT1 A 0 A_FireCustomMissile("SlasherClawBoss3P",0,0,11,-8)goto Done}}
actor SlashmanMain4_CI : TeamColor_CI{states{
FireX:TNT1 A 0 A_FireCustomMissile("SlasherClawBoss4" ,0,0,11,-8)goto Done
FireB:TNT1 A 0 A_FireCustomMissile("SlasherClawBoss4B",0,0,11,-8)goto Done
FireR:TNT1 A 0 A_FireCustomMissile("SlasherClawBoss4R",0,0,11,-8)goto Done
FireO:TNT1 A 0 A_FireCustomMissile("SlasherClawBoss4O",0,0,11,-8)goto Done
FireP:TNT1 A 0 A_FireCustomMissile("SlasherClawBoss4P",0,0,11,-8)goto Done}}
actor SlashmanMain5_CI : TeamColor_CI{states{
FireX:TNT1 A 0 A_FireCustomMissile("SlasherClawBoss5" ,0,0,11,-8)goto Done
FireB:TNT1 A 0 A_FireCustomMissile("SlasherClawBoss5B",0,0,11,-8)goto Done
FireR:TNT1 A 0 A_FireCustomMissile("SlasherClawBoss5R",0,0,11,-8)goto Done
FireO:TNT1 A 0 A_FireCustomMissile("SlasherClawBoss5O",0,0,11,-8)goto Done
FireP:TNT1 A 0 A_FireCustomMissile("SlasherClawBoss5P",0,0,11,-8)goto Done}}
actor SlashmanMain6_CI : TeamColor_CI{states{
FireX:TNT1 A 0 A_FireCustomMissile("SlasherClawBoss6" ,0,0,11,-8)goto Done
FireB:TNT1 A 0 A_FireCustomMissile("SlasherClawBoss6B",0,0,11,-8)goto Done
FireR:TNT1 A 0 A_FireCustomMissile("SlasherClawBoss6R",0,0,11,-8)goto Done
FireO:TNT1 A 0 A_FireCustomMissile("SlasherClawBoss6O",0,0,11,-8)goto Done
FireP:TNT1 A 0 A_FireCustomMissile("SlasherClawBoss6P",0,0,11,-8)goto Done}}
actor SlashmanMain7_CI : TeamColor_CI{states{
FireX:TNT1 A 0 A_FireCustomMissile("SlasherClawBoss7" ,0,0,11,-8)goto Done
FireB:TNT1 A 0 A_FireCustomMissile("SlasherClawBoss7B",0,0,11,-8)goto Done
FireR:TNT1 A 0 A_FireCustomMissile("SlasherClawBoss7R",0,0,11,-8)goto Done
FireO:TNT1 A 0 A_FireCustomMissile("SlasherClawBoss7O",0,0,11,-8)goto Done
FireP:TNT1 A 0 A_FireCustomMissile("SlasherClawBoss7P",0,0,11,-8)goto Done}}
actor SlashmanMain8_CI : TeamColor_CI{states{
FireX:TNT1 A 0 A_FireCustomMissile("SlasherClawBoss8" ,0,0,11,-8)goto Done
FireB:TNT1 A 0 A_FireCustomMissile("SlasherClawBoss8B",0,0,11,-8)goto Done
FireR:TNT1 A 0 A_FireCustomMissile("SlasherClawBoss8R",0,0,11,-8)goto Done
FireO:TNT1 A 0 A_FireCustomMissile("SlasherClawBoss8O",0,0,11,-8)goto Done
FireP:TNT1 A 0 A_FireCustomMissile("SlasherClawBoss8P",0,0,11,-8)goto Done}}

