actor NoiseCrushWep : MegaBuster 10083
{
Weapon.AmmoUse 2
Weapon.AmmoGive 28
Weapon.SlotNumber 2
Obituary "%o was crushed by %k's Noise Crush."
Inventory.Pickupmessage "Power up! Noise Crush!"
weapon.ammotype "NoiseCrushAmmo"
inventory.pickupsound "weapon/weaponup"
+WEAPON.AMMO_OPTIONAL
inventory.icon "NCRUSI"
Scale 2.0
States
{
Spawn:
WEA3 J 1
loop
Ready:
NCRU I 0 ACS_ExecuteAlways(998,0,55)
NCRU I 0 A_JumpIfInventory("NoiseCrushFlag",1,"Charged")
NCRU I 1 A_WeaponReady
Goto Ready+1
Charged:
NCRU L 0 ACS_ExecuteAlways(991,0,71)
NCRU L 0 A_PlaySoundEx("weapon/noisecrushcharge","Voice")
NCRU L 1 A_WeaponReady
NCRU L 0 ACS_ExecuteAlways(991,0,72)
NCRU L 0 //A_PlaySoundEx("weapon/noisecrushcharge","Voice")
NCRU M 1 A_WeaponReady
NCRU L 0 ACS_ExecuteAlways(991,0,73)
NCRU L 0 //A_PlaySoundEx("weapon/noisecrushcharge","Voice")
NCRU N 1 A_WeaponReady
NCRU L 0 ACS_ExecuteAlways(991,0,71)
NCRU L 0 //A_PlaySoundEx("weapon/noisecrushcharge","Voice")
NCRU L 1 A_WeaponReady
NCRU L 0 ACS_ExecuteAlways(991,0,72)
NCRU L 0 A_PlaySoundEx("weapon/noisecrushcharge","Voice")
NCRU M 1 A_WeaponReady
NCRU L 0 ACS_ExecuteAlways(991,0,73)
NCRU L 0 //A_PlaySoundEx("weapon/noisecrushcharge","Voice")
NCRU N 1 A_WeaponReady
NCRU L 0 ACS_ExecuteAlways(991,0,71)
NCRU L 0 //A_PlaySoundEx("weapon/noisecrushcharge","Voice")
NCRU L 1 A_WeaponReady
NCRU L 0 ACS_ExecuteAlways(991,0,72)
NCRU L 0 //A_PlaySoundEx("weapon/noisecrushcharge","Voice")
NCRU M 1 A_WeaponReady
NCRU L 0 ACS_ExecuteAlways(991,0,73)
NCRU L 0 A_PlaySoundEx("weapon/noisecrushcharge","Voice")
NCRU N 1 A_WeaponReady
NCRU L 0 ACS_ExecuteAlways(991,0,71)
NCRU L 0 //A_PlaySoundEx("weapon/noisecrushcharge","Voice")
NCRU L 1 A_WeaponReady
NCRU L 0 ACS_ExecuteAlways(991,0,72)
NCRU L 0 //A_PlaySoundEx("weapon/noisecrushcharge","Voice")
NCRU M 1 A_WeaponReady
NCRU L 0 ACS_ExecuteAlways(991,0,73)
NCRU L 0 //A_PlaySoundEx("weapon/noisecrushcharge","Voice")
NCRU N 1 A_WeaponReady
loop
Deselect:
TNT1 A 0 A_JumpIfInventory("NoiseCrushFlag",1,"FireOut")
TNT1 A 0 A_TakeInventory("NoiseCrushFlag",1)
//TNT1 A 0 ACS_ExecuteAlways(991,0,0)
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower
NCRU I 1 A_Lower
Loop
Select:
TNT1 A 0 A_TakeInventory("NoiseCrushFlag",1)
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise
NCRU I 1 A_Raise
Loop
Fire:
NCRU I 0 A_JumpIfInventory("NoiseCrushFlag",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_JumpIfNoAmmo("Fire1")
NCRU I 0 A_PlaySoundEx("weapon/noisecrush2","Weapon")
NCRU I 0 A_FireCustomMissile("NoiseCrush2",0,0,8,0)
NCRU JK 3
NCRU I 0 ACS_ExecuteAlways(991,0,55)
NCRU I 30 A_TakeInventory("NoiseCrushFlag",1)
NCRU I 0 A_Refire
NCRU I 0 ACS_ExecuteAlways(998,0,55,1)
Goto Ready+1
FireOut:
NCRU I 0 //A_JumpIfNoAmmo("Fire1")
NCRU I 0 A_PlaySoundEx("weapon/noisecrush2","Weapon")
NCRU I 0 A_FireCustomMissile("NoiseCrush2",0,0,8,0)
NCRU JK 3
NCRU I 0 //ACS_ExecuteAlways(991,0,55)
NCRU I 30 A_TakeInventory("NoiseCrushFlag",1)
NCRU I 0 A_Refire
NCRU I 0 //ACS_ExecuteAlways(998,0,55,1)
Goto Deselect+1
NoAmmo:
NCRU I 1 ACS_Execute(979,0)
Goto Ready+1
}
}

actor NoiseCrushFlag : Inventory
{
inventory.amount 1
inventory.maxamount 1
}

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


actor NoiseCrush
{
PROJECTILE
+DOOMBOUNCE
Radius 5
Height 5
scale 2.5
damage (20)
+FORCEXYBILLBOARD
speed 25
+HEXENBOUNCE
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("NoiseCrushFlag",1)
stop
}
}

actor NoiseCrush2
{
PROJECTILE
Radius 20
Height 10
scale 2.5
damage (60)
+FORCEXYBILLBOARD
speed 40
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
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
}
}