aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/server/game/AI/SmartScripts/SmartScript.cpp8
-rw-r--r--src/server/game/AI/SmartScripts/SmartScriptMgr.h9
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;
};
};