diff --git a/binaries/data/mods/public/simulation/components/BuildingAI.js b/binaries/data/mods/public/simulation/components/BuildingAI.js
index 8573a93..af03d23 100644
a
|
b
|
BuildingAI.prototype.Schema =
|
15 | 15 | "<text/>" + |
16 | 16 | "</element>"; |
17 | 17 | |
| 18 | BuildingAI.prototype.MAX_PREFERENCE_BONUS = 2; |
18 | 19 | |
19 | 20 | /** |
20 | 21 | * Initialize BuildingAI Component |
… |
… |
BuildingAI.prototype.FireArrows = function()
|
288 | 289 | var targets = new WeightedList(); |
289 | 290 | for (var i = 0; i < this.targetUnits.length; i++) |
290 | 291 | { |
291 | | var target = this.targetUnits[i], |
292 | | weight = (cmpAttack.GetPreference(target) || 0) + 1 |
| 292 | var target = this.targetUnits[i]; |
| 293 | var preference = cmpAttack.GetPreference(target); |
| 294 | var weight = 1; |
| 295 | if (preference !== null && preference !== undefined) |
| 296 | { |
| 297 | // Lower preference scores indicate a higher preference so they |
| 298 | // should result in a higher weight. |
| 299 | weight = 1 + this.MAX_PREFERENCE_BONUS / (1 + preference); |
| 300 | } |
293 | 301 | targets.push(target, weight); |
294 | 302 | } |
295 | 303 | for (var i = 0;i < arrowsToFire;i++) |
296 | 304 | { |
297 | | var selectedIndex = targets.randomIndex(), |
298 | | selectedTarget = targets.itemAt(selectedIndex); |
| 305 | var selectedIndex = targets.randomIndex(); |
| 306 | var selectedTarget = targets.itemAt(selectedIndex); |
299 | 307 | if (selectedTarget && this.CheckTargetVisible(selectedTarget)) |
300 | 308 | { |
301 | 309 | cmpAttack.PerformAttack(attackType, selectedTarget); |
diff --git a/binaries/data/mods/public/simulation/templates/template_structure_defense_defense_tower.xml b/binaries/data/mods/public/simulation/templates/template_structure_defense_defense_tower.xml
index 544634b..6b6925e 100644
a
|
b
|
|
12 | 12 | <PrepareTime>1200</PrepareTime> |
13 | 13 | <RepeatTime>2000</RepeatTime> |
14 | 14 | <Spread>1.5</Spread> |
15 | | <PreferredClasses datatype="tokens">organic</PreferredClasses> |
| 15 | <PreferredClasses datatype="tokens">Organic</PreferredClasses> |
16 | 16 | </Ranged> |
17 | 17 | </Attack> |
18 | 18 | <BuildingAI> |
diff --git a/binaries/data/mods/public/simulation/templates/template_structure_defense_wall_tower.xml b/binaries/data/mods/public/simulation/templates/template_structure_defense_wall_tower.xml
index 92d68f6..7ad7eb8 100644
a
|
b
|
|
11 | 11 | <PrepareTime>1200</PrepareTime> |
12 | 12 | <RepeatTime>2000</RepeatTime> |
13 | 13 | <Spread>1.5</Spread> |
14 | | <PreferredClasses datatype="tokens">organic</PreferredClasses> |
| 14 | <PreferredClasses datatype="tokens">Organic</PreferredClasses> |
15 | 15 | </Ranged> |
16 | 16 | </Attack> |
17 | 17 | <BuildingAI> |
diff --git a/binaries/data/mods/public/simulation/templates/template_structure_military_fortress.xml b/binaries/data/mods/public/simulation/templates/template_structure_military_fortress.xml
index 218a012..c3e276c 100644
a
|
b
|
|
11 | 11 | <PrepareTime>1200</PrepareTime> |
12 | 12 | <RepeatTime>2000</RepeatTime> |
13 | 13 | <Spread>1.5</Spread> |
14 | | <PreferredClasses datatype="tokens">organic</PreferredClasses> |
| 14 | <PreferredClasses datatype="tokens">Organic</PreferredClasses> |
15 | 15 | </Ranged> |
16 | 16 | </Attack> |
17 | 17 | <BuildingAI> |