#define CONTENT_SAO_HEADER
#include "serverobject.h"
-#include "content_object.h"
#include "itemgroup.h"
#include "player.h"
#include "object_properties.h"
-ServerActiveObject* createItemSAO(ServerEnvironment *env, v3f pos,
- const std::string itemstring);
-
/*
LuaEntitySAO needs some internals exposed.
*/
{
public:
LuaEntitySAO(ServerEnvironment *env, v3f pos,
- const std::string &name, const std::string &state);
+ const std::string &name, const std::string &state);
~LuaEntitySAO();
- u8 getType() const
+ ActiveObjectType getType() const
{ return ACTIVEOBJECT_TYPE_LUAENTITY; }
- u8 getSendType() const
+ ActiveObjectType getSendType() const
{ return ACTIVEOBJECT_TYPE_GENERIC; }
virtual void addedToEnvironment(u32 dtime_s);
static ServerActiveObject* create(ServerEnvironment *env, v3f pos,
PlayerSAO(ServerEnvironment *env_, Player *player_, u16 peer_id_,
const std::set<std::string> &privs, bool is_singleplayer);
~PlayerSAO();
- u8 getType() const
+ ActiveObjectType getType() const
{ return ACTIVEOBJECT_TYPE_PLAYER; }
- u8 getSendType() const
+ ActiveObjectType getSendType() const
{ return ACTIVEOBJECT_TYPE_GENERIC; }
std::string getDescription();
void addedToEnvironment(u32 dtime_s);
void removingFromEnvironment();
bool isStaticAllowed() const;
- bool unlimitedTransferDistance() const;
std::string getClientInitializationData(u16 protocol_version);
std::string getStaticData();
bool isAttached();
void rightClick(ServerActiveObject *clicker);
s16 getHP() const;
void setHP(s16 hp);
+ s16 readDamage();
u16 getBreath() const;
void setBreath(u16 breath);
void setArmorGroups(const ItemGroupList &armor_groups);
Player *m_player;
u16 m_peer_id;
Inventory *m_inventory;
+ s16 m_damage;
// Cheat prevention
LagPool m_dig_pool;
float m_physics_override_speed;
float m_physics_override_jump;
float m_physics_override_gravity;
+ bool m_physics_override_sneak;
+ bool m_physics_override_sneak_glitch;
bool m_physics_override_sent;
};