Changeset View
Changeset View
Standalone View
Standalone View
binaries/data/mods/public/simulation/components/AlertRaiser.js
Show First 20 Lines • Show All 57 Lines • ▼ Show 20 Lines | let holder = cmpRangeManager.ExecuteQuery(unit, 0, +this.template.SearchRange, mutualAllies, IID_GarrisonHolder).find(ent => { | ||||
if (+this.template.EndOfAlertRange > 0 && DistanceBetweenEntities(this.entity, ent) > +this.template.EndOfAlertRange) | if (+this.template.EndOfAlertRange > 0 && DistanceBetweenEntities(this.entity, ent) > +this.template.EndOfAlertRange) | ||||
return false; | return false; | ||||
if (!cmpUnitAI.CheckTargetVisible(ent)) | if (!cmpUnitAI.CheckTargetVisible(ent)) | ||||
return false; | return false; | ||||
let cmpGarrisonHolder = Engine.QueryInterface(ent, IID_GarrisonHolder); | let cmpGarrisonHolder = Engine.QueryInterface(ent, IID_GarrisonHolder); | ||||
if (!reserved.has(ent)) | if (!reserved.has(ent)) | ||||
reserved.set(ent, cmpGarrisonHolder.GetCapacity() - cmpGarrisonHolder.GetGarrisonedEntitiesCount()); | reserved.set(ent, cmpGarrisonHolder.GetCapacity() - cmpGarrisonHolder.GetGarrisonedSlots()); | ||||
return cmpGarrisonHolder.IsAllowedToGarrison(unit) && reserved.get(ent); | return cmpGarrisonHolder.IsAllowedToGarrison(unit) && reserved.get(ent); | ||||
}); | }); | ||||
if (holder) | if (holder) | ||||
{ | { | ||||
reserved.set(holder, reserved.get(holder) - 1); | reserved.set(holder, reserved.get(holder) - 1); | ||||
cmpUnitAI.ReplaceOrder("Garrison", { "target": holder, "force": true }); | cmpUnitAI.ReplaceOrder("Garrison", { "target": holder, "force": true }); | ||||
▲ Show 20 Lines • Show All 67 Lines • Show Last 20 Lines |
Wildfire Games · Phabricator