Advanced Search

Author Topic: [Bug] Noise Crush  (Read 2027 times)

0 Members and 1 Guest are viewing this topic.

December 18, 2018, 12:08:43 PM
Read 2027 times

Offline JaxOf7

  • MM8BDM Extender
  • *****
  • Date Registered: March 23, 2011, 03:56:13 AM

    • View Profile
[Bug] Noise Crush
« on: December 18, 2018, 12:08:43 PM »


2 issues.

1. Glow color can stick on deselect. Likely cause it's calling a color change from it and the new weapon on the same tic. Just have a deselect delay.

2. Catching Noise Crush gives WeaponCharge. You can get this with another charge weapon so it gets WeaponCharge and thus charges slightly quicker. It's not a big deal, but it's a thing and it is weird. NoiseCrushWep itself can still use WeaponCharge, just have catching noise crush give an intermediary item.

(3. Glow return to normal happens slightly later on Fire2. Just seems like a good idea.)

NoiseCrush.txt
Code: [Select]
actor NoiseCrushWep : BaseMM8BDMWep 10083
{
//$Category MM8BDM-Weapons
//$Title Noise Crush
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
{
Spawn:
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,24)
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower
NCRU I 1 A_Lower
goto Deselect+1
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 I 0 ACS_ExecuteAlways(991,0,55)
//NCRU JK 5
NCRU J 1
NCRU J 1 ACS_ExecuteAlways(991,0,55)
NCRU J 3
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 (20)
damagetype "NoiseCrush1"
Obituary "$OB_NOISECRUSH"
speed 25
+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 (65)
damagetype "NoiseCrush2"
Obituary "$OB_NOISECRUSH"
+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
}
}

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