Allow modifying dead units in more event handlers
Namely attacker_hits, attacker_misses, defender_hits and defender_misses.
This commit is contained in:
parent
afb13209b7
commit
b0c1382693
1 changed files with 7 additions and 0 deletions
|
@ -1199,10 +1199,16 @@ bool attack::perform_hit(bool attacker_turn, statistics::attack_context& stats)
|
|||
OOS_error_ = true;
|
||||
}
|
||||
|
||||
if(dies) {
|
||||
// Will be reset in unit_killed() later.
|
||||
unit::dying_unit_loc = defender.loc_;
|
||||
}
|
||||
|
||||
if(hits) {
|
||||
try {
|
||||
fire_event(attacker_turn ? "attacker_hits" : "defender_hits");
|
||||
} catch(const attack_end_exception&) {
|
||||
unit::dying_unit_loc = map_location::null_location();
|
||||
refresh_bc();
|
||||
return false;
|
||||
}
|
||||
|
@ -1210,6 +1216,7 @@ bool attack::perform_hit(bool attacker_turn, statistics::attack_context& stats)
|
|||
try {
|
||||
fire_event(attacker_turn ? "attacker_misses" : "defender_misses");
|
||||
} catch(const attack_end_exception&) {
|
||||
unit::dying_unit_loc = map_location::null_location();
|
||||
refresh_bc();
|
||||
return false;
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue