- Item *Weapon() { return weapon; }
- Item *Armor() { return armor; }
- Item *Shield() { return shield; }
- Item *Helmet() { return helmet; }
- Item *Ring() { return ring; }
- Item *Jewel() { return jewel; }
-
- const Item *Weapon() const { return weapon; }
- const Item *Armor() const { return armor; }
- const Item *Shield() const { return shield; }
- const Item *Helmet() const { return helmet; }
- const Item *Ring() const { return ring; }
- const Item *Jewel() const { return jewel; }
-
- bool HasWeapon() const { return weapon; }
- bool HasArmor() const { return armor; }
- bool HasShield() const { return shield; }
- bool HasHelmet() const { return helmet; }
- bool HasRing() const { return ring; }
- bool HasJewel() const { return jewel; }
+ struct UpgradeInfo {
+ UpgradeType type;
+ int amount;
+ UpgradeInfo(UpgradeType t, int a = 0)
+ : type(t), amount(a) { }
+ };
+ void AddExperience(int, std::vector<UpgradeInfo> &);