summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBen Boeckel <MathStuf@gmail.com>2009-02-21 22:20:10 -0500
committerBen Boeckel <MathStuf@gmail.com>2009-02-21 22:20:10 -0500
commitd8c428412b2206efee4a4fff10794841ca32bf39 (patch)
treee62eda763a9c394c7003b903c786244938715d53
parentba85cc4415a2f8c169ae6fa1aa5ab9c36bab426c (diff)
downloadsigen-d8c428412b2206efee4a4fff10794841ca32bf39.tar.gz
sigen-d8c428412b2206efee4a4fff10794841ca32bf39.tar.xz
sigen-d8c428412b2206efee4a4fff10794841ca32bf39.zip
Added initial move initialization
-rw-r--r--sigencore/TeamMember.cpp16
-rw-r--r--sigencore/TeamMember.h4
2 files changed, 14 insertions, 6 deletions
diff --git a/sigencore/TeamMember.cpp b/sigencore/TeamMember.cpp
index 4639bc09..1007adf0 100644
--- a/sigencore/TeamMember.cpp
+++ b/sigencore/TeamMember.cpp
@@ -94,7 +94,7 @@ int Sigencore::actionPriority(TeamMember* teamMember, const TeamMember::Action&
return priority;
}
-Sigencore::TeamMember::TeamMember(Sigscript::SpeciesWrapper* species, const int level, Containment* containment, const bool suppressInitialization) :
+Sigencore::TeamMember::TeamMember(Sigscript::SpeciesWrapper* species, const int level, Containment* containment, const bool isWild, const bool suppressInitialization) :
Sigscript::Config(containment),
m_sigmod(containment->sigmod()),
m_containment(containment),
@@ -113,7 +113,7 @@ Sigencore::TeamMember::TeamMember(Sigscript::SpeciesWrapper* species, const int
for (int i = 0; i < (Sigmod::ST_SpecialDefense - Sigmod::ST_Attack + 1); ++i)
m_stages[i] = 0;
if (!suppressInitialization)
- completeData();
+ completeData(isWild);
}
Sigencore::TeamMember::~TeamMember()
@@ -675,7 +675,7 @@ void Sigencore::TeamMember::exitArena()
m_arena = NULL;
}
-void Sigencore::TeamMember::completeData()
+void Sigencore::TeamMember::completeData(const bool useWild)
{
// TODO
if (!m_name.isEmpty())
@@ -716,7 +716,15 @@ void Sigencore::TeamMember::completeData()
else
++i;
}
- // TODO: Move choosing
+ QMap<int, Sigscript::MoveWrapper*> moves;
+ for (i = 0; i < m_species->moveCount(); ++i)
+ {
+ Sigscript::SpeciesMoveWrapper* move = m_species->move(i);
+ const int level = useWild ? move->wild() : move->level();
+ if ((0 <= level) && (level <= m_level))
+ moves[level] = move->move();
+ }
+ // TODO: give the moves to the creature
Sigcore::Hat<Sigscript::NatureWrapper*> natureHat = sigmod()->natureHat();
while ((m_natures.size() < m_sigmod->rules()->maxNatures()) && natureHat.count())
addNature(natureHat.takeAndClear());
diff --git a/sigencore/TeamMember.h b/sigencore/TeamMember.h
index de45a044..b31785a9 100644
--- a/sigencore/TeamMember.h
+++ b/sigencore/TeamMember.h
@@ -90,7 +90,7 @@ class SIGENCORE_EXPORT TeamMember : public Sigscript::Config
typedef QPair<int, ActionData> Action;
typedef QPair<TeamMember*, QFuture<Action> > RequestedAction;
- TeamMember(Sigscript::SpeciesWrapper* species, const int level, Containment* containment, const bool suppressInitialization = false);
+ TeamMember(Sigscript::SpeciesWrapper* species, const int level, Containment* containment, const bool isWild = false, const bool suppressInitialization = false);
virtual ~TeamMember();
Q_SCRIPTABLE QUuid id() const;
@@ -132,7 +132,7 @@ class SIGENCORE_EXPORT TeamMember : public Sigscript::Config
Q_SCRIPTABLE QList<Sigscript::StatusWrapper*> status() const;
Q_SCRIPTABLE bool hasStatus(Sigscript::StatusWrapper* status) const;
- void completeData();
+ void completeData(const bool useWild = false);
public slots:
void setName(const QString& name);
bool setGender(const Gender gender);