diff options
Diffstat (limited to 'sigencore/Creature.cpp')
| -rw-r--r-- | sigencore/Creature.cpp | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/sigencore/Creature.cpp b/sigencore/Creature.cpp index db2950b6..11affb49 100644 --- a/sigencore/Creature.cpp +++ b/sigencore/Creature.cpp @@ -610,6 +610,21 @@ void Sigencore::Creature::completeData() emit(initialized()); } +void Sigencore::Creature::completeStats() +{ + if (m_sigmod->rules()->specialSplit() && m_sigmod->rules()->specialDVSplit()) + { + for (int i = Sigmod::ST_HP; i <= Sigmod::ST_SpecialDefense; ++i) + m_dv[i] = qrand() & 31; + } + else + { + for (int i = Sigmod::ST_Attack; i <= Sigmod::ST_Special; ++i) + m_dv[i] = qrand() & 15; + m_dv[Sigmod::ST_HP] = ((m_dv[Sigmod::ST_Attack] & 1) << 3) + ((m_dv[Sigmod::ST_Defense] & 1) << 2) + ((m_dv[Sigmod::ST_Speed] & 1) << 1) + (m_dv[Sigmod::ST_Special] & 1); + } +} + void Sigencore::Creature::completeAbilities() { Sigcore::Hat<Sigscript::AbilityWrapper*> abilityHat = m_species->abilityHat(); |
