diff --git a/changelog b/changelog index 0b7a53b3c9b8..ffd54133dc1b 100644 --- a/changelog +++ b/changelog @@ -3,6 +3,7 @@ Version 1.11.15+dev: * Updated translations: * Miscellaneous and bug fixes: * Backported Elvish_Hunter's wmltools GUI from master + * Fix bug #22116: unlock movement when attacking enemy+discovering in fog Version 1.11.15: * Graphics: diff --git a/src/mouse_events.cpp b/src/mouse_events.cpp index eecc346ca6ba..d0d22e53d6d0 100644 --- a/src/mouse_events.cpp +++ b/src/mouse_events.cpp @@ -610,21 +610,26 @@ void mouse_handler::move_action(bool browse) if (resources::whiteboard->is_active()) { save_whiteboard_attack(attack_from, hex, choice); } - else if ( move_unit_along_current_route() ) { + else { + bool not_interrupted = move_unit_along_current_route(); bool alt_unit_selected = (selected_hex_ != src); src = selected_hex_; // clear current unit selection so that any other unit selected // triggers a new selection selected_hex_ = map_location(); - attack_enemy(attack_from, hex, choice); // Fight !! + if (not_interrupted) + attack_enemy(attack_from, hex, choice); // Fight !! + + //TODO: Maybe store the attack choice so "press t to continue" + // can also continue the attack? + if (alt_unit_selected && !selected_hex_.valid()) { //reselect other unit if selected during movement animation select_hex(src, browse); } } - //TODO: Maybe store the attack choice so "press t to continue" - // can also continue the attack? + return; } }