index ad03070e45eb91cb4ccaaaf80a01ddf2f6382c30..9ce8c0affc12cd9b8884fa381e40bd8c103ae392 100644 (file)
--- a/src/game/g_triggers.pas
+++ b/src/game/g_triggers.pas
if ShotSightTime > 0 then
Exit;
- // put this at the beginning so it doesn't trigger itself
- TimeOut := Data.ShotWait + 1;
+ // put this at the beginning so it doesn't trigger itself
+ TimeOut := Data.ShotWait + 1;
wx := Data.ShotPos.X;
wy := Data.ShotPos.Y;
end;
end;
- else TargetUID := ActivateUID;
+ else begin
+ if (Data.ShotTarget <> TRIGGER_SHOT_TARGET_NONE) or
+ (Data.ShotType <> TRIGGER_SHOT_REV) then
+ TargetUID := ActivateUID;
+ end;
end;
if (Data.ShotTarget = TRIGGER_SHOT_TARGET_NONE) or (TargetUID > 0) then
for a := 0 to High(gTriggers) do
if (gTriggers[a].ID <> DWORD(IgnoreTrigger)) and
- (gTriggers[a].TriggerType <> TRIGGER_NONE) and
+ (gTriggers[a].TriggerType <> TRIGGER_NONE) and
(gTriggers[a].TimeOut = 0) and
((gTriggers[a].Keys and k) = gTriggers[a].Keys) and
ByteBool(gTriggers[a].ActivateType and ActivateType) then