summaryrefslogtreecommitdiffstats
path: root/sigbattle/Player.cpp
diff options
context:
space:
mode:
authorBen Boeckel <MathStuf@gmail.com>2008-09-07 00:43:01 +0000
committerBen Boeckel <MathStuf@gmail.com>2008-09-07 00:43:01 +0000
commitfef5e045060aff28477751c4115d346a95425c0c (patch)
treebd17a801439274c13f3afbd50cbe7cf83b73ccc2 /sigbattle/Player.cpp
parent0b4b89cf8efdc15e5a8d4b6cb24a5c8a025227d9 (diff)
[FIX] Fixed some things in the ATBTimer
[FIX] Fleshed out some methods git-svn-id: https://pokegen.svn.sourceforge.net/svnroot/pokegen/trunk@251 6ecfd1a5-f3ed-3746-8530-beee90d26b22
Diffstat (limited to 'sigbattle/Player.cpp')
-rw-r--r--sigbattle/Player.cpp22
1 files changed, 18 insertions, 4 deletions
diff --git a/sigbattle/Player.cpp b/sigbattle/Player.cpp
index 20737775..48ca5b24 100644
--- a/sigbattle/Player.cpp
+++ b/sigbattle/Player.cpp
@@ -18,6 +18,10 @@
// Header include
#include "Player.h"
+// Sigmod includes
+#include "../sigscript/RulesWrapper.h"
+#include "../sigscript/SigmodWrapper.h"
+
Sigbattle::Player::Player(QObject* parent) :
Team(parent),
m_arena(NULL)
@@ -26,16 +30,26 @@ Sigbattle::Player::Player(QObject* parent) :
void Sigbattle::Player::enterArena(Arena* arena)
{
- // TODO: Get a list of the active members
- // TODO: Let them know that they are active
+ QList<TeamMember*> activeMembers = active();
+ foreach (TeamMember* member, activeMembers)
+ member->makeActive(arena);
}
QList<Sigbattle::TeamMember*> Sigbattle::Player::active()
{
- // TODO: return active members
+ // TODO: There are edge cases not considered here
+ QList<TeamMember*> activeMembers;
+ for (int i = 0; (i < sigmod()->rules()->maxFight()) && (i < m_members.size()); ++i)
+ {
+ if (m_members[i]->currentHp())
+ activeMembers.append(m_members[i]);
+ }
+ return activeMembers;
}
void Sigbattle::Player::exitArena()
{
- // TODO: Tell all active members that they can leave now
+ QList<TeamMember*> activeMembers = active();
+ foreach (TeamMember* member, activeMembers)
+ member->leaveArena();
}