actor NeedleCannonBoss : BaseMM8BDMWep_CBM
{
tag "$TAGC_3A"
dropitem "NeedleCannonWepCDropped"
Weapon.AmmoUse 1
Weapon.AmmoGive 0
//Weapon.SlotNumber 1
Obituary "$OB_NEEDLECANNON"
weapon.ammotype "NoodleAmmo"
+WEAPON.NOAUTOAIM
States
{
Spawn:
C_03 A 1
loop
Ready:
NEDR A 0 ACS_ExecuteAlways(998,0,DYE_NEEDLEMAN)
NEDR A 8 Offset(0,70) A_WeaponReady(1|WRF_ALLOWRELOAD)
NEDR A 0 A_GiveInventory("NoodleAmmo",2)
Goto Ready+1
Deselect:
TNT1 A 0
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,"FireStart")//Fire2
RevUp:
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 0 A_JumpIfInventory("NeedleRevShootSkip",1,"RevUpS")
NEDR A 1 Offset(0,68)
NEDR A 0 A_PlaySoundEx("weapon/needleDakka","SoundSlot7")
NEDR A 0 A_GiveInventory("NeedlemanStartMain_P2",1)
NEDR A 0 ACS_ExecuteAlways(CORE_ACS_191,0,APROP_JumpZ,10,1)
NEDR A 0 ACS_ExecuteAlways(CORE_ACS_191,0,APROP_Speed,50,100)
NEDR A 0 A_JumpIfInventory("PowerRage_ST",1,"RevUp_R")
NEDR D 1 Offset(0,66)
NEDR E 1 Offset(0,64)
NEDR E 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 0 A_PlaySoundEx("weapon/needleDakka","SoundSlot7")
NEDR A 0 A_GiveInventory("NeedlemanStartMain_P1",1)
NEDR G 1 Offset(0,52)
NEDR H 1 Offset(0,50)A_GiveInventory("NoodleAmmo",2)
NEDR H 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 0 A_PlaySoundEx("weapon/needleDakka","SoundSlot7")
NEDR A 0 A_GiveInventory("NeedlemanStartMain_P2",1)
NEDR D 1 Offset(0,44)
NEDR E 1 Offset(0,43)
NEDR E 1 Offset(0,42)
NEDR A 1 Offset(0,41)A_GiveInventory("NoodleAmmo",2)
NEDR A 1 Offset(0,40)
NEDR A 1 Offset(0,39)
NEDR A 1 Offset(0,38)
NEDR A 0 A_PlaySoundEx("weapon/needleDakka","SoundSlot7")
NEDR A 0 A_GiveInventory("NeedlemanStartMain_P1",1)
NEDR G 1 Offset(0,37)
NEDR H 1 Offset(0,36)
NEDR H 1 Offset(0,35)
NEDR A 1 Offset(0,34)
NEDR A 1 Offset(0,33)A_GunFlash
NEDR A 0 A_GiveInventory("NoodleAmmo",2)
Reved:
NEDR A 10 A_WeaponReady(2|WRF_ALLOWRELOAD)//WRF_NOSWITCH
goto UnRev
RevUpS:
NEDR A 1 Offset(0,68)
NEDR A 0 ACS_ExecuteAlways(CORE_ACS_191,0,APROP_JumpZ,10,1)
NEDR A 0 ACS_ExecuteAlways(CORE_ACS_191,0,APROP_Speed,50,100)
NEDR A 0 A_JumpIfInventory("PowerRage_ST",1,"RevUpS_R")
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)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)A_GiveInventory("NoodleAmmo",2)
NEDR A 1 Offset(0,40)
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)A_GunFlash
NEDR A 0 A_GiveInventory("NoodleAmmo",2)
goto Reved
RevUpS_R:
NEDR A 1 Offset(0,64)
NEDR A 1 Offset(0,60)
NEDR A 1 Offset(0,56)
NEDR A 1 Offset(0,52)A_GiveInventory("NoodleAmmo",2)
NEDR A 1 Offset(0,49)
NEDR A 1 Offset(0,47)
NEDR A 1 Offset(0,45)
NEDR A 1 Offset(0,43)
NEDR A 1 Offset(0,41)A_GiveInventory("NoodleAmmo",2)
NEDR A 1 Offset(0,39)
NEDR A 1 Offset(0,37)
NEDR A 1 Offset(0,35)
NEDR A 1 Offset(0,33)A_GunFlash
NEDR A 0 A_GiveInventory("NoodleAmmo",2)
goto Reved
RevUp_R:
NEDR A 1 Offset(0,64)
NEDR A 1 Offset(0,60)
NEDR A 0 A_PlaySoundEx("weapon/needleDakka","SoundSlot7")
NEDR A 0 A_JumpIfInventory("NeedleRevShootSkip",1,2)
NEDR A 0 A_GiveInventory("NeedlemanMain_P1",1)
NEDR G 1 Offset(0,56)
NEDR H 1 Offset(0,52)A_GiveInventory("NoodleAmmo",2)
NEDR A 0 A_PlaySoundEx("weapon/needleDakka","SoundSlot7")
NEDR A 0 A_JumpIfInventory("NeedleRevShootSkip",1,2)
NEDR A 0 A_GiveInventory("NeedlemanMain_P2",1)
NEDR D 1 Offset(0,49)
NEDR E 1 Offset(0,47)
NEDR A 0 A_PlaySoundEx("weapon/needleDakka","SoundSlot7")
NEDR A 0 A_JumpIfInventory("NeedleRevShootSkip",1,2)
NEDR A 0 A_GiveInventory("NeedlemanMain_P1",1)
NEDR G 1 Offset(0,45)
NEDR H 1 Offset(0,43)
NEDR A 0 A_PlaySoundEx("weapon/needleDakka","SoundSlot7")
NEDR A 0 A_JumpIfInventory("NeedleRevShootSkip",1,2)
NEDR A 0 A_GiveInventory("NeedlemanMain_P2",1)
NEDR D 1 Offset(0,41)A_GiveInventory("NoodleAmmo",2)
NEDR E 1 Offset(0,39)
NEDR A 0 A_PlaySoundEx("weapon/needleDakka","SoundSlot7")
NEDR A 0 A_JumpIfInventory("NeedleRevShootSkip",1,2)
NEDR A 0 A_GiveInventory("NeedlemanMain_P1",1)
NEDR G 1 Offset(0,37)
NEDR H 1 Offset(0,35)
NEDR A 0 A_PlaySoundEx("weapon/needleDakka","SoundSlot7")
NEDR A 0 A_JumpIfInventory("NeedleRevShootSkip",1,2)
NEDR A 0 A_GiveInventory("NeedlemanMain_P2",1)
NEDR D 1 Offset(0,33)A_GunFlash
NEDR A 0 A_GiveInventory("NoodleAmmo",2)
goto Reved

FireStart:
NEDR D 0 A_GiveInventory("PowerNeedleFireSlow",1)
NEDR A 0 A_WeaponReady(14)//Fix offsets
NEDR A 0 A_GunFlash
NEDR A 0 A_JumpIfInventory("NeedleDuoFlag",1,"FireStart2")
NEDR A 0 A_JumpIfNoAmmo("FireStartW")
NEDR A 0 A_PlaySoundEx("weapon/needleDakka","Weapon")
NEDR A 0 A_GiveInventory("NeedlemanMain_P2",1)
NEDR D 1
NEDR E 2
NEDR G 0 A_JumpIf(ACS_NamedExecuteWithResult("Get_Button_R") == 1, "Altfire2")
NEDR G 0 A_Refire("FireLoop")
Goto FireEndD
FireStart2:
NEDR A 0 A_JumpIfNoAmmo("FireStartW2")
NEDR A 0 A_PlaySoundEx("weapon/needleDakka","Weapon")
NEDR A 0 A_GiveInventory("NeedlemanMain_P1",1)
NEDR G 1
NEDR H 2
NEDR G 0 A_JumpIf(ACS_NamedExecuteWithResult("Get_Button_R") == 1, "Altfire2")
NEDR G 0 A_Refire("FireLoop2")
Goto FireEndG

FireLoop:
NEDR A 0 A_JumpIfNoAmmo("FireLoopW")
NEDR A 0 A_GunFlash
NEDR A 0 A_PlaySoundEx("weapon/needleDakka","Weapon")
NEDR A 0 A_GiveInventory("NeedlemanMain_P1",1)
NEDR B 1
NEDR H 2
NEDR G 0 A_JumpIf(ACS_NamedExecuteWithResult("Get_Button_R") == 1, "Altfire2")
NEDR G 0 A_Refire("FireLoop2")
Goto FireEndG
FireLoop2:
NEDR A 0 A_JumpIfNoAmmo("FireLoopW2")
NEDR A 0 A_GunFlash
NEDR A 0 A_PlaySoundEx("weapon/needleDakka","Weapon")
NEDR A 0 A_GiveInventory("NeedlemanMain_P2",1)
NEDR B 1
NEDR E 2
NEDR D 0 A_JumpIf(ACS_NamedExecuteWithResult("Get_Button_R") == 1, "Altfire2")
NEDR D 0 A_Refire("FireLoop")
Goto FireEndD

FireEndD:
NEDR D 0 A_GiveInventory("NeedleDuoFlag",1)
NEDR D 1 A_GunFlash
Goto Reved
FireEndG:
NEDR G 0 A_TakeInventory("NeedleDuoFlag",1)
NEDR G 1 A_GunFlash
Goto Reved

FireStartW:
NEDR A 0 A_PlaySound("weapon/mbuster",1,0.75)
NEDR A 0 A_GiveInventory("NeedlemanMain2Z_CI",1)
NEDR D 1
NEDR E 2
NEDR E 0 A_JumpIf(ACS_NamedExecuteWithResult("Get_Button_R") == 1, "Altfire2")
NEDR G 0 A_Refire("FireLoopW")
Goto FireEndD
FireStartW2:
NEDR A 0 A_PlaySound("weapon/mbuster",1,0.75)
NEDR A 0 A_GiveInventory("NeedlemanMain1Z_CI",1)
NEDR G 1
NEDR H 2
NEDR H 0 A_JumpIf(ACS_NamedExecuteWithResult("Get_Button_R") == 1, "Altfire2")
NEDR G 0 A_Refire("FireLoopW2")
Goto FireEndG

FireLoopW:
NEDR A 0 A_GunFlash
NEDR A 0 A_PlaySound("weapon/mbuster",1,0.75)
NEDR A 0 A_GiveInventory("NeedlemanMain1Z_CI",1)
NEDR B 1
NEDR H 2
NEDR G 0 A_JumpIf(ACS_NamedExecuteWithResult("Get_Button_R") == 1, "Altfire2")
NEDR G 0 A_Refire("FireLoop2")
Goto FireEndG
FireLoopW2:
NEDR A 0 A_GunFlash
NEDR A 0 A_PlaySound("weapon/mbuster",1,0.75)
NEDR A 0 A_GiveInventory("NeedlemanMain2Z_CI",1)
NEDR B 1
NEDR E 2
NEDR D 0 A_JumpIf(ACS_NamedExecuteWithResult("Get_Button_R") == 1, "Altfire2")
NEDR D 0 A_Refire("FireLoop")
Goto FireEndD

Fire22:
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_P1",1)
NEDR B 2
NEDR C 1
NEDR A 0 A_PlaySoundEx("weapon/needleDakka","Weapon")
NEDR A 0 A_GiveInventory("NeedlemanMain_P2",1)
NEDR D 2
NEDR C 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")
NEDR A 0 A_GiveInventory("NeedleRevShootSkip",1)
Goto RevUp

Reload:
NEDR A 0 A_JumpIfInventory("NeedleReved",1,"Altfire2")
SPAH S 0 ACS_NamedExecuteAlways("BULL_SetState",0,1)
NEDR J 0 ACS_ExecuteAlways(CORE_ACS_191,0,APROP_Speed,1,1)
NEDR J 0 A_GiveInventory("NeedlePoker",1)
NEDR J 0 A_TakeInventory("NeedleReved",1)
NEDR J 0 A_PlaySoundEx("weapon/needleWham","Weapon")
NEDR J 0 A_GiveInventory("NeedlemanMain3_CI",1)
NEDR J 2
NEDR J 0 A_TakeInventory("NeedlePoker",1)
NEDR KLKJ 2
NEDR A 20 Offset(0,70)
goto Ready+1
Altfire2:
NEDR J 0 ACS_ExecuteAlways(CORE_ACS_191,0,APROP_Speed,1,1)
SPAH S 0 ACS_NamedExecuteAlways("BULL_SetState",0,2)
NEDR J 0 A_GiveInventory("NeedlePoker",1)
NEDR J 0 A_TakeInventory("NeedleReved",1)
NEDR J 0 A_PlaySoundEx("weapon/needleWham","Weapon")
NEDR J 0 A_GiveInventory("NeedlemanMain3_CI",1)
NEDR J 2
NEDR J 0 A_TakeInventory("NeedlePoker",1)
NEDR KLKJ 2
NEDR A 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
NEDR A 2 Offset(0,32)
NEDR A 2 Offset(0,36)
NEDR A 2 Offset(0,40)
NEDR A 2 Offset(0,44)
NEDR A 2 Offset(0,48)
NEDR A 2 Offset(0,52)
NEDR A 2 Offset(0,56)
NEDR A 2 Offset(0,60)
NEDR A 2 Offset(0,64)
goto Ready+1

UnRev:
NEDR A 0 ACS_ExecuteAlways(CORE_ACS_191,0,APROP_Speed,1,1)
NEDR A 0 A_TakeInventory("NeedleReved",1)
NEDR A 0 A_JumpIfInventory("PowerRage_ST",1,"UnRev_R")
NEDR A 1 Offset(0,32)A_WeaponReady(3)
NEDR A 1 Offset(0,34)A_WeaponReady(3)
NEDR A 1 Offset(0,36)A_WeaponReady(3)
NEDR A 1 Offset(0,38)A_WeaponReady(3)
NEDR A 1 Offset(0,40)A_WeaponReady(3)
NEDR A 1 Offset(0,42)A_WeaponReady(3)
NEDR A 1 Offset(0,44)A_WeaponReady(3)
NEDR A 1 Offset(0,46)A_WeaponReady(3)
NEDR A 1 Offset(0,48)A_WeaponReady(3)
NEDR A 0 A_GiveInventory("NoodleAmmo",2)
NEDR A 1 Offset(0,50)A_WeaponReady(3)
NEDR A 1 Offset(0,52)A_WeaponReady(3)
NEDR A 1 Offset(0,54)A_WeaponReady(3)
NEDR A 1 Offset(0,56)A_WeaponReady(3)
NEDR A 1 Offset(0,58)A_WeaponReady(3)
NEDR A 1 Offset(0,60)A_WeaponReady(3)
NEDR A 1 Offset(0,62)A_WeaponReady(3)
NEDR A 1 Offset(0,64)A_WeaponReady(3)
NEDR A 1 Offset(0,66)A_WeaponReady(3)
NEDR A 0 A_GiveInventory("NoodleAmmo",2)
NEDR A 1 Offset(0,68)A_WeaponReady(3)
NEDR A 1 Offset(0,70)A_WeaponReady(3)
goto Ready+1
UnRev_R:
NEDR A 1 Offset(0,34)A_WeaponReady(3)
NEDR A 1 Offset(0,38)A_WeaponReady(3)
NEDR A 1 Offset(0,42)A_WeaponReady(3)
NEDR A 1 Offset(0,46)A_WeaponReady(3)
NEDR A 0 A_GiveInventory("NoodleAmmo",2)
NEDR A 1 Offset(0,50)A_WeaponReady(3)
NEDR A 1 Offset(0,54)A_WeaponReady(3)
NEDR A 1 Offset(0,58)A_WeaponReady(3)
NEDR A 1 Offset(0,62)A_WeaponReady(3)
NEDR A 1 Offset(0,66)A_WeaponReady(3)
NEDR A 0 A_GiveInventory("NoodleAmmo",2)
NEDR A 1 Offset(0,70)A_WeaponReady(3)
goto Ready+1

Flash:
TNT1 A 1
TNT1 A 0 A_JumpIfInventory("NeedleReved",1,1)
goto FlashDone
TNT1 A 1 A_PlaySoundEx("Class/NeedleRevved","Body")
TNT1 A 0 A_JumpIfInventory("NeedleReved",1,1)
goto FlashDone
TNT1 A 1 A_JumpIfInventory("PowerRage_ST",1,2)
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","Body")
TNT1 A 0 A_JumpIfInventory("NeedleReved",1,1)
goto FlashDone
TNT1 A 1 A_JumpIfInventory("PowerRage_ST",1,2)
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","Body")
TNT1 A 0 A_JumpIfInventory("NeedleReved",1,1)
goto FlashDone
TNT1 A 1 A_JumpIfInventory("PowerRage_ST",1,2)
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")
goto Flash

FlashDone:
TNT1 A 0
stop
}
}

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

actor NeedleDuoFlag : OnceC{}

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 PowerNeedleFireSlow : PowerSpeed
{
powerup.duration 10
Speed 1.0//0.5
+POWERSPEED.NOTRAIL
}


actor NeedleFireDelay1 : Powerup
{
+ADDITIVETIME
Powerup.Duration 4
}
actor NeedleFireDelay2 : NeedleFireDelay1{}

actor NeedleRevShootSkip : PowerUp
{
powerup.duration 8
}

actor NeedlemanMain_P1 : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_TakeInventory("NeedleDuoFlag",1)
TNT1 A 0 A_GiveInventory("PowerNeedleFireSlow",1)
NEDR A 0 A_SpawnItemEx("NeedleCasingFXL_H",0,0,0,0,0,0,0,1)
TNT1 A 0 A_JumpIfInventory("NeedleFireDelay1",1,"Pickup2")
//TNT1 A 0 A_LOG("FIRE STRAIGHT 111")
//TNT1 A 0 A_PlaySoundEx("Ryu_L/shinshor1","Voice")
TNT1 A 0 A_GiveInventory("NeedlemanMain1X_CI",1)
P_Spread:
TNT1 AAAA 0 A_GiveInventory("NeedleFireDelay1",1)
stop
Pickup2:
TNT1 A 0 A_GiveInventory("NeedlemanMain1_CI",1)
stop
}
}

actor NeedlemanMain_P2 : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_GiveInventory("NeedleDuoFlag",1)
TNT1 A 0 A_GiveInventory("PowerNeedleFireSlow",1)
NEDR A 0 A_SpawnItemEx("NeedleCasingFXR_H",0,0,0,0,0,0,0,1)
TNT1 A 0 A_JumpIfInventory("NeedleFireDelay2",1,"Pickup2")
//TNT1 A 0 A_LOG("FIRE STRAIGHT 222")
//TNT1 A 0 A_PlaySoundEx("Ryu_L/shinshor1","SoundSlot7")
TNT1 A 0 A_GiveInventory("NeedlemanMain2X_CI",1)
P_Spread:
TNT1 AAAA 0 A_GiveInventory("NeedleFireDelay2",1)
stop
Pickup2:
TNT1 A 0 A_GiveInventory("NeedlemanMain2_CI",1)
stop
}
}

actor NeedlemanStartMain_P1 : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_TakeInventory("NeedleDuoFlag",1)
TNT1 A 0 A_GiveInventory("NeedleReved",1)
TNT1 A 0 A_GiveInventory("PowerNeedleFireSlow",1)
NEDR A 0 A_SpawnItemEx("NeedleCasingFXL_H",0,0,0,0,0,0,0,1)
TNT1 A 0 A_JumpIfInventory("NeedleFireDelay1",1,"Pickup2")
//TNT1 A 0 A_LOG("FIRE STRAIGHT 111")
//TNT1 A 0 A_PlaySoundEx("Ryu_L/shinshor1","Voice")
TNT1 A 0 A_GiveInventory("NeedlemanMain1X_CI",1)
P_Spread:
TNT1 AAAA 0 A_GiveInventory("NeedleFireDelay1",1)
stop
Pickup2:
TNT1 A 0 A_GiveInventory("NeedlemanStartMain1_CI",1)
stop
}
}

actor NeedlemanStartMain_P2 : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_GiveInventory("NeedleDuoFlag",1)
TNT1 A 0 A_GiveInventory("NeedleReved",1)
TNT1 A 0 A_GiveInventory("PowerNeedleFireSlow",1)
NEDR A 0 A_SpawnItemEx("NeedleCasingFXR_H",0,0,0,0,0,0,0,1)
TNT1 A 0 A_JumpIfInventory("NeedleFireDelay2",1,"Pickup2")
//TNT1 A 0 A_LOG("FIRE STRAIGHT 222")
//TNT1 A 0 A_PlaySoundEx("Ryu_L/shinshor1","SoundSlot7")
TNT1 A 0 A_GiveInventory("NeedlemanMain2X_CI",1)
P_Spread:
TNT1 AAAA 0 A_GiveInventory("NeedleFireDelay2",1)
stop
Pickup2:
TNT1 A 0 A_GiveInventory("NeedlemanStartMain2_CI",1)
stop
}
}


actor NeedleBoss : Needle
{
translation "202:202=209:209","199:199=210:210"
Damagetype "NeedleM_Shot"
damage (8)//10
speed 52
States
{
Spawn:
TNT1 A 0
TNT1 A 0 ACS_NamedExecuteAlways("BULL_Tidifier", 0)
SpawnLOOP:
NEDR T 1
loop
Death:
NEDR UVU 2
stop
}
}

actor NeedleBoss2 : NeedleBoss
{
-NOGRAVITY
Gravity 1.5
speed 28
States
{
Spawn:
TNT1 A 0
TNT1 A 0 ACS_NamedExecuteAlways("BULL_Tidifier", 0)
NEDR T 0 ThrustThingZ(0,4,0,1)
SpawnLOOP:
NEDR T 1
goto SpawnLOOP
Death:
NEDR U 0 A_SetScale(1.5)
NEDR UVU 1
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 NeedleBoss2B : NeedleBoss2{translation "202:202=205:205", "199:199=74:74"}
actor NeedleBoss2R : NeedleBoss2{translation "202:202=171:171", "199:199=41:41"}
actor NeedleBoss2O : NeedleBoss2{translation "202:202=104:104", "199:199=128:128"}
actor NeedleBoss2P : NeedleBoss2{translation "202:202=229:229", "199:199=232:232"}

actor PokerDamage : FastProjectile
{
translation "202:202=209:209","199:199=210:210"
PROJECTILE
Damagetype "NeedleM_Stab"
Obituary "$OB_NEEDLEHAMMER"
+EXPLODEONWATER
damage (45)//60
ReactionTime 1
Radius 14
Height 14
speed 140//120
scale 2.25
States
{
Spawn:
TNT1 A 1
TNT1 A 1 A_CountDown
wait
Death:
TNT1 A 1 A_Stop
NEDR UVWXXWVU 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 NeedlemanMain1_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 NeedlemanMain1X_CI : TeamColor_CI{states{
FireX:TNT1 A 0 A_FireCustomMissile("NeedleBoss",0,1,-8,0,0,0)goto Done
FireB:TNT1 A 0 A_FireCustomMissile("NeedleBossB",0,1,-8,0,0,0)goto Done
FireR:TNT1 A 0 A_FireCustomMissile("NeedleBossR",0,1,-8,0,0,0)goto Done
FireO:TNT1 A 0 A_FireCustomMissile("NeedleBossO",0,1,-8,0,0,0)goto Done
FireP:TNT1 A 0 A_FireCustomMissile("NeedleBossP",0,1,-8,0,0,0)goto Done
}}
actor NeedlemanMain1Z_CI : TeamColor_CI{states{
FireX:TNT1 A 0 A_FireCustomMissile("NeedleBoss2",frandom(-1,5),1,-8,0,0,frandom(-3,3))goto Done
FireB:TNT1 A 0 A_FireCustomMissile("NeedleBoss2B",frandom(-1,5),1,-8,0,0,frandom(-3,3))goto Done
FireR:TNT1 A 0 A_FireCustomMissile("NeedleBoss2R",frandom(-1,5),1,-8,0,0,frandom(-3,3))goto Done
FireO:TNT1 A 0 A_FireCustomMissile("NeedleBoss2O",frandom(-1,5),1,-8,0,0,frandom(-3,3))goto Done
FireP:TNT1 A 0 A_FireCustomMissile("NeedleBoss2P",frandom(-1,5),1,-8,0,0,frandom(-3,3))goto Done
}}

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

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

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

actor NeedlemanStartMain2_CI : TeamColor_CI
{
states
{
FireX:
TNT1 A 0 A_FireCustomMissile("NeedleBoss",frandom(-2.5,0.5),1,8,0,0,frandom(-1.5,1.5))
goto Done
FireB:
TNT1 A 0 A_FireCustomMissile("NeedleBossB",frandom(-2.5,0.5),1,8,0,0,frandom(-1.5,1.5))
goto Done
FireR:
TNT1 A 0 A_FireCustomMissile("NeedleBossR",frandom(-2.5,0.5),1,8,0,0,frandom(-1.5,1.5))
goto Done
FireO:
TNT1 A 0 A_FireCustomMissile("NeedleBossO",frandom(-2.5,0.5),1,8,0,0,frandom(-1.5,1.5))
goto Done
FireP:
TNT1 A 0 A_FireCustomMissile("NeedleBossP",frandom(-2.5,0.5),1,8,0,0,frandom(-1.5,1.5))
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
}
}

    Actor NeedleCasingFXR_H : BasicHelper
  {
    States
	{
		Spawn:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("NeedleCasingFX",0,8,28,frandom(-1,3),frandom(5,8),4,0,1)
		Stop
	}
  }
  
      Actor NeedleCasingFXL_H : BasicHelper
  {
    States
	{
		Spawn:
		TNT1 A 0
		TNT1 A 1 A_SpawnItemEx("NeedleCasingFX",0,-8,28,frandom(-1,3),frandom(-5,-8),4,0,1)
		Stop
	}
  }


  Actor NeedleCasingFX
  {
    +DONTBLAST
	+MISSILE
	-NOGRAVITY
	+THRUACTORS
	+CLIENTSIDEONLY
	+FLOORCLIP
	+DONTSPLASH
	+HEXENBOUNCE
	BounceCount 5
	BounceFactor 0.5
	WallBounceFactor 0.8
	renderstyle translucent
	alpha 0.6
	Damage (0)
	Height 4
	Radius 4
	Speed 34
	Scale 1.5
	States
	{
		Spawn:
		TNT1 A 0
		TNT1 A 0 A_Jump(256,1,2,3,4,5,6,7,8)
		NDCS ABCDEFGHC 2
		Goto Spawn+2
		Death:
		TNT1 A 0 A_SpawnItemEX("NeedleCasingFloorFX",0,0,0,0,0,0,0,1)
		stop
	}
  }

  Actor NeedleCasingFloorFX : NeedleCasingFX
  {
	reactiontime 30
	States
	{
		Spawn:
		NDCS C 0
		NDCS C 1 A_Countdown
		loop
		Death:
		TNT1 A 0
		stop
	}
  }