Game/AI: Implement new targettype SMART_TARGET_CLOSEST_UNSPAWNED_GAMEOBJECT

Port From (https://github.com/TrinityCore/TrinityCore/commit/db825c3221de16cdb757711781318d76b414213f)
This commit is contained in:
hondacrx
2022-02-18 13:35:32 -05:00
parent ed5648d8ac
commit 8126e7c6e1
6 changed files with 50 additions and 8 deletions
+9 -1
View File
@@ -2006,7 +2006,8 @@ namespace Game.AI
e.GetTargetType() == SmartTargets.GameobjectGuid || e.GetTargetType() == SmartTargets.GameobjectDistance ||
e.GetTargetType() == SmartTargets.ClosestCreature || e.GetTargetType() == SmartTargets.ClosestGameobject ||
e.GetTargetType() == SmartTargets.OwnerOrSummoner || e.GetTargetType() == SmartTargets.ActionInvoker ||
e.GetTargetType() == SmartTargets.ClosestEnemy || e.GetTargetType() == SmartTargets.ClosestFriendly)
e.GetTargetType() == SmartTargets.ClosestEnemy || e.GetTargetType() == SmartTargets.ClosestFriendly ||
e.GetTargetType() == SmartTargets.ClosestUnspawnedGameobject)
{
target.ToCreature().SetHomePosition(target.GetPositionX(), target.GetPositionY(), target.GetPositionZ(), target.GetOrientation());
}
@@ -3089,6 +3090,13 @@ namespace Game.AI
}
break;
}
case SmartTargets.ClosestUnspawnedGameobject:
{
GameObject target = baseObject.FindNearestUnspawnedGameObject(e.Target.closest.entry, (float)(e.Target.closest.dist != 0 ? e.Target.closest.dist : 100));
if (target != null)
targets.Add(target);
break;
}
case SmartTargets.Position:
default:
break;