Project::OSiRiON - Git repositories
Project::OSiRiON
News . About . Screenshots . Downloads . Forum . Wiki . Tracker . Git
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStijn Buys <ingar@osirion.org>2012-10-13 12:13:04 +0000
committerStijn Buys <ingar@osirion.org>2012-10-13 12:13:04 +0000
commit3b8ea0849fac5532d61a90608bda876cf518ba1b (patch)
treedb7f34c22e746cfdc04574e0054c324c53838122 /src/game/base/weapon.h
parent0d58c4f8ab1d174c808c77bf94342c91f6e0c443 (diff)
Read weapons.ini.
Diffstat (limited to 'src/game/base/weapon.h')
-rw-r--r--src/game/base/weapon.h52
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__