diff options
| author | Ben Boeckel <MathStuf@gmail.com> | 2009-02-21 22:20:10 -0500 |
|---|---|---|
| committer | Ben Boeckel <MathStuf@gmail.com> | 2009-02-21 22:20:10 -0500 |
| commit | d8c428412b2206efee4a4fff10794841ca32bf39 (patch) | |
| tree | e62eda763a9c394c7003b903c786244938715d53 | |
| parent | ba85cc4415a2f8c169ae6fa1aa5ab9c36bab426c (diff) | |
| download | sigen-d8c428412b2206efee4a4fff10794841ca32bf39.tar.gz sigen-d8c428412b2206efee4a4fff10794841ca32bf39.tar.xz sigen-d8c428412b2206efee4a4fff10794841ca32bf39.zip | |
Added initial move initialization
| -rw-r--r-- | sigencore/TeamMember.cpp | 16 | ||||
| -rw-r--r-- | sigencore/TeamMember.h | 4 |
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); |
