summaryrefslogtreecommitdiffstats
path: root/sigencore
diff options
context:
space:
mode:
authorBen Boeckel <MathStuf@gmail.com>2009-03-28 02:05:19 -0400
committerBen Boeckel <MathStuf@gmail.com>2009-03-28 02:05:19 -0400
commit0999f6368c95a1fe4e8c644b63580840387e4335 (patch)
treee1dce50ea80b76e808c6ad2f65eb9cf3379a5b2d /sigencore
parentd94b36ae1953bc0d94df6ea1d3bde2f3f94e376b (diff)
downloadsigen-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')
-rw-r--r--sigencore/Player.cpp8
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()