/* * levelGain.h * Level Gain * ____ _ * | _ \ ___ __ _| |_ __ ___ ___ * | |_) / _ \/ _` | | '_ ` _ \/ __| * | _ < __/ (_| | | | | | | \__ \ * |_| \_\___|\__,_|_|_| |_| |_|___/ * * Permission to use, modify and distribute is granted via the * Creative Commons - Attribution - Non Commercial - Share Alike 3.0 License * http://creativecommons.org/licenses/by-nc-sa/3.0/ * * Copyright (C) 2007-2012 Jason Mitchell, Randi Mitchell * Contributions by Tim Callahan, Jonathan Hseu * Based on Mordor (C) Brooke Paul, Brett J. Vickers, John P. Freeman * */ #ifndef _LEVELGAIN_H #define _LEVELGAIN_H // Class to describe what is gained at each level class LevelGain { public: LevelGain(xmlNodePtr rootNode); ~LevelGain(); std::list<SkillGain*>::const_iterator getSkillBegin(); std::list<SkillGain*>::const_iterator getSkillEnd(); bstring getStatStr(); bstring getSaveStr(); int getStat(); int getSave(); int getHp(); int getMp(); bool hasSkills(); protected: void load(xmlNodePtr rootNode); // Read in a level gain from the given node; int stat; // The stat they get this level int hp; // HP & MP gain int mp; int save; // Saving throw to go up std::list<SkillGain*> skills; // Skills they gain at this level public: }; #endif /* _LEVELGAIN_H */