aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Entities/Vehicle
diff options
context:
space:
mode:
authorjackpoz <giacomopoz@gmail.com>2021-06-05 18:41:51 +0200
committerjackpoz <giacomopoz@gmail.com>2021-06-05 18:41:51 +0200
commitaf815e991d3dc407846fcd05000b4e356d7336ed (patch)
tree7455970abb2cdab5898228603b6f779d174c285b /src/server/game/Entities/Vehicle
parent105c70802ded53b49621a92ee8fa136e57d0c717 (diff)
Core/Player: Log more information when Player::StopCastingCharm() fails
Diffstat (limited to 'src/server/game/Entities/Vehicle')
-rwxr-xr-xsrc/server/game/Entities/Vehicle/Vehicle.cpp27
-rw-r--r--src/server/game/Entities/Vehicle/Vehicle.h2
2 files changed, 29 insertions, 0 deletions
diff --git a/src/server/game/Entities/Vehicle/Vehicle.cpp b/src/server/game/Entities/Vehicle/Vehicle.cpp
index 7857aa07723..ba9b8ebff4f 100755
--- a/src/server/game/Entities/Vehicle/Vehicle.cpp
+++ b/src/server/game/Entities/Vehicle/Vehicle.cpp
@@ -960,3 +960,30 @@ Milliseconds Vehicle::GetDespawnDelay()
return 1ms;
}
+
+std::string Vehicle::GetDebugInfo() const
+{
+ std::stringstream sstr;
+ sstr << "Vehicle seats:\n";
+ for (SeatMap::const_iterator itr = Seats.begin(); itr != Seats.end(); itr++)
+ {
+ sstr << "seat " << std::to_string(itr->first) << ": " << (itr->second.IsEmpty() ? "empty" : itr->second.Passenger.Guid.ToString()) << "\n";
+ }
+
+ sstr << "Vehicle pending events:";
+
+ if (_pendingJoinEvents.empty())
+ {
+ sstr << " none";
+ }
+ else
+ {
+ sstr << "\n";
+ for (PendingJoinEventContainer::const_iterator itr = _pendingJoinEvents.begin(); itr != _pendingJoinEvents.end(); ++itr)
+ {
+ sstr << "seat " << std::to_string((*itr)->Seat->first) << ": " << (*itr)->Passenger->GetGUID().ToString() << "\n";
+ }
+ }
+
+ return sstr.str();
+}
diff --git a/src/server/game/Entities/Vehicle/Vehicle.h b/src/server/game/Entities/Vehicle/Vehicle.h
index 26635e81c6f..b9988c6f049 100644
--- a/src/server/game/Entities/Vehicle/Vehicle.h
+++ b/src/server/game/Entities/Vehicle/Vehicle.h
@@ -74,6 +74,8 @@ class TC_GAME_API Vehicle : public TransportBase
Milliseconds GetDespawnDelay();
+ std::string GetDebugInfo() const;
+
protected:
friend class VehicleJoinEvent;
uint32 UsableSeatNum; ///< Number of seats that match VehicleSeatEntry::UsableByPlayer, used for proper display flags