ASSERT(!in_bounds(you.pos()) || !cell_is_solid(you.pos()) || you.wizmode_teleported_into_rock) in 'movement.cc' at line 799 failed. Version: Dungeon Crawl Stone Soup 0.33-a0-443-g8f22220ccd Platform: unix Bits: 64 Game mode: tutorial Tiles: online Seed: 14432937412565998390, deterministic pregen: 1 Command line: /usr/games/crawl-git-8f22220ccd -name COINTELPRO -rc /dgldir/rcfiles/crawl-git/COINTELPRO.rc -macro /dgldir/rcfiles/crawl-git/COINTELPRO.macro -morgue /dgldir/morgue/COINTELPRO/ -tutorial -webtiles-socket /crawl-master/webserver/sockets/COINTELPRO:2024-11-21.03:29:06.sock -await-connection RC options: restart_after_game = false Crash caused by signal #6: Aborted Obtained 28 stack frames. /usr/games/crawl-git-8f22220ccd(_Z17write_stack_traceP8_IO_FILE+0x3f) [0x5636b7662b4f]: write_stack_trace(_IO_FILE*) /usr/games/crawl-git-8f22220ccd(_Z13do_crash_dumpv+0x418) [0x5636b766cfe8]: do_crash_dump() /usr/games/crawl-git-8f22220ccd(_Z20crash_signal_handleri+0x1fa) [0x5636b7662fda]: crash_signal_handler(int) /lib/x86_64-linux-gnu/libc.so.6(+0x46210) [0x7f4784d4b210]: /lib/x86_64-linux-gnu/libpthread.so.0(raise+0xcb) [0x7f4784f0c24b]: /usr/games/crawl-git-8f22220ccd(+0x4c372d) [0x5636b766c72d]: /usr/games/crawl-git-8f22220ccd(+0x4c38e5) [0x5636b766c8e5]: /usr/games/crawl-git-8f22220ccd(_Z18move_player_action9coord_def+0x6d9) [0x5636b7a9e609]: move_player_action(coord_def) /usr/games/crawl-git-8f22220ccd(_Z15process_command12command_typeS_+0xf55) [0x5636b7d87fa5]: process_command(command_type, command_type) /usr/games/crawl-git-8f22220ccd(_ZN14TilesFramework23_handle_control_messageE11sockaddr_unNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE+0xb31) [0x5636b7d7a441]: TilesFramework::_handle_control_message(sockaddr_un, std::__cxx11::basic_string, std::allocator >) /usr/games/crawl-git-8f22220ccd(_ZN14TilesFramework24_receive_control_messageEv+0x184) [0x5636b7d7aa04]: TilesFramework::_receive_control_message() /usr/games/crawl-git-8f22220ccd(_ZN14TilesFramework11await_inputERjb+0x188) [0x5636b7d7aee8]: TilesFramework::await_input(unsigned int&, bool) /usr/games/crawl-git-8f22220ccd(_Z8getch_ckv+0x1e5) [0x5636b7d7d765]: getch_ck() /usr/games/crawl-git-8f22220ccd(_ZN2ui11pump_eventsEi+0xcc) [0x5636b7cd0c2c]: ui::pump_events(int) /usr/games/crawl-git-8f22220ccd(_Z8show_mapR9level_posbb+0x8fc) [0x5636b7ce827c]: show_map(level_pos&, bool, bool) /usr/games/crawl-git-8f22220ccd(_Z21describe_feature_wideRK9coord_defb+0x2306) [0x5636b76a43e6]: describe_feature_wide(coord_def const&, bool) /usr/games/crawl-git-8f22220ccd(_Z20full_describe_squareRK9coord_defb+0x658) [0x5636b7703ee8]: full_describe_square(coord_def const&, bool) /usr/games/crawl-git-8f22220ccd(_ZN14TilesFramework23_handle_control_messageE11sockaddr_unNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE+0xabc) [0x5636b7d7a3cc]: TilesFramework::_handle_control_message(sockaddr_un, std::__cxx11::basic_string, std::allocator >) /usr/games/crawl-git-8f22220ccd(_ZN14TilesFramework24_receive_control_messageEv+0x184) [0x5636b7d7aa04]: TilesFramework::_receive_control_message() /usr/games/crawl-git-8f22220ccd(_ZN14TilesFramework11await_inputERjb+0x188) [0x5636b7d7aee8]: TilesFramework::await_input(unsigned int&, bool) /usr/games/crawl-git-8f22220ccd(_Z8getch_ckv+0x1e5) [0x5636b7d7d765]: getch_ck() /usr/games/crawl-git-8f22220ccd(+0x77a7b6) [0x5636b79237b6]: /usr/games/crawl-git-8f22220ccd(_Z25getch_with_command_macrosv+0x180) [0x5636b79283b0]: getch_with_command_macros() /usr/games/crawl-git-8f22220ccd(+0xbdb8a4) [0x5636b7d848a4]: /usr/games/crawl-git-8f22220ccd(+0xbdc345) [0x5636b7d85345]: /usr/games/crawl-git-8f22220ccd(main+0x1ab) [0x5636b75a90bb]: /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf3) [0x7f4784d2c0b3]: /usr/games/crawl-git-8f22220ccd(_start+0x2e) [0x5636b75a9c8e]: Trying to run gdb. GNU gdb (Ubuntu 9.1-0ubuntu1) 9.1 Copyright (C) 2020 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "x86_64-linux-gnu". Type "show configuration" for configuration details. For bug reporting instructions, please see: . Find the GDB manual and other documentation resources online at: . For help, type "help". Type "apropos word" to search for commands related to "word". [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1". 0x00007f4784deac2a in __GI___wait4 (pid=1343815, stat_loc=stat_loc@entry=0x0, options=options@entry=0, usage=usage@entry=0x0) at ../sysdeps/unix/sysv/linux/wait4.c:27 #0 0x00007f4784deac2a in __GI___wait4 (pid=1343815, stat_loc=stat_loc@entry=0x0, options=options@entry=0, usage=usage@entry=0x0) at ../sysdeps/unix/sysv/linux/wait4.c:27 resultvar = 18446744073709551104 sc_ret = #1 0x00007f4784deabeb in __GI___waitpid (pid=, stat_loc=stat_loc@entry=0x0, options=options@entry=0) at waitpid.c:38 No locals. #2 0x00005636b76629b5 in call_gdb (file=file@entry=0x7f4784ef15c0 <_IO_2_1_stderr_>) at crash.cc:438 gdb = attach_cmd = "attach 1343090\000\000\000\000\000" #3 0x00005636b766d006 in do_crash_dump () at dbg-asrt.cc:692 t = 1732160183 dir = "/dgldir/morgue/COINTELPRO/" name = "/dgldir/morgue/COINTELPRO/crash-COINTELPRO-20241121-033623.txt", '\000' signal_info = "Crash caused by signal #6: Aborted" cause_msg = "ASSERT(!in_bounds(you.pos()) || !cell_is_solid(you.pos()) || you.wizmode_teleported_into_rock) in 'movement.cc' at line 799 failed." file = 0x7f4784ef15c0 <_IO_2_1_stderr_> #4 0x00005636b7662fda in crash_signal_handler (sig_num=6) at crash.cc:198 No locals. #5 No locals. #6 raise (sig=) at ../sysdeps/unix/sysv/linux/raise.c:50 set = {__val = {0, 94793012845365, 140721998791008, 94793013310680, 799, 0, 0, 139945148899363, 206158430240, 140721998790960, 140721998790768, 10231133858510961664, 94793016300752, 139945152015401, 94793016300736, 140721998791008}} pid = tid = ret = #7 0x00005636b766c72d in _BreakStrToDebugger (mesg=mesg@entry=0x7ffc64c00160 "ASSERT(!in_bounds(you.pos()) || !cell_is_solid(you.pos()) || you.wizmode_teleported_into_rock) in 'movement.cc' at line 799 failed.", assert=true) at dbg-asrt.cc:818 No locals. #8 0x00005636b766c8e5 in AssertFailed (expr=expr@entry=0x5636b7e2b4d8 "!in_bounds(you.pos()) || !cell_is_solid(you.pos()) || you.wizmode_teleported_into_rock", file=file@entry=0x5636b7db9b35 "movement.cc", line=line@entry=799, text=text@entry=0x0) at dbg-asrt.cc:856 mesg = "ASSERT(!in_bounds(you.pos()) || !cell_is_solid(you.pos()) || you.wizmode_teleported_into_rock) in 'movement.cc' at line 799 failed.\000\000\000\000\000&\326(\205G\177\000\000\000\000\000\000\000\000\000\000\370$I\205G\177\000\000x8K\272\066V\000\000^%I\205\r", '\000' , "\020\004\300d\374\177\000\000x8K\272\066V", '\000' ... args = {{gp_offset = 0, fp_offset = 0, overflow_arg_area = 0x0, reg_save_area = 0x0}} fileName = #9 0x00005636b7a9e609 in move_player_action (move=...) at movement.cc:799 attacking = false moving = true swap = false initial_position = {x = 0, y = 0} rampaged = did_wu_jian_attack = targ = {x = -1160852736, y = 22070} walkverb = targ_monst = targ_pass = try_to_swap = beholder = fmonger = mon_swap_dest = {x = -1160377968, y = 22070} running = dug = #10 0x00005636b7d87fa5 in process_command (cmd=cmd@entry=CMD_MOVE_DOWN, prev_cmd=prev_cmd@entry=CMD_NO_CMD) at coord-def.h:33 No locals. #11 0x00005636b7d7a441 in _handle_cell_click (force=, button=, gc=...) at tileweb.cc:400 c = 2003 #12 TilesFramework::_handle_control_message (this=, addr=..., data=...) at tileweb.cc:532 y = {node = 0x5636bae42690, static malformed = } button = {node = 0x5636bae426d0, static malformed = } force = {node = 0x0, static malformed = } gc = {x = 33, y = 42} x = obj = {node = 0x5636bac9e610, static malformed = } msg = {node = 0x5636bae42710, static malformed = } msgtype = "click_cell" c = 0 #13 0x00005636b7d7aa04 in TilesFramework::_receive_control_message (this=0x5636b8257580 ) at /usr/include/c++/9/bits/basic_string.h:940 buf = "{\"x\":0,\"y\":1,\"button\":1,\"msg\":\"click_cell\"}\000\000\000\000\000P\027\300d\374\177\000\000p\027\300d\374\177\000\000\347[ٷ6V\000\000\370\030\300d\374\177\000\000\001\000\000\000\000\000\000\000\362\352ׄG\177\000\000\001\000\000\000\000\000\000\000\n\000\000\000\374\177\000\000\030\000\000\000\002\000\000\000\000|\004\226\tJ\374\215", '\000' , "\260\027\300d\374\177\000\000\320\027\300d\374\177\000\000@\024\300d\374\177\000\000?\034\300d\374\177\000\000P\024\300d\374\177\000\000?\034\300d\002\000\000\000\240\030\357\204G\177\000\000h\r"... srcaddr = {sun_family = 1, sun_path = "/tmp/crawlo27iaenh.socket", '\000' } srcaddr_len = 28 len = data = "{\"x\":0,\"y\":1,\"button\":1,\"msg\":\"click_cell\"}" #14 0x00005636b7d7aee8 in TilesFramework::await_input (this=0x5636b8257580 , c=@0x7ffc64c022b0: 11, block=block@entry=true) at tileweb.cc:650 result = fds = {fds_bits = {8, 0 }} maxfd = __d = __d = #15 0x00005636b7d7d765 in _get_key_from_curses () at libunix.cc:528 c = 11 c = c = #16 getch_ck () at libunix.cc:616 c = #17 0x00005636b7cd0c2c in ui::pump_events (wait_event_timeout=wait_event_timeout@entry=2147483647) at ui.cc:3292 macro_key = -1 k = #18 0x00005636b7ce827c in show_map (lpos=..., travel_mode=travel_mode@entry=true, allow_offlevel=allow_offlevel@entry=true) at viewmap.cc:939 ui_cutoff_point = ui = {m_new_state = UI_VIEW_MAP, m_old_state = UI_NORMAL} cc = {cstate = false} le = { = {original = {branch = BRANCH_DUNGEON, depth = 1}, ever_changed_levels = true, allow_unvisited = 86}, travel_mode = true} result = map_view = std::shared_ptr (use count 2, weak count 1) = {get() = 0x5636ba2b85d0} #19 0x00005636b76a43e6 in _do_feat_action (action=, pos=...) at describe.cc:3678 dest = {id = {branch = BRANCH_DUNGEON, depth = 2}, pos = {x = 42, y = 32}} #20 describe_feature_wide (pos=..., do_actions=do_actions@entry=true) at describe.cc:3847 feats = std::vector of length 1, capacity 1 = {{title = "A stone staircase leading down.", body = "A staircase leading further down.\n\nWhile standing here, you can traverse the stone staircase with the > key. You can view the location it leads to by examining it with X and pressing "..., quote = "", tile = {tile = 2757, ymax = 32}}} extra_descs = std::vector of length 0, capacity 0 scroller = std::shared_ptr (use count 1, weak count 1) = {get() = 0x5636bad39820} vbox = std::shared_ptr (empty) = {get() = 0x5636ba607170} actions = std::vector of length 2, capacity 2 = {CMD_GO_DOWNSTAIRS, CMD_MAP_NEXT_LEVEL} footer_text = {ops = std::vector of length 3, capacity 4 = {{type = FSOP_COLOUR, colour = 3, text = ""}, {type = FSOP_TEXT, colour = -1, text = ""}, {type = FSOP_TEXT, colour = -1, text = "(>)go down, or (])view destination."}}} popup = std::shared_ptr (empty) = {get() = } done = true action = CMD_MAP_NEXT_LEVEL #21 0x00005636b7703ee8 in full_describe_square (c=..., cleanup=cleanup@entry=false) at directn.cc:2711 list_mons = std::vector of length 0, capacity 0 list_items = std::vector of length 0, capacity 0 list_features = std::vector of length 1, capacity 1 = {{x = 33, y = 41}} quantity = action_taken = false mi = 0x0 feat = DNGN_STONE_STAIRS_DOWN_I stash_items = #22 0x00005636b7d7a3cc in _handle_cell_click (force=, button=, gc=...) at tileweb.cc:389 No locals. #23 TilesFramework::_handle_control_message (this=0x5636b8257580 , addr=..., data=...) at tileweb.cc:532 y = {node = 0x5636bad4ad00, static malformed = } button = {node = 0x5636bad4ad40, static malformed = } force = {node = 0x0, static malformed = } gc = {x = 33, y = 41} x = obj = {node = 0x5636bad4ac80, static malformed = } msg = {node = 0x5636bad4ad80, static malformed = } msgtype = "click_cell" c = 0 #24 0x00005636b7d7aa04 in TilesFramework::_receive_control_message (this=0x5636b8257580 ) at /usr/include/c++/9/bits/basic_string.h:940 buf = "{\"x\":0,\"y\":0,\"button\":3,\"msg\":\"click_cell\"}d\374\177\000\000\020/\300d\374\177\000\000\017\067\300d\374\177\000\000\360.\300d\374\177\000\000\017\067\300d\374\177\000\000p-\300d\374\177\062\070\000|\004\226\tJ\374\215\020/\300d\374\177\000\000\002\000\000\000\000\000\000\000\377\a\000\000\000\000\000\000p-\300d\374\177\000\000\235Rٷ6V\000\000\370.\300d\374\177\000\000\020/\300d\374\177\000\000\032AلG\177\000\000\200/\300d\374\177\000\000\177\067\300d\374\177\000\000\001\200\255\373\374\177\000\000\177\067\300d\000\000\000\000\240\030\357\204G\177\000\000h\r"... srcaddr = {sun_family = 1, sun_path = "/tmp/crawlo27iaenh.socket", '\000' } srcaddr_len = 28 len = data = "{\"x\":0,\"y\":0,\"button\":3,\"msg\":\"click_cell\"}" #25 0x00005636b7d7aee8 in TilesFramework::await_input (this=0x5636b8257580 , c=@0x7ffc64c03df0: 1690320800, block=block@entry=true) at tileweb.cc:650 result = fds = {fds_bits = {8, 0 }} maxfd = __d = __d = #26 0x00005636b7d7d765 in _get_key_from_curses () at libunix.cc:528 c = 1690320800 c = c = #27 getch_ck () at libunix.cc:616 c = #28 0x00005636b79237b6 in _getch_mul () at macro.cc:841 keys = std::deque with 0 elements a = 22016 #29 0x00005636b79283b0 in getch_with_command_macros () at macro.cc:900 keys = std::deque with 0 elements #30 0x00005636b7d848a4 in _get_next_keycode () at main.cc:2753 keyin = mc = {m_previous_mode = MOUSE_MODE_NORMAL, static ms_current_mode = MOUSE_MODE_COMMAND} keyin = mc = #31 _get_next_cmd () at main.cc:2707 keyin = keyin = #32 _input () at main.cc:1234 cmd = real_prev_cmd = player_disabled = {was_disabled = false} #33 0x00005636b7d85345 in _launch_game () at main.cc:492 game_start = ccon = {cstate = false} #34 0x00005636b75a90bb in _launch_game_loop () at main.cc:391 game_ended = false game_ended = ge = fe = E = #35 main (argc=, argv=0x7ffc64c04518) at main.cc:341 echo = {prev_state = {value = maybe_bool::mbool_t::maybe, static maybe = {value = maybe_bool::mbool_t::maybe, static maybe = , static t = {value = maybe_bool::mbool_t::t, static maybe = , static t = , static f = {value = maybe_bool::mbool_t::f, static maybe = , static t = , static f = }}, static f = }, static t = , static f = }} [Inferior 1 (process 1343090) detached] Compilation info: <<<<<<<<<<< Compiled with GCC 9.4.0 Build platform: x86_64-linux-gnu Platform: x86_64-linux-gnu CFLAGS: -O2 -pipe -DUSE_TILE -DUSE_TILE_WEB -Wall -Wformat-security -Wundef -Wextra -Wno-missing-field-initializers -Wno-implicit-fallthrough -Wno-type-limits -Wno-uninitialized -Wno-array-bounds -Wno-format-zero-length -Wmissing-declarations -Wredundant-decls -Wno-parentheses -Wwrite-strings -Wshadow -pedantic -Wuninitialized -Iutil -I. -isystem /usr/include/lua5.1 -g -DWIZARD -DASSERTS -DREGEX_PCRE -DCLUA_BINDINGS -DDGAMELAUNCH -DSAVE_DIR_PATH="/crawl-master/crawl-git-8f22220ccd/saves" -DSHARED_DIR_PATH="/crawl-master/crawl-git/saves" -DDATA_DIR_PATH="/crawl-master/crawl-git-8f22220ccd/data/" -DWEB_DIR_PATH="/crawl-master/crawl-git-8f22220ccd/data/web/" -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 LDFLAGS: -rdynamic -fuse-ld=gold -O2 >>>>>>>>>>> Place info: branch = 0, depth = 2 Level id: D:2 Level build method = random_map_for_place, level layout type = encompass, absdepth0 = 1 Level vaults: tutorial_lesson2_level2 Markers: <<<<<<<<<<<<<<<<<<<<<< >>>>>>>>>>>>>>>>>>>>>> Messages: <<<<<<<<<<<<<<<<<<<<<< This lesson will teach you about monsters and fighting. First, we need a weapon! Go and grab the one lying over there. You can reread all messages at any time with [Ctrl-P]. Also, press [Space] to clear the --more-- prompts. Found a quarterstaff. Found a staircase leading out of the dungeon. Pick up this weapon with [,] or [g] and then wield it with [e]. You see here a +0 quarterstaff. There is a staircase leading out of the dungeon here. There are no items here. There are no items here. There are no items here. There are no items here. Pick up this weapon with [,] or [g] and then wield it with [e]. You see here a +0 quarterstaff. b - a +0 quarterstaff There is a staircase leading out of the dungeon here. Pick up this weapon with [,] or [g] and then wield it with [e]. As you open the door, it creaks loudly! To attack a monster with your bare hands or wielded weapon, simply walk into it. There is an open door here. The training dummy hits you with a +0 whip. You hit the training dummy but do no damage. The training dummy barely misses you. You hit the training dummy. The training dummy is heavily damaged. The training dummy completely misses you. You hit the training dummy. The training dummy is severely damaged. You hit the training dummy. The training dummy is almost destroyed. The training dummy hits you with a +0 whip. You hit the training dummy. The training dummy is almost destroyed. The training dummy hits you with a +0 whip. You hit the training dummy. You destroy the training dummy! You see here a +0 whip. Very good! You can heal by resting with [5]. This will make you rest until your health is full, but will be interrupted by important events. You open the door. A rat comes into view. There is an open door here. You hit the rat but do no damage. The rat barely misses you. You hit the rat. The rat is severely wounded. The rat bites you. You hit the rat but do no damage. The rat is severely wounded. The rat bites you but does no damage. You barely miss the rat. The rat is severely wounded. The rat misses you. You hit the rat but do no damage. The rat is severely wounded. The rat bites you. You hit the rat. You kill the rat! You see here a rat corpse. You open the door. 3 rats come into view. The rat squeaks loudly. x3 Rather than storm the room and get swarmed by monsters, you can also step back and wait (with [.]) for them to come to you. The rat twitches its whiskers. There is an open door here. You see here a rat corpse. There is an open door here. Very good! You can heal by resting with [5]. This will make you rest until your health is full, but will be interrupted by important events. You see here a +0 whip. c - a +0 whip There are no items here. There are no items here. There are no items here. The rat twitches its whiskers. To attack a monster with your bare hands or wielded weapon, simply walk into it. There is an open door here. To attack a monster with your bare hands or wielded weapon, simply walk into it. The rat bites you but does no damage. There is an open door here. Pick up this weapon with [,] or [g] and then wield it with [e]. b - a +0 quarterstaff (weapon) The rat bites you but does no damage. You hit the rat. The rat is severely wounded. The rat bites you but does no damage. You sock the rat! You kill the rat! You sock the rat! You kill the rat! The rat bites you. You hit the rat. You kill the rat! You see here a rat corpse. To attack a monster with your bare hands or wielded weapon, simply walk into it. There is an open door here. Very good! You can heal by resting with [5]. This will make you rest until your health is full, but will be interrupted by important events. There is an open door here. You see here a rat corpse. Rather than storm the room and get swarmed by monsters, you can also step back and wait (with [.]) for them to come to you. There is an open door here. Examine these monsters (by pressing [x] to enter examine mode, and then [+] to cycle through nearby monsters) and compare their descriptions (by pressing [v] while selecting them in examine mode) to find out which of these cages is safer to fight through. The wyvern hisses angrily. Found a stone staircase leading down. The giant cockroach waves its antennae. You open the door. You sock the giant cockroach! You kill the giant cockroach! There is an open door here. As you open the door, it creaks loudly! There is an open door here. Remember, you can rest up with [5]. You start waiting. Done waiting. Well done! After resting to full health continue to the next level with [>]. There is a stone staircase leading down here. You climb downwards. Remember: You can reread old messages with [Ctrl-P]. Found 10 boomerangs. There is a stone staircase leading up here. You can't go down here! You climb upwards. Well done! After resting to full health continue to the next level with [>]. There is a stone staircase leading down here. Well done! After resting to full health continue to the next level with [>]. There is a stone staircase leading down here. Well done! After resting to full health continue to the next level with [>]. There is a stone staircase leading down here. >>>>>>>>>>>>>>>>>>>>>> Version history: Game started: 0.33-a0-443-g8f22220ccd Game state: mouse_enabled: 0, waiting_for_command: 1, terminal_resized: 0 io_inited: 1, need_save: 1, saving_game: 0, updating_scores: 0: seen_hups: 1, map_stat_gen: 0, type: 2, arena_suspended: 0 prev_cmd = CMD_SWAP_QUIVER_RECENT repeat_cmd = CMD_NO_CMD Player: {{{{{{{{{{{ Name: [COINTELPRO] Species: Human Job: Fighter HP: 18/18; mods: 0/0 MP: 3/3; mod: 2 Stats: 16 (16) 8 (8) 12 (12) Position: (33, 41), god: No God (0), turn_is_over: 0, banished: 0 Standing on/in/over feature: rock wall Skills (mode: auto) Name | can_currently_train | train | training | level | points | progress Fighting | X | 1 | 37 | 3 | 324 | 24/200 Short Blades | X | 1 | 0 | 0 | 0 | 0/50 Long Blades | X | 1 | 0 | 0 | 0 | 0/50 Axes | X | 1 | 0 | 0 | 0 | 0/50 Maces & Flails | X | 1 | 0 | 0 | 0 | 0/50 Polearms | X | 1 | 0 | 0 | 0 | 0/50 Staves | X | 1 | 9 | 0 | 0 | 0/50 Ranged Weapons | X | 1 | 0 | 0 | 0 | 0/50 Throwing | X | 1 | 0 | 0 | 0 | 0/50 Armour | X | 1 | 35 | 3 | 343 | 43/200 Dodging | X | 1 | 2 | 0 | 0 | 0/50 Stealth | X | 1 | 1 | 0 | 0 | 0/42 Shields | X | 1 | 0 | 0 | 0 | 0/50 Unarmed Combat | X | 1 | 16 | 2 | 166 | 16/150 Spellcasting | X | 1 | 0 | 0 | 0 | 0/59 Conjurations | X | 1 | 0 | 0 | 0 | 0/50 Hexes | X | 1 | 0 | 0 | 0 | 0/50 Summonings | X | 1 | 0 | 0 | 0 | 0/50 Necromancy | X | 1 | 0 | 0 | 0 | 0/50 Translocations | X | 1 | 0 | 0 | 0 | 0/50 Forgecraft | X | 1 | 0 | 0 | 0 | 0/50 Fire Magic | X | 1 | 0 | 0 | 0 | 0/50 Ice Magic | X | 1 | 0 | 0 | 0 | 0/50 Air Magic | X | 1 | 0 | 0 | 0 | 0/50 Earth Magic | X | 1 | 0 | 0 | 0 | 0/50 Alchemy | X | 1 | 0 | 0 | 0 | 0/50 Invocations | X | 1 | 0 | 0 | 0 | 0/42 Evocations | X | 1 | 0 | 0 | 0 | 0/50 Shapeshifting | X | 1 | 0 | 0 | 0 | 0/59 Spell bugs: Durations: Attributes: Mutations: explore regen: 1 (innate) Inventory bugs: Equipment: eq slot #0, inv slot #1: +0 quarterstaff eq slot #6, inv slot #0: +0 robe }}}}}}}}}}} Webtiles message buffer: Webtiles JSON stack: Screenshot: #.......### ######### @ clua stack: dlua stack: Lua persistent data: <<<<<<<<<<<<<<<<<<<<<< >>>>>>>>>>>>>>>>>>>>>> Lua marker contents: <<<<<<<<<<<<<<<<<<<<<< Lua marker 0 at (21, 25): {{{{ CLASS: FogMachine pow_min: 10 spread_buildup_time: 1 listeners: spread_rate: -1 size_min: 2 size_max: 3 pow_max: 10 start_clouds: 1 dgn_trigs_by_type: 1: 1: 1 32: 1: 2 triggerers: 1: CLASS: DgnTriggerer countdown: 2 type: turn buildup_turns: 0 sub_type: countdown delay_min: 10 method: dgn_event listener_only: false delay_max: 10 2: CLASS: DgnTriggerer type: entered_level listener_only: false method: dgn_event size_buildup_time: 1 kill_cat: other excl_rad: 1 size_buildup_amnt: 0 buildup_turns: 1 spread_buildup_amnt: 0 cloud_type: thin mist props: walk_dist: 0 pow_rolls: 3}}}} Lua marker 1 at (22, 33): {{{{ CLASS: TriggerableFunction triggerers: 1: CLASS: DgnTriggerer method: dgn_event type: player_move data: onetime: false text: tutorial2 explore exit: false listeners: repeated: true dgn_trigs_by_type: 4: 1: 1 func: CLASS: FunctionWrapper name: tutorial_messenger_db fn: [type function] props: }}}} Lua marker 2 at (27, 35): {{{{ CLASS: TriggerableFunction triggerers: 1: CLASS: DgnTriggerer method: dgn_event type: player_move data: onetime: false text: tutorial2 resting_reminder exit: false listeners: repeated: true dgn_trigs_by_type: 4: 1: 1 func: CLASS: FunctionWrapper name: tutorial_messenger_db fn: [type function] props: }}}} Lua marker 3 at (30, 29): {{{{ CLASS: FogMachine pow_min: 10 spread_buildup_time: 1 listeners: spread_rate: -1 size_min: 2 size_max: 3 pow_max: 10 start_clouds: 1 dgn_trigs_by_type: 1: 1: 1 32: 1: 2 triggerers: 1: CLASS: DgnTriggerer countdown: 2 type: turn buildup_turns: 0 sub_type: countdown delay_min: 10 method: dgn_event listener_only: false delay_max: 10 2: CLASS: DgnTriggerer type: entered_level listener_only: false method: dgn_event size_buildup_time: 1 kill_cat: other excl_rad: 1 size_buildup_amnt: 0 buildup_turns: 1 spread_buildup_amnt: 0 cloud_type: thin mist props: walk_dist: 0 pow_rolls: 3}}}} Lua marker 4 at (31, 42): {{{{ CLASS: TriggerableFunction triggerers: 1: CLASS: DgnTriggerer method: dgn_event type: player_move data: onetime: false text: tutorial2 firing exit: false listeners: repeated: true dgn_trigs_by_type: 4: 1: 1 func: CLASS: FunctionWrapper name: tutorial_messenger_db fn: [type function] props: }}}} Lua marker 5 at (37, 20): {{{{ CLASS: TriggerableFunction triggerers: 1: CLASS: DgnTriggerer method: dgn_event type: player_move data: onetime: false text: tutorial2 tutorial_end exit: false listeners: repeated: true dgn_trigs_by_type: 4: 1: 1 func: CLASS: FunctionWrapper name: tutorial_messenger_db fn: [type function] props: }}}} Lua marker 6 at (37, 20): {{{{ CLASS: OneWayStair props: dst: tutorial_lesson2 onclimb: CLASS: FunctionWrapper name: tutorial2.win fn: [type function] desc: exit from the tutorial }}}} Lua marker 7 at (39, 21): {{{{ CLASS: TriggerableFunction triggerers: 1: CLASS: DgnTriggerer method: dgn_event type: player_move data: onetime: false text: tutorial2 tutorial_end exit: false listeners: repeated: true dgn_trigs_by_type: 4: 1: 1 func: CLASS: FunctionWrapper name: tutorial_messenger_db fn: [type function] props: }}}} Lua marker 8 at (39, 21): {{{{ CLASS: OneWayStair props: dst: tutorial_lesson2 onclimb: CLASS: FunctionWrapper name: tutorial2.win fn: [type function] desc: exit from the tutorial }}}} Lua marker 9 at (40, 48): {{{{ CLASS: TriggerableFunction triggerers: 1: CLASS: DgnTriggerer method: dgn_event type: player_move data: onetime: false text: tutorial2 wield_bow exit: false listeners: repeated: true dgn_trigs_by_type: 4: 1: 1 func: CLASS: FunctionWrapper name: tutorial_messenger_db fn: [type function] props: }}}} Lua marker 10 at (41, 22): {{{{ CLASS: TriggerableFunction triggerers: 1: CLASS: DgnTriggerer method: dgn_event type: player_move data: onetime: false text: tutorial2 tutorial_end exit: false listeners: repeated: true dgn_trigs_by_type: 4: 1: 1 func: CLASS: FunctionWrapper name: tutorial_messenger_db fn: [type function] props: }}}} Lua marker 11 at (41, 22): {{{{ CLASS: OneWayStair props: dst: tutorial_lesson2 onclimb: CLASS: FunctionWrapper name: tutorial2.win fn: [type function] desc: exit from the tutorial }}}} Lua marker 12 at (44, 32): {{{{ CLASS: TriggerableFunction triggerers: 1: CLASS: DgnTriggerer method: dgn_event type: player_move data: onetime: false text: tutorial2 boomerangs exit: false listeners: repeated: true dgn_trigs_by_type: 4: 1: 1 func: CLASS: FunctionWrapper name: tutorial_messenger_db fn: [type function] props: }}}} Lua marker 13 at (49, 32): {{{{ CLASS: TriggerableFunction triggerers: 1: CLASS: DgnTriggerer method: dgn_event type: player_move data: onetime: false text: tutorial2 throwing exit: false listeners: repeated: true dgn_trigs_by_type: 4: 1: 1 func: CLASS: FunctionWrapper name: tutorial_messenger_db fn: [type function] props: }}}} Lua marker 14 at (50, 43): {{{{ CLASS: TriggerableFunction triggerers: 1: CLASS: DgnTriggerer method: dgn_event type: player_move data: onetime: false text: tutorial2 resting_reminder exit: false listeners: repeated: true dgn_trigs_by_type: 4: 1: 1 func: CLASS: FunctionWrapper name: tutorial_messenger_db fn: [type function] props: }}}} Lua marker 15 at (50, 46): {{{{ CLASS: TriggerableFunction triggerers: 1: CLASS: DgnTriggerer method: dgn_event type: player_move data: onetime: false text: tutorial2 travel_reminder exit: false listeners: repeated: true dgn_trigs_by_type: 4: 1: 1 func: CLASS: FunctionWrapper name: tutorial_messenger_db fn: [type function] props: }}}} >>>>>>>>>>>>>>>>>>>>>>