diff --git a/src/p_acs.cpp b/src/p_acs.cpp index b94d63b79..f9744884c 100644 --- a/src/p_acs.cpp +++ b/src/p_acs.cpp @@ -5397,6 +5397,7 @@ int DLevelScript::CallFunction(int argCount, int funcIndex, SDWORD *args, const FName damagetype = argCount > 5 && args[5]? FName(FBehavior::StaticLookupString(args[5])) : NAME_None; fixed_t range = argCount > 6 && args[6]? args[6] : MISSILERANGE; int flags = argCount > 7 && args[7]? args[7] : 0; + int pufftid = argCount > 8 && args[8]? args[8] : 0; int fhflags = 0; if (flags & FHF_NORANDOMPUFFZ) fhflags |= LAF_NORANDOMPUFFZ; @@ -5404,7 +5405,12 @@ int DLevelScript::CallFunction(int argCount, int funcIndex, SDWORD *args, const if (args[0] == 0) { - P_LineAttack(activator, angle, range, pitch, damage, damagetype, pufftype, fhflags); + AActor *puff = P_LineAttack(activator, angle, range, pitch, damage, damagetype, pufftype, fhflags); + if (pufftid != 0) + { + puff->tid = pufftid; + puff->AddToHash(); + } } else { @@ -5413,7 +5419,12 @@ int DLevelScript::CallFunction(int argCount, int funcIndex, SDWORD *args, const while ((source = it.Next()) != NULL) { - P_LineAttack(source, angle, range, pitch, damage, damagetype, pufftype, fhflags); + AActor *puff = P_LineAttack(source, angle, range, pitch, damage, damagetype, pufftype, fhflags); + if (pufftid != 0) + { + puff->tid = pufftid; + puff->AddToHash(); + } } } }