Navigation Menu

Skip to content

Commit

Permalink
Revert "Add a Lua call to do damages / heals" ok @ShadowNinja
Browse files Browse the repository at this point in the history
This reverts commit 467fc0d.
  • Loading branch information
nerzhul committed Mar 22, 2015
1 parent 61f2d0c commit 008d7e0
Show file tree
Hide file tree
Showing 3 changed files with 3 additions and 45 deletions.
1 change: 0 additions & 1 deletion doc/lua_api.txt
Expand Up @@ -2336,7 +2336,6 @@ This is basically a reference to a C++ `ServerActiveObject`
* `right_click(clicker)`; `clicker` is another `ObjectRef`
* `get_hp()`: returns number of hitpoints (2 * number of hearts)
* `set_hp(hp)`: set number of hitpoints (2 * number of hearts)
* `apply_damage(damage)`: set amount of damage to object. If damage < 0, heal the target
* `get_inventory()`: returns an `InvRef`
* `get_wield_list()`: returns the name of the inventory list the wielded item is in
* `get_wield_index()`: returns the index of the wielded item
Expand Down
41 changes: 3 additions & 38 deletions src/script/lua_api/l_object.cpp
Expand Up @@ -29,8 +29,6 @@ with this program; if not, write to the Free Software Foundation, Inc.,
#include "content_sao.h"
#include "server.h"
#include "hud.h"
#include "settings.h"
#include "main.h"


struct EnumString es_HudElementType[] =
Expand Down Expand Up @@ -257,10 +255,10 @@ int ObjectRef::l_set_hp(lua_State *L)
ObjectRef *ref = checkobject(L, 1);
luaL_checknumber(L, 2);
ServerActiveObject *co = getobject(ref);
if(co == NULL)
return 0;
if(co == NULL) return 0;
int hp = lua_tonumber(L, 2);

/*infostream<<"ObjectRef::l_set_hp(): id="<<co->getId()
<<" hp="<<hp<<std::endl;*/
// Do it
co->setHP(hp);
if (co->getType() == ACTIVEOBJECT_TYPE_PLAYER) {
Expand Down Expand Up @@ -291,38 +289,6 @@ int ObjectRef::l_get_hp(lua_State *L)
return 1;
}

// apply_damage(self, damage)
// damage = amount of damage to apply
// if damage is negative, heal the player
// returns: nil
int ObjectRef::l_apply_damage(lua_State *L)
{
NO_MAP_LOCK_REQUIRED;
ObjectRef *ref = checkobject(L, 1);
luaL_checknumber(L, 2);
ServerActiveObject *co = getobject(ref);
if(co == NULL)
return 0;

int damage = lua_tonumber(L, 2);

// No damage, no heal => do nothing
if (damage == 0)
return 0;

// If damage is positive (not healing) and damage is disabled, ignore
if (damage > 0 && g_settings->getBool("enable_damage") == false)
return 0;

// Do damage/heal
co->setHP(co->getHP() - damage);
if (co->getType() == ACTIVEOBJECT_TYPE_PLAYER) {
getServer(L)->SendPlayerHPOrDie(((PlayerSAO*)co)->getPeerID(), co->getHP() == 0);
}

return 0;
}

// get_inventory(self)
int ObjectRef::l_get_inventory(lua_State *L)
{
Expand Down Expand Up @@ -1379,7 +1345,6 @@ const luaL_reg ObjectRef::methods[] = {
luamethod(ObjectRef, right_click),
luamethod(ObjectRef, set_hp),
luamethod(ObjectRef, get_hp),
luamethod(ObjectRef, apply_damage),
luamethod(ObjectRef, get_inventory),
luamethod(ObjectRef, get_wield_list),
luamethod(ObjectRef, get_wield_index),
Expand Down
6 changes: 0 additions & 6 deletions src/script/lua_api/l_object.h
Expand Up @@ -83,12 +83,6 @@ class ObjectRef : public ModApiBase {
// 0 if not applicable to this type of object
static int l_get_hp(lua_State *L);

// apply_damage(self, damage)
// damage = amount of damage to apply
// if damage is negative, heal the player
// returns: nil
static int l_apply_damage(lua_State *L);

// get_inventory(self)
static int l_get_inventory(lua_State *L);

Expand Down

0 comments on commit 008d7e0

Please sign in to comment.