diff options
author | Aokromes <Aokromes@users.noreply.github.com> | 2017-03-23 03:58:03 +0100 |
---|---|---|
committer | Aokromes <aokromes@gmail.com> | 2017-03-23 04:12:56 +0100 |
commit | 7b7c90d4fb1542c630435470851a5b3e6e42f478 (patch) | |
tree | 06f4deb4624f3ca2685ef9765c29ba2ce57827bb /src | |
parent | f097e341f5afcac2dd0ae9dbb265201c0de2a934 (diff) |
Core/SmartAI: Implement SMART_TARGET_VEHICLE_ACCESSORY
By Malcrom
Diffstat (limited to 'src')
-rw-r--r-- | src/server/game/AI/SmartScripts/SmartScript.cpp | 8 | ||||
-rw-r--r-- | src/server/game/AI/SmartScripts/SmartScriptMgr.h | 9 |
2 files changed, 16 insertions, 1 deletions
diff --git a/src/server/game/AI/SmartScripts/SmartScript.cpp b/src/server/game/AI/SmartScripts/SmartScript.cpp index bd7088054e1..23e868864c8 100644 --- a/src/server/game/AI/SmartScripts/SmartScript.cpp +++ b/src/server/game/AI/SmartScripts/SmartScript.cpp @@ -2913,6 +2913,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 550cc496eaa..6f66f19e475 100644 --- a/src/server/game/AI/SmartScripts/SmartScriptMgr.h +++ b/src/server/game/AI/SmartScripts/SmartScriptMgr.h @@ -1156,8 +1156,10 @@ enum SMARTAI_TARGETS SMART_TARGET_CLOSEST_ENEMY = 25, // maxDist, playerOnly 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 = 28 + SMART_TARGET_END = 30 }; struct SmartTarget @@ -1261,6 +1263,11 @@ struct SmartTarget uint32 param2; uint32 param3; } raw; + + struct + { + uint32 seat; + } vehicle; }; }; |