summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/luadgn.cc
diff options
context:
space:
mode:
authordshaligram <dshaligram@c06c8d41-db1a-0410-9941-cceddc491573>2008-03-31 12:47:08 +0000
committerdshaligram <dshaligram@c06c8d41-db1a-0410-9941-cceddc491573>2008-03-31 12:47:08 +0000
commit97e66bedd0d8a8d95781f8058b5560768f97a1ea (patch)
tree4693cb1cc3cd56a3eaf663e5e3ae6487226acd99 /crawl-ref/source/luadgn.cc
parente815ad3dcd37899ea93e57bef68408ee4e971c87 (diff)
downloadcrawl-ref-97e66bedd0d8a8d95781f8058b5560768f97a1ea.tar.gz
crawl-ref-97e66bedd0d8a8d95781f8058b5560768f97a1ea.zip
[1923246] Item pickup marker moves itself when the item it's guarding is apported.
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@3976 c06c8d41-db1a-0410-9941-cceddc491573
Diffstat (limited to 'crawl-ref/source/luadgn.cc')
-rw-r--r--crawl-ref/source/luadgn.cc20
1 files changed, 19 insertions, 1 deletions
diff --git a/crawl-ref/source/luadgn.cc b/crawl-ref/source/luadgn.cc
index 8bd36c5fdc..0c5555dc27 100644
--- a/crawl-ref/source/luadgn.cc
+++ b/crawl-ref/source/luadgn.cc
@@ -1161,7 +1161,7 @@ static const char *dgn_event_type_names[] =
{
"none", "turn", "mons_move", "player_move", "leave_level",
"entering_level", "entered_level", "player_los", "player_climb",
- "monster_dies", "item_pickup", "feat_change"
+ "monster_dies", "item_pickup", "item_moved", "feat_change"
};
static dgn_event_type dgn_event_type_by_name(const std::string &name)
@@ -1872,6 +1872,14 @@ static int dgnevent_place(lua_State *ls)
return (2);
}
+static int dgnevent_dest(lua_State *ls)
+{
+ DEVENT(ls, 1, dev);
+ lua_pushnumber(ls, dev->dest.x);
+ lua_pushnumber(ls, dev->dest.y);
+ return (2);
+}
+
static int dgnevent_ticks(lua_State *ls)
{
DEVENT(ls, 1, dev);
@@ -1894,6 +1902,7 @@ static const struct luaL_reg dgnevent_lib[] =
{
{ "type", dgnevent_type },
{ "pos", dgnevent_place },
+ { "dest", dgnevent_dest },
{ "ticks", dgnevent_ticks },
{ "arg1", dgnevent_arg1 },
{ "arg2", dgnevent_arg2 },
@@ -1929,9 +1938,18 @@ static int mapmarker_pos(lua_State *ls)
return (2);
}
+static int mapmarker_move(lua_State *ls)
+{
+ MAPMARKER(ls, 1, mark);
+ const coord_def dest( luaL_checkint(ls, 2), luaL_checkint(ls, 3) );
+ env.markers.move_marker(mark, dest);
+ return (0);
+}
+
static const struct luaL_reg mapmarker_lib[] =
{
{ "pos", mapmarker_pos },
+ { "move", mapmarker_move },
{ NULL, NULL }
};