Skip to content

Commit

Permalink
Merge pull request #277 from MageKing17/bugfix/infinite-trigger-count
Browse files Browse the repository at this point in the history
Fix infinite trigger count not interacting correctly with "+Interval:"
  • Loading branch information
The-E committed Aug 19, 2015
2 parents 990411f + 488a0f1 commit 8b4f7dd
Showing 1 changed file with 5 additions and 4 deletions.
9 changes: 5 additions & 4 deletions code/mission/missiongoals.cpp
Expand Up @@ -978,10 +978,11 @@ void mission_process_event( int event )
}

// decrement the trigger count. When at 0, set the repeat count to 0 so we don't eval this function anymore
if (result && (Mission_events[event].trigger_count > 0) && (Mission_events[event].flags & MEF_USING_TRIGGER_COUNT) ) {
Mission_events[event].trigger_count--;
if (result && (Mission_events[event].trigger_count != 0) && (Mission_events[event].flags & MEF_USING_TRIGGER_COUNT) ) {
if (Mission_events[event].trigger_count > 0)
Mission_events[event].trigger_count--;
if (Mission_events[event].trigger_count == 0) {
Mission_events[event].repeat_count = 0;
Mission_events[event].repeat_count = 0;
}
else {
bump_timestamp = true;
Expand All @@ -1008,7 +1009,7 @@ void mission_process_event( int event )
}
// Set the timestamp for the next check on this event unless we only have a trigger count and no repeat count and
// this event didn't trigger this frame.
else if (bump_timestamp || (!( Mission_events[event].repeat_count == -1 && Mission_events[event].trigger_count > 0 ))) {
else if (bump_timestamp || (!((Mission_events[event].repeat_count == -1) && (Mission_events[event].flags & MEF_USING_TRIGGER_COUNT) && (Mission_events[event].trigger_count != 0)))) {
// set the timestamp to time out 'interval' seconds in the future.
Mission_events[event].timestamp = timestamp( Mission_events[event].interval * 1000 );
}
Expand Down

0 comments on commit 8b4f7dd

Please sign in to comment.