diff options
Diffstat (limited to 'src/game/Transports.cpp')
-rw-r--r-- | src/game/Transports.cpp | 14 |
1 files changed, 2 insertions, 12 deletions
diff --git a/src/game/Transports.cpp b/src/game/Transports.cpp index c8f89b337bc..1d412863c67 100644 --- a/src/game/Transports.cpp +++ b/src/game/Transports.cpp @@ -445,16 +445,9 @@ void Transport::TeleportTransport(uint32 newMapid, float x, float y, float z) for(PlayerSet::iterator itr = m_passengers.begin(); itr != m_passengers.end();) { - PlayerSet::iterator it2 = itr; + Player *plr = *itr; ++itr; - Player *plr = *it2; - if(!plr) - { - m_passengers.erase(it2); - continue; - } - if (plr->isDead() && !plr->HasFlag(PLAYER_FLAGS, PLAYER_FLAGS_GHOST)) { plr->ResurrectPlayer(1.0); @@ -477,11 +470,8 @@ void Transport::TeleportTransport(uint32 newMapid, float x, float y, float z) bool Transport::AddPassenger(Player* passenger) { - if (m_passengers.find(passenger) == m_passengers.end()) - { + if(m_passengers.insert(passenger).second) sLog.outDetail("Player %s boarded transport %s.", passenger->GetName(), GetName()); - m_passengers.insert(passenger); - } return true; } |