Differential D2150 Diff 17818 ps/trunk/binaries/data/mods/public/simulation/ai/petra/garrisonManager.js
Changeset View
Changeset View
Standalone View
Standalone View
ps/trunk/binaries/data/mods/public/simulation/ai/petra/garrisonManager.js
Show First 20 Lines • Show All 288 Lines • ▼ Show 20 Lines | PETRA.GarrisonManager.prototype.keepGarrisoned = function(ent, holder, around) | ||||
case 'trade': // trader garrisoned in ship | case 'trade': // trader garrisoned in ship | ||||
return true; | return true; | ||||
case 'protection': // hurt unit for healing or infantry for defense | case 'protection': // hurt unit for healing or infantry for defense | ||||
if (holder.buffHeal() && ent.isHealable() && ent.healthLevel() < this.Config.garrisonHealthLevel.high) | if (holder.buffHeal() && ent.isHealable() && ent.healthLevel() < this.Config.garrisonHealthLevel.high) | ||||
return true; | return true; | ||||
let capture = ent.capturePoints(); | let capture = ent.capturePoints(); | ||||
if (capture && capture[PlayerID] / capture.reduce((a, b) => a + b) < 0.8) | if (capture && capture[PlayerID] / capture.reduce((a, b) => a + b) < 0.8) | ||||
return true; | return true; | ||||
if (MatchesClassList(ent.classes(), holder.getGarrisonArrowClasses())) | if (ent.hasClasses(holder.getGarrisonArrowClasses())) | ||||
{ | { | ||||
if (around.unit || around.defenseStructure) | if (around.unit || around.defenseStructure) | ||||
return true; | return true; | ||||
if (around.meleeSiege || around.rangeSiege) | if (around.meleeSiege || around.rangeSiege) | ||||
return ent.attackTypes().indexOf("Melee") === -1 || ent.healthLevel() < this.Config.garrisonHealthLevel.low; | return ent.attackTypes().indexOf("Melee") === -1 || ent.healthLevel() < this.Config.garrisonHealthLevel.low; | ||||
return false; | return false; | ||||
} | } | ||||
if (ent.attackTypes() && ent.attackTypes().indexOf("Melee") !== -1) | if (ent.attackTypes() && ent.attackTypes().indexOf("Melee") !== -1) | ||||
▲ Show 20 Lines • Show All 71 Lines • Show Last 20 Lines |
Wildfire Games · Phabricator