|
From: <mp...@us...> - 2012-01-22 04:13:30
|
Revision: 9571
http://freecol.svn.sourceforge.net/freecol/?rev=9571&view=rev
Author: mpope
Date: 2012-01-22 04:13:24 +0000 (Sun, 22 Jan 2012)
Log Message:
-----------
Revise AIColony.equipUnit following changes to getRoleEquipment.
Modified Paths:
--------------
freecol/trunk/src/net/sf/freecol/server/ai/ColonyPlan.java
Modified: freecol/trunk/src/net/sf/freecol/server/ai/ColonyPlan.java
===================================================================
--- freecol/trunk/src/net/sf/freecol/server/ai/ColonyPlan.java 2012-01-21 22:12:12 UTC (rev 9570)
+++ freecol/trunk/src/net/sf/freecol/server/ai/ColonyPlan.java 2012-01-22 04:13:24 UTC (rev 9571)
@@ -1074,24 +1074,22 @@
* @return True if the unit was equipped.
*/
private boolean equipUnit(Unit unit, Role role, Colony colony) {
+ if (role == Unit.Role.SOLDIER) role = Unit.Role.DRAGOON; // Special case
+
List<EquipmentType> equipment = role.getRoleEquipment(spec());
- if (equipment == null || equipment.isEmpty()) return false;
- EquipmentType type = equipment.get(0);
- if (!unit.isPerson()
- || !colony.canProvideEquipment(type)
- || !unit.canBeEquippedWith(type)) return false;
- unit.setLocation(colony.getTile());
- unit.changeEquipment(type, 1);
- colony.addEquipmentGoods(type, -1);
- for (int i = 1; i < equipment.size(); i++) {
- type = equipment.get(i);
- if (colony.canProvideEquipment(type)
- && unit.canBeEquippedWith(type)) {
- unit.changeEquipment(type, 1);
- colony.addEquipmentGoods(type, -1);
+ if (equipment.isEmpty() || !unit.isPerson()) return false;
+
+ boolean result = false;
+ for (EquipmentType et : equipment) {
+ if (colony.canProvideEquipment(et)
+ && unit.canBeEquippedWith(et)) {
+ unit.setLocation(colony.getTile());
+ unit.changeEquipment(et, 1);
+ colony.addEquipmentGoods(et, -1);
+ result = true;
}
}
- return true;
+ return result;
}
/**
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|