[Widelands-cvs] SF.net SVN: widelands:[4797] trunk/src/logic/soldier.cc
Status: Beta
Brought to you by:
sirver
From: <rau...@us...> - 2009-12-21 13:29:11
|
Revision: 4797 http://widelands.svn.sourceforge.net/widelands/?rev=4797&view=rev Author: raulferriz Date: 2009-12-21 13:29:02 +0000 (Mon, 21 Dec 2009) Log Message: ----------- Retreating soldiers will not be blocked by soldiers of the same player. This is to a void possible 'blocking' when lots of attackers surround a militarysite, and the attacker kills one of defenders and want to retreat. If the attacker is surrounded by friends, they let his companion go through they to flee. Modified Paths: -------------- trunk/src/logic/soldier.cc Modified: trunk/src/logic/soldier.cc =================================================================== --- trunk/src/logic/soldier.cc 2009-12-21 13:28:37 UTC (rev 4796) +++ trunk/src/logic/soldier.cc 2009-12-21 13:29:02 UTC (rev 4797) @@ -1476,6 +1476,24 @@ new Battle(game, *this, soldier); } } + + /// Retreating soldiers don't check for blocked paths + State * state = 0; + + if (get_state(taskAttack)) { + state = get_state(taskAttack); + } + if (get_state(taskDefense)) { + state = get_state(taskDefense); + } + if (state) { + if + (state->ivar1 & CF_RETREAT_WHEN_INJURED and + state->ui32var3 > get_current_hitpoints()) + { + return false; + } + } return true; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |