summaryrefslogtreecommitdiff
path: root/src/serverobject.h
diff options
context:
space:
mode:
authorPerttu Ahola <celeron55@gmail.com>2011-04-21 19:35:17 +0300
committerPerttu Ahola <celeron55@gmail.com>2011-04-21 19:35:17 +0300
commitc638442e78b953556e7dadd4c0c34cb0c719bbc8 (patch)
treea7c623944ba26d64c4fbf3218025d8ec0145d849 /src/serverobject.h
parent3c61d57f6d7f627b32b4a8c2f461a8e01e7ac378 (diff)
downloadminetest-c638442e78b953556e7dadd4c0c34cb0c719bbc8.tar.gz
minetest-c638442e78b953556e7dadd4c0c34cb0c719bbc8.tar.bz2
minetest-c638442e78b953556e7dadd4c0c34cb0c719bbc8.zip
Some work-in-progress in hp and mobs and a frightening amount of random fixes.
Diffstat (limited to 'src/serverobject.h')
-rw-r--r--src/serverobject.h34
1 files changed, 34 insertions, 0 deletions
diff --git a/src/serverobject.h b/src/serverobject.h
index 2889d0c39..71199475e 100644
--- a/src/serverobject.h
+++ b/src/serverobject.h
@@ -100,6 +100,12 @@ public:
*/
virtual InventoryItem* createPickedUpItem(){return NULL;}
+ /*
+ If the object doesn't return an item, this will be called.
+ Return value is tool wear.
+ */
+ virtual u16 punch(const std::string &toolname){return 0;}
+
// Number of players which know about this object
u16 m_known_by_count;
/*
@@ -201,5 +207,33 @@ private:
bool m_touching_ground;
};
+class Oerkki1SAO : public ServerActiveObject
+{
+public:
+ Oerkki1SAO(ServerEnvironment *env, u16 id, v3f pos);
+ u8 getType() const
+ {return ACTIVEOBJECT_TYPE_OERKKI1;}
+ static ServerActiveObject* create(ServerEnvironment *env, u16 id, v3f pos,
+ const std::string &data);
+ void step(float dtime, Queue<ActiveObjectMessage> &messages,
+ bool send_recommended);
+ std::string getClientInitializationData();
+ std::string getStaticData();
+ InventoryItem* createPickedUpItem(){return NULL;}
+ u16 punch(const std::string &toolname);
+private:
+ bool m_is_active;
+ IntervalLimiter m_inactive_interval;
+ v3f m_speed_f;
+ v3f m_oldpos;
+ v3f m_last_sent_position;
+ float m_yaw;
+ float m_counter1;
+ float m_counter2;
+ float m_age;
+ bool m_touching_ground;
+ u8 m_hp;
+};
+
#endif