aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Entities
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2013-02-27 13:17:20 +0100
committerShauren <shauren.trinity@gmail.com>2013-02-27 13:17:20 +0100
commit9301e31a4e895d79c518c0002da7cedeaff5df74 (patch)
tree80f28381591f1b656ecc72d340457465ef215b26 /src/server/game/Entities
parent480c6cf4dd8965627aa7bc6e903558f2fa5c3ea6 (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')
-rwxr-xr-xsrc/server/game/Entities/Vehicle/Vehicle.cpp22
-rw-r--r--src/server/game/Entities/Vehicle/Vehicle.h6
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;