actor HardKnuckleBoss : BaseMM8BDMWep_CBM
{
tag "$TAGC_3D"
dropitem "HardKnuckleWepCDropped"
Weapon.AmmoUse 0
Weapon.AmmoGive 28
Obituary "$OB_HARDKNUCKLE"
weapon.ammotype "LandFlattenAmmo"
States
{
Spawn:
C_03 D 1
loop
Ready:
HFIS A 0 ACS_ExecuteAlways(998,0,DYE_HARDMAN)
HFIS A 0 A_GunFlash
HFIS A 0 A_GiveInventory("HardM_HasFist",1)
HFIS A 0 A_GiveInventory("HardM_HasFist2",1)
goto Ready2
Ready2:
HFIS A 0 A_JumpIfInventory("LandFlattenAmmo",28,"Ready3")
HFIS A 10 A_WeaponReady(8)
HFIS A 0 A_GiveInventory("LandFlattenAmmo",2)
loop
Ready3:
HFIS A 10 A_WeaponReady
HFIS A 0 A_GiveInventory("LandFlattenAmmo",2)
loop
ReadyFistWait:
HFIS E 0 A_GiveInventory("MissingFist",1)
HFIS E 0 A_JumpIfInventory("MissingFist",40,"ReadyFistRefund")
HFIS E 0 A_JumpIfInventory("HardM_HasFist",1,"Ready2")
HFIS E 0 A_JumpIfInventory("LandFlattenAmmo",28,2)
HFIS E 1 A_WeaponReady(8)
Goto ReadyFistWait
HFIS E 1 A_WeaponReady
Goto ReadyFistWait
ReadyFistRefund:
HFIS A 0 A_GiveInventory("HardM_HasFist",1)
goto Ready2

Deselect:
HFIS AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower
HFIS A 1 A_Lower
Loop
Select:
HFIS AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise
HFIS A 1 A_Raise
Loop

Fire:
HFIS A 0 A_JumpIfInventory("IsBot",1,"BotFire")
HFIS A 0 A_JumpIfInventory("HardM_HasFist",1,"FireFist_R")
HFIS A 0 A_JumpIfInventory("HardM_HasFist2",1,"FireFist_L")
Goto ReadyFistWait
FireFist_R:
HFIS A 0 A_PlaySound("weapon/HardFistFire",1,0.70)
HFIS A 0 A_TakeInventory("MissingFist",999)
HFIS A 0 A_TakeInventory("HardM_HasFist",1)
HFIS B 3 A_SpawnItemEx("HardmanKnuckleFiringFX1",3,10,32,0,0,0,0,1)
HFIS C 3
HFIS D 3 A_GiveInventory("HardmanMain_CI",1)
HFIS E 18
Goto ReadyFistWait
FireFist_L:
HFIS A 0 A_GiveInventory("HardM_AltFist",1)
goto FireFist_LWait
FireFist_LWait:
HFIS E 0 A_JumpIfInventory("HardM_HasFist",1,"FireFist_LWait2")
HFIS E 1 A_RailWait
HFIS E 0 A_JumpIfInventory("HardM_AltFist",1,"FireFist_LWait")
goto ReadyFistWait
FireFist_LWait2:
HFIS A 1 A_RailWait
HFIS A 0 A_JumpIfInventory("HardM_AltFist",1,"FireFist_LWait2")
goto Ready2
Altfire:
HFIS A 0 A_JumpIfInventory("Quaking",1,"QuakeBoost")
HFIS A 0 A_JumpIfInventory("LandFlattenAmmo",28,"QuakeStart")
HFIS A 0 A_JumpIfInventory("HardM_HasFist",1,"Ready2")
Goto ReadyFistWait
QuakeStart:
HFIS A 0 A_GunFlash("Flash.QuakeStart")
HFIS A 0 A_GiveInventory("HardM_AltStart_P")
HFIS A 0 A_Refire(1)
HFIS A 0 A_JumpIfInventory("HardM_HasFist",1,"QuakeStart2")
HFIS HI 2 A_SpawnItemEX("HardmanBoosterFX",-8,0,-8,0,0,-1,0,1)
TNT1 A 0 A_GiveInventory("Quaking_RC",1)
goto QuakeContinue
QuakeStart2:
HFIS FG 2 A_SpawnItemEX("HardmanBoosterFX",-8,0,-8,0,0,-1,0,1)
TNT1 A 0 A_GiveInventory("Quaking_RC",1)
goto QuakeContinue
QuakeContinue:
TNT1 A 1 A_Refire("QuakeBoost")//A_WeaponReady(WRF_NOSWITCH|WRF_NOPRIMARY)
TNT1 A 0 A_JumpIf(momz<=0,"QuakeDown")
loop
QuakeContinue2:
TNT1 A 1 A_JumpIf(momz<=0,"QuakeDown")
TNT1 A 0 A_Refire("QuakeContinue2")
loop
QuakeBoost:
TNT1 A 0 A_JumpIfInventory("LandFlattenAmmo",1,"QuakeBoost2")
goto QuakeContinue2
QuakeBoost2:
TNT1 A 3 A_GiveInventory("HardM_AltThrust_P")
goto QuakeContinue
QuakeDown:
TNT1 A 0 A_GiveInventory("HardM_AltCrush_P")
TNT1 A 0 A_JumpIf(z-floorz==0,"QuakeCrash")
TNT1 A 0 A_JumpIfInventory("Quaking",999,"QuakeCrash")
TNT1 A 1
loop
QuakeCrash:
TNT1 A 0 A_JumpIfInventory("IsBot",1,"BotQuakeCrash")
TNT1 A 0 A_Quake(7,20,0,300,0)
TNT1 A 0 A_PlaySoundEX("weapon/hardquakeland","Weapon")
TNT1 A 0 A_GiveInventory("Hardman_FloorQuake_P",1)
TNT1 A 0 A_GiveInventory("VivifyDelay10",1)
TNT1 A 0 A_JumpIfInventory("PowerRage_ST",1,5)
TNT1 AAAAAAAAA 1 A_Stop
TNT1 A 0 A_TakeInventory("PowerHardBoostSpeed",99)
TNT1 A 0 A_TakeInventory("VivifyDelay10",1)
TNT1 A 0 A_GiveInventory("VivifyDelay5",1)
HFIS H 0 A_TakeInventory("Quaking",999)
TNT1 A 0 A_JumpIfInventory("HardM_HasFist",1,"QuakeCrash2")
HFIS IIH 1 A_Stop
HFIS H 0 A_TakeInventory("Quaking",999)
HFIS H 0 A_GiveInventory("LadderEnable",1)
HFIS H 1 ThrustThingZ(0,30,0,0)
HFIS A 0 A_TakeInventory("LandFlattenAmmo",28,1)
TNT1 A 0 A_JumpIfInventory("HardM_HasFist",1,"Ready2")
goto ReadyFistWait
QuakeCrash2:
HFIS GGF 1 A_Stop
HFIS F 0 A_TakeInventory("Quaking",999)
HFIS F 0 A_GiveInventory("LadderEnable",1)
HFIS F 1 ThrustThingZ(0,30,0,0)
HFIS A 0 A_TakeInventory("LandFlattenAmmo",28,1)
goto Ready2


Flash:
HFI2 A 0 A_JumpIfInventory("IsDead",1,"NoFlash")
HFI2 A 0 A_JumpIfInventory("PowerRage_ST",1,2)
HFI2 AA 1 A_JumpIfInventory("HardM_AltFist",1,"Flash.FireFist")
HFI2 A 0 A_JumpIfInventory("PowerRage_ST",1,2)
HFI2 AA 1 A_JumpIfInventory("HardM_AltFist",1,"Flash.FireFist")
HFI2 A 0 A_JumpIfInventory("PowerRage_ST",1,2)
HFI2 AA 1 A_JumpIfInventory("HardM_AltFist",1,"Flash.FireFist")
HFI2 A 0 A_JumpIfInventory("PowerRage_ST",1,2)
HFI2 AA 1 A_JumpIfInventory("HardM_AltFist",1,"Flash.FireFist")
HFI2 A 0 A_JumpIfInventory("PowerRage_ST",1,2)
HFI2 AA 1 A_JumpIfInventory("HardM_AltFist",1,"Flash.FireFist")
HFI2 A 0 A_GiveInventory("LandFlattenAmmo",2)
loop
Flash.FireFist:
HFI2 A 0 A_PlaySound("weapon/HardFistFire",1,0.70)
HFI2 A 0 A_TakeInventory("MissingFist2",999)
HFI2 A 0 A_TakeInventory("HardM_HasFist2",1)
HFI2 B 3 A_SpawnItemEx("HardmanKnuckleFiringFX2",3,-10,32,0,0,0,0,1)
HFI2 C 3
HFI2 D 3 A_GiveInventory("HardmanMain2_CI",1)
HFI2 E 0 A_JumpIfInventory("IsDead",1,"NoFlash")
HFI2 E 18
HFI2 A 0 A_TakeInventory("HardM_AltFist",1)
goto Flash.FistWait
Flash.FistWait:
HFI2 E 0 A_GiveInventory("MissingFist2",1)
HFI2 E 0 A_JumpIfInventory("IsDead",1,"NoFlash")
HFI2 E 0 A_JumpIfInventory("MissingFist2",40,"Flash.FistRefund")
HFI2 E 0 A_JumpIfInventory("HardM_HasFist2",1,"Flash")
HFI2 E 1
loop
Flash.FistRefund:
HFI2 A 0 A_GiveInventory("HardM_HasFist2",1)
goto Flash
Flash.QuakeStart:
HFIS H 0 A_JumpIfInventory("HardM_HasFist2",1,3)
HFI2 HI 2
goto Flash.QuakeWait
HFI2 FG 2
goto Flash.QuakeWait
Flash.QuakeWait:
TNT1 A 1
TNT1 A 0 A_JumpIfInventory("IsDead",1,"NoFlash")
TNT1 A 0 A_JumpIfInventory("Quaking",1,"Flash.QuakeWait")
TNT1 A 0 A_JumpIfInventory("HardM_HasFist2",1,3)
HFI2 IH 2
goto Flash.FistWait
HFI2 GF 2
goto Flash

BotFire:
TNT1 A 0 A_JumpIfInventory("LandFlattenAmmo",28,"BotFire2")
goto Fire+1
BotFire2:
HFIS A 0 A_JumpIfInventory("HardM_HasFist",1,"BotFire3")
HFIS A 0 A_JumpIfInventory("HardM_HasFist2",1,"BotFire3")
goto BotQuakeStart
BotFire3:
TNT1 A 0 A_Jump(200,"BotQuakeStart")
goto Fire+1
BotQuakeStart:
TNT1 A 0 A_GiveInventory("BotHugFlag",1)
goto QuakeStart
BotQuakeCrash:
TNT1 A 0 A_TakeInventory("BotHugFlag",999)
goto QuakeCrash+1
}
}

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

actor HardM_HasFist : OnceC{}
actor HardM_HasFist2 : OnceC{}

actor HardM_AltFist : OnceC{}

actor MissingFist : Inventory
{
inventory.amount 1
inventory.maxamount 100
}
actor MissingFist2 : MissingFist
{
}

actor PowerHardBoostSpeed : PowerSpeed
{
powerup.duration 10
Speed 1.75
+POWERSPEED.NOTRAIL
}

actor Quaking : Inventory
{
inventory.amount 1
inventory.maxamount 999
}

actor Quaking_RC : CustomInventory
{
States
{
Pickup:
TNT1 A 0
TNT1 A 0 A_JumpIfInventory("PowerRage_ST",1,"PickupR")
TNT1 A 0 A_GiveInventory("Quaking",1)
stop
PickupR:
TNT1 A 0 A_GiveInventory("Quaking",2)
stop
}
}
actor Quaking3_RC : CustomInventory
{
States
{
Pickup:
TNT1 A 0
TNT1 A 0 A_JumpIfInventory("PowerRage_ST",1,"PickupR")
TNT1 A 0 A_GiveInventory("Quaking",3)
stop
PickupR:
TNT1 A 0 A_GiveInventory("Quaking",6)
stop
}
}

actor QuakeFlag : Powerup
{
Powerup.Duration 20
}

actor HardM_AltStart_P : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_TakeInventory("Quaking")
TNT1 A 0 A_GiveInventory("Quaking",1)
TNT1 A 0 A_TakeInventory("JumpCancler",1)
TNT1 A 0 A_GiveInventory("PowerHardBoostSpeed",1)
TNT1 A 0 A_GiveInventory("LadderDisable",1)
TNT1 A 0 A_TakeInventory("LandFlattenAmmo",3,1)
TNT1 A 0 A_PlaySoundEx("weapon/superboost","Weapon")
TNT1 A 0 A_SpawnItemEx("HardM_DustFX",0,0,0,0,0,0,0,1)
TNT1 A 0 A_Recoil(-1)
TNT1 A 0 ThrustThingZ(0,50,0,0)
stop
}
}

actor HardM_AltThrust_P : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_SpawnItemEX("HardmanBoosterFX",-8,0,-8,0,0,-1,0,1)
TNT1 A 0 A_PlaySoundEx("weapon/superboost","Weapon")
TNT1 A 0 A_Recoil(-1)
TNT1 A 0 A_GiveInventory("PowerHardBoostSpeed",1)
TNT1 A 0 A_TakeInventory("LandFlattenAmmo",3,1)
TNT1 A 0 A_JumpIfInventory("FlightDisableFlag",1,2)
TNT1 A 0 ThrustThingZ(0,7,0,!(momz<=0))
stop
TNT1 A 0 ThrustThingZ(0,7,0,1)
stop
}
}

actor HardM_AltCrush_P : CustomInventory
{
States
{
Pickup:
TNT1 A 0 ThrustThingZ(0,1,1,1)
TNT1 A 0 A_GiveInventory("HardCrush_P",1)
TNT1 A 0 A_GiveInventory("Quaking_RC",1)
TNT1 A 0 A_GiveInventory("PowerHardBoostSpeed",1)

TNT1 A 0 A_JumpIfInventory("Quaking",15,"Sound")
stop
Sound:
TNT1 A 0 A_PlaySoundEx("weapon/hardglitch","weapon")
stop
}
}

actor HardM_DustFX
{
+NOINTERACTION
+NOGRAVITY
+CLIENTSIDEONLY
Radius 4
Height 4
Scale 3.5
States
{
Spawn://HyperStormH sprite
HSHH PQR 6
stop
}
}

actor HardmanKnuckleFiringFX1
{
-SOLID
+MISSILE
+NOGRAVITY
+NOINTERACTION
+NOTIMEFREEZE
+THRUACTORS
+DONTBLAST
+FORCEXYBILLBOARD
+BRIGHT
+CLIENTSIDEONLY

Meleerange 3//Warp X
Accuracy 10//Warp Y 
Mass 32//Warp Z

Radius 2
Height 2
Speed 40
scale 2.5
States
{
Spawn:
XMFX Q 0
XMFX QQSS 1 A_Warp(2,Meleerange,Accuracy,Mass,0,24)
VMFX JJKK 1 A_Warp(2,Meleerange,Accuracy,Mass,0,24)
stop
}
}

actor HardmanKnuckleFiringFX2 : HardmanKnuckleFiringFX1
{
Accuracy -10
}

actor HardmanBoosterFX
{
+MISSILE
+THRUACTORS
+CLIENTSIDEONLY
+FORCEXYBILLBOARD
+BRIGHT
damage 0
Radius 2
Height 2
scale 2.5
States
{
Spawn:
VMFX IJK 1
XMFX D 1
stop
}
}

actor HardCrush_P : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_SpawnItemEx("HardCrush",0,0,-10,0,0,-10)
TNT1 A 0 A_JumpIfInventory("PowerSpread_ST",1,"Pickup_S")
stop
Pickup_S:
TNT1 A 0 A_SpawnItemEx("HardCrush",0,0,-10,0,2,-10)
TNT1 A 0 A_SpawnItemEx("HardCrush",0,0,-10,0,-2,-10)
stop
}
}

actor HardCrush
{
PROJECTILE
Obituary "$OB_HARDCRUSH"
damagetype "HardM_Flat"
+DONTBLAST
+THRUGHOST
damage (100)
Radius 15
Height 2
renderstyle none
States
{
Spawn:
TNT1 A 1
stop
}
}


actor Hardman_FloorQuake_P : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_JumpIfInventory("Quaking",70,"Quake7")
TNT1 A 0 A_JumpIfInventory("Quaking",60,"Quake6")
TNT1 A 0 A_JumpIfInventory("Quaking",50,"Quake5")
TNT1 A 0 A_JumpIfInventory("Quaking",40,"Quake4")
TNT1 A 0 A_JumpIfInventory("Quaking",30,"Quake3")
TNT1 A 0 A_JumpIfInventory("Quaking",20,"Quake2")
TNT1 A 0 A_JumpIfInventory("Quaking",10,"Quake1")
goto Quake1

Quake7:
TNT1 A 0 ACS_NamedExecuteAlways("cbm_FloorQuakeDamage",0,800,35,33)
TNT1 A 0 A_SpawnItemEx("Hardman_QuakeFX_H7")
stop
Quake6:
TNT1 A 0 ACS_NamedExecuteAlways("cbm_FloorQuakeDamage",0,700,30,33)
TNT1 A 0 A_SpawnItemEx("Hardman_QuakeFX_H6")
stop
Quake5:
TNT1 A 0 ACS_NamedExecuteAlways("cbm_FloorQuakeDamage",0,600,25,33)
TNT1 A 0 A_SpawnItemEx("Hardman_QuakeFX_H5")
stop
Quake4:
TNT1 A 0 ACS_NamedExecuteAlways("cbm_FloorQuakeDamage",0,500,20,33)
TNT1 A 0 A_SpawnItemEx("Hardman_QuakeFX_H4")
stop
Quake3:
TNT1 A 0 ACS_NamedExecuteAlways("cbm_FloorQuakeDamage",0,400,15,33)
TNT1 A 0 A_SpawnItemEx("Hardman_QuakeFX_H3")
stop
Quake2:
TNT1 A 0 ACS_NamedExecuteAlways("cbm_FloorQuakeDamage",0,300,10,33)
TNT1 A 0 A_SpawnItemEx("Hardman_QuakeFX_H2")
stop
Quake1:
TNT1 A 0 ACS_NamedExecuteAlways("cbm_FloorQuakeDamage",0,200,5,33)
TNT1 A 0 A_SpawnItemEx("Hardman_QuakeFX_H1")
stop
}
}

actor Hardman_FloorQuakeSpawn : BasicExplosion
{
Obituary "$OB_HARDQUAKE"
damagetype "HardM_Shock"
+NOCLIP
Renderstyle None
States
{
Spawn:
TNT1 A 0
TNT1 A 0 //A_LogInt(momz*8)
TNT1 A 0 //A_LogInt(angle*256/360)
//TNT1 A 2 ACS_ExecuteAlways(C_SET_POINTER,0,8,1000+momz*8)
//TNT1 A 0 A_Warp(8,0,0,28,0,4+8+128)
TNT1 A 0 A_SetScale(angle*256/360)
TNT1 A 0 Thing_Move(0,1000+momz*8,1)
TNT1 A 4 A_SpawnItemEx("Hardman_FloorQuakeBoom",0,0,28,0,0,0,0,16384)
stop
}
}

actor Hardman_FloorQuakeBoom : BasicExplosion
{
Obituary "$OB_HARDQUAKE"
damagetype "HardM_Shock"
Renderstyle None
States
{
Spawn:
TNT1 A 0
TNT1 A 0 //A_LogInt(ScaleX)
TNT1 A 0 A_Explode(ScaleX*10,15,0,0,15)
TNT1 A 0 A_FaceTarget
TNT1 A 0 A_SpawnItemEx("BasicHardQuakeFX",random(10,30),random(-20,20),-28,0,0,0,30,0)
TNT1 A 0 A_SpawnItemEx("BasicHardQuakeFX",random(10,30),random(-20,20),-28,0,0,0,0,0)
TNT1 A 0 A_SpawnItemEx("BasicHardQuakeFX",random(10,30),random(-20,20),-28,0,0,0,-30,0)
TNT1 A 4
stop
}
}

actor Hardman_QuakeFX : BasicClientSide
{
var int user_A;
var int user_Dist;
reactiontime 1
Renderstyle None
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_SetUserVar("user_A",random(0,5))
TNT1 A 0 A_SetUserVar("user_Dist",ScaleX)
TNT1 A 0 A_SetArg(4,pitch)
TNT1 AAAAAAAAAA 0 A_SpawnItemEx("BasicHardQuakeFX",10*random(1,user_Dist),0,0,0,0,0,5*random(0,71)+user_A,0)
goto Spawn2
Spawn2:
TNT1 AAAAAAAAAA 0 A_SpawnItemEx("BasicHardQuakeFX",10*random(1,user_Dist),0,0,0,0,0,5*random(0,71)+user_A,0)
TNT1 A 0 A_CountdownArg(4,"End")
loop
End:
TNT1 A 1 A_Countdown
wait

Death:
TNT1 A 0 A_SpawnItemEx("BasicHardQuakeFX",random(10,30),random(-20,20),0,0,0,0,30,0)
TNT1 A 0 A_SpawnItemEx("BasicHardQuakeFX",random(10,30),random(-20,20),0,0,0,0,0,0)
TNT1 A 0 A_SpawnItemEx("BasicHardQuakeFX",random(10,30),random(-20,20),0,0,0,0,-30,0)
TNT1 A 1
stop
}
}

actor Hardman_QuakeFX_H1 : BasicHelper
{
Mass 0
Scale 20
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_SetPitch(Mass)
TNT1 A 1 A_SpawnItemEx("Hardman_QuakeFX",0,0,0,0,0,0,0,16384+512)
TNT1 A 1
stop
}
}
actor Hardman_QuakeFX_H2 : Hardman_QuakeFX_H1
{
Mass 1
Scale 30
}
actor Hardman_QuakeFX_H3 : Hardman_QuakeFX_H1
{
Mass 2
Scale 40
}
actor Hardman_QuakeFX_H4 : Hardman_QuakeFX_H1
{
Mass 3
Scale 50
}
actor Hardman_QuakeFX_H5 : Hardman_QuakeFX_H1
{
Mass 4
Scale 60
}
actor Hardman_QuakeFX_H6 : Hardman_QuakeFX_H1
{
Mass 5
Scale 70
}
actor Hardman_QuakeFX_H7 : Hardman_QuakeFX_H1
{
Mass 6
Scale 80
}

actor BossHardKnuckleFX : BasicClientSide
{
+FORCEXYBILLBOARD
+BRIGHT
Scale 2.0
States
{
Spawn:
TNT1 A 2
VMFX KKKKK 1 A_SetScale(ScaleX - 0.25)
stop
}
}

actor BossHardKnuckle
{
translation "192:192=87:87","198:198=195:195","204:204=215:215"
PROJECTILE
damagetype "HardM_Knuckle"
Obituary "$OB_HARDKNUCKLE"
+DONTBLAST
+DONTREFLECT
Damage (300)
Radius 12
Height 12
Speed 40
scale 2.5
States
{
Spawn:
HFIS T 0
HFIS T 2 A_TakeFromTarget("MissingFist",999)
HFIS T 0 A_SpawnItemEx("BossHardKnuckleFX",0,0,0,0,0,0,0,1)
HFIS T 2 A_TakeFromTarget("MissingFist",999)
HFIS T 0 A_SpawnItemEx("BossHardKnuckleFX",0,0,0,0,0,0,0,1)
HFIS T 2 A_TakeFromTarget("MissingFist",999)
HFIS T 0 A_SpawnItemEx("BossHardKnuckleFX",0,0,0,0,0,0,0,1)
HFIS T 2 A_TakeFromTarget("MissingFist",999)
HFIS T 0 A_SpawnItemEx("BossHardKnuckleFX",0,0,0,0,0,0,0,1)
HFIS T 2 A_TakeFromTarget("MissingFist",999)
HFIS T 0 A_SpawnItemEx("BossHardKnuckleFX",0,0,0,0,0,0,0,1)
HFIS T 2 A_TakeFromTarget("MissingFist",999)
HFIS T 0 A_ChangeFlag("DONTBLAST",0)
goto Spawn1
Spawn1:
HFIS T 0 A_SpawnItemEx("BossHardKnuckleFX",0,0,0,0,0,0,0,1)
HFIS T 2 A_TakeFromTarget("MissingFist",999)
loop
Death:
TNT1 A 0 A_JumpIfCloser(60,"Return")
goto Continue
Death2:
TNT1 A 0
stop
Continue:
TNT1 A 0 A_SpawnItemEx("BossHardKnuckleReturn",0,0,0,0,0,0,0,1)
stop
OldDeath:
TNT1 A 0 A_GiveInventory("BossHardKnuckleFuncR",1)
stop
XDeath:
TNT1 A 0 A_JumpIfCloser(60,"Return")
TNT1 A 0 A_SpawnItemEx("BossHardKnuckleReturnH",0,0,0,0,0,0,0,1)
stop
Return:
TNT1 A 0 A_GiveToTarget("HardM_HasFist",1)
TNT1 A 0 A_GiveToTarget("HardM_FistReturnSnd_P",1)
stop
}
}

actor BossHardKnuckleB : BossHardKnuckle{translation"192:192=205:205","198:198=74:74","204:204=205:205"}
actor BossHardKnuckleR : BossHardKnuckle{translation"192:192=171:171","198:198=41:41","204:204=171:171"}
actor BossHardKnuckleO : BossHardKnuckle{translation"192:192=104:104","198:198=128:128","204:204=104:104"}
actor BossHardKnuckleP : BossHardKnuckle{translation"192:192=229:229","198:198=232:232","204:204=229:229"}

actor HardM_FistReturnSnd_P : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_PlaySoundEx("weapon/adapterreturn","Body")
stop
}
}

actor BossHardKnuckleReturn : BossHardKnuckle
{
Obituary "$OB_HARDKNUCKLER"
//+NOINTERACTION
-DONTBLAST
+SEEKERMISSILE
ReactionTime 210
States
{
Spawn:
HFIS T 0
HFIS T 0 A_RearrangePointers(0,0,2)
HFIS T 0 A_FaceTarget
goto Spawn2
Spawn2:
HFIS T 0 A_TakeFromTarget("MissingFist",999)
HFIS TT 0 A_SeekerMissile(90,90,SMF_PRECISE)
HFIS T 1 A_JumpIfCloser(60,"Return")
HFIS T 0 A_CountDown
HFIS T 0 A_JumpIf(ACS_ExecuteWithResult(C_CHECK_TARGET_OOC)==0,"Death2")
HFIS T 0 A_TakeFromTarget("MissingFist",999)
HFIS TT 0 A_SeekerMissile(90,90,SMF_PRECISE)
HFIS T 1 A_JumpIfCloser(60,"Return")
HFIS T 0 A_CountDown
HFIS T 0 A_JumpIf(ACS_ExecuteWithResult(C_CHECK_TARGET_OOC)==0,"Death2")
HFIS T 0 A_SpawnItemEx("BossHardKnuckleFX",0,0,0,0,0,0,0,1)
loop
Death:
TNT1 A 0 A_JumpIfCloser(60,"Return")
goto OldDeath
}
}

actor BossHardKnuckleReturnB : BossHardKnuckleReturn{translation"192:192=205:205","198:198=74:74","204:204=205:205"}
actor BossHardKnuckleReturnR : BossHardKnuckleReturn{translation"192:192=171:171","198:198=41:41","204:204=171:171"}
actor BossHardKnuckleReturnO : BossHardKnuckleReturn{translation"192:192=104:104","198:198=128:128","204:204=104:104"}
actor BossHardKnuckleReturnP : BossHardKnuckleReturn{translation"192:192=229:229","198:198=232:232","204:204=229:229"}

actor BossHardKnuckleFuncR : CustomInventory
{
states
{
Pickup:
TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(143,0)==-1,5)
TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(143,0)==0,"PickupB")
TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(143,0)==1,"PickupR")
TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(143,0)==2,"PickupO")
TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(143,0)==3,"PickupP")
TNT1 A 0
TNT1 A 0 A_CustomMissile("BossHardKnuckleReturn",0,0,0,0)
stop
PickupB:
TNT1 A 0 A_CustomMissile("BossHardKnuckleReturnB",0,0,0,0)
stop
PickupR:
TNT1 A 0 A_CustomMissile("BossHardKnuckleReturnR",0,0,0,0)
stop
PickupO:
TNT1 A 0 A_CustomMissile("BossHardKnuckleReturnO",0,0,0,0)
stop
PickupP:
TNT1 A 0 A_CustomMissile("BossHardKnuckleReturnP",0,0,0,0)
stop
}
}

actor BossHardKnuckleReturnH : BossHardKnuckleReturn
{
+NOINTERACTION
States
{
Death:
TNT1 A 0
goto Return
}
}

actor BossHardKnuckle2 : BossHardKnuckle
{
States
{
Spawn:
HFIS T 0
HFIS T 2 A_TakeFromTarget("MissingFist2",999)
HFIS T 0 A_SpawnItemEx("BossHardKnuckleFX",0,0,0,0,0,0,0,1)
HFIS T 2 A_TakeFromTarget("MissingFist2",999)
HFIS T 0 A_SpawnItemEx("BossHardKnuckleFX",0,0,0,0,0,0,0,1)
HFIS T 2 A_TakeFromTarget("MissingFist2",999)
HFIS T 0 A_SpawnItemEx("BossHardKnuckleFX",0,0,0,0,0,0,0,1)
HFIS T 2 A_TakeFromTarget("MissingFist2",999)
HFIS T 0 A_SpawnItemEx("BossHardKnuckleFX",0,0,0,0,0,0,0,1)
HFIS T 2 A_TakeFromTarget("MissingFist2",999)
HFIS T 0 A_SpawnItemEx("BossHardKnuckleFX",0,0,0,0,0,0,0,1)
HFIS T 2 A_TakeFromTarget("MissingFist2",999)
HFIS T 0 A_ChangeFlag("DONTBLAST",0)
goto Spawn1
Spawn1:
HFIS T 0 A_SpawnItemEx("BossHardKnuckleFX",0,0,0,0,0,0,0,1)
HFIS T 2 A_TakeFromTarget("MissingFist2",999)
loop

Death:
TNT1 A 0 A_JumpIfCloser(60,"Return")
goto Continue
Continue:
TNT1 A 0 A_SpawnItemEx("BossHardKnuckleReturn2",0,0,0,0,0,0,0,1)
stop
OldDeath:
TNT1 A 0 A_GiveInventory("BossHardKnuckleFuncR2",1)
stop
XDeath:
TNT1 A 0 A_JumpIfCloser(60,"Return")
TNT1 A 0 A_SpawnItemEx("BossHardKnuckleReturnH2",0,0,0,0,0,0,0,1)
stop
Return:
TNT1 A 0 A_GiveToTarget("HardM_HasFist2",1)
TNT1 A 0 A_GiveToTarget("HardM_FistReturnSnd_P",1)
stop
}
}

actor BossHardKnuckle2B : BossHardKnuckle2{translation"192:192=205:205","198:198=74:74","204:204=205:205"}
actor BossHardKnuckle2R : BossHardKnuckle2{translation"192:192=171:171","198:198=41:41","204:204=171:171"}
actor BossHardKnuckle2O : BossHardKnuckle2{translation"192:192=104:104","198:198=128:128","204:204=104:104"}
actor BossHardKnuckle2P : BossHardKnuckle2{translation"192:192=229:229","198:198=232:232","204:204=229:229"}

actor BossHardKnuckleReturn2 : BossHardKnuckle2
{
Obituary "$OB_HARDKNUCKLER"
-DONTBLAST
+SEEKERMISSILE
ReactionTime 210
States
{
Spawn:
HFIS T 0
HFIS T 0 A_RearrangePointers(0,0,2)
HFIS T 0 A_FaceTarget
goto Spawn2
Spawn2:
HFIS T 0 A_TakeFromTarget("MissingFist2",999)
HFIS TT 0 A_SeekerMissile(90,90,SMF_PRECISE)
HFIS T 1 A_JumpIfCloser(60,"Return")
HFIS T 0 A_CountDown
HFIS T 0 A_JumpIf(ACS_ExecuteWithResult(C_CHECK_TARGET_OOC)==0,"Death2")
HFIS T 0 A_TakeFromTarget("MissingFist2",999)
HFIS TT 0 A_SeekerMissile(90,90,SMF_PRECISE)
HFIS T 1 A_JumpIfCloser(60,"Return")
HFIS T 0 A_CountDown
HFIS T 0 A_JumpIf(ACS_ExecuteWithResult(C_CHECK_TARGET_OOC)==0,"Death2")
HFIS T 0 A_SpawnItemEx("BossHardKnuckleFX",0,0,0,0,0,0,0,1)
loop
Death:
TNT1 A 0 A_JumpIfCloser(60,"Return")
goto OldDeath
}
}

actor BossHardKnuckleReturn2B : BossHardKnuckleReturn2{translation"192:192=205:205","198:198=74:74","204:204=205:205"}
actor BossHardKnuckleReturn2R : BossHardKnuckleReturn2{translation"192:192=171:171","198:198=41:41","204:204=171:171"}
actor BossHardKnuckleReturn2O : BossHardKnuckleReturn2{translation"192:192=104:104","198:198=128:128","204:204=104:104"}
actor BossHardKnuckleReturn2P : BossHardKnuckleReturn2{translation"192:192=229:229","198:198=232:232","204:204=229:229"}

actor BossHardKnuckleFuncR2 : CustomInventory
{
states
{
Pickup:
TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(143,0)==-1,5)
TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(143,0)==0,"PickupB")
TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(143,0)==1,"PickupR")
TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(143,0)==2,"PickupO")
TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(143,0)==3,"PickupP")
TNT1 A 0
TNT1 A 0 A_CustomMissile("BossHardKnuckleReturn2",0,0,0,0)
stop
PickupB:
TNT1 A 0 A_CustomMissile("BossHardKnuckleReturn2B",0,0,0,0)
stop
PickupR:
TNT1 A 0 A_CustomMissile("BossHardKnuckleReturn2R",0,0,0,0)
stop
PickupO:
TNT1 A 0 A_CustomMissile("BossHardKnuckleReturn2O",0,0,0,0)
stop
PickupP:
TNT1 A 0 A_CustomMissile("BossHardKnuckleReturn2P",0,0,0,0)
stop
}
}

actor BossHardKnuckleReturnH2 : BossHardKnuckleReturn2
{
+NOINTERACTION
States
{
Death:
TNT1 A 0
goto Return
}
}


actor HardmanMain_CI : TeamColor_CI
{
states
{
FireX:
TNT1 A 0 A_FireCustomMissile("BossHardKnuckle",0,0,10,-2)
goto Done
FireB:
TNT1 A 0 A_FireCustomMissile("BossHardKnuckleB",0,0,10,-2)
goto Done
FireR:
TNT1 A 0 A_FireCustomMissile("BossHardKnuckleR",0,0,10,-2)
goto Done
FireO:
TNT1 A 0 A_FireCustomMissile("BossHardKnuckleO",0,0,10,-2)
goto Done
FireP:
TNT1 A 0 A_FireCustomMissile("BossHardKnuckleP",0,0,10,-2)
goto Done
}
}

actor HardmanMain2_CI : TeamColor_CI
{
states
{
FireX:
TNT1 A 0 A_FireCustomMissile("BossHardKnuckle2",0,0,-10,-2)
goto Done
FireB:
TNT1 A 0 A_FireCustomMissile("BossHardKnuckle2B",0,0,-10,-2)
goto Done
FireR:
TNT1 A 0 A_FireCustomMissile("BossHardKnuckle2R",0,0,-10,-2)
goto Done
FireO:
TNT1 A 0 A_FireCustomMissile("BossHardKnuckle2O",0,0,-10,-2)
goto Done
FireP:
TNT1 A 0 A_FireCustomMissile("BossHardKnuckle2P",0,0,-10,-2)
goto Done
}
}
