summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/scripting/lua.cpp37
1 files changed, 37 insertions, 0 deletions
diff --git a/src/scripting/lua.cpp b/src/scripting/lua.cpp
index d1bb2b35..047fe934 100644
--- a/src/scripting/lua.cpp
+++ b/src/scripting/lua.cpp
@@ -1073,6 +1073,24 @@ static int monster_create(lua_State *s)
}
/**
+ * mana.monster_get_name(int monster_id): string monster_name
+ * Returns the name of the monster with the given id.
+ */
+static int monster_get_name(lua_State *s)
+{
+ const int id = luaL_checkint(s, 1);
+ MonsterClass *spec = monsterManager->getMonster(id);
+ if (!spec)
+ {
+ raiseScriptError(s, "monster_get_name "
+ "called with unknown monster id.");
+ return 0;
+ }
+ lua_pushstring(s, spec->getName().c_str());
+ return 1;
+}
+
+/**
* mana.monster_remove(Monster*): bool success
* Remove a monster object without kill event.
* return whether the monster was enqueued for removal.
@@ -1967,6 +1985,23 @@ static int item_drop(lua_State *s)
}
/**
+ * mana.item_get_name(int item_id): string item_name
+ * Returns the name of the item with the given id.
+ */
+static int item_get_name(lua_State *s)
+{
+ const int id = luaL_checkint(s, 1);
+ ItemClass *it = itemManager->getItem(id);
+ if (!it)
+ {
+ raiseScriptError(s, "item_get_name called with unknown item id.");
+ return 0;
+ }
+ lua_pushstring(s, it->getName().c_str());
+ return 1;
+}
+
+/**
* mana.log(int log_level, string log_message): void
* Logs the given message to the log.
*/
@@ -2078,6 +2113,7 @@ LuaScript::LuaScript():
{ "chr_take_special", &chr_take_special },
{ "exp_for_level", &exp_for_level },
{ "monster_create", &monster_create },
+ { "monster_get_name", &monster_get_name },
{ "monster_remove", &monster_remove },
{ "monster_load_script", &monster_load_script },
{ "being_apply_status", &being_apply_status },
@@ -2114,6 +2150,7 @@ LuaScript::LuaScript():
{ "get_map_property", &get_map_property },
{ "is_walkable", &is_walkable },
{ "item_drop", &item_drop },
+ { "item_get_name", &item_get_name },
{ "npc_ask_integer", &npc_ask_integer },
{ "npc_end", &npc_end },
{ "npc_ask_string", &npc_ask_string },