summaryrefslogtreecommitdiff
path: root/src/content_sao.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/content_sao.cpp')
-rw-r--r--src/content_sao.cpp51
1 files changed, 28 insertions, 23 deletions
diff --git a/src/content_sao.cpp b/src/content_sao.cpp
index d01b023de..fb8b23fbf 100644
--- a/src/content_sao.cpp
+++ b/src/content_sao.cpp
@@ -605,17 +605,6 @@ void LuaEntitySAO::rightClick(ServerActiveObject *clicker)
scriptapi_luaentity_rightclick(L, m_id, clicker);
}
-void LuaEntitySAO::setHP(s16 hp)
-{
- if(hp < 0) hp = 0;
- m_hp = hp;
-}
-
-s16 LuaEntitySAO::getHP() const
-{
- return m_hp;
-}
-
void LuaEntitySAO::setPos(v3f pos)
{
m_base_position = pos;
@@ -645,6 +634,23 @@ std::string LuaEntitySAO::getDescription()
return os.str();
}
+void LuaEntitySAO::setHP(s16 hp)
+{
+ if(hp < 0) hp = 0;
+ m_hp = hp;
+}
+
+s16 LuaEntitySAO::getHP() const
+{
+ return m_hp;
+}
+
+void LuaEntitySAO::setArmorGroups(const ItemGroupList &armor_groups)
+{
+ m_armor_groups = armor_groups;
+ m_armor_groups_sent = false;
+}
+
void LuaEntitySAO::setVelocity(v3f velocity)
{
m_velocity = velocity;
@@ -708,12 +714,6 @@ std::string LuaEntitySAO::getName()
return m_init_name;
}
-void LuaEntitySAO::setArmorGroups(const ItemGroupList &armor_groups)
-{
- m_armor_groups = armor_groups;
- m_armor_groups_sent = false;
-}
-
void LuaEntitySAO::sendPosition(bool do_interpolate, bool is_movement_end)
{
m_last_sent_move_precision = m_base_position.getDistanceFrom(
@@ -766,6 +766,7 @@ PlayerSAO::PlayerSAO(ServerEnvironment *env_, Player *player_, u16 peer_id_):
m_time_from_last_punch(0),
m_wield_index(0),
m_position_not_sent(false),
+ m_armor_groups_sent(false),
m_teleported(false),
m_inventory_not_sent(false),
m_hp_not_sent(false),
@@ -775,6 +776,8 @@ PlayerSAO::PlayerSAO(ServerEnvironment *env_, Player *player_, u16 peer_id_):
assert(m_peer_id != 0);
setBasePosition(m_player->getPosition());
m_inventory = &m_player->inventory;
+ m_armor_groups["choppy"] = 2;
+ m_armor_groups["fleshy"] = 3;
}
PlayerSAO::~PlayerSAO()
@@ -960,12 +963,8 @@ int PlayerSAO::punch(v3f dir,
return 0;
}
- // "Material" groups of the player
- ItemGroupList groups;
- groups["choppy"] = 2;
- groups["fleshy"] = 3;
-
- HitParams hitparams = getHitParams(groups, toolcap, time_from_last_punch);
+ HitParams hitparams = getHitParams(m_armor_groups, toolcap,
+ time_from_last_punch);
actionstream<<"Player "<<m_player->getName()<<" punched by "
<<puncher->getDescription()<<", damage "<<hitparams.hp
@@ -1031,6 +1030,12 @@ void PlayerSAO::setHP(s16 hp)
}
}
+void PlayerSAO::setArmorGroups(const ItemGroupList &armor_groups)
+{
+ m_armor_groups = armor_groups;
+ m_armor_groups_sent = false;
+}
+
Inventory* PlayerSAO::getInventory()
{
return m_inventory;