So if you add +PUFFONACTORS, it should spawn puffs. You say it does not, then it is either a Zandronum problem, or you are doing something wrong. Have you given that flag to the puff? Or have you given it to something else? Also try testing it with newest ZDoom, instead of Zandronum, it may be a Zandronum specific problem.
The flag is set on the puff. Here's the code where the A_FireBullets call is made.
Code: Select all
ACTOR Boomstick : Weapon
{
Weapon.AmmoUse 1
Weapon.AmmoGive 8
Weapon.AmmoType "Shell"
Inventory.PickupMessage "You got the Boomstick!"
Obituary "%o got blasted by %k's Boomstick."
PoisonDamage 5000000
Weapon.UpSound "w2/load"
AttackSound "w2/fire"
States
{
Ready:
W2E1 A 1 A_WeaponReady
goto Ready
Deselect:
W2E1 A 1 A_Lower
W2E1 A 0 A_Lower
goto Deselect
Select:
W2E1 A 1 A_Raise
W2E1 A 0 A_Raise
goto Select
Fire:
W2E1 A 3 A_GunFlash
W2E1 A 7 A_FireBullets(6, 6, 7, 0, "BulletPuff_Explosive")
W2E1 BC 5
W2E1 D 4 A_PlayWeaponSound("w2/load")
W2E1 D 0 A_FireCustomMissile("splatShellCasing", 45 + random(-8,8), 0, 2, 3)
W2E1 CB 4
W2E1 A 10 A_Refire
goto Ready
Flash:
SHTF A 2 bright A_Light1
SHTF B 2 Bright A_Light2
Goto LightDone
}
}
And here's the bit where BulletPuff_Explosive is defined. It works when walls are hit (i.e., BulletPuff_ExplosiveRemains is spawned), but this doesn't happen when an actor is hit. I've also tried simpler puffs with the +PUFFONACTORS flag set, and no luck was had there either.
Code: Select all
ACTOR BulletPuff_Explosive
{
RenderStyle Translucent
Alpha 0.66
Scale 0.66
VSpeed 1
Mass 5
+NOBLOCKMAP
+NOGRAVITY
+ALLOWPARTICLES
+RANDOMIZE
+PUFFONACTORS
States
{
Spawn:
BAL1 CD 4 bright
Melee:
BAL1 E 4 bright
stop
Crash:
BAL1 C 4 bright
BAL1 D 4 bright A_SpawnItemEx("BulletPuff_ExplosiveRemains")
BAL1 C 4 bright
stop
}
}
(This code is actually from Shotgun Frenzy 1.4, BTW, though slightly modified at this point).
Unfortunately, this mod doesn't work on ZDoom, but I'll set up a simpler test case to test in both Zandronum and ZDoom when I get a chance.
Well, it looks like +PUFFONACTORS doesn't work in Zandronum. Here's my test case, in case anyone else wants to verify.
DECORATE.TXT
NEWPUFF.TXT
Code: Select all
ACTOR NewPuff : BulletPuff replaces BulletPuff
{
Game Doom
SpawnID 131
+NOBLOCKMAP
+NOGRAVITY
+ALLOWPARTICLES
+RANDOMIZE
+PUFFONACTORS
RenderStyle Translucent
Alpha 0.5
VSpeed 1
Mass 5
States
{
Spawn:
BFS1 AB 4 Bright
BFE1 AB 8 Bright
//BFGG A 4 Bright
//BFGG B 4
// Intentional fall-through
Melee:
BFS1 AB 4 Bright
Stop
}
}
Behavior in ZDoom: As expected, BFG animations happen when bullets strike both actors and walls.
Behavior in Zandronum: BFG animations happen when bullets strike walls only, not when actors are struck.
Does anyone know if this flag is intentionally not supported in Zandronum, or is this a bug?