diff options
Diffstat (limited to 'src/game/base/weapon.h')
-rw-r--r-- | src/game/base/weapon.h | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/src/game/base/weapon.h b/src/game/base/weapon.h new file mode 100644 index 0000000..4e99493 --- /dev/null +++ b/src/game/base/weapon.h @@ -0,0 +1,52 @@ +/* + base/weapon.h + This file is part of the Osirion project and is distributed under + the terms and conditions of the GNU General Public License version 2 +*/ + +#ifndef __INCLUDED_BASE_WEAPON_H__ +#define __INCLUDED_BASE_WEAPON_H__ + +#include "core/info.h" + +namespace game +{ +class Weapon : public core::Info { + +public: + Weapon(); + ~Weapon(); + + inline int level() const { + return weapon_level; + } + + inline void set_level(const int level) { + weapon_level = level; + } + + + + /* --- static registry functions ---------------------------------- */ + + static Weapon *find(const std::string & label); + + static bool init(); + + static void done(); + + static void list(); + + static inline const core::InfoType *infotype() { + return weapon_infotype; + } + +private: + static core::InfoType *weapon_infotype; + + int weapon_level; +}; + +} // namespace game + +#endif // __INCLUDED_BASE_WEAPON_H__ |