Changeset View
Changeset View
Standalone View
Standalone View
ps/trunk/binaries/data/mods/public/simulation/components/UnitAI.js
Show First 20 Lines • Show All 3,575 Lines • ▼ Show 20 Lines | UnitAI.prototype.SetupRangeQuery = function(enable = true) | ||||
var cmpPlayer = QueryOwnerInterface(this.entity); | var cmpPlayer = QueryOwnerInterface(this.entity); | ||||
// If we are being destructed (owner -1), creating a range query is pointless | // If we are being destructed (owner -1), creating a range query is pointless | ||||
if (!cmpPlayer) | if (!cmpPlayer) | ||||
return; | return; | ||||
// Exclude allies, and self | // Exclude allies, and self | ||||
// TODO: How to handle neutral players - Special query to attack military only? | // TODO: How to handle neutral players - Special query to attack military only? | ||||
var players = cmpPlayer.GetEnemies(); | let players = cmpPlayer.GetEnemies(); | ||||
if (!players.length) | |||||
return; | |||||
var range = this.GetQueryRange(IID_Attack); | var range = this.GetQueryRange(IID_Attack); | ||||
this.losRangeQuery = cmpRangeManager.CreateActiveQuery(this.entity, range.min, range.max, players, IID_Resistance, cmpRangeManager.GetEntityFlagMask("normal")); | this.losRangeQuery = cmpRangeManager.CreateActiveQuery(this.entity, range.min, range.max, players, IID_Resistance, cmpRangeManager.GetEntityFlagMask("normal")); | ||||
if (enable) | if (enable) | ||||
cmpRangeManager.EnableActiveQuery(this.losRangeQuery); | cmpRangeManager.EnableActiveQuery(this.losRangeQuery); | ||||
}; | }; | ||||
▲ Show 20 Lines • Show All 2,657 Lines • Show Last 20 Lines |
Wildfire Games · Phabricator