diff options
| author | Ben Boeckel <MathStuf@gmail.com> | 2009-02-21 18:32:12 -0500 |
|---|---|---|
| committer | Ben Boeckel <MathStuf@gmail.com> | 2009-02-21 18:32:12 -0500 |
| commit | ba85cc4415a2f8c169ae6fa1aa5ab9c36bab426c (patch) | |
| tree | 04e406480c4b6c1a143f694b761edb63f51b3703 /sigencore/TeamMember.cpp | |
| parent | 6867a3d1e63909756b9c6935b5d2d6480fafa42f (diff) | |
| download | sigen-ba85cc4415a2f8c169ae6fa1aa5ab9c36bab426c.tar.gz sigen-ba85cc4415a2f8c169ae6fa1aa5ab9c36bab426c.tar.xz sigen-ba85cc4415a2f8c169ae6fa1aa5ab9c36bab426c.zip | |
Moved item initialization to completeData()
Diffstat (limited to 'sigencore/TeamMember.cpp')
| -rw-r--r-- | sigencore/TeamMember.cpp | 30 |
1 files changed, 15 insertions, 15 deletions
diff --git a/sigencore/TeamMember.cpp b/sigencore/TeamMember.cpp index e218ab9e..4639bc09 100644 --- a/sigencore/TeamMember.cpp +++ b/sigencore/TeamMember.cpp @@ -701,7 +701,21 @@ void Sigencore::TeamMember::completeData() Sigcore::Hat<Sigscript::AbilityWrapper*> abilityHat = m_species->abilityHat(); while ((m_abilities.size() < sigmod()->rules()->maxAbilities()) && abilityHat.count()) addAbility(abilityHat.takeAndClear()); - // TODO: Item choosing + Sigcore::Hat<Sigscript::ItemWrapper*> itemHat = m_species->itemHat(); + int i = 0; + while ((i < m_sigmod->rules()->maxHeldItems()) && itemHat.count()) + { + if (m_species->itemChance().poll()) + { + Sigscript::ItemWrapper* item = itemHat.pick(); + if (addItems(item, 1)) + ++i; + else + itemHat.setCount(item, 0); + } + else + ++i; + } // TODO: Move choosing Sigcore::Hat<Sigscript::NatureWrapper*> natureHat = sigmod()->natureHat(); while ((m_natures.size() < m_sigmod->rules()->maxNatures()) && natureHat.count()) @@ -719,17 +733,3 @@ void Sigencore::TeamMember::makeConnections() connect(this, SIGNAL(statExperienceChanged(Sigmod::Stat, long long)), SLOT(recalcStat(Sigmod::Stat))); connect(this, SIGNAL(statStageChanged(Sigmod::Stat, int)), SLOT(recalcStat(Sigmod::Stat))); } - -void Sigencore::TeamMember::initItems() -{ - Sigcore::Hat<Sigscript::ItemWrapper*> hat = m_species->itemHat(); - for (int i = 0; i < sigmod()->rules()->maxHeldItems(); ++i) - { - if (m_species->itemChance().poll()) - { - Sigscript::ItemWrapper* item = hat.pick(); - if (checkWeight(item)) - m_items.append(item); - } - } -} |
