actor NeedleCannonBoss : MegaBuster 20040
{
Weapon.AmmoUse 1
Weapon.AmmoGive 0
Weapon.SlotNumber 1
Obituary "%o was pinned down by %k's Needle Cannon."
weapon.ammotype "NoodleAmmo"
inventory.pickupsound "weapon/weaponup"
+WEAPON.AMMO_OPTIONAL
Scale 2.0
States
{
Spawn:
TNT1 A 0
stop
Ready:
NEDR A 0 ACS_ExecuteAlways(998,0,18)
SHAH A 0 A_JumpIfInventory("NoodleAmmo",1,"Ready2")
NEDR A 7 A_WeaponReady(WRF_NOPRIMARY)
NEDR A 0 A_GiveInventory("NoodleAmmo",1)
Goto Ready+1
Ready2:
NEDR A 7 A_WeaponReady
NEDR A 0 A_GiveInventory("NoodleAmmo",1)
loop
Deselect:
ICEB A 0 A_TakeInventory("NeedleCannonBoss")
ICEB A 0 A_GiveInventory("NeedleCannonBoss")
NEDR A 1 A_SelectWeapon("NeedleCannonBoss")
Loop
Select:
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise
NEDR A 1 A_Raise
Loop
Fire:
NEDR A 0 A_GiveInventory("NeedleSlow")
NEDR A 0 A_PlaySoundEx("Weapon/Pcharge","Weapon")
NEDR BC 5
NEDR DC 5
NEDR BC 3
NEDR DC 3
NEDR BCDC 2
Hold:
NEDR A 0 A_JumpIfNoAmmo("No")
//NEDR A 0 A_PlaySoundEx("weapon/mbuster","Weapon")
NEDR A 0 A_PlaySoundEx("weapon/needleDakka","Weapon")
NEDR A 0 A_FireCustomMissile("NeedleBoss",random(-2,2),1,-8,0)
NEDR BC 2
//KNIG B 0 A_PlaySoundEx("weapon/mbuster","Weapon")
NEDR A 0 A_PlaySoundEx("weapon/needleDakka","Weapon")
KNIG D 0 A_FireCustomMissile("NeedleBoss",random(-2,2),0,8,0)
NEDR DC 2
//KNIG B 0 A_PlaySoundEx("weapon/mbuster","Weapon")
NEDR A 0 A_PlaySoundEx("weapon/needleDakka","Weapon")
KNIG B 0 A_FireCustomMissile("NeedleBoss",random(-2,2),1,-8,0)
NEDR BC 2
//KNIG B 0 A_PlaySoundEx("weapon/mbuster","Weapon")
NEDR A 0 A_PlaySoundEx("weapon/needleDakka","Weapon")
KNIG B 0 A_FireCustomMissile("NeedleBoss",random(-2,2),0,8,0)
NEDR DC 2
KNIG B 0 A_Refire
NEDR A 0 A_TakeInventory("NeedleSlow")
NEDR A 0 A_TakeInventory("PowerNeedle")
Goto Ready+1
Altfire:
NEDR A 0 A_TakeInventory("NeedleSlow")
NEDR A 0 A_TakeInventory("PowerNeedle")
NEDR A 0 A_GiveInventory("NeedlePoker",1)
//NEDR A 0 A_PlaySoundEx("Weapon/chargekick","Weapon")
NEDR A 0 A_PlaySoundEx("weapon/needleWham","Weapon")
NEDR A 0 A_FireCustomMissile("PokerDamage",0,0,8,0)
NEDR EFGFE 2
NEDR A 25
NEDR A 0 A_TakeInventory("NeedlePoker",1)
Goto Ready+1
No:
NEDR A 0 A_TakeInventory("NeedleSlow")
NEDR A 0 A_TakeInventory("PowerNeedle")
//NEDR A 1 ACS_Execute(979,0)
NEDR A 0 A_ClearRefire
Goto Ready+1
}
}

actor NeedleBoss : Needle
{
translation "218:218=210:210"
damage (13)
speed 50
}

actor PokerDamage : FastProjectile
{
PROJECTILE
Radius 13
Height 13
scale 2.5
damage (60)
Obituary "%o was impaled by %k."
speed 120
States
{
Spawn:
TNT1 A 1
stop
Death:
TNT1 A 1
stop
}
}

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

actor NeedlePoker : Inventory
{
inventory.amount 1
inventory.maxamount 2
}

actor NeedleSlow : PowerupGiver
{
inventory.maxamount 0
powerup.duration 999999999999999999999
powerup.type "PowerNeedle"
+INVENTORY.AUTOACTIVATE
+INVENTORY.ALWAYSPICKUP
states
{
Spawn:
TNT1 A 0 
TNT1 A 1
TNT1 A 99999999999999999
stop
}
}

actor PowerNeedle : PowerSpeed
{
Speed 0.47
}