actor NeedleCannonBoss : BaseMM8BDMWep_CBM
{
dropitem "NeedleCannonWepCDropped"
Weapon.AmmoUse 1
Weapon.AmmoGive 0
Weapon.SlotNumber 1
Obituary "$OB_NEEDLECANNON"
weapon.ammotype "NoodleAmmo"
+WEAPON.NOAUTOAIM
inventory.icon "NEEDSI"
States
{
Spawn:
C_03 A 1
loop
Ready:
NEDR A 0 ACS_ExecuteAlways(998,0,760)
NEDR A 0 A_WeaponReady
NEDR A 7 Offset(0,70)
NEDR A 0 A_GiveInventory("NoodleAmmo",2)
Goto Ready+1
Deselect:
TNT1 A 0// A_SelectWeapon("NeedlePokerBoss")
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower
NEDR A 1 A_Lower
Loop
Select:
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise
NEDR A 1 A_Raise
Loop
Fire:
NEDR A 0 A_JumpIfInventory("NeedleReved",1,"Fire2")
RevUp:
NEDR A 0 ACS_ExecuteAlways(191,0,6)
NEDR A 0 A_GiveInventory("NeedleReved",1)
//NEDR A 0 A_PlaySoundEx("Weapon/Pcharge","Weapon")
NEDR A 0 A_PlaySoundEx("Class/NeedleRevup","SoundSlot6")
NEDR A 1 Offset(0,68)
NEDR A 1 Offset(0,66)
NEDR A 1 Offset(0,64)
NEDR A 1 Offset(0,62)
NEDR A 1 Offset(0,60)
NEDR A 1 Offset(0,58)
NEDR A 1 Offset(0,56)
NEDR A 1 Offset(0,54)
NEDR A 1 Offset(0,52)
NEDR A 1 Offset(0,50)
NEDR A 0 A_GiveInventory("NoodleAmmo",2)
NEDR A 1 Offset(0,49)
NEDR A 1 Offset(0,48)
NEDR A 1 Offset(0,47)
NEDR A 1 Offset(0,46)
NEDR A 1 Offset(0,45)
NEDR A 1 Offset(0,44)
NEDR A 1 Offset(0,43)
NEDR A 1 Offset(0,42)
NEDR A 1 Offset(0,41)
NEDR A 1 Offset(0,40)
NEDR A 0 A_GiveInventory("NoodleAmmo",2)
NEDR A 1 Offset(0,39)
NEDR A 1 Offset(0,38)
NEDR A 1 Offset(0,37)
NEDR A 1 Offset(0,36)
NEDR A 1 Offset(0,35)
NEDR A 1 Offset(0,34)
NEDR A 1 Offset(0,33)
NEDR A 1 Offset(0,32)
NEDR A 1 Offset(0,31)
NEDR A 1 A_GunFlash
NEDR A 0 A_GiveInventory("NoodleAmmo",2)
Reved:
NEDR A 15 A_WeaponReady(WRF_NOSWITCH)
goto UnRev
Fire2:
NEDR A 0 A_JumpIfNoAmmo("No")
NEDR A 0 A_GunFlash
NEDR A 0 A_PlaySoundEx("weapon/needleDakka","Weapon")
NEDR A 0 A_GiveInventory("NeedlemanMain_CI",1)
NEDR BBC 1
NEDR A 0 A_PlaySoundEx("weapon/needleDakka","Weapon")
NEDR A 0 A_GiveInventory("NeedlemanMain2_CI",1)
NEDR DDC 1
NEDR A 0 A_GunFlash
KNIG B 0 A_Refire
Goto Reved
No:
NEDR A 1
goto Reved
Altfire:
NEDR A 0 A_JumpIfInventory("NeedleReved",1,"Reved")
Goto RevUp
UnRev:
NEDR A 0 A_TakeInventory("NeedleReved",1)
NEDR A 1 Offset(0,32)
NEDR A 1 Offset(0,34)
NEDR A 1 Offset(0,36)
NEDR A 1 Offset(0,38)
NEDR A 1 Offset(0,40)
NEDR A 1 Offset(0,42)
NEDR A 1 Offset(0,44)
NEDR A 1 Offset(0,46)
NEDR A 1 Offset(0,48)
NEDR A 1 Offset(0,50)
NEDR A 0 A_GiveInventory("NoodleAmmo",2)
NEDR A 1 Offset(0,52)
NEDR A 1 Offset(0,54)
NEDR A 1 Offset(0,56)
NEDR A 1 Offset(0,58)
NEDR A 1 Offset(0,60)
NEDR A 1 Offset(0,62)
NEDR A 1 Offset(0,64)
NEDR A 1 Offset(0,66)
NEDR A 1 Offset(0,68)
NEDR A 1 Offset(0,70)
NEDR A 0 A_GiveInventory("NoodleAmmo",2)
NEDR A 5 ACS_ExecuteAlways(191,0,0)
goto Ready+1

Flash:
TNT1 A 0 A_JumpIfInventory("NeedleReved",1,1)
goto FlashDone
TNT1 A 1 A_PlaySoundEx("Class/NeedleRevved","SoundSlot6")
TNT1 A 0 A_JumpIfInventory("NeedleReved",1,1)
goto FlashDone
TNT1 A 1
TNT1 A 0 A_JumpIfInventory("NeedleReved",1,1)
goto FlashDone
TNT1 A 1 
TNT1 A 0 A_JumpIfInventory("NeedleReved",1,1)
goto FlashDone
TNT1 A 1 A_PlaySoundEx("Class/NeedleRevved","SoundSlot6")
TNT1 A 0 A_JumpIfInventory("NeedleReved",1,1)
goto FlashDone
TNT1 A 1
TNT1 A 0 A_JumpIfInventory("NeedleReved",1,1)
goto FlashDone
TNT1 A 1
TNT1 A 0 A_JumpIfInventory("NeedleReved",1,1)
goto FlashDone
TNT1 A 1 A_PlaySoundEx("Class/NeedleRevved","SoundSlot6")
TNT1 A 0 A_JumpIfInventory("NeedleReved",1,1)
goto FlashDone
TNT1 A 1
TNT1 A 0 A_JumpIfInventory("NeedleReved",1,1)
goto FlashDone
TNT1 A 1
TNT1 A 0 A_JumpIfInventory("NeedleReved",1,1)
goto FlashDone
TNT1 A 1  A_PlaySoundEx("Class/NeedleRevved","SoundSlot6")
TNT1 A 0 A_JumpIfInventory("NeedleReved",1,1)
goto FlashDone
TNT1 A 1
TNT1 A 0 A_JumpIfInventory("NeedleReved",1,1)
goto FlashDone
TNT1 A 1
TNT1 A 0 A_JumpIfInventory("NeedleReved",1,1)
goto FlashDone
TNT1 A 1 A_PlaySoundEx("Class/NeedleRevved","SoundSlot6")
TNT1 A 0 A_JumpIfInventory("NeedleReved",1,1)
goto FlashDone
TNT1 A 1
TNT1 A 0 A_JumpIfInventory("NeedleReved",1,1)
goto FlashDone
TNT1 A 1
TNT1 A 0 A_JumpIfInventory("NeedleReved",1,1)
goto FlashDone
TNT1 A 1  A_PlaySoundEx("Class/NeedleRevved","SoundSlot6")
TNT1 A 0 A_JumpIfInventory("NeedleReved",1,1)
goto FlashDone
TNT1 A 1
TNT1 A 0 A_JumpIfInventory("NeedleReved",1,1)
goto FlashDone


TNT1 A 0 A_GiveInventory("NoodleAmmo",2)
TNT1 A 0 A_JumpIfInventory("IsDead",1,"FlashDone")
TNT1 A 1
goto Flash

FlashDone:
TNT1 A 0
stop
}
}

actor NeedlePokerBoss : BaseMM8BDMWep_CBM
{
dropitem "NeedleCannonWepCDropped"
Weapon.AmmoUse 1
Weapon.AmmoGive 0
Weapon.SlotNumber 2
Obituary "$OB_NEEDLEHAMMER"
weapon.ammotype "NoodleAmmo"
inventory.icon "NeedIcon"
States
{
Spawn:
C_03 A 1
loop
Ready:
NEDR A 0 ACS_ExecuteAlways(998,0,0)
NEDR H 7 A_WeaponReady
NEDR E 0 A_GiveInventory("NoodleAmmo",2)
goto Ready+1
Deselect:
TNT1 A 0// A_SelectWeapon("NeedleCannonBoss")
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower
TNT1 A 1 A_Lower
Loop
Select:
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise
NEDR A 1 A_Raise
Loop
Fire:
Altfire:
NEDR A 0 A_GiveInventory("NeedlePoker",1)
NEDR A 0 ACS_ExecuteAlways(191,0,16)//80% speed
//NEDR A 0 A_PlaySoundEx("Weapon/chargekick","Weapon")
NEDR A 0 A_PlaySoundEx("weapon/needleWham","Weapon")
NEDR A 0 A_GiveInventory("NeedlemanMain3_CI",1)
NEDR E 2
NEDR E 0 A_TakeInventory("NeedlePoker",1)
NEDR FGFE 2
NEDR H 20
NEDR H 5 ACS_ExecuteAlways(191,0,0)

Goto Ready+1
}
}

actor NeedleBoss : Needle
{
translation "202:202=209:209","199:199=210:210"
Damagetype "NeedleCannonB"
damage (8)//10
speed 50
States
{
Spawn:
NEDR T 1
loop
Death:
NEDR UVU 2
stop
}
}

actor NeedleBossB : NeedleBoss{translation "202:202=205:205", "199:199=74:74"}
actor NeedleBossR : NeedleBoss{translation "202:202=171:171", "199:199=41:41"}
actor NeedleBossO : NeedleBoss{translation "202:202=104:104", "199:199=128:128"}
actor NeedleBossP : NeedleBoss{translation "202:202=229:229", "199:199=232:232"}

actor PokerDamage : FastProjectile
{
translation "202:202=209:209","199:199=210:210"
PROJECTILE
Damagetype "ClassPain"
Obituary "$OB_NEEDLEHAMMER"
+EXPLODEONWATER
damage (45)//60
ReactionTime 1
Radius 13
Height 13
speed 140//120
scale 2.0
States
{
Spawn:
TNT1 A 1
//TNT1 A 0 A_CountDown
stop
Death:
TNT1 A 1
NEDR UVWXWVU 1
stop
}
}

actor PokerDamageB : PokerDamage{translation "202:202=205:205", "199:199=74:74"}
actor PokerDamageR : PokerDamage{translation "202:202=171:171", "199:199=41:41"}
actor PokerDamageO : PokerDamage{translation "202:202=104:104", "199:199=128:128"}
actor PokerDamageP : PokerDamage{translation "202:202=229:229", "199:199=232:232"}

actor NoodleAmmo : Ammo
{
inventory.amount 1
inventory.maxamount 35
+INVENTORY.IGNORESKILL
}

actor NeedlePoker : OnceC{}

actor NeedleReved : OnceC{}

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
}

actor NeedlemanMain_CI : TeamColor_CI
{
states
{
FireX:
TNT1 A 0 A_FireCustomMissile("NeedleBoss",frandom(-1,5),1,-8,0,0,frandom(-3,3))//4
goto Done
FireB:
TNT1 A 0 A_FireCustomMissile("NeedleBossB",frandom(-1,5),1,-8,0,0,frandom(-3,3))
goto Done
FireR:
TNT1 A 0 A_FireCustomMissile("NeedleBossR",frandom(-1,5),1,-8,0,0,frandom(-3,3))
goto Done
FireO:
TNT1 A 0 A_FireCustomMissile("NeedleBossO",frandom(-1,5),1,-8,0,0,frandom(-3,3))
goto Done
FireP:
TNT1 A 0 A_FireCustomMissile("NeedleBossP",frandom(-1,5),1,-8,0,0,frandom(-3,3))
goto Done
}
}

actor NeedlemanMain2_CI : TeamColor_CI
{
states
{
FireX:
TNT1 A 0 A_FireCustomMissile("NeedleBoss",frandom(-5,1),0,8,0,0,frandom(-3,3))
goto Done
FireB:
TNT1 A 0 A_FireCustomMissile("NeedleBossB",frandom(-5,1),0,8,0,0,frandom(-3,3))
goto Done
FireR:
TNT1 A 0 A_FireCustomMissile("NeedleBossR",frandom(-5,1),0,8,0,0,frandom(-3,3))
goto Done
FireO:
TNT1 A 0 A_FireCustomMissile("NeedleBossO",frandom(-5,1),0,8,0,0,frandom(-3,3))
goto Done
FireP:
TNT1 A 0 A_FireCustomMissile("NeedleBossP",frandom(-5,1),0,8,0,0,frandom(-3,3))
goto Done
}
}

actor NeedlemanMain3_CI : TeamColor_CI
{
states
{
FireX:
TNT1 A 0 A_FireCustomMissile("PokerDamage",0,0,0,0)
goto Done
FireB:
TNT1 A 0 A_FireCustomMissile("PokerDamageB",0,0,0,0)
goto Done
FireR:
TNT1 A 0 A_FireCustomMissile("PokerDamageR",0,0,0,0)
goto Done
FireO:
TNT1 A 0 A_FireCustomMissile("PokerDamageO",0,0,0,0)
goto Done
FireP:
TNT1 A 0 A_FireCustomMissile("PokerDamageP",0,0,0,0)
goto Done
}
}