36 char _strDescription[64];
37 laPropertyList* _pTSE;
39 unsigned _nLevelPererequisite;
41 std::vector<rpgSheet_PlayableChar_Mods> _vUpgradeLevels;
44 unsigned _nUpgradeLevel;
56 return _strDescription;
59 inline unsigned prerequisite(){
60 return _nLevelPererequisite;
63 inline laPropertyList* getTSEement(){
69 inline M_BOOL isLearnt(){
79 inline void upgrade(){
80 ASSERT( (!isLearnt()) || (_nUpgradeLevel + 1 < _vUpgradeLevels.size()),
81 "Upgrade level %d not defined", _nUpgradeLevel+1);
83 if(!isLearnt()) learn();
84 else _nUpgradeLevel++;
87 inline rpgSheet_PlayableChar_Mods* getUpgrade(
unsigned nLevel){
88 ASSERT(nLevel < _vUpgradeLevels.size(),
89 "Upgrade level %d not defined", _nUpgradeLevel+1);
90 return &(_vUpgradeLevels[nLevel]);
93 inline rpgSheet_PlayableChar_Mods* getCurrentUpgrade(){
94 return getUpgrade(_nUpgradeLevel);
97 inline unsigned getCurrentIndex(){
98 return _nUpgradeLevel;
101 inline unsigned getUpgradeCount(){
102 return _vUpgradeLevels.size();
106 virtual void load(
class laPropertyList* pElement);
116 class rpgSkillsInventory{
118 std::vector<rpgSkill> _vSkills;
123 inline rpgSkill* skill(
unsigned n)
125 ASSERT( n < _vSkills.size(),
"Undefined skill %d.", n);
126 return &(_vSkills[n]);
129 inline unsigned size(){
130 return _vSkills.size();
134 virtual void load(
class laPropertyList* pElement);