Game/AI: Implement new targettype SMART_TARGET_CLOSEST_UNSPAWNED_GAMEOBJECT
Port From (https://github.com/TrinityCore/TrinityCore/commit/db825c3221de16cdb757711781318d76b414213f)
This commit is contained in:
@@ -513,7 +513,7 @@ namespace Game.AI
|
||||
case SmartTargets.LootRecipients:
|
||||
case SmartTargets.Farthest:
|
||||
case SmartTargets.VehiclePassenger:
|
||||
case SmartTargets.SpellTarget:
|
||||
case SmartTargets.ClosestUnspawnedGameobject:
|
||||
break;
|
||||
default:
|
||||
Log.outError(LogFilter.ScriptsAi, "SmartAIMgr: Not handled target_type({0}), Entry {1} SourceType {2} Event {3} Action {4}, skipped.", e.GetTargetType(), e.EntryOrGuid, e.GetScriptType(), e.EventId, e.GetActionType());
|
||||
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user