fix possible unsynced "enemies defeated" event

when check_victory was called after end turn events.
This commit is contained in:
gfgtdf 2015-02-25 04:29:59 +01:00
parent f521f04649
commit c33fbc3c63
2 changed files with 4 additions and 4 deletions

View File

@ -509,7 +509,8 @@ config play_controller::to_config() const
return cfg;
}
void play_controller::finish_side_turn(){
void play_controller::finish_side_turn()
{
whiteboard_manager_->on_finish_side_turn(player_number_);
@ -530,6 +531,7 @@ void play_controller::finish_side_turn(){
pump().fire("side " + side_num + " turn " + turn_num + " end");
// This is where we refog, after all of a side's events are done.
actions::recalculate_fog(player_number_);
check_victory();
sync.do_final_checkup();
}

View File

@ -547,7 +547,7 @@ possible_end_play_signal playsingle_controller::play_turn()
PROPOGATE_END_PLAY_SIGNAL ( play_side() );
}
finish_side_turn();
HANDLE_END_PLAY_SIGNAL(finish_side_turn());
if(non_interactive()) {
LOG_AIT << " Player " << player_number_ << ": " <<
@ -556,8 +556,6 @@ possible_end_play_signal playsingle_controller::play_turn()
ai_testing::log_turn_end(player_number_);
}
HANDLE_END_PLAY_SIGNAL ( check_victory() );
//if loading a savegame, network turns might not have reset this yet
loading_game_ = false;
}