# HG changeset patch # User IBBoard # Date 1260733790 0 # Node ID 2f9ad5385707d83ef3e7753624cff60a9d151f9d # Parent 78f7456f6419bb491a03876c1f18d2b0e0113a17 Re #228: Crash with missing abilityID * Fix build failure because of duplicate variable name - not sure why VS.net didn't complain before first commit diff -r 78f7456f6419 -r 2f9ad5385707 api/Factories/Xml/WarFoundryXmlRaceFactory.cs --- a/api/Factories/Xml/WarFoundryXmlRaceFactory.cs Mon Dec 07 19:40:12 2009 +0000 +++ b/api/Factories/Xml/WarFoundryXmlRaceFactory.cs Sun Dec 13 19:49:50 2009 +0000 @@ -327,17 +327,17 @@ private void LoadAbilitiesForUnitType(XmlElement elem, UnitType type) { - foreach (XmlElement ability in WarFoundryXmlFactoryUtils.SelectNodes(elem, "race:unitAbilities/race:unitAbility")) + foreach (XmlElement abilityElem in WarFoundryXmlFactoryUtils.SelectNodes(elem, "race:unitAbilities/race:unitAbility")) { - string id = ability.GetAttribute("abilityID"); + string id = abilityElem.GetAttribute("abilityID"); Ability ability = type.Race.GetAbility(id); if (ability == null) { throw new InvalidFileException("Ability for "+type.Name+ " with ID "+id+ " did not exist in race definition"); } - - bool required = XmlTools.GetBoolValueFromAttribute(ability, "required"); + + bool required = XmlTools.GetBoolValueFromAttribute(abilityElem, "required"); type.AddAbility(ability, required); } }