actor NoiseCrushWep : BaseMM8BDMWep 10083
{
//$Category MM8BDM-Weapons
//$Title Noise Crush
//$Sprite WEA3J0
Weapon.AmmoUse 2
Weapon.AmmoGive 28
Weapon.SlotNumber 2
Inventory.Pickupmessage "$PU_NOISECRUSH"
Obituary "$OB_NOISECRUSH"
Tag "$TAG_NOISECRUSH"
weapon.ammotype "NoiseCrushAmmo"
inventory.icon "NCRUSI"
States
{
SpawnLoop:
WEA3 J -1
loop
Ready:
NCRU I 0 ACS_ExecuteAlways(998,0,55)
NCRU I 0 A_JumpIfInventory("NoiseCrushCaught",1,"ChargeStart")
NCRU I 1 A_WeaponReady
Goto Ready+1
ChargeStart:
NCRU L 0 A_GiveInventory("WeaponCharge",1)
NCRU L 0 A_GunFlash("Sound.BusterCharge", GFF_NOEXTCHANGE)
Charged:
NCRU L 0 ACS_ExecuteAlways(991,0,72)
NCRU M 1 A_WeaponReady
NCRU L 0 ACS_ExecuteAlways(991,0,73)
NCRU N 1 A_WeaponReady
NCRU I 0 ACS_ExecuteAlways(991,0,55)
NCRU I 1 A_WeaponReady
loop
Deselect:
TNT1 A 0 A_JumpIfInventory("WeaponCharge",1,"ChargeDeselect")
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower
NCRU I 1 A_Lower
goto Deselect+1
ChargeDeselect:
NCRU I 2 A_TakeInventory("WeaponCharge",999)
goto Deselect+1
Select:
TNT1 A 0 A_TakeInventory("NoiseCrushCaught",999)
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise
NCRU I 1 A_Raise
Loop
Fire:
NCRU I 0 A_JumpIfInventory("WeaponCharge",1,"Fire2")
NCRU I 0 A_JumpIfNoAmmo("NoAmmo")
NCRU I 0 ACS_ExecuteAlways(998,0,55,1)
Goto Fire1
Fire1:
NCRU I 0 A_PlaySoundEx("weapon/noisecrush1","Weapon")
NCRU I 0 A_FireCustomMissile("NoiseCrush",0,1,8,0)
NCRU JK 5
NCRU I 10
NCRU I 0 A_Refire
Goto Ready+1
Fire2:
NCRU I 0 A_PlaySoundEx("weapon/noisecrush2", "Weapon")
NCRU I 0 A_StopSoundEx("SoundSlot5")
NCRU I 0 A_FireCustomMissile("NoiseCrush2",0,0,8,0)
NCRU I 0 A_TakeInventory("NoiseCrushAmmo", 4,TIF_NOTAKEINFINITE)
NCRU I 0 A_TakeInventory("WeaponCharge",999)
NCRU I 0 A_TakeInventory("NoiseCrushCaught",999)
NCRU J 1
NCRU J 0 ACS_ExecuteAlways(991,0,55)
NCRU J 4
NCRU K 5
NCRU I 25
NCRU I 0 A_Refire
Goto Ready+1
NoAmmo:
NCRU I 1 ACS_Execute(979,0)
Goto Ready+1
}
}

actor NoiseCrushAmmo : Ammo
{
inventory.amount 1
inventory.maxamount 28
+INVENTORY.IGNORESKILL
}


actor NoiseCrush
{
PROJECTILE
Radius 5
Height 5
scale 2.5
damage (27)
damagetype "NoiseCrush1"
Obituary "$OB_NOISECRUSH"
speed 38
+FORCEXYBILLBOARD
+HEXENBOUNCE
+CANBOUNCEWATER
BounceFactor 1.0
bouncecount 2
reactiontime 150
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_SpawnItemEx("NoiseCrushTrail1",0,0,0,0,0,0,0)
TNT1 A 1 A_CountDown
TNT1 A 0 A_SpawnItemEx("NoiseCrushTrail2",0,0,0,0,0,0,0)
TNT1 A 1 A_CountDown
TNT1 A 0 A_SpawnItemEx("NoiseCrushTrail3",0,0,0,0,0,0,0)
TNT1 A 1 A_CountDown
TNT1 A 0 A_SpawnItemEx("NoiseCrushTrail4",0,0,0,0,0,0,0)
TNT1 A 1 A_CountDown
Goto Look
Look:
TNT1 A 0 A_JumpIfCloser(40, "Give")
TNT1 A 0 A_SpawnItemEx("NoiseCrushTrail1",0,0,0,0,0,0,0)
TNT1 A 1 A_CountDown
TNT1 A 0 A_JumpIfCloser(40, "Give")
TNT1 A 0 A_SpawnItemEx("NoiseCrushTrail2",0,0,0,0,0,0,0)
TNT1 A 1 A_CountDown
TNT1 A 0 A_JumpIfCloser(40, "Give")
TNT1 A 0 A_SpawnItemEx("NoiseCrushTrail3",0,0,0,0,0,0,0)
TNT1 A 1 A_CountDown
TNT1 A 0 A_JumpIfCloser(40, "Give")
TNT1 A 0 A_SpawnItemEx("NoiseCrushTrail4",0,0,0,0,0,0,0)
TNT1 A 1 A_CountDown
loop
Give:
TNT1 A 2 A_GiveToTarget("NoiseCrushCaught",1)
stop
}
}

actor NoiseCrush2
{
PROJECTILE
Radius 20
Height 10
scale 2.5
damage (80)
damagetype "NoiseCrush2"
Obituary "$OB_NOISECRUSH"
+FORCEXYBILLBOARD
speed 60
reactiontime 150
States
{
Spawn:
TNT1 A 0
TNT1 A 1 A_SpawnItemEx("NoiseCrushTrail5",0,0,0,0,0,0,0)
TNT1 A 1 A_SpawnItemEx("NoiseCrushTrail6",0,0,0,0,0,0,0)
TNT1 A 1 A_SpawnItemEx("NoiseCrushTrail7",0,0,0,0,0,0,0)
TNT1 A 1 A_SpawnItemEx("NoiseCrushTrail8",0,0,0,0,0,0,0)
loop
}
}

actor NoiseCrushTrail1
{
+NOINTERACTION
+NOGRAVITY
+CLIENTSIDEONLY
+FORCEXYBILLBOARD
-SOLID
+BRIGHT
scale 2.5
height 0
radius 0
States
{
Spawn:
NCRU D 5
stop
}
}

actor NoiseCrushTrail2 : NoiseCrushTrail1
{
States
{
Spawn:
NCRU C 5
stop
}
}

actor NoiseCrushTrail3 : NoiseCrushTrail1
{
States
{
Spawn:
NCRU B 5
stop
}
}

actor NoiseCrushTrail4 : NoiseCrushTrail1
{
States
{
Spawn:
NCRU A 5
stop
}
}

actor NoiseCrushTrail5 : NoiseCrushTrail1
{
States
{
Spawn:
NCRU H 8
stop
}
}

actor NoiseCrushTrail6 : NoiseCrushTrail1
{
States
{
Spawn:
NCRU G 8
stop
}
}

actor NoiseCrushTrail7 : NoiseCrushTrail1
{
States
{
Spawn:
NCRU F 8
stop
}
}

actor NoiseCrushTrail8 : NoiseCrushTrail1
{
States
{
Spawn:
NCRU E 8
stop
}
}

actor NoiseCrushCaught : Once {}
