Restore age-checking in queued specials

This commit is contained in:
2014-12-10 20:25:16 -05:00
parent 1a45bc2f6c
commit e2bd88daaa
2 changed files with 4 additions and 0 deletions

View File

@@ -1918,7 +1918,10 @@ void queue_special(eSpecCtx mode, short which_type, short spec, location spec_lo
}
void run_special(pending_special_type spec, short* a, short* b, short* redraw) {
unsigned long store_time = univ.party.age;
univ.party.age = spec.trigger_time;
run_special(spec.mode, spec.type, spec.spec, spec.where, a, b, redraw);
univ.party.age = std::max(univ.party.age, store_time);
}
// This is the big painful one, the main special engine

View File

@@ -43,6 +43,7 @@ struct pending_special_type {
eSpecCtx mode;
unsigned char type; // 0 - scen, 1 - out, 2 - town
location where;
long long trigger_time;
};
struct node_properties_t {