: name("")
, alignment("")
+, alignmentSprite(0)
+
, maxHealth(0)
, level(1)
, classes(0)
, numClasses(0)
-, curClass(0)
+, curClass(-1)
, maxClass(0) {
}
+const char *Capsule::ClassName() const {
+ return GetClass().name;
+}
+
+const char *Capsule::Tribe() const {
+ return GetClass().tribe;
+}
+
+const Spell *Capsule::Attack1() const {
+ return GetClass().attacks[0];
+}
+
+const Spell *Capsule::Attack2() const {
+ return GetClass().attacks[1];
+}
+
+const Spell *Capsule::Attack3() const {
+ return GetClass().attacks[2];
+}
+
+
Uint16 Capsule::MaxHealth() const {
return maxHealth + GetClass().healthBoost;
}
-Stats Capsule::GetStats() {
+Stats Capsule::GetStats() const {
return stats + GetClass().statBoost;
}
}
}
+void Capsule::UpgradeClass() {
+ ++maxClass;
+ ++curClass;
+}
+
Sprite *Capsule::BattleSprite() {
return GetClass().battleSprite;
td.AddField("name", FieldDescription(((char *)&c.name) - ((char *)&c), Interpreter::STRING_ID).SetReferenced());
td.AddField("alignment", FieldDescription(((char *)&c.alignment) - ((char *)&c), Interpreter::STRING_ID).SetReferenced());
+ td.AddField("alignmentCursor", FieldDescription(((char *)&c.alignmentCursor) - ((char *)&c), Interpreter::VECTOR_ID));
+ td.AddField("alignmentSprite", FieldDescription(((char *)&c.alignmentSprite) - ((char *)&c), Sprite::TYPE_ID).SetReferenced());
+
td.AddField("maxHealth", FieldDescription(((char *)&c.maxHealth) - ((char *)&c), Interpreter::NUMBER_ID));
td.AddField("stats", FieldDescription(((char *)&c.stats) - ((char *)&c), Stats::TYPE_ID));