Core/SAI: Extended SMART_TARGET_VEHICLE_PASSENGER to allow specifying seat mask instead of single seat index (can now target all passengers)

Port From (https://github.com/TrinityCore/TrinityCore/commit/172df39350391e4fa2e40515d288e7e4e6b9cc91)
This commit is contained in:
hondacrx
2021-06-22 20:55:38 -04:00
parent 1c9eeb403a
commit be2f4087b7
4 changed files with 14 additions and 7 deletions
+10 -4
View File
@@ -2901,13 +2901,19 @@ namespace Game.AI
}
break;
}
case SmartTargets.VehicleAccessory:
case SmartTargets.VehiclePassenger:
{
if (_me && _me.IsVehicle())
{
Unit target = _me.GetVehicleKit().GetPassenger((sbyte)e.Target.vehicle.seat);
if (target)
targets.Add(target);
foreach (var pair in _me.GetVehicleKit().Seats)
{
if (e.Target.vehicle.seatMask == 0 || (e.Target.vehicle.seatMask & (1 << pair.Key)) != 0)
{
Unit u = Global.ObjAccessor.GetUnit(_me, pair.Value.Passenger.Guid);
if (u != null)
targets.Add(u);
}
}
}
break;
}