diff options
author | dshaligram <dshaligram@c06c8d41-db1a-0410-9941-cceddc491573> | 2008-03-31 12:47:08 +0000 |
---|---|---|
committer | dshaligram <dshaligram@c06c8d41-db1a-0410-9941-cceddc491573> | 2008-03-31 12:47:08 +0000 |
commit | 97e66bedd0d8a8d95781f8058b5560768f97a1ea (patch) | |
tree | 4693cb1cc3cd56a3eaf663e5e3ae6487226acd99 /crawl-ref/source/luadgn.cc | |
parent | e815ad3dcd37899ea93e57bef68408ee4e971c87 (diff) | |
download | crawl-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.cc | 20 |
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 } }; |