actor KnightCrushWep : MegaBuster 10072
{
Weapon.AmmoUse 2
Weapon.AmmoGive 28
Weapon.SlotNumber 4
Obituary "%o was slain by %k's Knight Crush."
Inventory.Pickupmessage "Power up! Knight Crush!"
weapon.ammotype "KnightCrushAmmo"
inventory.pickupsound "weapon/weaponup"
+WEAPON.AMMO_OPTIONAL
inventory.icon "KNIGSI"
Scale 2.0
States
{
Spawn:
WEA2 W 1
loop
Ready:
KNIG B 0 ACS_ExecuteAlways(998,0,42)
KNIG B 0 A_TakeInventory("KnightFlag",999)
KNIG B 1 A_WeaponReady
Goto Ready+1
Deselect:
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower
KNIG B 1 A_Lower
Loop
Select:
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise
KNIG B 1 A_Raise
Loop
Fire:
KNIG B 0 A_JumpIfNoAmmo("NoAmmo")
KNIG B 0 A_PlaySoundEx("weapon/mbuster","Weapon")
KNIG B 0 A_FireCustomMissile("KnightCrush",0,8,0,0)
KNIG BCD 4
Goto Check
Check:
KNIG D 1 A_GiveInventory("KnightFlag",1)
KNIG D 0 A_JumpIfInventory("KnightFlag",100,"Return")
Goto Check
Return:
KNIG D 3 A_TakeInventory("KnightFlag",999)
KNIG C 2
KNIG B 0 A_Refire
Goto Ready+1
NoAmmo:
KNIG B 1 ACS_Execute(979,0)
Goto Ready+1
}
}

actor KnightCrushAmmo : Ammo
{
inventory.amount 1
inventory.maxamount 28
}

actor KnightCrush
{
PROJECTILE
Radius 8
Height 8
scale 2.5
damage (0)
damagetype "Knight"
+RIPPER
+DONTSPLASH
+HEXENBOUNCE
+NOTARGETSWITCH
//+NOCLIP
meleerange 12
reactiontime 48
damagetype "Knight"
speed 40
States
{
Spawn:
KNIG A 0
KNIG AAAAAAAAAAAAAAAAAA 1 A_SpawnItemEx("KnightCrushDamager",0,0,0,2,0,0)
KNIG A 0 A_CustomMissile("KnightReturn",0,0,0,0)
Goto Return
Death:
KNIG A 0 A_GiveToTarget("KnightFlag",999)
stop
}
}

actor KnightReturn : KnightCrush
{
radius 0
damagetype "Knight"
height 0
+NOINTERACTION
states
{
Spawn:
KNIG A 0 A_JumpIfInTargetInventory("CutterFlag",999,"Death")
KNIG A 1 A_SpawnItemEx("KnightCrushDamager",0,0,0,2,0,0)
KNIG A 0 A_JumpIfCloser(42,"Death")
KNIG A 1 A_SpawnItemEx("KnightCrushDamager",0,0,0,2,0,0)
KNIG A 0 A_JumpIfCloser(42,"Death")
KNIG A 1 A_SpawnItemEx("KnightCrushDamager",0,0,0,2,0,0)
KNIG A 0 A_JumpIfCloser(42,"Death")
KNIG A 1 A_SpawnItemEx("KnightCrushDamager",0,0,0,2,0,0)
KNIG A 0 A_JumpIfCloser(42,"Death")
KNIG A 0 A_CustomMissile("KnightReturn",0,0,0,0)
stop
}
}

actor KnightCrushDamager
{
PROJECTILE
+RIPPER
damage (17)
damagetype "Knight"
radius 10
height 10
States
{
Spawn:
TNT1 A 2
stop
}
}

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