Ticket #3792: patch.diff
File patch.diff, 83.1 KB (added by , 8 years ago) |
---|
-
binaries/data/mods/public/globalscripts/Templates.js
function MatchesClassList(classes, match 69 69 * Get information about a template with or without technology modifications. 70 70 * @param template A valid template as returned by the template loader. 71 71 * @param player An optional player id to get the technology modifications 72 72 * of properties. 73 73 */ 74 function GetTemplateDataHelper(template, player )74 function GetTemplateDataHelper(template, player, aurasTemplate) 75 75 { 76 76 var ret = {}; 77 77 78 78 var func; 79 79 if (player) … … function GetTemplateDataHelper(template, 118 118 } 119 119 120 120 if (template.Auras) 121 121 { 122 122 ret.auras = {}; 123 for (let auraID in template.Auras)123 for (let auraID in aurasTemplate) 124 124 { 125 let aura = template.Auras[auraID];126 if (aura. AuraName)125 let aura = aurasTemplate[auraID]; 126 if (aura.auraName) 127 127 ret.auras[auraID] = { 128 "name": aura. AuraName,129 "description": aura. AuraDescription || null128 "name": aura.auraName || null, 129 "description": aura.auraDescription || null 130 130 }; 131 131 } 132 132 } 133 133 134 134 if (template.BuildRestrictions) -
binaries/data/mods/public/gui/structree/helper.js
function loadTechData(templateName) 20 20 if (!(templateName in g_TechnologyData)) 21 21 { 22 22 var filename = "simulation/data/technologies/" + templateName + ".json"; 23 23 var data = Engine.ReadJSONFile(filename); 24 24 translateObjectKeys(data, ["genericName", "tooltip"]); 25 25 26 26 g_TechnologyData[templateName] = data; 27 27 } 28 28 29 29 return g_TechnologyData[templateName]; 30 30 } -
binaries/data/mods/public/simulation/components/Auras.js
1 1 function Auras() {} 2 2 3 var modificationSchema =4 "<element name='Modifications' a:help='Modification list'>" +5 "<oneOrMore>" +6 "<element a:help='Name of the value to modify'>" +7 "<anyName/>" +8 "<choice>" +9 "<element name='Add'>" +10 "<data type='decimal'/>" +11 "</element>" +12 "<element name='Multiply'>" +13 "<data type='decimal'/>" +14 "</element>" +15 "</choice>" +16 "</element>" +17 "</oneOrMore>" +18 "</element>";19 20 3 Auras.prototype.Schema = 21 "<oneOrMore>" + 22 "<element a:help='Any name you want'>" + 23 "<anyName/>" + 24 "<interleave>" + 25 "<optional>" + 26 "<element name='Radius' a:help='Define the radius this aura affects, if it is a range aura'>" + 27 "<data type='nonNegativeInteger'/>" + 28 "</element>" + 29 "</optional>" + 30 "<element name='Type' a:help='Controls how this aura affects nearby units'>" + 31 "<choice>" + 32 "<value a:help='Affects units in the same formation'>formation</value>" + 33 "<value a:help='Affects units in a certain range'>range</value>" + 34 "<value a:help='Affects the structure or unit this unit is garrisoned in'>garrison</value>" + 35 "<value a:help='Affects the units that are garrisoned on a certain structure'>garrisonedUnits</value>" + 36 "<value a:help='Affects all units while this unit is alive'>global</value>" + 37 "</choice>" + 38 "</element>" + 39 modificationSchema + 40 "<optional>" + 41 "<element name='AuraName' a:help='name to display in the GUI'>" + 42 "<text/>" + 43 "</element>" + 44 "</optional>" + 45 "<optional>" + 46 "<element name='AuraDescription' a:help='description to display in the GUI, requires a name'>" + 47 "<text/>" + 48 "</element>" + 49 "</optional>" + 50 "<optional>" + 51 "<element name='OverlayIcon' a:help='Icon to show on the entities affected by this aura'>" + 52 "<text/>" + 53 "</element>" + 54 "</optional>" + 55 "<element name='Affects' a:help='Affected classes'>" + 56 "<text/>" + 57 "</element>" + 58 "<optional>" + 59 "<element name='AffectedPlayers' a:help='Affected players'>" + 60 "<text/>" + 61 "</element>" + 62 "</optional>" + 63 "</interleave>" + 64 "</element>" + 65 "</oneOrMore>"; 4 "<attribute name='datatype'>" + 5 "<value>tokens</value>" + 6 "</attribute>" + 7 "<text/>"; 66 8 67 9 Auras.prototype.Init = function() 68 10 { 69 var cmpTemplateManager = Engine.QueryInterface(SYSTEM_ENTITY, IID_TemplateManager); 70 this.templateName = cmpTemplateManager.GetCurrentTemplateName(this.entity); 11 let cmpTechnologyTemplateManager = Engine.QueryInterface(SYSTEM_ENTITY, IID_TechnologyTemplateManager); 71 12 this.auras = {}; 72 13 this.affectedPlayers = {}; 73 for (var name in this.template) 14 let auraNames = this.GetAuraNames(); 15 this.auraTemplate = {}; 16 for (let name of auraNames) 74 17 { 75 18 this.affectedPlayers[name] = []; // will be calculated on ownership change 76 19 var aura = {}; 77 aura.affects = this.template[name].Affects; 78 if (this.template[name].AffectedPlayers) 79 aura.affectedPlayers = this.template[name].AffectedPlayers.split(/\s+/); 20 this.auraTemplate[name] = cmpTechnologyTemplateManager.GetAuraTemplate(name); 21 aura.affects = this.auraTemplate[name].affects; 22 if (this.auraTemplate[name].affectedPlayers) 23 aura.affectedPlayers = this.auraTemplate[name].affectedPlayers.split(/\s+/); 80 24 this.auras[name] = aura; 81 25 } 82 26 }; 83 27 84 Auras.prototype.GetModifierIdentifier = function(name, mod) 28 // we can modify identifier if we want stackable auras in some case 29 Auras.prototype.GetModifierIdentifier = function(name) 85 30 { 86 return this.templateName + "/" + name + "/" + mod.value;31 return name; 87 32 }; 88 33 89 34 Auras.prototype.GetDescriptions = function() 90 35 { 36 let auraNames = this.GetAuraNames(); 91 37 var ret = {}; 92 for (let name in this.template)38 for (let name of auraNames) 93 39 { 94 let aura = this. template[name];95 if (aura. AuraName)96 ret[aura. AuraName] = aura.AuraDescription || null;40 let aura = this.auraTemplate[name]; 41 if (aura.auraName) 42 ret[aura.auraName] = aura.auraDescription || null; 97 43 } 98 44 return ret; 99 45 }; 100 46 101 47 Auras.prototype.GetAuraNames = function() 102 48 { 103 return Object.keys(this.template);49 return this.template._string.split(/\s+/); 104 50 }; 105 51 106 52 Auras.prototype.GetOverlayIcon = function(name) 107 53 { 108 return this. template[name].OverlayIcon || "";54 return this.auraTemplate[name].overlayIcon || ""; 109 55 }; 110 56 111 57 Auras.prototype.GetAffectedEntities = function(name) 112 58 { 113 59 return this[name].targetUnits; … … Auras.prototype.GetRange = function(name 117 63 { 118 64 if (!this.IsRangeAura(name)) 119 65 return undefined; 120 66 if (this.IsGlobalAura(name)) 121 67 return -1; // -1 is infinite range 122 return +this. template[name].Radius;68 return +this.auraTemplate[name].radius; 123 69 }; 124 70 125 71 Auras.prototype.GetClasses = function(name) 126 72 { 127 73 return this.auras[name].affects; … … Auras.prototype.HasGarrisonedUnitsAura = 175 121 return this.GetAuraNames().some(n => this.IsGarrisonedUnitsAura(n)); 176 122 }; 177 123 178 124 Auras.prototype.GetType = function(name) 179 125 { 180 return this. template[name].Type;126 return this.auraTemplate[name].type; 181 127 }; 182 128 183 129 Auras.prototype.IsFormationAura = function(name) 184 130 { 185 131 return this.GetType(name) == "formation"; … … Auras.prototype.Clean = function() 231 177 232 178 if (this[name].rangeQuery) 233 179 cmpRangeManager.DestroyActiveQuery(this[name].rangeQuery); 234 180 } 235 181 236 for (let name in this.template) 182 //apply technology modifications of the auras 183 for (let name of auraNames) 237 184 { 238 185 let modifications = []; 239 for (let value in this.template[name].Modifications)186 for (let modification of this.auraTemplate[name].modifications) 240 187 { 241 188 let mod = {}; 242 mod.value = value.replace(/\./g, "/").replace(/\/\//g, "."); 243 let templateModifications = this.template[name].Modifications[value]; 244 if (templateModifications.Add) 245 mod.add = ApplyValueModificationsToEntity("Auras/"+name+"/Modifications/"+mod.value+"/Add", 246 +templateModifications.Add, this.entity); 247 else if (templateModifications.Multiply) 248 mod.multiply = ApplyValueModificationsToEntity("Auras/"+name+"/Modifications/"+mod.value+"/Multiply", 249 +templateModifications.Multiply, this.entity); 189 mod.value = modification.value; 190 let valueName = "Auras/" + name + "/modifications/" + modification.value + "/"; 191 if (modification.add) 192 mod.add = ApplyValueModificationsToEntity(valueName + "add", modification.add, this.entity); 193 if (modification.multiply) 194 mod.multiply = ApplyValueModificationsToEntity(valueName + "multiply", modification.multiply, this.entity); 250 195 modifications.push(mod); 251 196 } 252 197 this.auras[name].modifications = modifications; 198 253 199 } 254 200 255 201 for (let name of auraNames) 256 202 { 257 203 // only calculate the affected players on re-applying the bonuses … … Auras.prototype.ApplyTemplateBonus = fun 346 292 var cmpAuraManager = Engine.QueryInterface(SYSTEM_ENTITY, IID_AuraManager); 347 293 var classes = this.GetClasses(name); 348 294 349 295 for (let mod of modifications) 350 296 for (let player of players) 351 cmpAuraManager.ApplyTemplateBonus(mod.value, player, classes, mod, this.GetModifierIdentifier(name , mod));297 cmpAuraManager.ApplyTemplateBonus(mod.value, player, classes, mod, this.GetModifierIdentifier(name)); 352 298 }; 353 299 354 300 Auras.prototype.RemoveFormationBonus = function(memberList) 355 301 { 356 302 var auraNames = this.GetAuraNames().filter(n => this.IsFormationAura(n)); … … Auras.prototype.RemoveTemplateBonus = fu 375 321 var classes = this.GetClasses(name); 376 322 var players = this.GetAffectedPlayers(name); 377 323 378 324 for (let mod of modifications) 379 325 for (let player of players) 380 cmpAuraManager.RemoveTemplateBonus(mod.value, player, classes, this.GetModifierIdentifier(name , mod));326 cmpAuraManager.RemoveTemplateBonus(mod.value, player, classes, this.GetModifierIdentifier(name)); 381 327 }; 382 328 383 329 Auras.prototype.ApplyBonus = function(name, ents) 384 330 { 385 331 var validEnts = this.GiveMembersWithValidClass(name, ents); … … Auras.prototype.ApplyBonus = function(na 389 335 this[name].targetUnits = this[name].targetUnits.concat(validEnts); 390 336 var modifications = this.GetModifications(name); 391 337 var cmpAuraManager = Engine.QueryInterface(SYSTEM_ENTITY, IID_AuraManager); 392 338 393 339 for (let mod of modifications) 394 cmpAuraManager.ApplyBonus(mod.value, validEnts, mod, this.GetModifierIdentifier(name, mod)); 395 340 cmpAuraManager.ApplyBonus(mod.value, validEnts, mod, this.GetModifierIdentifier(name)); 396 341 // update status bars if this has an icon 397 342 if (!this.GetOverlayIcon(name)) 398 343 return; 399 344 400 345 for (let ent of validEnts) … … Auras.prototype.RemoveBonus = function(n 414 359 this[name].targetUnits = this[name].targetUnits.filter(v => validEnts.indexOf(v) == -1); 415 360 var modifications = this.GetModifications(name); 416 361 var cmpAuraManager = Engine.QueryInterface(SYSTEM_ENTITY, IID_AuraManager); 417 362 418 363 for (let mod of modifications) 419 cmpAuraManager.RemoveBonus(mod.value, validEnts, this.GetModifierIdentifier(name, mod)); 420 364 cmpAuraManager.RemoveBonus(mod.value, validEnts, this.GetModifierIdentifier(name)); 421 365 // update status bars if this has an icon 422 366 if (!this.GetOverlayIcon(name)) 423 367 return; 424 368 425 369 for (let ent of validEnts) -
binaries/data/mods/public/simulation/components/GuiInterface.js
GuiInterface.prototype.GetTemplateData = 571 571 let template = cmpTemplateManager.GetTemplate(name); 572 572 573 573 if (!template) 574 574 return null; 575 575 576 return GetTemplateDataHelper(template, player); 576 let aurasTemplate = {}; 577 578 if (!template.Auras) 579 return GetTemplateDataHelper(template, player, aurasTemplate); 580 581 // Add aura name and description loaded from JSON file 582 let auraNames = template.Auras._string.split(/\s+/); 583 let cmpTechnologyTemplateManager = Engine.QueryInterface(SYSTEM_ENTITY, IID_TechnologyTemplateManager); 584 for (let name of auraNames) 585 { 586 let auraTemplate = cmpTechnologyTemplateManager.GetAuraTemplate(name); 587 if (!auraTemplate) 588 { 589 // the following warning is perhaps useless since it's yet done in TechnologyTemplateManager 590 warn("Tried to get data for invalid technology: " + name); 591 continue; 592 } 593 aurasTemplate[name] = {}; 594 if (auraTemplate.auraName) 595 aurasTemplate[name].auraName = auraTemplate.auraName; 596 if (auraTemplate.auraName) 597 aurasTemplate[name].auraDescription = auraTemplate.auraDescription; 598 } 599 return GetTemplateDataHelper(template, player, aurasTemplate); 577 600 }; 578 601 579 602 GuiInterface.prototype.GetTechnologyData = function(player, name) 580 603 { 581 604 let cmpTechnologyTemplateManager = Engine.QueryInterface(SYSTEM_ENTITY, IID_TechnologyTemplateManager); -
binaries/data/mods/public/simulation/components/TechnologyTemplateManager.js
1 1 /** 2 * System component which loads the technology data files2 * System component which loads the technology and the aura data files 3 3 */ 4 4 function TechnologyTemplateManager() {} 5 5 6 6 TechnologyTemplateManager.prototype.Schema = 7 7 "<a:component type='system'/><empty/>"; -
binaries/data/mods/public/simulation/data/technologies/pop_wonder.json
14 14 "requirements": { "tech": "phase_city" }, 15 15 "requirementsTooltip": "Unlocked in City Phase.", 16 16 "icon": "special_treasure.png", 17 17 "researchTime": 40, 18 18 "tooltip": "Increase the population bonus of the wonder by 40.", 19 "modifications": [{ "value": "Auras/Aura1/Modifications/Player/MaxPopulation/Add", "add": 40 }], 20 "affects": ["Wonder"], 19 "modifications": [{ "value": "Auras/wonder_pop/modifications/Player/MaxPopulation/add", "add": 40 }], 21 20 "soundComplete": "interface/alarm/alarm_upgradearmory.xml" 22 21 } -
binaries/data/mods/public/simulation/helpers/ValueModification.js
function ApplyValueModificationsToTempla 30 30 if (cmpTechnologyManager) 31 31 value = cmpTechnologyManager.ApplyModificationsTemplate(tech_type, current_value, template); 32 32 33 33 let cmpAuraManager = Engine.QueryInterface(SYSTEM_ENTITY, IID_AuraManager); 34 34 if (!cmpAuraManager) 35 return value; 35 return value; 36 36 return cmpAuraManager.ApplyTemplateModifications(tech_type, value, playerID, template); 37 37 } 38 38 39 39 Engine.RegisterGlobal("ApplyValueModificationsToEntity", ApplyValueModificationsToEntity); 40 40 Engine.RegisterGlobal("ApplyValueModificationsToPlayer", ApplyValueModificationsToPlayer); -
binaries/data/mods/public/simulation/templates/structures/athen_theatron.xml
1 1 <?xml version="1.0" encoding="utf-8"?> 2 2 <Entity parent="template_structure_special"> 3 <Auras> 4 <Aura1> 5 <Type>global</Type> 6 <Affects>Structure</Affects> 7 <Modifications> 8 <TerritoryInfluence.Radius> <Multiply>1.2</Multiply> </TerritoryInfluence.Radius> 9 </Modifications> 10 </Aura1> 11 </Auras> 3 <Auras datatype="tokens">theatron</Auras> 12 4 <BuildRestrictions> 13 5 <Category>Theater</Category> 14 6 </BuildRestrictions> 15 7 <Cost> 16 8 <BuildTime>500</BuildTime> -
binaries/data/mods/public/simulation/templates/structures/brit_rotarymill.xml
1 1 <?xml version="1.0" encoding="utf-8"?> 2 2 <Entity parent="template_structure_special"> 3 <Auras datatype="tokens">rotary_mill</Auras> 3 4 <Cost> 4 5 <BuildTime>100</BuildTime> 5 6 <PopulationBonus>2</PopulationBonus> 6 7 <Resources> 7 8 <food>0</food> 8 9 <wood>200</wood> 9 10 <stone>100</stone> 10 11 <metal>0</metal> 11 12 </Resources> 12 13 </Cost> 13 <Auras>14 <Aura1>15 <Type>range</Type>16 <Radius>60</Radius>17 <Affects>Worker</Affects>18 <Modifications>19 <ResourceGatherer.Rates.food..grain> <Multiply>1.25</Multiply> </ResourceGatherer.Rates.food..grain>20 </Modifications>21 <AuraName>Farming bonus</AuraName>22 <AuraDescription>Boosts nearby farming with +25% gathering rate.</AuraDescription>23 <OverlayIcon>art/textures/ui/session/auras/farming.png</OverlayIcon>24 </Aura1>25 </Auras>26 14 <Footprint replace=""> 27 15 <Circle radius="9.0"/> 28 16 <Height>6.0</Height> 29 17 </Footprint> 30 18 <GarrisonHolder disable=""/> -
binaries/data/mods/public/simulation/templates/structures/cart_super_dock.xml
1 1 <?xml version="1.0" encoding="utf-8"?> 2 2 <Entity parent="template_structure_special"> 3 <Auras> 4 <Aura1> 5 <Type>garrisonedUnits</Type> 6 <Affects>Ship</Affects> 7 <Modifications> 8 <Health.RegenRate> <Add>3</Add> </Health.RegenRate> 9 </Modifications> 10 <AuraName>Repairing ship Aura</AuraName> 11 <AuraDescription>Heals garrisoned ship at 3 HP per second.</AuraDescription> 12 </Aura1> 13 </Auras> 3 <Auras datatype="tokens">cart_super_dock_repair</Auras> 14 4 <BuildRestrictions> 15 5 <Territory>own ally neutral</Territory> 16 6 <PlacementType>shore</PlacementType> 17 7 <Category>Dock</Category> 18 8 </BuildRestrictions> -
binaries/data/mods/public/simulation/templates/structures/gaul_rotarymill.xml
1 1 <?xml version="1.0" encoding="utf-8"?> 2 2 <Entity parent="template_structure_special"> 3 <Auras datatype="tokens">rotary_mill</Auras> 3 4 <Cost> 4 5 <BuildTime>100</BuildTime> 5 6 <PopulationBonus>2</PopulationBonus> 6 7 <Resources> 7 8 <food>0</food> 8 9 <wood>200</wood> 9 10 <stone>100</stone> 10 11 <metal>0</metal> 11 12 </Resources> 12 13 </Cost> 13 <Auras>14 <Aura1>15 <Type>range</Type>16 <Radius>60</Radius>17 <Affects>Worker</Affects>18 <Modifications>19 <ResourceGatherer.Rates.food..grain> <Multiply>1.25</Multiply> </ResourceGatherer.Rates.food..grain>20 </Modifications>21 <AuraName>Farming bonus</AuraName>22 <AuraDescription>Boosts nearby farming with +25% gathering rate.</AuraDescription>23 <OverlayIcon>art/textures/ui/session/auras/farming.png</OverlayIcon>24 </Aura1>25 </Auras>26 14 <Footprint replace=""> 27 15 <Circle radius="9.0"/> 28 16 <Height>6.0</Height> 29 17 </Footprint> 30 18 <GarrisonHolder disable=""/> -
binaries/data/mods/public/simulation/templates/structures/iber_monument.xml
1 1 <?xml version="1.0" encoding="utf-8"?> 2 2 <Entity parent="template_structure_special"> 3 <Auras> 4 <Aura1> 5 <Type>range</Type> 6 <Radius>50</Radius> 7 <Affects>Unit</Affects> 8 <Modifications> 9 <Attack.Melee.Hack> <Add>2</Add> </Attack.Melee.Hack> 10 <Attack.Ranged.Pierce> <Add>3</Add> </Attack.Ranged.Pierce> 11 </Modifications> 12 <OverlayIcon>art/textures/ui/session/auras/attack_bonus.png</OverlayIcon> 13 </Aura1> 14 </Auras> 3 <Auras datatype="tokens">iber_monument</Auras> 15 4 <BuildRestrictions> 16 5 <Category>Monument</Category> 17 6 </BuildRestrictions> 18 7 <Cost> 19 8 <BuildTime>120</BuildTime> -
binaries/data/mods/public/simulation/templates/structures/mace_theatron.xml
1 1 <?xml version="1.0" encoding="utf-8"?> 2 2 <Entity parent="template_structure_special"> 3 <Auras> 4 <Aura1> 5 <Type>global</Type> 6 <Affects>Structure</Affects> 7 <Modifications> 8 <TerritoryInfluence.Radius> <Multiply>1.2</Multiply> </TerritoryInfluence.Radius> 9 </Modifications> 10 </Aura1> 11 </Auras> 3 <Auras datatype="tokens">theatron</Auras> 12 4 <BuildRestrictions> 13 5 <Category>Theater</Category> 14 6 </BuildRestrictions> 15 7 <Cost> 16 8 <BuildTime>550</BuildTime> -
binaries/data/mods/public/simulation/templates/structures/maur_pillar_ashoka.xml
1 1 <?xml version="1.0" encoding="utf-8"?> 2 2 <Entity parent="template_structure_special"> 3 <Auras> 4 <Aura1> 5 <Type>range</Type> 6 <Radius>75</Radius> 7 <Affects>Trader</Affects> 8 <Modifications> 9 <UnitMotion.WalkSpeed> <Multiply>1.20</Multiply> </UnitMotion.WalkSpeed> 10 </Modifications> 11 <AuraDescription>All traders in range +20% walk speed.</AuraDescription> 12 <OverlayIcon>art/textures/ui/session/auras/build_bonus.png</OverlayIcon> 13 </Aura1> 14 </Auras> 3 <Auras datatype="tokens">maur_pillar</Auras> 15 4 <BuildRestrictions> 16 5 <Category>Pillar</Category> 17 6 </BuildRestrictions> 18 7 <Cost> 19 8 <BuildTime>80</BuildTime> -
binaries/data/mods/public/simulation/templates/structures/spart_theatron.xml
1 1 <?xml version="1.0" encoding="utf-8"?> 2 2 <Entity parent="template_structure_special"> 3 <Auras> 4 <Aura1> 5 <Type>global</Type> 6 <Affects>Structure</Affects> 7 <Modifications> 8 <TerritoryInfluence.Radius> <Multiply>1.2</Multiply> </TerritoryInfluence.Radius> 9 </Modifications> 10 </Aura1> 11 </Auras> 3 <Auras datatype="tokens">theatron</Auras> 12 4 <BuildRestrictions> 13 5 <Category>Theater</Category> 14 6 </BuildRestrictions> 15 7 <Cost> 16 8 <BuildTime>500</BuildTime> -
binaries/data/mods/public/simulation/templates/structures/theb_theatron.xml
1 1 <?xml version="1.0" encoding="utf-8"?> 2 2 <Entity parent="template_structure_special"> 3 <Auras> 4 <Aura1> 5 <Type>global</Type> 6 <Affects>Structure</Affects> 7 <Modifications> 8 <TerritoryInfluence.Radius> <Multiply>1.2</Multiply> </TerritoryInfluence.Radius> 9 </Modifications> 10 </Aura1> 11 </Auras> 3 <Auras datatype="tokens">theatron</Auras> 12 4 <BuildRestrictions> 13 5 <Category>Theater</Category> 14 6 </BuildRestrictions> 15 7 <Cost> 16 8 <BuildTime>500</BuildTime> -
binaries/data/mods/public/simulation/templates/template_structure_civic_temple.xml
1 1 <?xml version="1.0" encoding="utf-8"?> 2 2 <Entity parent="template_structure_civic"> 3 <Auras> 4 <heal> 5 <Type>range</Type> 6 <Radius>40</Radius> 7 <Affects>Human</Affects> 8 <Modifications> 9 <Health.RegenRate> <Add>1</Add> </Health.RegenRate> 10 </Modifications> 11 <AuraName>Healing Aura</AuraName> 12 <AuraDescription>Heals nearby units at 1 HP per second.</AuraDescription> 13 <OverlayIcon>art/textures/ui/session/auras/heal.png</OverlayIcon> 14 </heal> 15 </Auras> 3 <Auras datatype="tokens">temple_heal</Auras> 16 4 <BuildRestrictions> 17 5 <Category>Temple</Category> 18 6 </BuildRestrictions> 19 7 <Cost> 20 8 <PopulationBonus>5</PopulationBonus> -
binaries/data/mods/public/simulation/templates/template_structure_defense_wall_long.xml
3 3 <Armour> 4 4 <Hack>18.0</Hack> 5 5 <Pierce>40.0</Pierce> 6 6 <Crush>4.0</Crush> 7 7 </Armour> 8 <Auras> 9 <Aura1> 10 <Type>garrisonedUnits</Type> 11 <Affects>Unit</Affects> 12 <Modifications> 13 <Armour.Pierce> <Add>3</Add> </Armour.Pierce> 14 <Armour.Hack> <Add>3</Add> </Armour.Hack> 15 <Armour.Crush> <Add>3</Add> </Armour.Crush> 16 <Vision.Range> <Add>20</Add> </Vision.Range> 17 </Modifications> 18 <AuraName>Wall Protection</AuraName> 19 <AuraDescription>Units on walls have 3 extra Armor levels</AuraDescription> 20 </Aura1> 21 </Auras> 8 <Auras datatype="tokens">wall_garrisoned</Auras> 22 9 <Cost> 23 10 <BuildTime>45</BuildTime> 24 11 <Resources> 25 12 <stone>28</stone> 26 13 </Resources> -
binaries/data/mods/public/simulation/templates/template_structure_defense_wall_medium.xml
3 3 <Armour> 4 4 <Hack>18.0</Hack> 5 5 <Pierce>40.0</Pierce> 6 6 <Crush>4.0</Crush> 7 7 </Armour> 8 <Auras> 9 <Aura1> 10 <Type>garrisonedUnits</Type> 11 <Affects>Unit</Affects> 12 <Modifications> 13 <Armour.Pierce> <Add>3</Add> </Armour.Pierce> 14 <Armour.Hack> <Add>3</Add> </Armour.Hack> 15 <Armour.Crush> <Add>3</Add> </Armour.Crush> 16 <Vision.Range> <Add>20</Add> </Vision.Range> 17 </Modifications> 18 <AuraName>Wall Protection</AuraName> 19 <AuraDescription>Units on walls have 3 extra Armor levels</AuraDescription> 20 </Aura1> 21 </Auras> 8 <Auras datatype="tokens">wall_garrisoned</Auras> 22 9 <Cost> 23 10 <BuildTime>30</BuildTime> 24 11 <Resources> 25 12 <stone>22</stone> 26 13 </Resources> -
binaries/data/mods/public/simulation/templates/template_structure_wonder.xml
8 8 <Hack>2</Hack> 9 9 <Pierce>10</Pierce> 10 10 <Crush>2</Crush> 11 11 </Foundation> 12 12 </Armour> 13 <Auras> 14 <Aura1> 15 <Type>global</Type> 16 <Affects>Player</Affects> 17 <Modifications> 18 <Player.MaxPopulation> <Add>10</Add> </Player.MaxPopulation> 19 </Modifications> 20 <AuraName>Wonder Aura</AuraName> 21 <AuraDescription>+10 maximum population cap.</AuraDescription> 22 </Aura1> 23 </Auras> 13 <Auras datatype="tokens">wonder_pop</Auras> 24 14 <BuildRestrictions> 25 15 <Category>Wonder</Category> 26 16 </BuildRestrictions> 27 17 <Capturable> 28 18 <CapturePoints>2000</CapturePoints> -
binaries/data/mods/public/simulation/templates/template_unit_hero.xml
1 1 <?xml version="1.0" encoding="utf-8"?> 2 2 <Entity parent="template_unit"> 3 <Auras>4 <AuraA>5 <Type>garrison</Type>6 <Affects>Structure Mechanical</Affects>7 <Modifications>8 <Capturable.GarrisonRegenRate> <Add>2</Add> </Capturable.GarrisonRegenRate>9 </Modifications>10 <AuraName>Garrisoned Capture Aura</AuraName>11 <AuraDescription>When garrisoned in a structure or a siege, the hero gives it a bonus of +2 capture points recovery rate.</AuraDescription>12 </AuraA>13 </Auras>14 3 <Attack> 15 4 <Capture> 16 5 <Value>15</Value> 17 6 <MaxRange>4</MaxRange> 18 7 <RepeatTime>1000</RepeatTime> … … 21 10 <Armour> 22 11 <Hack>10.0</Hack> 23 12 <Pierce>20.0</Pierce> 24 13 <Crush>15.0</Crush> 25 14 </Armour> 15 <Auras datatype="tokens">hero_garrison</Auras> 26 16 <Cost> 27 17 <Population>2</Population> 28 18 <BuildTime>40</BuildTime> 29 19 <Resources> 30 20 <food>100</food> -
binaries/data/mods/public/simulation/templates/template_unit_support_female_citizen.xml
1 1 <?xml version="1.0" encoding="utf-8"?> 2 2 <Entity parent="template_unit_support"> 3 <Auras>4 <Aura1>5 <Type>range</Type>6 <Radius>10</Radius>7 <Affects>Citizen+Soldier</Affects>8 <Modifications>9 <Builder.Rate> <Multiply>1.1</Multiply> </Builder.Rate>10 <ResourceGatherer.BaseSpeed> <Multiply>1.1</Multiply> </ResourceGatherer.BaseSpeed>11 </Modifications>12 <AuraName>Inspiration Aura</AuraName>13 <AuraDescription>Nearby males work 10% faster.</AuraDescription>14 <OverlayIcon>art/textures/ui/session/auras/buildgather_bonus.png</OverlayIcon>15 </Aura1>16 </Auras>17 3 <Attack> 18 4 <Melee> 19 5 <Hack>2.0</Hack> 20 6 <Pierce>0</Pierce> 21 7 <Crush>0.0</Crush> … … 28 14 <Pierce>0.0</Pierce> 29 15 <Crush>0.0</Crush> 30 16 <MaxRange>4.0</MaxRange> 31 17 </Slaughter> 32 18 </Attack> 19 <Auras datatype="tokens">female_inspiration</Auras> 33 20 <Builder> 34 21 <Rate>1.0</Rate> 35 22 <Entities datatype="tokens"> 36 23 structures/{civ}_house 37 24 structures/{civ}_storehouse -
binaries/data/mods/public/simulation/templates/template_unit_support_healer.xml
1 1 <?xml version="1.0" encoding="utf-8"?> 2 2 <Entity parent="template_unit_support"> 3 <Cost> 4 <Resources> 5 <food>250</food> 6 </Resources> 7 </Cost> 3 8 <Heal> 4 9 <Range>12</Range> 5 10 <HP>5</HP> 6 11 <Rate>2000</Rate> 7 12 <UnhealableClasses datatype="tokens"/> 8 13 <HealableClasses datatype="tokens">Human</HealableClasses> 9 14 </Heal> 10 <Cost>11 <Resources>12 <food>250</food>13 </Resources>14 </Cost>15 15 <Health> 16 16 <Max>85</Max> 17 17 </Health> 18 18 <Identity> 19 19 <Classes datatype="tokens">Healer</Classes> -
binaries/data/mods/public/simulation/templates/units/athen_hero_iphicrates.xml
1 1 <?xml version="1.0" encoding="utf-8"?> 2 2 <Entity parent="template_unit_hero_infantry_javelinist"> 3 <Auras> 4 <Aura1> 5 <Type>formation</Type> 6 <Affects>Unit</Affects> 7 <Modifications> 8 <UnitMotion.WalkSpeed> <Multiply>1.15</Multiply> </UnitMotion.WalkSpeed> 9 <Armour.Pierce> <Add>1</Add> </Armour.Pierce> 10 <Armour.Hack> <Add>1</Add> </Armour.Hack> 11 <Armour.Crush> <Add>1</Add> </Armour.Crush> 12 </Modifications> 13 <AuraName>Formation Reforms</AuraName> 14 <AuraDescription>All units in his formation +15% speed and +1 armor.</AuraDescription> 15 </Aura1> 16 <Aura2> 17 <Type>global</Type> 18 <Affects>Javelin</Affects> 19 <Modifications> 20 <UnitMotion.WalkSpeed><Multiply>1.15</Multiply></UnitMotion.WalkSpeed> 21 </Modifications> 22 <AuraName>Peltast Reforms</AuraName> 23 <AuraDescription>All Peltasts +15% speed.</AuraDescription> 24 </Aura2> 25 </Auras> 3 <Auras datatype="tokens">athen_hero_iphicrates_1 athen_hero_iphicrates_2</Auras> 26 4 <Identity> 27 5 <Civ>athen</Civ> 28 6 <Lang>greek</Lang> 29 7 <GenericName>Iphicrates</GenericName> 30 8 <SpecificName>Iphikratēs</SpecificName> -
binaries/data/mods/public/simulation/templates/units/athen_hero_pericles.xml
1 1 <?xml version="1.0" encoding="utf-8"?> 2 2 <Entity parent="template_unit_hero_infantry_spearman"> 3 <Auras> 4 <Aura1> 5 <Type>range</Type> 6 <Radius>60</Radius> 7 <Affects>Worker</Affects> 8 <Modifications> 9 <Builder.Rate> <Multiply>1.15</Multiply> </Builder.Rate> 10 </Modifications> 11 <AuraName>Builder Aura</AuraName> 12 <AuraDescription>Buildings construct 15% faster within his vision.</AuraDescription> 13 <OverlayIcon>art/textures/ui/session/auras/build_bonus.png</OverlayIcon> 14 </Aura1> 15 <Aura2> 16 <Type>global</Type> 17 <Affects>Temple</Affects> 18 <Modifications> 19 <Cost.Resources.stone> <Add>-50</Add> </Cost.Resources.stone> 20 </Modifications> 21 <AuraName>Acropolis Aura</AuraName> 22 <AuraDescription>Temples are 50 stone cheaper during his lifetime.</AuraDescription> 23 </Aura2> 24 </Auras> 3 <Auras datatype="tokens">athen_hero_pericles_1 athen_hero_pericles_2</Auras> 25 4 <Identity> 26 5 <Civ>athen</Civ> 27 6 <Lang>greek</Lang> 28 7 <GenericName>Pericles</GenericName> 29 8 <SpecificName>Periklēs</SpecificName> -
binaries/data/mods/public/simulation/templates/units/athen_hero_themistocles.xml
1 1 <?xml version="1.0" encoding="utf-8"?> 2 2 <Entity parent="template_unit_hero_infantry_swordsman"> 3 <Auras> 4 <Aura1> 5 <Type>garrison</Type> 6 <Affects>Ship</Affects> 7 <AffectedPlayers>Player MutualAlly</AffectedPlayers> 8 <Modifications> 9 <UnitMotion.WalkSpeed> <Multiply>1.5</Multiply> </UnitMotion.WalkSpeed> 10 </Modifications> 11 <AuraName>Naval Commander Aura</AuraName> 12 <AuraDescription>When garrisoned in a ship, his ship is +50% faster.</AuraDescription> 13 </Aura1> 14 <Aura2> 15 <Type>global</Type> 16 <Affects>Ship</Affects> 17 <Modifications> 18 <Cost.BuildTime> <Multiply>0.8</Multiply> </Cost.BuildTime> 19 </Modifications> 20 <AuraName>Naval Architect Aura</AuraName> 21 <AuraDescription>-20% build time for ships during his lifespan.</AuraDescription> 22 </Aura2> 23 </Auras> 3 <Auras datatype="tokens">athen_hero_themistocles_1 athen_hero_themistocles_2</Auras> 24 4 <Identity> 25 5 <Civ>athen</Civ> 26 6 <Lang>greek</Lang> 27 7 <GenericName>Themistocles</GenericName> 28 8 <SpecificName>Themistoklês</SpecificName> -
binaries/data/mods/public/simulation/templates/units/brit_hero_boudicca.xml
1 1 <?xml version="1.0" encoding="utf-8"?> 2 2 <Entity parent="template_unit_hero_cavalry_javelinist"> 3 <Auras> 4 <Aura1> 5 <Type>range</Type> 6 <Radius>60</Radius> 7 <Affects>Champion</Affects> 8 <Modifications> 9 <UnitMotion.WalkSpeed> <Multiply>1.25</Multiply> </UnitMotion.WalkSpeed> 10 <Attack.Ranged.Pierce> <Add>5</Add> </Attack.Ranged.Pierce> 11 <Attack.Melee.Hack> <Add>5</Add> </Attack.Melee.Hack> 12 <Attack.Capture.Value> <Add>2</Add> </Attack.Capture.Value> 13 </Modifications> 14 <AuraName>Champion Army</AuraName> 15 <AuraDescription>+5 Attack, +2 Capture and +25% Speed for Champion Units.</AuraDescription> 16 <OverlayIcon>art/textures/ui/session/auras/attack_bonus.png</OverlayIcon> 17 </Aura1> 18 </Auras> 3 <Auras datatype="tokens">brit_hero_boudicca</Auras> 19 4 <Footprint replace=""> 20 5 <Square width="4.5" depth="9.0"/> 21 6 <Height>5.0</Height> 22 7 </Footprint> 23 8 <Identity> -
binaries/data/mods/public/simulation/templates/units/brit_hero_boudicca_sword.xml
1 1 <?xml version="1.0" encoding="utf-8"?> 2 2 <Entity parent="template_unit_hero_infantry_swordsman"> 3 <Auras> 4 <Aura1> 5 <Type>global</Type> 6 <Affects>Champion</Affects> 7 <Modifications> 8 <UnitMotion.WalkSpeed> <Multiply>1.25</Multiply> </UnitMotion.WalkSpeed> 9 <Attack.Ranged.Pierce> <Add>5</Add> </Attack.Ranged.Pierce> 10 <Attack.Melee.Hack> <Add>5</Add> </Attack.Melee.Hack> 11 <Attack.Capture.Value> <Add>2</Add> </Attack.Capture.Value> 12 </Modifications> 13 <AuraName>Champion Army</AuraName> 14 <AuraDescription>+5 Attack, +2 Capture and +25% Speed for Champion Units.</AuraDescription> 15 </Aura1> 16 </Auras> 3 <Auras datatype="tokens">brit_hero_boudicca</Auras> 17 4 <Identity> 18 5 <Civ>brit</Civ> 19 6 <Gender>female</Gender> 20 7 <SpecificName>Boudicca</SpecificName> 21 8 <GenericName>Heroine</GenericName> -
binaries/data/mods/public/simulation/templates/units/brit_hero_caratacos.xml
1 1 <?xml version="1.0" encoding="utf-8"?> 2 2 <Entity parent="template_unit_hero_infantry_swordsman"> 3 <Auras> 4 <Aura1> 5 <Type>global</Type> 6 <Affects>Unit</Affects> 7 <Modifications> 8 <UnitMotion.WalkSpeed> <Multiply>1.15</Multiply> </UnitMotion.WalkSpeed> 9 </Modifications> 10 <AuraName>Hero Aura</AuraName> 11 <AuraDescription>All Units +15% speed.</AuraDescription> 12 </Aura1> 13 </Auras> 3 <Auras datatype="tokens">brit_hero_caratacos</Auras> 14 4 <Identity> 15 5 <Civ>brit</Civ> 16 6 <SpecificName>Caratacos</SpecificName> 17 7 <History>Caratacos's name is better known in its Romanized form, Caratacus. Under this name he is remembered as a fierce defender of Britain against the Romans after their invasion in 43 AD. Son of King Cunobelin of the Catuvellauni tribe, Caratacos fought for nine years against the Romans with little success, eventually fleeing to the tribes in Wales, where he was defeated decisively. Finally he entered Northern Britain, where was handed over to the Romans. Taken to Rome, Caratacos was allowed to live by the Emperor Claudius and died in Italy.</History> 18 8 <Icon>units/celt_hero_caratacos.png</Icon> -
binaries/data/mods/public/simulation/templates/units/brit_hero_cunobelin.xml
1 1 <?xml version="1.0" encoding="utf-8"?> 2 2 <Entity parent="template_unit_hero_cavalry_swordsman"> 3 <Auras> 4 <Aura1> 5 <Type>range</Type> 6 <Radius>60</Radius> 7 <Affects>Unit</Affects> 8 <Modifications> 9 <Health.RegenRate> <Add>1</Add> </Health.RegenRate> 10 </Modifications> 11 <AuraName>Hero Aura</AuraName> 12 <AuraDescription>+1 HP per second healing rate for all units.</AuraDescription> 13 <OverlayIcon>art/textures/ui/session/auras/heal.png</OverlayIcon> 14 </Aura1> 15 </Auras> 3 <Auras datatype="tokens">brit_hero_cunobelin</Auras> 16 4 <Identity> 17 5 <Civ>brit</Civ> 18 6 <SpecificName>Cunobelin</SpecificName> 19 7 <History>Cunobelin was a powerful ruler centered in the territory around modern day London. Ruling the Catuvellauni from Camulodunum, he was a warrior king who conquered a neighboring tribe and was referred to by the Romans as the King of the Britons. Eventually Cunobelin retired to become the arch-druid of Siluria, but was taken to Rome with his son upon Caratacos's capture. According to legend, the Apostle Paul baptized Cunobelin into Christianity before he died in Italy.</History> 20 8 <Icon>units/celt_hero_cunobelin.png</Icon> -
binaries/data/mods/public/simulation/templates/units/cart_hero_hamilcar.xml
1 1 <?xml version="1.0" encoding="utf-8"?> 2 2 <Entity parent="template_unit_hero_cavalry_swordsman"> 3 <Auras> 4 <Aura1> 5 <Type>global</Type> 6 <Affects>Unit</Affects> 7 <Modifications> 8 <UnitMotion.WalkSpeed> <Multiply>1.15</Multiply> </UnitMotion.WalkSpeed> 9 </Modifications> 10 <AuraName>Lightning Aura</AuraName> 11 <AuraDescription>All Units +15% speed.</AuraDescription> 12 </Aura1> 13 </Auras> 3 <Auras datatype="tokens">cart_hero_hamilcar</Auras> 14 4 <Identity> 15 5 <Civ>cart</Civ> 16 6 <SpecificName>Ḥimelqart Baraq</SpecificName> 17 7 <GenericName>Hamilcar Barca</GenericName> 18 8 <History>Father of Hannibal and virtual military dictator of Carthage. Hamilcar Barca was a soldier and politician who excelled along his entire career. Lived 275-228 BC. While overshadowed by his sons, Hamilcar was great general in his own right, earning the nickname Baraq or Barca for the "lightning" speed of his advance.</History> -
binaries/data/mods/public/simulation/templates/units/cart_hero_hannibal.xml
1 1 <?xml version="1.0" encoding="utf-8"?> 2 2 <Entity parent="template_unit_hero_elephant_melee"> 3 <Auras> 4 <Aura1> 5 <Type>range</Type> 6 <Radius>60</Radius> 7 <Affects>Unit</Affects> 8 <AffectedPlayers>Player Ally</AffectedPlayers> 9 <Modifications> 10 <Attack.Ranged.Pierce> <Add>2</Add> </Attack.Ranged.Pierce> 11 <Attack.Melee.Hack> <Add>2</Add> </Attack.Melee.Hack> 12 <Attack.Capture.Value> <Add>1</Add> </Attack.Capture.Value> 13 </Modifications> 14 <AuraName>Tactician Aura</AuraName> 15 <AuraDescription>All allied units +2 Attack and +1 Capture within his vision range.</AuraDescription> 16 <OverlayIcon>art/textures/ui/session/auras/attack_bonus.png</OverlayIcon> 17 </Aura1> 18 </Auras> 3 <Auras datatype="tokens">cart_hero_hannibal</Auras> 19 4 <Identity> 20 5 <Civ>cart</Civ> 21 6 <GenericName>Hannibal Barca</GenericName> 22 7 <SpecificName>Ḥannibaʿal Baraq</SpecificName> 23 8 <History>Carthage's most famous son. Hannibal Barca was the eldest son of Hamilcar Barca and proved an even greater commander than his father. Lived 247-182 BC. While he ultimately lost the Second Punic War, his victories at Trebia, Lake Trasimene, and Cannae, and the feat of crossing the Alps have secured his position as among the best tacticians and strategists in history.</History> -
binaries/data/mods/public/simulation/templates/units/cart_hero_maharbal.xml
1 1 <?xml version="1.0" encoding="utf-8"?> 2 2 <Entity parent="template_unit_hero_cavalry_spearman"> 3 <Auras> 4 <Aura1> 5 <Type>range</Type> 6 <Radius>60</Radius> 7 <Affects>Cavalry</Affects> 8 <Modifications> 9 <Attack.Charge.Hack> <Add>5</Add> </Attack.Charge.Hack> 10 </Modifications> 11 <AuraName>Commander Aura</AuraName> 12 <AuraDescription> +5 Cavalry charge attack within vision range of him (currently useless).</AuraDescription> 13 </Aura1> 14 </Auras> 3 <Auras datatype="tokens">cart_hero_maharbal</Auras> 15 4 <Identity> 16 5 <Civ>cart</Civ> 17 6 <GenericName>Maharbal</GenericName> 18 7 <SpecificName>Maharbaʿal</SpecificName> 19 8 <History>Maharbal was Hannibal Barca's "brash young cavalry commander" during the 2nd Punic War. He is credited with turning the wing of the legions at Cannae resulting in defeat in which 30,000 of 50,000 Romans were lost, as well as significant contributions to the winning of many other battles during the 2nd Punic War. He is known for having said, after the battle of Cannae, "Hannibal, you know how to win the victory; just not what to do with it."</History> -
binaries/data/mods/public/simulation/templates/units/gaul_hero_brennus.xml
1 1 <?xml version="1.0" encoding="utf-8"?> 2 2 <Entity parent="template_unit_hero_infantry_swordsman"> 3 <Auras> 4 <Aura1> 5 <Type>global</Type> 6 <Affects>Unit</Affects> 7 <Modifications> 8 <Looter.Resource.metal> <Add>10</Add> </Looter.Resource.metal> 9 </Modifications> 10 <AuraName>Hero Aura</AuraName> 11 <AuraDescription>+10 Metal loot for every enemy unit killed.</AuraDescription> 12 </Aura1> 13 </Auras> 3 <Auras datatype="tokens">gaul_hero_brennus</Auras> 14 4 <Identity> 15 5 <Civ>gaul</Civ> 16 6 <SpecificName>Brennus</SpecificName> 17 7 <History>Brennus is the name which the Roman historians give to the famous leader of the Gauls who took Rome in the time of Camillus. According to Geoffrey of Monmouth, the cleric who wrote “History of the Kings of Britain”, Brennus and his brother Belinus invaded Gaul and sacked Rome in 390 B.C., 'proving' that Britons had conquered Rome, the greatest civilization in the world, long before Rome conquered the Britons. We know from many ancient sources which predate Geoffrey that Rome was indeed sacked, but in 387 not 390, and that the raid was led by a man named Brennos (which was latinized to Brennus), but he and his invading horde were Gallic Senones, not British. In this episode several features of Geoffrey's editing method can be seen: he modified the historical Brennus/Brennos, created the brother Belinus, borrowed the Gallic invasion, but omitted the parts where the Celts seemed weak or foolish. His technique is both additive and subtractive. Like the tale of Trojan origin, the story of the sack of Rome is not pure fabrication; it is a creative rearrangement of the available facts, with details added as necessary. By virtue of their historical association, Beli and Bran are often muddled with the earlier brothers Belinus and Brennus (the sons of Dunvallo Molmutius) who contended for power in northern Britain in around 390 B.C., and were regarded as gods in old Celtic tradition.</History> 18 8 <Icon>units/celt_hero_brennus.png</Icon> -
binaries/data/mods/public/simulation/templates/units/gaul_hero_britomartus.xml
1 1 <?xml version="1.0" encoding="utf-8"?> 2 2 <Entity parent="template_unit_hero_infantry_spearman"> 3 <Auras> 4 <Aura1> 5 <Type>global</Type> 6 <Affects>Worker</Affects> 7 <Modifications> 8 <ResourceGatherer.BaseSpeed> <Multiply>1.15</Multiply> </ResourceGatherer.BaseSpeed> 9 </Modifications> 10 <AuraName>Hero Aura</AuraName> 11 <AuraDescription>Gathering rates increased with +15% during his lifetime.</AuraDescription> 12 </Aura1> 13 </Auras> 3 <Auras datatype="tokens">gaul_hero_britomartus</Auras> 14 4 <Identity> 15 5 <Civ>gaul</Civ> 16 6 <SpecificName>Britomartus</SpecificName> 17 7 <History> The story of how Marcus Claudius Marcellus killed a Gallic leader at Clastidium (222 BC) is typical of such encounters. Advancing with a smallish army, Marcellus met a combined force of Insubrian Gauls and Gaesatae at Clastidium. The Gallic army advanced with the usual rush and terrifying cries, and their king, Britomartus, picking out Marcellus by means of his badges of rank, made for him, shouting a challenge and brandishing his spear. Britomartus was an outstanding figure not only for his size but also for his adornments; for he was resplendent in bright colors and his armor shone with gold and silver. This armor, thought Marcellus, would be a fitting offering to the gods. He charged the Gaul, pierced his bright breastplate and cast him to the ground. It was an easy task to kill Britomartus and strip him of his armor.</History> 18 8 <Icon>units/celt_hero_britomartus.png</Icon> -
binaries/data/mods/public/simulation/templates/units/gaul_hero_vercingetorix.xml
1 1 <?xml version="1.0" encoding="utf-8"?> 2 2 <Entity parent="template_unit_hero_cavalry_swordsman"> 3 <Auras> 4 <Aura1> 5 <Type>range</Type> 6 <Radius>60</Radius> 7 <Affects>Unit</Affects> 8 <Modifications> 9 <Attack.Ranged.Pierce> <Add>2</Add> </Attack.Ranged.Pierce> 10 <Attack.Melee.Hack> <Add>2</Add> </Attack.Melee.Hack> 11 <Attack.Capture.Value> <Add>1</Add> </Attack.Capture.Value> 12 </Modifications> 13 <AuraName>Hero Aura</AuraName> 14 <AuraDescription>+2 Attack and +1 Capture for all units within his aura.</AuraDescription> 15 <OverlayIcon>art/textures/ui/session/auras/attack_bonus.png</OverlayIcon> 16 </Aura1> 17 </Auras> 3 <Auras datatype="tokens">gaul_hero_vercingetorix</Auras> 18 4 <Identity> 19 5 <Civ>gaul</Civ> 20 6 <SpecificName>Vercingetorix</SpecificName> 21 7 <History>The most famous of all Celts, Vercingetorix lead the rebelling Gallic tribes against the might of Rome and Julius Caesar's veteran army in 54 BC. Although successful in defeating several Roman forces, Vercingetorix was unable to defeat Caesar, who eventually surrounded the Celtic leaders in the town of Alesia along with 100,000 men. When a relief army arrived to lift the epic siege, the Romans were out numbered 7 to 1 but still defeated the Celts. Vercingetorix surrendered and was executed.</History> 22 8 <Icon>units/celt_hero_vercingetorix.png</Icon> -
binaries/data/mods/public/simulation/templates/units/iber_hero_caros.xml
2 2 <Entity parent="template_unit_hero_infantry_swordsman"> 3 3 <Identity> 4 4 <Civ>iber</Civ> 5 5 <SpecificName>Caros</SpecificName> 6 6 <Icon>units/iber_hero_caros.png</Icon> 7 7 <Tooltip>Hero Aura: "Tactica Guerilla." TBD.</Tooltip> 8 8 <History>Caros was a chief of the Belli tribe located just east of the Celtiberi (Numantines at the center). Leading the confederated tribes of the meseta central (central upland plain) he concealed 20,000 foot and 5,000 mounted troops along a densely wooded track. Q. Fulvius Nobilior neglected proper reconnaissance and lead his army into the trap strung out in a long column. Some 10,000 of 15,000 Roman legionaries fell in the massive ambush that was sprung upon them. The date was 23 August of 153 BCE, the day when Rome celebrated the feast of Vulcan. By later Senatorial Decree it was ever thereafter known as dies ater, a 'sinister day', and Rome never again fought a battle on the 23rd of August. Caros was wounded in a small cavalry action the same evening and died soon thereafter, but he had carried off one of the most humiliating defeats that Rome ever suffered.</History> 9 9 </Identity> 10 10 <VisualActor> 11 11 <Actor>units/iberians/hero_caros.xml</Actor> 12 12 </VisualActor> -
binaries/data/mods/public/simulation/templates/units/iber_hero_indibil.xml
2 2 <Entity parent="template_unit_hero_cavalry_spearman"> 3 3 <Identity> 4 4 <Civ>iber</Civ> 5 5 <SpecificName>Indibil</SpecificName> 6 6 <Icon>units/iber_hero_indibil.png</Icon> 7 7 <Tooltip>Hero Aura: "Tactica Guerilla." TBD.</Tooltip> 8 8 <History>Indibil was king of the Ilegetes, a large federation ranged principally along the Ebro River in the northwest of the Iberian Peninsula. During the Barcid expansion, from 212 BCE he had initially been talked into allying himself with the Carthaginians who hade taken control of a lot of territory to the south and west, however after loss and his capture in a major battle he was convinced, some say tricked, to switch to the Roman side by Scipio Africanus. But that alliance didn't last long, as Roman promises were hollow and the Romans acted more like conquerors than allies. So, while the Romans and their allies had ended Carthaginian presence in 'Hispania' in 206 BCE, Indibil and another tribal prince by the name of Mandonio, who may have been his brother, rose up in rebellion against the Romans. They were defeated in battle, but rose up in a 2nd even larger rebellion that had unified all the Ilergetes again in 205 BCE. Outnumbered and outarmed they were again defeated, Indibil losing his life in the final battle and Mandonio being captured then later put to death. From that date onward the Ilergetes remained a pacified tribe under Roman rule.</History> 9 9 </Identity> 10 10 <VisualActor> 11 11 <Actor>units/iberians/hero_indibil_horse.xml</Actor> 12 12 </VisualActor> -
binaries/data/mods/public/simulation/templates/units/iber_hero_viriato.xml
2 2 <Entity parent="template_unit_hero_infantry_swordsman"> 3 3 <Identity> 4 4 <Civ>iber</Civ> 5 5 <SpecificName>Viriato</SpecificName> 6 6 <Icon>units/iber_hero_viriato.png</Icon> 7 7 <Tooltip>Hero Aura: "Tactica Guerilla." TBD.</Tooltip> 8 8 <History>Viriato, like Vercingentorix amongst the Gauls, was the most famous of the Iberian tribal war leaders, having conducted at least 7 campaigns against the Romans in the southern half of the peninsula during the 'Lusitani Wars' from 147 to 139 BCE. He surfaced as a survivor of the treacherous massacre of 9,000 men and the selling into slavery of 21,000 elderly, women, and children of the Lusitani. They had signed a treaty of peace with the Romans, conducted by Servius Sulpicius Galba, governor of Hispania Ulterior, as the 'final solution' to the Lusitani problem. He emerged from humble beginnings in 151 BCE to become war chief of the Lusitani. He was intelligent and a superior tactician, never really defeated in any encounter (though suffered losses in some requiring retreat). He succumbed instead to another treachery arranged by a later Roman commander, Q. Servilius Caepio, to have him assassinated by three comrades that were close to him.</History> 9 9 </Identity> 10 10 <VisualActor> 11 11 <Actor>units/iberians/hero_viriato.xml</Actor> 12 12 </VisualActor> -
binaries/data/mods/public/simulation/templates/units/mace_hero_alexander.xml
1 1 <?xml version="1.0" encoding="utf-8"?> 2 2 <Entity parent="template_unit_hero_cavalry_swordsman"> 3 <Auras> 4 <Aura1> 5 <Type>global</Type> 6 <Affects>Structure</Affects> 7 <Modifications> 8 <TerritoryInfluence.Radius> <Multiply>1.10</Multiply> </TerritoryInfluence.Radius> 9 </Modifications> 10 <AuraName>Imperialism Aura</AuraName> 11 <AuraDescription>+10% territory effect for all buildings while he lives.</AuraDescription> 12 </Aura1> 13 </Auras> 3 <Auras datatype="tokens">mace_hero_alexander</Auras> 14 4 <Attack> 15 5 <Melee> 16 6 <Bonuses> 17 7 <Herocide> 18 8 <Classes>Hero</Classes> -
binaries/data/mods/public/simulation/templates/units/mace_hero_demetrius.xml
1 1 <?xml version="1.0" encoding="utf-8"?> 2 2 <Entity parent="template_unit_hero_infantry_swordsman"> 3 <Auras> 4 <Aura1> 5 <Type>global</Type> 6 <Affects>Siege</Affects> 7 <Modifications> 8 <Attack.Ranged.Crush> <Add>10</Add> </Attack.Ranged.Crush> 9 <Attack.Melee.Crush> <Add>10</Add> </Attack.Melee.Crush> 10 <Attack.Ranged.MaxRange> <Multiply>1.15</Multiply> </Attack.Ranged.MaxRange> 11 </Modifications> 12 <AuraName>Hero Aura</AuraName> 13 <AuraDescription>+15% Range and +10 Crush Attack for Siege Engines.</AuraDescription> 14 <OverlayIcon>art/textures/ui/session/auras/attack_bonus.png</OverlayIcon> 15 </Aura1> 16 </Auras> 3 <Auras datatype="tokens">mace_hero_demetrius</Auras> 17 4 <Identity> 18 5 <Civ>mace</Civ> 19 6 <Lang>greek</Lang> 20 7 <GenericName>Demetrius The Besieger</GenericName> 21 8 <SpecificName>Dēmḗtrios Poliorkḗtēs</SpecificName> -
binaries/data/mods/public/simulation/templates/units/mace_hero_philip.xml
1 1 <?xml version="1.0" encoding="utf-8"?> 2 2 <Entity parent="template_unit_hero_cavalry_spearman"> 3 <Auras> 4 <Aura1> 5 <Type>range</Type> 6 <Radius>60</Radius> 7 <Affects>Champion</Affects> 8 <Modifications> 9 <Attack.Ranged.Pierce> <Add>5</Add> </Attack.Ranged.Pierce> 10 <Attack.Melee.Hack> <Add>5</Add> </Attack.Melee.Hack> 11 <Attack.Capture.Value> <Add>2</Add> </Attack.Capture.Value> 12 </Modifications> 13 <AuraName>Hero Aura</AuraName> 14 <AuraDescription>+5 Attack and +2 Capture for Champion Units.</AuraDescription> 15 <OverlayIcon>art/textures/ui/session/auras/attack_bonus.png</OverlayIcon> 16 </Aura1> 17 </Auras> 3 <Auras datatype="tokens">mace_hero_philip</Auras> 18 4 <Identity> 19 5 <Civ>mace</Civ> 20 6 <Lang>greek</Lang> 21 7 <GenericName>Philip II of Macedon</GenericName> 22 8 <SpecificName>Phílippos B' ho Makedṓn</SpecificName> -
binaries/data/mods/public/simulation/templates/units/maur_hero_ashoka.xml
9 9 <GenericName>Ashoka the Great</GenericName> 10 10 <SpecificName>Aśoka Devānāmpriya</SpecificName> 11 11 <Classes datatype="tokens">Ashoka</Classes> 12 12 <VisibleClasses datatype="tokens">Chariot</VisibleClasses> 13 13 <Icon>units/maur_hero_ashoka.png</Icon> 14 <Tooltip>Hero Aura: TBD. 15 Hero Special: "Edicts of Ashoka" - Edict Pillars of Ashoka can be built during Ashoka's lifetime.</Tooltip> 14 <Tooltip>Hero Special: "Edicts of Ashoka" - Edict Pillars of Ashoka can be built during Ashoka's lifetime.</Tooltip> 16 15 <History>TBD.</History> 17 16 </Identity> 18 17 <VisualActor> 19 18 <Actor>units/mauryans/hero_chariot.xml</Actor> 20 19 </VisualActor> -
binaries/data/mods/public/simulation/templates/units/maur_hero_maurya.xml
2 2 <Entity parent="template_unit_hero_elephant_melee"> 3 3 <Identity> 4 4 <Civ>maur</Civ> 5 5 <GenericName>Chandragupta Maurya</GenericName> 6 6 <SpecificName>Chandragupta Maurya</SpecificName> 7 <Tooltip>Hero Aura: TBD.</Tooltip>8 7 <History>TBD.</History> 9 8 <Icon>units/maur_hero_chandragupta.png</Icon> 10 9 </Identity> 11 10 <ProductionQueue> 12 11 <BatchTimeModifier>0.7</BatchTimeModifier> -
binaries/data/mods/public/simulation/templates/units/pers_hero_cyrus.xml
1 1 <?xml version="1.0" encoding="utf-8"?> 2 2 <Entity parent="template_unit_hero_cavalry_spearman"> 3 <Auras> 4 <Aura1> 5 <Type>range</Type> 6 <Radius>60</Radius> 7 <Affects>Cavalry</Affects> 8 <Modifications> 9 <Attack.Ranged.Pierce> <Add>2</Add> </Attack.Ranged.Pierce> 10 <Attack.Melee.Hack> <Add>2</Add> </Attack.Melee.Hack> 11 <Attack.Capture.Value> <Add>1</Add> </Attack.Capture.Value> 12 </Modifications> 13 <AuraName>Lead from the Front Aura</AuraName> 14 <AuraDescription>+2 Attack and +1 Capture for nearby cavalry units.</AuraDescription> 15 <OverlayIcon>art/textures/ui/session/auras/attack_bonus.png</OverlayIcon> 16 </Aura1> 17 </Auras> 3 <Auras datatype="tokens">pers_hero_cyrus</Auras> 18 4 <Identity> 19 5 <Civ>pers</Civ> 20 6 <GenericName>Cyrus II The Great</GenericName> 21 7 <SpecificName>Kurush II</SpecificName> 22 8 <Icon>units/pers_hero_cyrus.png</Icon> -
binaries/data/mods/public/simulation/templates/units/pers_hero_darius.xml
1 1 <?xml version="1.0" encoding="utf-8"?> 2 2 <Entity parent="template_unit_hero_cavalry_archer"> 3 <Auras> 4 <Aura1> 5 <Type>global</Type> 6 <Affects>Unit</Affects> 7 <AffectedPlayers>Player</AffectedPlayers> 8 <Modifications> 9 <UnitMotion.WalkSpeed> <Multiply>1.15</Multiply> </UnitMotion.WalkSpeed> 10 </Modifications> 11 <AuraName>Leadership Aura</AuraName> 12 <AuraDescription>+15% Movement Speed of all units.</AuraDescription> 13 </Aura1> 14 </Auras> 3 <Auras datatype="tokens">pers_hero_darius</Auras> 15 4 <Footprint replace=""> 16 5 <Square width="6.0" depth="12.0"/> 17 6 <Height>5.0</Height> 18 7 </Footprint> 19 8 <Identity> -
binaries/data/mods/public/simulation/templates/units/pers_hero_xerxes.xml
1 1 <?xml version="1.0" encoding="utf-8"?> 2 2 <Entity parent="template_unit_hero_infantry_archer"> 3 <Auras> 4 <Aura1> 5 <Type>range</Type> 6 <Radius>60</Radius> 7 <Affects>Worker</Affects> 8 <Modifications> 9 <Builder.Rate> <Multiply>1.15</Multiply> </Builder.Rate> 10 <ResourceGatherer.BaseSpeed> <Multiply>1.15</Multiply> </ResourceGatherer.BaseSpeed> 11 </Modifications> 12 <AuraName>Administrator Aura</AuraName> 13 <AuraDescription> +15% Gather Rate and Build Rate of nearby units.</AuraDescription> 14 <OverlayIcon>art/textures/ui/session/auras/buildgather_bonus.png</OverlayIcon> 15 </Aura1> 16 </Auras> 3 <Auras datatype="tokens">pers_hero_xerxes</Auras> 17 4 <Identity> 18 5 <Civ>pers</Civ> 19 6 <GenericName>Xerxes I</GenericName> 20 7 <SpecificName>Xsayarsa I</SpecificName> 21 8 <Icon>units/pers_hero_xerxes.png</Icon> -
binaries/data/mods/public/simulation/templates/units/pers_hero_xerxes_chariot.xml
1 1 <?xml version="1.0" encoding="utf-8"?> 2 2 <Entity parent="template_unit_hero_cavalry_archer"> 3 <Auras> 4 <Aura1> 5 <Type>range</Type> 6 <Radius>60</Radius> 7 <Affects>Worker</Affects> 8 <Modifications> 9 <Builder.Rate> <Multiply>1.15</Multiply> </Builder.Rate> 10 <ResourceGatherer.BaseSpeed> <Multiply>1.15</Multiply> </ResourceGatherer.BaseSpeed> 11 </Modifications> 12 <AuraName>Administrator Aura</AuraName> 13 <AuraDescription> +15% Gather Rate and Build Rate of nearby units.</AuraDescription> 14 <OverlayIcon>art/textures/ui/session/auras/buildgather_bonus.png</OverlayIcon> 15 </Aura1> 16 </Auras> 3 <Auras datatype="tokens">pers_hero_xerxes</Auras> 17 4 <Footprint replace=""> 18 5 <Square width="6.0" depth="12.0"/> 19 6 <Height>5.0</Height> 20 7 </Footprint> 21 8 <Identity> -
binaries/data/mods/public/simulation/templates/units/ptol_hero_cleopatra.xml
1 1 <?xml version="1.0" encoding="utf-8"?> 2 2 <Entity parent="template_unit_hero_infantry_archer"> 3 <Auras> 4 <unit_attack_speed_20> 5 <Type>range</Type> 6 <Radius>60</Radius> 7 <Affects>Unit</Affects> 8 <Modifications> 9 <Attack.Melee.RepeatTime> <Multiply>0.8</Multiply> </Attack.Melee.RepeatTime> 10 <Attack.Ranged.RepeatTime> <Multiply>0.8</Multiply> </Attack.Ranged.RepeatTime> 11 </Modifications> 12 <AuraName>Patriot Aura</AuraName> 13 <AuraDescription>Egyptian units fight 25% faster in her vision range.</AuraDescription> 14 <OverlayIcon>art/textures/ui/session/auras/attack_bonus.png</OverlayIcon> 15 </unit_attack_speed_20> 16 </Auras> 3 <Auras datatype="tokens">ptol_hero_cleopatra</Auras> 17 4 <Identity> 18 5 <Civ>ptol</Civ> 19 6 <Gender>female</Gender> 20 7 <GenericName>Cleopatra VII</GenericName> 21 8 <SpecificName>Kleopatra H' Philopator</SpecificName> -
binaries/data/mods/public/simulation/templates/units/ptol_hero_ptolemy_I.xml
1 1 <?xml version="1.0" encoding="utf-8"?> 2 2 <Entity parent="template_unit_hero_elephant_melee"> 3 <Auras> 4 <Aura1> 5 <Type>range</Type> 6 <Radius>77</Radius> 7 <Affects>Worker</Affects> 8 <Modifications> 9 <Builder.Rate> <Multiply>1.10</Multiply> </Builder.Rate> 10 </Modifications> 11 <AuraName>Construction Aura</AuraName> 12 <AuraDescription>Buildings construct 10% faster within his vision.</AuraDescription> 13 <OverlayIcon>art/textures/ui/session/auras/build_bonus.png</OverlayIcon> 14 </Aura1> 15 <Aura2> 16 <Type>global</Type> 17 <Affects>Mercenary</Affects> 18 <Modifications> 19 <Cost.Resources.food> <Multiply>0.5</Multiply> </Cost.Resources.food> 20 <Cost.Resources.wood> <Multiply>0.5</Multiply> </Cost.Resources.wood> 21 <Cost.Resources.stone> <Multiply>0.5</Multiply> </Cost.Resources.stone> 22 <Cost.Resources.metal> <Multiply>0.5</Multiply> </Cost.Resources.metal> 23 </Modifications> 24 <AuraName>Mercenary Patron Aura</AuraName> 25 <AuraDescription>Mercenaries cost -50% resources during his lifetime.</AuraDescription> 26 </Aura2> 27 </Auras> 3 <Auras datatype="tokens">ptol_hero_ptolemy_I_1 ptol_hero_ptolemy_I_2</Auras> 28 4 <Identity> 29 5 <Civ>ptol</Civ> 30 6 <GenericName>Ptolemy I "Savior"</GenericName> 31 7 <SpecificName>Ptolemaios A' Soter</SpecificName> 32 8 <History>Born in 367 BCE, Ptolemy I grew to become one of Alexander the Great's closest friends and generals. He was instrumental in Alexander's later campaigns in Bactria (modern Afghanistan) and India. After Alexander's death, Ptolemy took control of the Satrap of Egypt, and after the Battle of Ipsus became sole ruler of Egypt as "Pharaoh," founding the Ptolemy Dynasty that would rule Egypt for nearly 3 centuries. Ptolemaic Egypt reached the height of its territorial boundaries under his reign as he added Syria, Judea, Cyprus, and parts of Asia Minor to his realm. His reputation for bonhomie and liberality attached the floating soldier-class of Macedonians and Hellenes to his service, and was not insignificant; nor did he wholly neglect conciliation of the native Egyptians. He was a ready patron of letters, founding the Great Library of Alexandria. He himself wrote a history of Alexander's campaigns that has not survived. This used to be considered an objective work, distinguished by its straightforward honesty and sobriety. However, Ptolemy may have exaggerated his own role, and had propagandist aims in writing his History. Although now lost, it was a principal source for the surviving account by Arrian of Nicomedia. Ptolemy died in 283 BCE, the last of the Diodachoi, leaving a well-ordered and stable kingdom to his progeny.</History> -
binaries/data/mods/public/simulation/templates/units/ptol_hero_ptolemy_IV.xml
1 1 <?xml version="1.0" encoding="utf-8"?> 2 2 <Entity parent="template_unit_hero_cavalry_swordsman"> 3 <Auras> 4 <Aura1> 5 <Type>global</Type> 6 <Affects>Pike</Affects> 7 <Modifications> 8 <Health.Max> <Multiply>1.40</Multiply> </Health.Max> 9 </Modifications> 10 <AuraName>Raphia Aura</AuraName> 11 <AuraDescription>Egyptian Pikemen have 40% greater health during his lifetime.</AuraDescription> 12 </Aura1> 13 </Auras> 3 <Auras datatype="tokens">ptol_hero_ptolemy_IV</Auras> 14 4 <Identity> 15 5 <Civ>ptol</Civ> 16 6 <GenericName>Ptolemy IV "Father Loving"</GenericName> 17 7 <SpecificName>Ptolemaios D' Philopator</SpecificName> 18 8 <Classes datatype="tokens">PtolemyIV</Classes> -
binaries/data/mods/public/simulation/templates/units/rome_hero_marcellus.xml
1 1 <?xml version="1.0" encoding="utf-8"?> 2 2 <Entity parent="template_unit_hero_cavalry_swordsman"> 3 <Auras> 4 <Aura1> 5 <Type>range</Type> 6 <Radius>60</Radius> 7 <Affects>Unit</Affects> 8 <Modifications> 9 <Attack.Ranged.Pierce> <Add>5</Add> </Attack.Ranged.Pierce> 10 <Attack.Melee.Hack> <Add>5</Add> </Attack.Melee.Hack> 11 <Attack.Capture.Value> <Add>2</Add> </Attack.Capture.Value> 12 </Modifications> 13 <AuraName>Sword of Rome Aura</AuraName> 14 <AuraDescription>+5 Attack and +2 Capture for Roman units within his vision range.</AuraDescription> 15 <OverlayIcon>art/textures/ui/session/auras/attack_bonus.png</OverlayIcon> 16 </Aura1> 17 </Auras> 3 <Auras datatype="tokens">rome_hero_marcellus</Auras> 18 4 <Identity> 19 5 <Civ>rome</Civ> 20 6 <Lang>latin</Lang> 21 7 <SpecificName>Marcus Claudius Marcellus</SpecificName> 22 8 <Icon>units/rome_hero_marcellus.png</Icon> -
binaries/data/mods/public/simulation/templates/units/rome_hero_maximus.xml
1 1 <?xml version="1.0" encoding="utf-8"?> 2 2 <Entity parent="template_unit_hero_cavalry_swordsman"> 3 <Auras> 4 <Aura1> 5 <Type>global</Type> 6 <Affects>Unit Structure</Affects> 7 <Modifications> 8 <Armour.Pierce> <Add>1</Add> </Armour.Pierce> 9 <Armour.Hack> <Add>1</Add> </Armour.Hack> 10 <Armour.Crush> <Add>1</Add> </Armour.Crush> 11 </Modifications> 12 <AuraName>Shield of Rome Aura</AuraName> 13 <AuraDescription>+1 armour for all units and structures.</AuraDescription> 14 </Aura1> 15 </Auras> 3 <Auras datatype="tokens">rome_hero_maximus</Auras> 16 4 <Identity> 17 5 <Civ>rome</Civ> 18 6 <Lang>latin</Lang> 19 7 <SpecificName>Quintus Fabius Maximus</SpecificName> 20 8 <Icon>units/rome_hero_maximus.png</Icon> -
binaries/data/mods/public/simulation/templates/units/sele_hero_antiochus_great.xml
1 1 <?xml version="1.0" encoding="utf-8"?> 2 2 <Entity parent="template_unit_hero_cavalry_spearman"> 3 <Auras> 4 <Aura1> 5 <Type>global</Type> 6 <Affects>Cavalry</Affects> 7 <Modifications> 8 <Armour.Pierce> <Add>2</Add> </Armour.Pierce> 9 <Armour.Hack> <Add>2</Add> </Armour.Hack> 10 <Armour.Crush> <Add>2</Add> </Armour.Crush> 11 </Modifications> 12 <AuraName>Ilarchès Aura</AuraName> 13 <AuraDescription>All cavalry gains +2 levels of all armour types.</AuraDescription> 14 </Aura1> 15 </Auras> 3 <Auras datatype="tokens">sele_hero_antiochus_great</Auras> 16 4 <Identity> 17 5 <Civ>sele</Civ> 18 6 <Lang>greek</Lang> 19 7 <GenericName>Antiochus III "The Great"</GenericName> 20 8 <SpecificName>Antiokhos G' Mégās</SpecificName> -
binaries/data/mods/public/simulation/templates/units/sele_hero_antiochus_righteous.xml
1 1 <?xml version="1.0" encoding="utf-8"?> 2 2 <Entity parent="template_unit_hero_cavalry_swordsman"> 3 <Auras> 4 <Aura1> 5 <Type>range</Type> 6 <Radius>70</Radius> 7 <AffectedPlayers>Enemy</AffectedPlayers> 8 <Affects>Structure Mechanical</Affects> 9 <Modifications> 10 <Health.Max> <Multiply>0.8</Multiply> </Health.Max> 11 </Modifications> 12 <AuraName>Conquest Aura</AuraName> 13 <AuraDescription>All nearby enemy buildings, siege engines, and ships have their health reduced by 20%.</AuraDescription> 14 <OverlayIcon>art/textures/ui/session/auras/health_bonus.png</OverlayIcon> 15 </Aura1> 16 </Auras> 3 <Auras datatype="tokens">sele_hero_antiochus_righteous</Auras> 17 4 <Identity> 18 5 <Civ>sele</Civ> 19 6 <Lang>greek</Lang> 20 7 <GenericName>Antiochus IV "The Righteous"</GenericName> 21 8 <SpecificName>Antiokhos D' Epiphanes</SpecificName> -
binaries/data/mods/public/simulation/templates/units/sele_hero_seleucus_victor.xml
1 1 <?xml version="1.0" encoding="utf-8"?> 2 2 <Entity parent="template_unit_hero_elephant_melee"> 3 <Auras> 4 <Aura1> 5 <Type>range</Type> 6 <Radius>80</Radius> 7 <Affects>Elephant</Affects> 8 <Modifications> 9 <UnitMotion.WalkSpeed> <Multiply>1.20</Multiply> </UnitMotion.WalkSpeed> 10 <Attack.Melee.Hack> <Multiply>1.20</Multiply> </Attack.Melee.Hack> 11 <Attack.Melee.Crush> <Multiply>1.20</Multiply> </Attack.Melee.Crush> 12 </Modifications> 13 <AuraName>Zooiarchos Aura</AuraName> 14 <AuraDescription>Boosts War Elephant attack and speed +20% within his vision.</AuraDescription> 15 <OverlayIcon>art/textures/ui/session/auras/attack_bonus.png</OverlayIcon> 16 </Aura1> 17 </Auras> 3 <Auras datatype="tokens">sele_hero_seleucus_victor</Auras> 18 4 <Identity> 19 5 <Civ>sele</Civ> 20 6 <Lang>greek</Lang> 21 7 <GenericName>Seleucus I "The Victor"</GenericName> 22 8 <SpecificName>Seleukos A' Nikator</SpecificName> -
binaries/data/mods/public/simulation/templates/units/spart_hero_agis.xml
6 6 <Identity> 7 7 <Civ>spart</Civ> 8 8 <Lang>greek</Lang> 9 9 <GenericName>Agis III</GenericName> 10 10 <SpecificName>Agis</SpecificName> 11 <Tooltip>No hero aura. Has 2x health of other infantry heroes. Basically a very tough hoplite.</Tooltip>12 11 <History>Agis III was the 20th Spartan king of the Eurypontid lineage. Agis cobbled together an alliance of Southern Greek states to fight off Macedonian hegemony while Alexander the Great was away in Asia on his conquest march. After securing Crete as a Spartan tributary, Agis then moved to besiege the city of Megalopolis in the Peloponnese, who was an ally of Macedon. Antipater, the Macedonian regent, lead an army to stop this new uprising. In the Battle of Megalopolis, the Macedonians prevailed in a long and bloody battle. Much like Leonidas 150 years earlier, instead of surrendering, Agis made a heroic final stand in order to buy time for his troops to retreat.</History> 13 12 <Icon>units/spart_hero_agis.png</Icon> 14 13 </Identity> 15 14 <VisualActor> 16 15 <Actor>units/spartans/agis.xml</Actor> -
binaries/data/mods/public/simulation/templates/units/spart_hero_brasidas.xml
1 1 <?xml version="1.0" encoding="utf-8"?> 2 2 <Entity parent="template_unit_hero_infantry_swordsman"> 3 <Auras> 4 <Aura1> 5 <Type>range</Type> 6 <Radius>60</Radius> 7 <Affects>Javelin</Affects> 8 <Modifications> 9 <Attack.Ranged.Pierce> <Add>2</Add> </Attack.Ranged.Pierce> 10 <Armour.Pierce> <Add>1</Add> </Armour.Pierce> 11 <Armour.Hack> <Add>1</Add> </Armour.Hack> 12 <Armour.Crush> <Add>1</Add> </Armour.Crush> 13 </Modifications> 14 <AuraName>Helot Reforms</AuraName> 15 <AuraDescription>Helot Skirmishers within sight of him gain +2 attack and +1 all armor types.</AuraDescription> 16 <OverlayIcon>art/textures/ui/session/auras/attack_bonus.png</OverlayIcon> 17 </Aura1> 18 </Auras> 3 <Auras datatype="tokens">spart_hero_brasidas</Auras> 19 4 <Identity> 20 5 <Civ>spart</Civ> 21 6 <Lang>greek</Lang> 22 7 <GenericName>Brasidas</GenericName> 23 8 <SpecificName>Brasidas</SpecificName> -
binaries/data/mods/public/simulation/templates/units/spart_hero_leonidas.xml
1 1 <?xml version="1.0" encoding="utf-8"?> 2 2 <Entity parent="template_unit_hero_infantry_spearman"> 3 <Auras> 4 <Aura1> 5 <Type>range</Type> 6 <Radius>30</Radius> 7 <Affects>Spear</Affects> 8 <Modifications> 9 <Attack.Melee.Hack> <Multiply>1.20</Multiply> </Attack.Melee.Hack> 10 <Attack.Melee.Pierce> <Multiply>1.20</Multiply> </Attack.Melee.Pierce> 11 <Attack.Melee.Crush> <Multiply>1.20</Multiply> </Attack.Melee.Crush> 12 <Attack.Capture.Value> <Add>1</Add> </Attack.Capture.Value> 13 </Modifications> 14 <AuraName>Last Stand Aura</AuraName> 15 <AuraDescription>+20% Attack and +1 Capture for nearby Hoplites and Spartiates.</AuraDescription> 16 <OverlayIcon>art/textures/ui/session/auras/attack_bonus.png</OverlayIcon> 17 </Aura1> 18 </Auras> 3 <Auras datatype="tokens">spart_hero_leonidas</Auras> 19 4 <Identity> 20 5 <Civ>spart</Civ> 21 6 <Lang>greek</Lang> 22 7 <GenericName>Leonidas I</GenericName> 23 8 <SpecificName>Leōnídēs</SpecificName>