summaryrefslogtreecommitdiff
path: root/src/content_sao.h
diff options
context:
space:
mode:
authorPerttu Ahola <celeron55@gmail.com>2011-10-15 02:28:57 +0300
committerPerttu Ahola <celeron55@gmail.com>2011-10-15 02:28:57 +0300
commit43a28f04fa3ddf4b612f58c25a896293a01567e3 (patch)
tree58ca2cac232c28ffd59609ad3998b97628f13e33 /src/content_sao.h
parent080002f8ed1af6d34cdc6f5abff0f51586ca831c (diff)
downloadminetest-43a28f04fa3ddf4b612f58c25a896293a01567e3.tar.gz
minetest-43a28f04fa3ddf4b612f58c25a896293a01567e3.tar.bz2
minetest-43a28f04fa3ddf4b612f58c25a896293a01567e3.zip
mobv2
Diffstat (limited to 'src/content_sao.h')
-rw-r--r--src/content_sao.h47
1 files changed, 47 insertions, 0 deletions
diff --git a/src/content_sao.h b/src/content_sao.h
index 060c18341..078feb273 100644
--- a/src/content_sao.h
+++ b/src/content_sao.h
@@ -139,5 +139,52 @@ private:
bool m_touching_ground;
};
+class Settings;
+
+class MobV2SAO : public ServerActiveObject
+{
+public:
+ MobV2SAO(ServerEnvironment *env, u16 id, v3f pos,
+ Settings *init_properties);
+ virtual ~MobV2SAO();
+ u8 getType() const
+ {return ACTIVEOBJECT_TYPE_MOBV2;}
+ static ServerActiveObject* create(ServerEnvironment *env, u16 id, v3f pos,
+ const std::string &data);
+ std::string getStaticData();
+ std::string getClientInitializationData();
+ void step(float dtime, bool send_recommended);
+ InventoryItem* createPickedUpItem(){return NULL;}
+ u16 punch(const std::string &toolname, v3f dir);
+private:
+ void setPropertyDefaults();
+ void readProperties();
+ void updateProperties();
+ void doDamage(u16 d);
+
+ std::string m_move_type;
+ v3f m_speed;
+ v3f m_last_sent_position;
+ v3f m_oldpos;
+ float m_yaw;
+ float m_counter1;
+ float m_counter2;
+ float m_age;
+ bool m_touching_ground;
+ int m_hp;
+ bool m_walk_around;
+ float m_walk_around_timer;
+ bool m_next_pos_exists;
+ v3s16 m_next_pos_i;
+ float m_shoot_reload_timer;
+ bool m_shooting;
+ float m_shooting_timer;
+ float m_die_age;
+ v2f m_size;
+ bool m_falling;
+
+ Settings *m_properties;
+};
+
#endif