trigger_multiple q3df compat
The current q3compat code for trigger_multiple
does not behave q3df conformant.
trigger_multiple
should not be triggerable again by the same player when wait
is set to -1 unless the player died in the meantime.
Currently it simply waits for 100 ms.
The misbehaving q3compat code, qcsrc/common/mapobjects/trigger/multi.qc:
if(this.wait == -1 && (q3compat & Q3COMPAT_DEFI))
this.wait = 0.1; // compatibility for q3df: "instant" return
Furthermore if the trigger_multiple
triggers anything checkpoint related its wait value is set to zero by CTS code. count_over for example uses one trigger_multiple
with a wait
value of -1 to trigger both a target_checkpoint
and a target_score
. The wait
is getting overridden to zero which means every frame you spend inside the trigger your score increases by one which messes with target_fragsFilter
on the map.
Note: inside the CTS code I found a comment relevant to this issue, qcsrc/server/race.qc:
if (defrag_ents) { /* The following hack shall be removed when per-player trigger_multiple.wait is implemented for cts */