Author: esr
Date: Thu Oct 23 00:03:58 2008
New Revision: 30315
URL: http://svn.gna.org/viewcvs/wesnoth?rev=30315&view=rev
Log:
Forward-port suokko's improvements to leader-move logic from r29506
and r29531, previously removed in emergency revert.
Modified:
trunk/src/ai.cpp
Modified: trunk/src/ai.cpp
URL:
http://svn.gna.org/viewcvs/wesnoth/trunk/src/ai.cpp?rev=30315&r1=30314&r2=30315&view=diff
==============================================================================
--- trunk/src/ai.cpp (original)
+++ trunk/src/ai.cpp Thu Oct 23 00:03:58 2008
@@ -1128,13 +1128,32 @@
// Recruitment phase and leader movement phase.
if(leader != units_.end()) {
-
if(!passive_leader) {
+ map_location before = leader->first;
move_leader_to_keep(enemy_dstsrc);
+ leader = find_leader(units_,team_num_);
+ if (leader->first != before
+ && leader->second.movement_left() > 0
+ && recruiting_preferred_)
+ {
+ recruiting_preferred_ = 2;
+ do_move();
+ return;
+ }
}
if (map_.is_keep(leader->first))
- do_recruitment();
+ {
+ if (do_recruitment())
+ {
+ do_move();
+ return;
+ } else if (recruiting_preferred_){
+ recruiting_preferred_ = 2;
+ do_move();
+ return;
+ }
+ }
if(!passive_leader) {
move_leader_after_recruit(srcdst,dstsrc,enemy_dstsrc);
_______________________________________________
Wesnoth-commits mailing list
[email protected]
https://mail.gna.org/listinfo/wesnoth-commits