diff options
| author | Shauren <shauren.trinity@gmail.com> | 2013-02-27 13:17:20 +0100 |
|---|---|---|
| committer | Shauren <shauren.trinity@gmail.com> | 2013-02-27 13:17:20 +0100 |
| commit | 9301e31a4e895d79c518c0002da7cedeaff5df74 (patch) | |
| tree | 80f28381591f1b656ecc72d340457465ef215b26 /src/server/game/Entities/Vehicle | |
| parent | 480c6cf4dd8965627aa7bc6e903558f2fa5c3ea6 (diff) | |
Core/Spells: Allow free casting of player's own spells on vehicle seats with flag VEHICLE_SEAT_FLAG_CAN_ATTACK
Diffstat (limited to 'src/server/game/Entities/Vehicle')
| -rwxr-xr-x | src/server/game/Entities/Vehicle/Vehicle.cpp | 22 | ||||
| -rw-r--r-- | src/server/game/Entities/Vehicle/Vehicle.h | 6 |
2 files changed, 24 insertions, 4 deletions
diff --git a/src/server/game/Entities/Vehicle/Vehicle.cpp b/src/server/game/Entities/Vehicle/Vehicle.cpp index f3844d96069..bfffc84671f 100755 --- a/src/server/game/Entities/Vehicle/Vehicle.cpp +++ b/src/server/game/Entities/Vehicle/Vehicle.cpp @@ -576,6 +576,26 @@ void Vehicle::Dismiss() } /** + * @fn bool Vehicle::IsVehicleInUse() const + * + * @brief Returns information whether the vehicle is currently used by any unit + * + * @author Shauren + * @date 26-2-2013 + * + * @return true if any passenger is boarded on vehicle, false otherwise. + */ + +bool Vehicle::IsVehicleInUse() const +{ + for (SeatMap::const_iterator itr = Seats.begin(); itr != Seats.end(); ++itr) + if (itr->second.Passenger) + return true; + + return false; +} + +/** * @fn void Vehicle::InitMovementInfoForBase() * * @brief Sets correct MovementFlags2 based on VehicleFlags from DBC. @@ -613,7 +633,7 @@ void Vehicle::InitMovementInfoForBase() * @return null if passenger not found on vehicle, else the DBC record for the seat. */ -VehicleSeatEntry const* Vehicle::GetSeatForPassenger(Unit* passenger) +VehicleSeatEntry const* Vehicle::GetSeatForPassenger(Unit const* passenger) { SeatMap::iterator itr; for (itr = Seats.begin(); itr != Seats.end(); ++itr) diff --git a/src/server/game/Entities/Vehicle/Vehicle.h b/src/server/game/Entities/Vehicle/Vehicle.h index 8b67b82cfa3..f9bf3c21ef4 100644 --- a/src/server/game/Entities/Vehicle/Vehicle.h +++ b/src/server/game/Entities/Vehicle/Vehicle.h @@ -63,14 +63,14 @@ class Vehicle : public TransportBase void RelocatePassengers(); void RemoveAllPassengers(); void Dismiss(); - bool IsVehicleInUse() { return Seats.begin() != Seats.end(); } + bool IsVehicleInUse() const; void SetLastShootPos(Position const& pos) { _lastShootPos.Relocate(pos); } - Position GetLastShootPos() { return _lastShootPos; } + Position const& GetLastShootPos() const { return _lastShootPos; } SeatMap Seats; ///< The collection of all seats on the vehicle. Including vacant ones. - VehicleSeatEntry const* GetSeatForPassenger(Unit* passenger); + VehicleSeatEntry const* GetSeatForPassenger(Unit const* passenger); protected: friend class VehicleJoinEvent; |
