actor Hardman_W : BaseMM8BDMWep_CBM
{
tag "$TAGC_3D"
dropitem "HardKnuckleWep"
Weapon.AmmoUse 0
Weapon.AmmoGive 28
Obituary "$OB_HARDKNUCKLE"
weapon.ammotype "LandFlattenAmmo"
States
{
Spawn:
C_03 D 1
loop

Deselect:
HFIS A 0
goto DeselectSwap
Select:
HFIS A 0
goto SelectSwap

Ready:
HFIS A 0 ACS_NamedExecuteWithResult("core_weaponcolor",DYE_HARDMAN)
HFIS A 0 A_GunFlash("Flash",1)
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

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")
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_FireCustomMissile("BossHardKnuckle",0,0,10,-2)
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",1)
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",1+CallACS("core_checkrune",RUNE_RAGE))
goto QuakeContinue
QuakeStart2:
HFIS FG 2 A_SpawnItemEX("HardmanBoosterFX",-8,0,-8,0,0,-1,0,1)
TNT1 A 0 A_GiveInventory("Quaking",1+CallACS("core_checkrune",RUNE_RAGE))
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_SetArg(4,CallACS("cbm_countinv_acs",33,0))//Record Quaking stack to Args[4]
TNT1 A 0 A_Quake(7,20,0,300,"none")
//TNT1 A 0 A_Quake(2,14,0,8,"none")
TNT1 A 1 A_GiveInventory("Hardman_FloorQuake_P")
TNT1 A 0 A_JumpIfInventory("PlayerPropertyRage",1,5)
TNT1 AAAAAAAA 1 A_Stop
TNT1 A 0 A_TakeInventory("PowerHardBoostSpeed")
TNT1 A 0 A_TakeInventory("VivifyDelay10",1)
TNT1 A 0 A_GiveInventory("VivifyDelay5",1)
TNT1 A 0 A_TakeInventory("Quaking")
TNT1 A 0 A_JumpIfInventory("HardM_HasFist",1,"QuakeCrash2")
HFIS IIH 1 A_Stop
HFIS H 0 A_TakeInventory("Quaking")
HFIS H 0 ACS_NamedExecuteWithResult("cbm_cantpushwallsplayer",0,0)
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")
HFIS F 0 ACS_NamedExecuteWithResult("cbm_cantpushwallsplayer",0,0)
HFIS F 1 ThrustThingZ(0,30,0,0)
HFIS A 0 A_TakeInventory("LandFlattenAmmo",28,1)
goto Ready2


Flash:
HFI2 A 0 A_JumpIfInventory("PlayerPropertyRage",1,2)
HFI2 AA 1 A_JumpIfInventory("HardM_AltFist",1,"Flash.FireFist")
HFI2 A 0 A_JumpIfInventory("PlayerPropertyRage",1,2)
HFI2 AA 1 A_JumpIfInventory("HardM_AltFist",1,"Flash.FireFist")
HFI2 A 0 A_JumpIfInventory("PlayerPropertyRage",1,2)
HFI2 AA 1 A_JumpIfInventory("HardM_AltFist",1,"Flash.FireFist")
HFI2 A 0 A_JumpIfInventory("PlayerPropertyRage",1,2)
HFI2 AA 1 A_JumpIfInventory("HardM_AltFist",1,"Flash.FireFist")
HFI2 A 0 A_JumpIfInventory("PlayerPropertyRage",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")
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_FireCustomMissile("BossHardKnuckle2",0,0,-10,-2)
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("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("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 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 ACS_NamedExecuteWithResult("cbm_cantpushwallsplayer",0,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",1)
TNT1 A 0 A_TakeInventory("LandFlattenAmmo",1,1)//3
TNT1 A 0 A_JumpIfInventory("PlayerPropertyGrounded",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_SpawnItemEx("HardCrush",0,0,-10,0,0,-10)
TNT1 A 0 A_GiveInventory("Quaking",1+CallACS("core_checkrune",RUNE_RAGE))
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 : BasicGraphicEffect
{
Radius 4
Height 4
Scale 3.5
States
{
SpawnFrame://HyperStormH sprite
HSHH PQR 6
stop
}
}

actor HardmanKnuckleFiringFX1 : BasicGraphicEffect
{
+NOTIMEFREEZE
+FORCEXYBILLBOARD
+BRIGHT
Speed 40
Args 3,10,32
States
{
SpawnFrame:
TNT1 A 0
NMFX LLNNBBCC 1 A_Warp(2,Args[0],Args[1],Args[2],0,24)
stop
}
}
actor HardmanKnuckleFiringFX2 : HardmanKnuckleFiringFX1
{
Args 3,-10,32
}

actor HardmanBoosterFX : BasicGraphicEffectM
{
-NOGRAVITY
+THRUACTORS
+FORCEXYBILLBOARD
+BRIGHT
States
{
SpawnFrame:
TNT1 A 0
TNT1 A 0 A_GiveInventory("MM8BDMProjSpawnFuncClient")
NMFX BCD 1
stop
}
}

actor BossHardKnuckleFX : BasicGraphicEffect
{
+FORCEXYBILLBOARD
+BRIGHT
Scale 2.0
States
{
SpawnFrame:
TNT1 A 1
NMFX CCCCC 1 A_SetScale(ScaleX - 0.25)
stop
}
}

actor BossHardKnuckle : ProjSpawnFuncActor
{
PROJECTILE
damagetype "HardM_Knuckle"
Obituary "$OB_HARDKNUCKLE"
+SKYEXPLODE
+EXPLODEONWATER
+DONTBLAST
+DONTREFLECT
Damage (300+CallACS("core_checkrune",RUNE_RAGE,2)*150)
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_CustomMissile("BossHardKnuckleReturn",0,0,0,0)
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 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(!CallACS("cbm_PointerExists",AAPTR_TARGET),"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(!CallACS("cbm_PointerExists",AAPTR_TARGET),"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 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_CustomMissile("BossHardKnuckleReturn2",0,0,0,0)
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 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(!CallACS("cbm_PointerExists",AAPTR_TARGET),"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(!CallACS("cbm_PointerExists",AAPTR_TARGET),"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 BossHardKnuckleReturnH2 : BossHardKnuckleReturn2
{
+NOINTERACTION
States
{
Death:
TNT1 A 0
goto Return
}
}



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


actor Hardman_FloorQuake_P : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_Stop
TNT1 A 0 A_PlaySoundEX("weapon/hardquakeland","Weapon")
//TNT1 A 0 A_PlaySound("misc/BlankSound",4)
TNT1 A 0 A_GiveInventory("VivifyDelay10",1)

TNT1 A 0 A_JumpIf(Args[4]<10,"Min")
TNT1 A 0 A_JumpIf(Args[4]>=70,"Max")
TNT1 A 0 ACS_NamedExecuteWithResult("cbm_FloorQuakeDamage",100+100*(Args[4]/10),Args[4]/10,33)
TNT1 A 0 A_SpawnItemEx("Hardman_FloorQuakeFX_H",0,0,0,0,0,Args[4]/100.0,0,1)//SXF_TRANSFERSPECIAL
//Does not sync with Args transfer, so MOMZ is used instead
stop
Min:
TNT1 A 0 ACS_NamedExecuteWithResult("cbm_FloorQuakeDamage",200,1,33)
TNT1 A 0 A_SpawnItemEx("Hardman_FloorQuakeFX_H",0,0,0,0,0,10/100.0,0,1)
stop
Max:
TNT1 A 0 ACS_NamedExecuteWithResult("cbm_FloorQuakeDamage",800,7,33)
TNT1 A 0 A_SpawnItemEx("Hardman_FloorQuakeFX_H",0,0,0,0,0,70/100.0,0,1)
stop
}
}

actor Hardman_FloorQuakeSpawn : Basic_FloorQuakeSpawn
{
Obituary "$OB_HARDQUAKE"
damagetype "HardM_Shock"
States
{
Quake:
TNT1 A 4 A_SpawnItemEx("Hardman_FloorQuakeBoom",0,0,28,0,0,0,0,1+SXF_TRANSFERSPECIAL)//32768
stop
}
}

actor Hardman_FloorQuakeBoom : Basic_FloorQuakeBoom
{
Obituary "$OB_HARDQUAKE"
damagetype "HardM_Shock"
MeleeRange 50
Accuracy 10
}

actor Hardman_FloorQuakeFX_H : Basic_FloorQuakeFX_H
{
var int user_TranslateWhiteColors;
//ActiveSound "misc_L/hugequake2"
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_SetArg(4,momz*100.0+0.5)
//TNT1 A 0 Radius_Quake(2,10,0,1+Args[4]/10,0)
//TNT1 A 0 A_ActiveSound
TNT1 A 10 A_SpawnItemEx("Basic_FloorQuakeFX",0,0,-momz,0,0,0,0,1+SXF_TRANSFERSPECIAL)
stop
}
}


actor Hardman_FloorQuakeFX : Basic_FloorQuakeFX
{
Accuracy 0
Mass 100
MeleeRange 6
}

//actor Hardman_QuakeFX_H1 : Hardman_FloorQuakeFX_H{}




actor Hardman_W_NormalBar : NormalBar {Args 87,199} 
actor Hardman_W_ScriptBar : ScriptBar {}