From 986d830ae7b4b44c24e592209c1c31b2616c516d Mon Sep 17 00:00:00 2001 From: Aokromes Date: Thu, 23 Mar 2017 03:58:03 +0100 Subject: Core/SmartAI: Implement SMART_TARGET_VEHICLE_ACCESSORY By Malcrom --- src/server/game/AI/SmartScripts/SmartScript.cpp | 8 ++++++++ src/server/game/AI/SmartScripts/SmartScriptMgr.h | 8 +++++++- 2 files changed, 15 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/server/game/AI/SmartScripts/SmartScript.cpp b/src/server/game/AI/SmartScripts/SmartScript.cpp index 20ad2721b67..f4efd3e525b 100644 --- a/src/server/game/AI/SmartScripts/SmartScript.cpp +++ b/src/server/game/AI/SmartScripts/SmartScript.cpp @@ -3080,6 +3080,14 @@ ObjectList* SmartScript::GetTargets(SmartScriptHolder const& e, Unit* invoker /* } } } + case SMART_TARGET_VEHICLE_ACCESSORY: + { + if (me && me->IsVehicle()) + { + if (Unit* target = me->GetVehicleKit()->GetPassenger(e.target.vehicle.seat)) + l->push_back(target); + } + } case SMART_TARGET_POSITION: case SMART_TARGET_NONE: default: diff --git a/src/server/game/AI/SmartScripts/SmartScriptMgr.h b/src/server/game/AI/SmartScripts/SmartScriptMgr.h index 7a082bb472b..2b8192e2965 100644 --- a/src/server/game/AI/SmartScripts/SmartScriptMgr.h +++ b/src/server/game/AI/SmartScripts/SmartScriptMgr.h @@ -1195,8 +1195,9 @@ enum SMARTAI_TARGETS SMART_TARGET_CLOSEST_FRIENDLY = 26, // maxDist, playerOnly SMART_TARGET_LOOT_RECIPIENTS = 27, // all players that have tagged this creature (for kill credit) SMART_TARGET_FARTHEST = 28, // maxDist, playerOnly, isInLos + SMART_TARGET_VEHICLE_ACCESSORY = 29, // seat number (vehicle can target it's own accessory) - SMART_TARGET_END = 29 + SMART_TARGET_END = 30 }; struct SmartTarget @@ -1319,6 +1320,11 @@ struct SmartTarget uint32 param2; uint32 param3; } raw; + + struct + { + uint32 seat; + } vehicle; }; }; -- cgit v1.2.3