From 49a01f5ae457bb601165eb89f6437d392a036eae Mon Sep 17 00:00:00 2001 From: Robert Vollmert Date: Mon, 19 Oct 2009 23:15:11 +0200 Subject: Split you_lib out from dlua.cc. --- crawl-ref/source/l_you.cc | 56 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 crawl-ref/source/l_you.cc (limited to 'crawl-ref/source/l_you.cc') diff --git a/crawl-ref/source/l_you.cc b/crawl-ref/source/l_you.cc new file mode 100644 index 0000000000..4ecf0ef0cc --- /dev/null +++ b/crawl-ref/source/l_you.cc @@ -0,0 +1,56 @@ +#include "AppHdr.h" + +#include "dlua.h" +#include "l_libs.h" + +#include "los.h" +#include "spells3.h" + +LUARET1(you_can_hear_pos, boolean, + player_can_hear(coord_def(luaL_checkint(ls,1), luaL_checkint(ls, 2)))) +LUARET1(you_x_pos, number, you.pos().x) +LUARET1(you_y_pos, number, you.pos().y) +LUARET2(you_pos, number, you.pos().x, you.pos().y) + +// see_cell should not be exposed to user scripts. The game should +// never disclose grid coordinates to the player. Therefore we load it +// only into the core Lua interpreter (dlua), never into the user +// script interpreter (clua). +LUARET1(you_see_cell, boolean, + see_cell(luaL_checkint(ls, 1), luaL_checkint(ls, 2))) +LUARET1(you_see_cell_no_trans, boolean, + see_cell_no_trans(luaL_checkint(ls, 1), luaL_checkint(ls, 2))) + +LUAFN(you_moveto) +{ + const coord_def place(luaL_checkint(ls, 1), luaL_checkint(ls, 2)); + ASSERT(map_bounds(place)); + you.moveto(place); + return (0); +} + +LUAFN(you_random_teleport) +{ + you_teleport_now(false, false); + return (0); +} + +LUAFN(you_losight) +{ + calc_show_los(); + return (0); +} + +const struct luaL_reg you_lib[] = +{ +{ "hear_pos", you_can_hear_pos }, +{ "x_pos", you_x_pos }, +{ "y_pos", you_y_pos }, +{ "pos", you_pos }, +{ "moveto", you_moveto }, +{ "see_cell", you_see_cell }, +{ "see_cell_no_trans", you_see_cell_no_trans }, +{ "random_teleport", you_random_teleport }, +{ "losight", you_losight }, +{ NULL, NULL } +}; -- cgit v1.2.3-54-g00ecf