actor ScrewCrusherWep : MegaBuster 10077
{
Weapon.AmmoUse 1
Weapon.AmmoGive 112
Weapon.SlotNumber 3
Obituary "%o was crushed by %k's Screw Crusher."
Inventory.Pickupmessage "Power up! Screw Crusher!"
weapon.ammotype "ScrewCrusherAmmo"
inventory.pickupsound "weapon/weaponup"
+WEAPON.AMMO_OPTIONAL
inventory.icon "SCRWSI"
Scale 2.0
States
{
Spawn:
WEA3 D 1
loop
Ready:
SCRH A 0 ACS_ExecuteAlways(998,0,48)
SCRH A 1 A_WeaponReady
Goto Ready+1
Deselect:
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower
SCRH A 1 A_Lower
Loop
Select:
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise
SCRH A 1 A_Raise
Loop
Fire:
SCRH A 0 A_JumpIfNoAmmo("NoAmmo")
SCRH A 0 A_PlaySoundEx("weapon/screwcrusher","Weapon")
SCRH A 0 A_FireCustomMissile("ScrewCrusher",0,1,8,0)
SCRH ABCD 2
//BUSH QR 1 
SCRH F 0 A_Refire
SCRH EEFFGG 1 A_WeaponReady
SCRH A 4
Goto Ready+1
NoAmmo:
SCRH A 1 ACS_Execute(979,0)
Goto Ready+1
}
}

actor ScrewCrusherAmmo : Ammo
{
inventory.amount 1
inventory.maxamount 112
}

actor ScrewCrusher
{
PROJECTILE
damagetype "Screw"
scale 2.5
-NOGRAVITY
+DONTBLAST
+DOOMBOUNCE
bouncecount 5
bouncefactor 0.8
Speed 0
Radius 15
Height 8
gravity 1.8
Damage (24)
reactiontime 30
States
{
Spawn:
SCRE A 0
SCRE A 0 A_Recoil(-16)
TNT1 A 1 ThrustThingZ(0, 65, 0, 1)
SCRE AB 3 A_CountDown
Goto Spawn+3
}
}

actor ScrewCrusherWepBoss : ScrewCrusherWep
{
Weapon.AmmoUse 0
+WEAPON.CHEATNOTWEAPON
States
{
Hold:
Fire:
SCRH A 0 A_PlaySoundEx("weapon/screwcrusher","Weapon")
SCRH A 15 A_FireCustomMissile("ScrewCrusherPunk",0,1,8,0)
Goto FallWait
FallWait:
SCRH A 1
SCRH A 0 A_JumpIf(z-floorz!=0,"FallWait")
SCRH A 0 A_Recoil(-8)
SCRH A 0 A_SpawnItemEx("PunkMelee")
SCRH A 20 ThrustThingZ(0,60,0,1)
SCRH A 0 A_JumpIfHealthLower(80,"SpinAttack")
SCRH A 0 A_Jump(50, "SpinAttack")
Goto Ready+1
SpinAttack:
SCRH A 0 A_ChangeFlag("INVULNERABLE",1)
SCRH A 0 //A_ChangeFlag("SOLID",0)
SCRH A 20 SetPlayerProperty(0,1,0)
SCRH A 0 A_Stop
SCRH A 0 ACS_Execute(5,0,2)
SCRH A 25 A_ChangeFlag("NOGRAVITY",1)
SCRH A 0 SetPlayerProperty(0,1,4)
SCRH A 1 ThrustThingZ(0,100,0,1)
SCRH A 0 A_Stop
SCRH A 0 A_Recoil(-100)
SCRH A 0 A_PlaySound("weapon/screwcrusher")
SCRH A 0 A_GiveInventory("Clip",1)
SCRH AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 1 A_SpawnItemEx("PunkMelee")
SCRH A 0 ACS_Execute(5,0,3)
SCRH A 10
SCRH A 0 A_ChangeFlag("INVULNERABLE",0)
SCRH A 0 A_ChangeFlag("NOGRAVITY",0)
SCRH A 0 //A_ChangeFlag("SOLID",1)
SCRH A 0 SetPlayerProperty(0,0,0)
SCRH A 0 SetPlayerProperty(0,0,4)
Goto Ready+1
}
}

actor PunkMelee
{
PROJECTILE
damagetype "Quick"
States
{
Spawn:
TNT1 A 0 
TNT1 A 1 A_Explode(20, 80, 0)
stop
}
}

actor ScrewCrusherPunk
{
PROJECTILE
Damage (15)
Radius 25
Height 8
scale 2.5
Speed 45
States
{
Spawn:
SCRE AB 3
loop
}
}