diff options
author | Ben Boeckel <MathStuf@gmail.com> | 2009-03-28 02:05:19 -0400 |
---|---|---|
committer | Ben Boeckel <MathStuf@gmail.com> | 2009-03-28 02:05:19 -0400 |
commit | 0999f6368c95a1fe4e8c644b63580840387e4335 (patch) | |
tree | e1dce50ea80b76e808c6ad2f65eb9cf3379a5b2d /sigencore/Player.cpp | |
parent | d94b36ae1953bc0d94df6ea1d3bde2f3f94e376b (diff) | |
download | sigen-0999f6368c95a1fe4e8c644b63580840387e4335.tar.gz sigen-0999f6368c95a1fe4e8c644b63580840387e4335.tar.xz sigen-0999f6368c95a1fe4e8c644b63580840387e4335.zip |
Cleanup the active list if the client code fails to enter the arena
Diffstat (limited to 'sigencore/Player.cpp')
-rw-r--r-- | sigencore/Player.cpp | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/sigencore/Player.cpp b/sigencore/Player.cpp index ebd9c7b4..a5113ab9 100644 --- a/sigencore/Player.cpp +++ b/sigencore/Player.cpp @@ -63,7 +63,13 @@ bool Player::enterArena(Arena* arena) member->makeActive(arena); } } - return (m_active.size() && Client::enterArena(arena)); + if (m_active.size() && !Client::enterArena(arena)) + { + foreach (TeamMember* member, m_active) + member->exitArena(); + m_active.clear(); + } + return m_active.size(); } void Player::exitArena() |