1
0
forked from 0ad/0ad

Added IsInWorld check to attack code. Refs #1496

This was SVN commit r11967.
This commit is contained in:
Jonathan Waller 2012-06-12 12:13:24 +00:00
parent f944649153
commit 4ddd2a7fb1

View File

@ -501,11 +501,11 @@ Attack.prototype.TargetKilled = function(killerEntity, targetEntity)
Attack.prototype.InterpolatedLocation = function(ent, lateness)
{
var targetPositionCmp = Engine.QueryInterface(ent, IID_Position);
if (!targetPositionCmp) // TODO: handle dead target properly
var cmpTargetPosition = Engine.QueryInterface(ent, IID_Position);
if (!cmpTargetPosition || !cmpTargetPosition.IsInWorld()) // TODO: handle dead target properly
return undefined;
var curPos = targetPositionCmp.GetPosition();
var prevPos = targetPositionCmp.GetPreviousPosition();
var curPos = cmpTargetPosition.GetPosition();
var prevPos = cmpTargetPosition.GetPreviousPosition();
lateness /= 1000;
return {"x": (curPos.x * (this.turnLength - lateness) + prevPos.x * lateness) / this.turnLength,
"z": (curPos.z * (this.turnLength - lateness) + prevPos.z * lateness) / this.turnLength};