ASSERT(mme) in 'directn.cc' at line 758 failed. Version: Dungeon Crawl Stone Soup 0.30.0 Platform: unix Bits: 64 Game mode: normal Tiles: online Seed: 3921785712340319823, deterministic pregen: 1 Command line: /var/dcss/builds/dcss-0.30/0.30.0/bin/dcss -name SgtSorry -rc /var/dcss/gamedata/dcss-0.30/rc-files/SgtSorry.rc -macro /var/dcss/gamedata/dcss-0.30/rc-files/SgtSorry.macro -morgue /var/dcss/gamedata/dcss/morgue/SgtSorry/ -extra-opt-first travel_delay=20 -extra-opt-first rest_delay=0 -dir /var/dcss/gamedata/dcss-0.30/save/ -webtiles-socket /var/dcss/sockets/SgtSorry:2023-05-23.22:33:31.sock -await-connection RC options: restart_after_game = false Crash caused by signal #6: Aborted Obtained 35 stack frames. /var/dcss/builds/dcss-0.30/0.30.0/bin/dcss(_Z17write_stack_traceP8_IO_FILE+0x38) [0x77cac8]: write_stack_trace(_IO_FILE*) /var/dcss/builds/dcss-0.30/0.30.0/bin/dcss(_Z13do_crash_dumpv+0x3de) [0x78655e]: do_crash_dump() /var/dcss/builds/dcss-0.30/0.30.0/bin/dcss(_Z20crash_signal_handleri+0x1f0) [0x77cf30]: crash_signal_handler(int) /lib/x86_64-linux-gnu/libc.so.6(+0x354c0) [0x7f22f77b84c0]: /lib/x86_64-linux-gnu/libpthread.so.0(raise+0x29) [0x7f22f7b5e269]: /var/dcss/builds/dcss-0.30/0.30.0/bin/dcss() [0x785d09] /var/dcss/builds/dcss-0.30/0.30.0/bin/dcss() [0x785eb1] /var/dcss/builds/dcss-0.30/0.30.0/bin/dcss() [0x80c069] /var/dcss/builds/dcss-0.30/0.30.0/bin/dcss(_ZN7InvMenu13examine_indexEi+0x45) [0x944465]: InvMenu::examine_index(int) /var/dcss/builds/dcss-0.30/0.30.0/bin/dcss(_ZN4Menu15process_commandE12command_type+0x219) [0xa61009]: Menu::process_command(command_type) /var/dcss/builds/dcss-0.30/0.30.0/bin/dcss() [0xa560d0] /var/dcss/builds/dcss-0.30/0.30.0/bin/dcss(_ZN2ui6Widget8on_eventERKNS_5EventE+0x86) [0xd28076]: ui::Widget::on_event(ui::Event const&) /var/dcss/builds/dcss-0.30/0.30.0/bin/dcss(_ZN2ui6UIRoot13deliver_eventERNS_5EventE+0x1bc) [0xd29a6c]: ui::UIRoot::deliver_event(ui::Event&) /var/dcss/builds/dcss-0.30/0.30.0/bin/dcss(_ZN2ui6UIRoot8on_eventER8wm_event+0xc7) [0xd29f87]: ui::UIRoot::on_event(wm_event&) /var/dcss/builds/dcss-0.30/0.30.0/bin/dcss(_ZN2ui11pump_eventsEi+0x80) [0xd2a0a0]: ui::pump_events(int) /var/dcss/builds/dcss-0.30/0.30.0/bin/dcss(_ZN4Menu7do_menuEv+0x32a) [0xa61f1a]: Menu::do_menu() /var/dcss/builds/dcss-0.30/0.30.0/bin/dcss(_ZN4Menu4showEb+0xe8) [0xa622c8]: Menu::show(bool) /var/dcss/builds/dcss-0.30/0.30.0/bin/dcss() [0x808737] /var/dcss/builds/dcss-0.30/0.30.0/bin/dcss(_Z20full_describe_squareRK9coord_defb+0x437) [0x80b2a7]: full_describe_square(coord_def const&, bool) /var/dcss/builds/dcss-0.30/0.30.0/bin/dcss(_ZN17direction_chooser15describe_targetEv+0x3f) [0x80b6ff]: direction_chooser::describe_target() /var/dcss/builds/dcss-0.30/0.30.0/bin/dcss(_ZN17direction_chooser15process_commandE12command_type+0x2b5) [0x80e965]: direction_chooser::process_command(command_type) /var/dcss/builds/dcss-0.30/0.30.0/bin/dcss(_ZN22UIDirectionChooserView8on_eventERKN2ui5EventE+0x158) [0x812598]: UIDirectionChooserView::on_event(ui::Event const&) /var/dcss/builds/dcss-0.30/0.30.0/bin/dcss(_ZN2ui6UIRoot13deliver_eventERNS_5EventE+0x189) [0xd29a39]: ui::UIRoot::deliver_event(ui::Event&) /var/dcss/builds/dcss-0.30/0.30.0/bin/dcss(_ZN2ui6UIRoot8on_eventER8wm_event+0xc7) [0xd29f87]: ui::UIRoot::on_event(wm_event&) /var/dcss/builds/dcss-0.30/0.30.0/bin/dcss(_ZN2ui11pump_eventsEi+0x80) [0xd2a0a0]: ui::pump_events(int) /var/dcss/builds/dcss-0.30/0.30.0/bin/dcss(_ZN17direction_chooser16choose_directionEv+0x32a) [0x80d9ea]: direction_chooser::choose_direction() /var/dcss/builds/dcss-0.30/0.30.0/bin/dcss(_Z9directionR4distRK22direction_chooser_args+0x77) [0x80dd67]: direction(dist&, direction_chooser_args const&) /var/dcss/builds/dcss-0.30/0.30.0/bin/dcss() [0x80dec8] /var/dcss/builds/dcss-0.30/0.30.0/bin/dcss(_Z14do_look_aroundRK9coord_def+0x3c) [0x80df5c]: do_look_around(coord_def const&) /var/dcss/builds/dcss-0.30/0.30.0/bin/dcss(_Z15process_command12command_typeS_+0xa8d) [0xdbb52d]: process_command(command_type, command_type) /var/dcss/builds/dcss-0.30/0.30.0/bin/dcss() [0xdb8442] /var/dcss/builds/dcss-0.30/0.30.0/bin/dcss() [0xdb8f65] /var/dcss/builds/dcss-0.30/0.30.0/bin/dcss(main+0x189) [0x6d9d59]: /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf0) [0x7f22f77a3840]: /var/dcss/builds/dcss-0.30/0.30.0/bin/dcss(_start+0x29) [0x6da819]: Trying to run gdb. GNU gdb (Ubuntu 8.2-0ubuntu1~16.04.1) 8.2 Copyright (C) 2018 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". 0x00007f22f7b5df2a in __waitpid (pid=1288, stat_loc=stat_loc@entry=0x0, options=options@entry=0) at ../sysdeps/unix/sysv/linux/waitpid.c:29 #0 0x00007f22f7b5df2a in __waitpid (pid=1288, stat_loc=stat_loc@entry=0x0, options=options@entry=0) at ../sysdeps/unix/sysv/linux/waitpid.c:29 resultvar = 18446744073709551104 sc_ret = #1 0x000000000077c945 in call_gdb (file=file@entry=0x7f22f7b48540 <_IO_2_1_stderr_>) at crash.cc:438 gdb = attach_cmd = "attach 687\000\000\000\000\000\000\000\000\000" #2 0x000000000078657a in do_crash_dump () at dbg-asrt.cc:692 t = 1684882899 dir = "/var/dcss/gamedata/dcss/morgue/SgtSorry/" name = "/var/dcss/gamedata/dcss/morgue/SgtSorry/crash-SgtSorry-20230523-230139.txt", '\000' signal_info = "Crash caused by signal #6: Aborted" cause_msg = "ASSERT(mme) in 'directn.cc' at line 758 failed." file = 0x7f22f7b48540 <_IO_2_1_stderr_> #3 0x000000000077cf30 in crash_signal_handler (sig_num=6) at crash.cc:198 No locals. #4 No locals. #5 0x00007f22f7b5e269 in raise (sig=6) at ../sysdeps/unix/sysv/linux/pt-raise.c:35 resultvar = 0 pid = #6 0x0000000000785d09 in _BreakStrToDebugger (mesg=mesg@entry=0x7ffdb8b243f0 "ASSERT(mme) in 'directn.cc' at line 758 failed.", assert=true) at dbg-asrt.cc:818 No locals. #7 0x0000000000785eb1 in AssertFailed (expr=expr@entry=0xdd1fd7 "mme", file=file@entry=0xdd18a5 "directn.cc", line=line@entry=758, text=text@entry=0x0) at dbg-asrt.cc:856 mesg = "ASSERT(mme) in 'directn.cc' at line 758 failed.\000\000\000\000\000\000\000\000\000 n$\001\000\000\000\000\200D\262\270\375\177\000\000\354\211\334\000\000\000\000\000]\000\000\000\000\000\000\000 n$\001\000\000\000\000\240D\262\270\375\177\000\000<\260<\370\"\177\000\000\240D\262\270\375\177\000\000\240D\262\270\375\177\000\000\060F\262\270\375\177\000\000>\237\337\000\000\000\000\000\030F\262\270\375\177\000\000\001\000\000\000\000\000\000\000\377\a\000\000\000\000\000\000\226\231\211\367\"\177\000\000\001\200\255\373\000\000\000\000\060F\262\270\375\177\000\000\060F\262\270\375\177\000\000"... args = {{gp_offset = 4155794592, fp_offset = 32546, overflow_arg_area = 0xffffffffffffffff, reg_save_area = 0x7f22f7b464a0 <_IO_strn_jumps>}} fileName = #8 0x000000000080c069 in ::operator() (__closure=0x7ffdb8b254f8, sel=...) at directn.cc:758 mme = m = gc = {x = 55482976, y = 0} desc = quant = 1 target = target = quant = mme = m = gc = desc = ie = i = fme = num = y = x = c = #9 std::_Function_handler&, const std::vector&, const std::vector&, std::string, bool, bool, std::string):: >::_M_invoke(const std::_Any_data &, const MenuEntry &) (__functor=..., __args#0=...) at /usr/include/c++/9/bits/std_function.h:285 No locals. #10 0x0000000000944465 in InvMenu::examine_index (this=0x7ffdb8b254c0, i=2) at invent.cc:431 do_actions = ie = #11 0x0000000000a61009 in Menu::process_command (this=0x7ffdb8b254c0, cmd=CMD_MENU_EXAMINE) at menu.cc:1855 ret = true old_vis_first = 0 multicol = old_hover = 2 #12 0x0000000000a560d0 in Menu::::operator() (__closure=, __closure=, ev=...) at menu.cc:1544 key = done = this = done = this = key = #13 ui::Widget::::operator() (event=..., this=) at ui.h:439 cb = cb = #14 std::_Function_handler]:: >::_M_invoke (__args#0=..., __functor=...) at /usr/include/c++/9/bits/std_function.h:285 No locals. #15 std::_Function_handler]:: >::_M_invoke(const std::_Any_data &, const ui::Event &) (__functor=..., __args#0=...) at /usr/include/c++/9/bits/std_function.h:283 No locals. #16 0x0000000000d28076 in std::function::operator()(ui::Event const&) const (__args#0=..., this=0x7ffdb8b24ed0) at /usr/include/c++/9/bits/std_function.h:263 No locals. #17 ui::Slot::emit(ui::Widget*, ui::Event const&) (args#0=..., target=, this=0x1243ac0 ) at ui.h:255 func = {> = {> = {}, }, = {static _M_max_size = 16, static _M_max_align = 8, _M_functor = {_M_unused = {_M_object = 0x7ffdb8b254c0, _M_const_object = 0x7ffdb8b254c0, _M_function_pointer = 0x7ffdb8b254c0, _M_member_pointer = (void (std::_Undefined_class::*)(std::_Undefined_class * const)) 0x7ffdb8b254c0, this adjustment 140727702147295}, _M_pod_data = "\300T\262\270\375\177\000\000\337P\262\270\375\177\000"}, _M_manager = 0xa54cc0 ]:: >::_M_manager(std::_Any_data &, const std::_Any_data &, std::_Manager_operation)>}, _M_invoker = 0xa55fc0 ]:: >::_M_invoke(const std::_Any_data &, const ui::Event &)>} it = {first = 0x2d3d760, second = {> = {> = {}, }, = {static _M_max_size = 16, static _M_max_align = 8, _M_functor = {_M_unused = {_M_object = 0x7ffdb8b254c0, _M_const_object = 0x7ffdb8b254c0, _M_function_pointer = 0x7ffdb8b254c0, _M_member_pointer = (void (std::_Undefined_class::*)(std::_Undefined_class * const)) 0x7ffdb8b254c0, this adjustment 140727702147295}, _M_pod_data = "\300T\262\270\375\177\000\000\337P\262\270\375\177\000"}, _M_manager = 0xa54cc0 ]:: >::_M_manager(std::_Any_data &, const std::_Any_data &, std::_Manager_operation)>}, _M_invoker = 0xa55fc0 ]:: >::_M_invoke(const std::_Any_data &, const ui::Event &)>}} i = i = it = func = #18 ui::Widget::on_event (this=, event=...) at ui.cc:232 No locals. #19 0x0000000000d29a6c in ui::UIRoot::deliver_event (this=0x1243c00 , event=...) at ui.cc:3017 w = 0x2d3d760 top = key = -1010 #20 0x0000000000d29f87 in ui::UIRoot::on_event (this=0x1243c00 , event=...) at ui.cc:2918 key_event = { = {m_type = ui::Event::KeyDown, m_target = std::shared_ptr (use count 3, weak count 1) = {get() = 0x41b19b0}}, m_key = -1010} #21 0x0000000000d2a0a0 in ui::pump_events (wait_event_timeout=wait_event_timeout@entry=2147483647) at ui.cc:3372 ev = {type = 2 '\002', active = {type = 0 '\000', gain = 0 '\000', state = 0 '\000'}, key = {type = 0 '\000', state = 0 '\000', keysym = {scancode = 0 '\000', sym = -1010, key_mod = 0 '\000', unicode = 0}}, mouse_event = {type = 0 '\000', event = wm_mouse_event::PRESS, button = wm_mouse_event::NONE, held = 0, mod = 0 '\000', px = 0, py = 0}, resize = {type = 0 '\000', w = 0, h = 0}, expose = {type = 0 '\000'}, quit = {type = 0 '\000'}, custom = {type = 0 '\000', code = 0, data1 = 0x0, data2 = 0x0}} macro_key = k = -1010 #22 0x0000000000a61f1a in Menu::do_menu (this=0x7ffdb8b254c0) at menu.cc:1569 done = false #23 0x0000000000a622c8 in Menu::show (this=this@entry=0x7ffdb8b254c0, reuse_selections=reuse_selections@entry=false) at menu.cc:1507 cs = {cstate = false} #24 0x0000000000808737 in _full_describe_menu (list_mons=..., list_items=std::vector of length 1, capacity 1 = {...}, list_features=std::vector of length 0, capacity 0, selectverb=..., examine_only=, full_view=false, title="What do you want to examine?") at directn.cc:841 desc_menu = { = { = {_vptr.Menu = 0xe980e8 , f_selitem = 0x0, f_keyfilter = 0x0, on_single_selection = {> = {> = {}, }, = {static _M_max_size = 16, static _M_max_align = 8, _M_functor = {_M_unused = {_M_object = 0x7ffdb8b25238, _M_const_object = 0x7ffdb8b25238, _M_function_pointer = 0x7ffdb8b25238, _M_member_pointer = (void (std::_Undefined_class::*)(std::_Undefined_class * const)) 0x7ffdb8b25238, this adjustment 140727702148528}, _M_pod_data = "8R\262\270\375\177\000\000\260U\262\270\375\177\000"}, _M_manager = 0x7fa6f0 &, const std::vector&, const std::vector&, std::string, bool, bool, std::string):: >::_M_manager(std::_Any_data &, const std::_Any_data &, std::_Manager_operation)>}, _M_invoker = 0x80c0d0 &, const std::vector&, const std::vector&, std::string, bool, bool, std::string):: >::_M_invoke(const std::_Any_data &, const MenuEntry &)>}, on_examine = {> = {> = {}, }, = {static _M_max_size = 16, static _M_max_align = 8, _M_functor = {_M_unused = {_M_object = 0x7ffdb8b25238, _M_const_object = 0x7ffdb8b25238, _M_function_pointer = 0x7ffdb8b25238, _M_member_pointer = (void (std::_Undefined_class::*)(std::_Undefined_class * const)) 0x7ffdb8b25238, this adjustment 5}, _M_pod_data = "8R\262\270\375\177\000\000\005\000\000\000\000\000\000"}, _M_manager = 0x7fa6b0 &, const std::vector&, const std::vector&, std::string, bool, bool, std::string):: >::_M_manager(std::_Any_data &, const std::_Any_data &, std::_Manager_operation)>}, _M_invoker = 0x80be00 &, const std::vector&, const std::vector&, std::string, bool, bool, std::string):: >::_M_invoke(const std::_Any_data &, const MenuEntry &)>}, on_show = {> = {}, = {static _M_max_size = 16, static _M_max_align = 8, _M_functor = {_M_unused = {_M_object = 0xda1086 , std::allocator > const&, char, char)+102>, _M_const_object = 0xda1086 , std::allocator > const&, char, char)+102>, _M_function_pointer = 0xda1086 , std::allocator > const&, char, char)+102>, _M_member_pointer = (void (std::_Undefined_class::*)(std::_Undefined_class * const)) 0xda1086 , std::allocator > const&, char, char)+102>, this adjustment 139784005615622}, _M_pod_data = "\206\020\332\000\000\000\000\000\006\000\000\000\"\177\000"}, _M_manager = 0x0}, _M_invoker = 0x3cbcff8}, action_cycle = Menu::CYCLE_NONE, menu_action = Menu::ACT_EXAMINE, _title_prompt_help_tag = "", title = 0x2f21340, title2 = 0x0, m_indent_title = false, flags = 262770, tag = "pickup", cur_page = 1, num_pages = -861173775, more = {ops = std::vector of length 0, capacity 0}, m_keyhelp_more = true, items = std::vector of length 5, capacity 8 = {0x306ab00, 0x33c0d30, 0x34e9a60, 0x34ebbb0, 0x3f715b0}, sel = std::vector of length 0, capacity 0, select_filter = std::vector of length 0, capacity 0, highlighter = 0x367e060, num = -1, lastch = 13, alive = true, more_needs_init = false, remap_numpad = true, last_hovered = 2, m_kmc = KMC_MENU, m_filter = 0x0, m_ui = {popup = std::shared_ptr (use count 3, weak count 1) = {get() = 0x2d3d760}, menu = std::shared_ptr (use count 2, weak count 1) = {get() = 0x3581980}, scroller = std::shared_ptr (use count 2, weak count 1) = {get() = 0x3265b10}, title = std::shared_ptr (use count 2, weak count 1) = {get() = 0x3b11f00}, more = std::shared_ptr (use count 2, weak count 1) = {get() = 0x2f32c10}, more_bin = std::shared_ptr (empty) = {get() = 0x0}, vbox = std::shared_ptr (use count 3, weak count 1) = {get() = 0x41b19b0}}, _webtiles_title_changed = false, _webtiles_title = {ops = std::vector of length 2, capacity 2 = {{type = FSOP_COLOUR, colour = 15, text = ""}, {type = FSOP_TEXT, colour = -1, text = "What do you want to examine?"}}}}, type = menu_type::pickup, pre_select = 0x0, title_annotate = 0x0, temp_title = "", _mode_special_drop = false}, } title_secondary = "" hotkey = {letter = 99 'c'} target = {x = -1, y = -1} #25 0x000000000080b2a7 in full_describe_square (c=..., cleanup=) at /usr/include/c++/9/bits/char_traits.h:342 describe_result = list_mons = std::vector of length 1, capacity 1 = {{ = {pos = {x = 36, y = 21}, mb = {_vptr.FixedBitVector = 0xe792c0 +16>, data = std::bitset = {[45] = 1, [50] = 1, [51] = 1, [117] = 1, [146] = 1, [152] = 1}}, mname = "Beischinu", type = MONS_PLAYER_GHOST, base_type = MONS_PLAYER_GHOST, {number = 0, num_heads = 0, slime_size = 0, is_active = 0}, _colour = -1, ghost_colour = 0, attitude = ATT_HOSTILE, threat = MTHRT_NASTY, dam = MDAM_OKAY, fire_blocker = DNGN_RUNED_CLEAR_DOOR, description = "", quote = "", holi = {<_enum_bitfield_exponent_base<5, true>> = {static last_exponent = 5}, flags = 4}, mintel = I_HUMAN, hd = 12, ac = 2, ev = 5, base_ev = 5, mr = 80, mresists = 4207129, can_see_invis = true, mitemuse = MONUSE_OPEN_DOORS, mbase_speed = 10, menergy = {move = 10 '\n', swim = 10 '\n', attack = 10 '\n', missile = 10 '\n', spell = 10 '\n', special = 10 '\n', item = 10 '\n', pickup_percent = 100 'd'}, props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 3 elements = {["known_max_hp"] = {type = SV_INT, flags = 0 '\000', val = {boolean = 112, byte = 112 'p', _short = 112, _int = 112, _float = 1.56945428e-43, _int64 = 112, ptr = 0x70}}, ["poly_set"] = {type = SV_VEC, flags = 0 '\000', val = {boolean = 112, byte = 112 'p', _short = 27760, _int = 50162800, _float = 3.72372489e-37, _int64 = 50162800, ptr = 0x2fd6c70}}, ["special_weapon_name"] = {type = SV_INT, flags = 0 '\000', val = {boolean = 11, byte = 11 '\v', _short = 11, _int = 11, _float = 1.54142831e-44, _int64 = 11, ptr = 0xb}}}, }, constrictor_name = "", constricting_name = std::vector of length 0, capacity 0, spells = std::vector of length 0, capacity 0, attack = {{type = AT_HIT, flavour = AF_PLAIN, damage = 22}, {type = AT_NONE, flavour = AF_PLAIN, damage = 0}, {type = AT_NONE, flavour = AF_PLAIN, damage = 0}, {type = AT_NONE, flavour = AF_PLAIN, damage = 0}}, can_go_frenzy = true, can_feel_fear = false, client_id = 769}, inv = {std::unique_ptr = {get() = 0x0}, std::unique_ptr = {get() = 0x0}, std::unique_ptr = {get() = 0x0}, std::unique_ptr = {get() = 0x0}, std::unique_ptr = {get() = 0x0}, std::unique_ptr = {get() = 0x0}, std::unique_ptr = {get() = 0x0}, std::unique_ptr = {get() = 0x0}, std::unique_ptr = {get() = 0x0}}, i_ghost = {species = SP_MINOTAUR, job = JOB_FIGHTER, religion = GOD_OKAWARU, best_skill = SK_SHIELDS, best_skill_rank = 1, xl_rank = 3, damage = 22, ac = 5}}} list_items = std::vector of length 1, capacity 1 = {0x3fb9550} list_features = std::vector of length 0, capacity 0 quantity = action_taken = false mi = feat = DNGN_FLOOR stash_items = #26 0x000000000080b6ff in direction_chooser::describe_target (this=0x7ffdb8b26760) at directn.cc:2095 No locals. #27 direction_chooser::describe_target (this=0x7ffdb8b26760) at directn.cc:2091 No locals. #28 0x000000000080e965 in direction_chooser::process_command (this=0x7ffdb8b26760, command=) at directn.cc:2207 loop_done = #29 0x0000000000812598 in UIDirectionChooserView::process_command (cmd=CMD_TARGET_DESCRIBE, this=0x32611a0) at directn.cc:2356 cc = loop_done = cc = loop_done = #30 UIDirectionChooserView::on_event (this=0x32611a0, ev=...) at directn.cc:2328 key = command = CMD_TARGET_DESCRIBE top_prompt = "" #31 0x0000000000d29a39 in ui::UIRoot::deliver_event (this=0x1243c00 , event=...) at ui.cc:2994 w = 0x32611a0 top = key = 118 #32 0x0000000000d29f87 in ui::UIRoot::on_event (this=0x1243c00 , event=...) at ui.cc:2918 key_event = { = {m_type = ui::Event::KeyDown, m_target = std::shared_ptr (use count 4, weak count 1) = {get() = 0x32611a0}}, m_key = 118} #33 0x0000000000d2a0a0 in ui::pump_events (wait_event_timeout=wait_event_timeout@entry=2147483647) at ui.cc:3372 ev = {type = 2 '\002', active = {type = 0 '\000', gain = 0 '\000', state = 0 '\000'}, key = {type = 0 '\000', state = 0 '\000', keysym = {scancode = 0 '\000', sym = 118, key_mod = 0 '\000', unicode = 0}}, mouse_event = {type = 0 '\000', event = wm_mouse_event::PRESS, button = wm_mouse_event::NONE, held = 0, mod = 0 '\000', px = 0, py = 0}, resize = {type = 0 '\000', w = 0, h = 0}, expose = {type = 0 '\000'}, quit = {type = 0 '\000'}, custom = {type = 0 '\000', code = 0, data1 = 0x0, data2 = 0x0}} macro_key = k = 118 #34 0x000000000080d9ea in direction_chooser::choose_direction (this=0x7ffdb8b26760) at directn.cc:2535 ui_cutoff_point = ccon = {cstate = false} no_blinking = {prev = false} mc = {m_previous_mode = MOUSE_MODE_NORMAL, static ms_current_mode = MOUSE_MODE_TARGET} legacy_range = { = {_vptr.targeter = 0xedadf8 , origin = {x = 30, y = 21}, aim = {x = 30, y = 21}, agent = 0x128f400 , why_not = "", obeys_mesmerise = false}, exp_range_min = 0, exp_range_max = 0, exp_map_min = {mData = {mData = {{mData = {32546, 0, 0, 0, 32546, -156, 0, -1196270424, 32765, -1196270440, 32765, 0, 32546, 0, 0, -1196270416, 32765, 0, 0}}, {mData = {24, 48, 0, 0, -1196268512, 32765, 0, 0, 0, 0, -1196270400, 32765, 0, 0, 10, 0, 1, 0, -1196269321}}, {mData = {32765, 1, 0, 14464139, 0, 0, 1, -1196270320, 32765, 0, 0, -1, -1, 0, 0, -1196268160, 32765, 14464139, 0}}, {mData = {-1196266640, 32765, -1196266848, 32765, -1207944670, 32765, 16, 48, -1196266608, 32765, -1196266816, 32765, 838874674, 741683712, 16, 48, -1196266576, 32765, -1196266784}}, {mData = {32765, 0, 0, 1001551392, -861173775, -1196268880, 32765, -1196268896, 32765, 39636144, 0, -1196268568, 32765, 0, 0, -142800579, 32546, 0, 0}}, {mData = {0, 0, 39636068, 0, -1196270056, 32765, -1196270072, 32765, 0, 0, -1196270176, 32765, -1196270176, 32765, -1196270160, 32765, -1196270160, 32765, -1196270144}}, {mData = {32765, -1196270144, 32765, -1196269744, 32765, 14453228, 0, -1196270112, 32765, -1196270112, 32765, -1196269712, 942768125, 14655591, 0, -1196270080, 32765, -1196270080, 32765}}, {mData = {-1196269680, 32765, 14464137, 0, -1196269704, 32765, 1, 0, 2047, 0, -141977194, 32546, -72515583, 32765, -1196269680, 32765, -1196269680, 32765, -1196269680}}, {mData = {32765, -1196269680, 32765, -1196269678, 32765, -1196267633, 32765, -1196269680, 32765, -1196267633, 32765, 0, 0, 0, 0, 0, 0, 0, 0}}, {mData = {0, 0, -1, 4, 0, 0, -65536, -1, 0, 0, -1, 0, -139172704, 32546, -1, -1, 0, 0, 0}}, {mData = {0, -139172704, 32546, -1, 0, -1196269824, 32765, -1196269424, 808550397, -139172704, 32546, 0, 0, 19164704, 0, -1196269760, 32765, 19164704, 0}}, {mData = {-1196269744, 32765, 14453228, 0, -1196267296, 32765, 19164704, 0, -1196269728, 32765, -1196269728, 32765, -1196269328, 32765, 14655294, 0, -1196269352, 32765, 1}}, {mData = {0, 2047, 0, -141977194, 32546, -72515583, 0, -1196269328, 32765, -1196269328, 32765, -1196269328, 32765, -1196269328, 32765, -1196269303, 32765, -1196267281, 32765}}, {mData = {-1196269328, 32765, -1196267281, 32765, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 4, 31, 0, 0}}, {mData = {0, 0, 0, 73699936, 0, 0, 0, -1, -1, 0, 0, 1196269473, -32766, -1196269473, 32765, -1, 0, 33, 56}}, {mData = {1, 0, -139172704, 32546, 0, 0, 0, 0, 0, 0, 19164704, 0, 14655294, 0, 14283746, 0, 0, 0, -139166944}}, {mData = {32546, 3, 1, 53365770, 0, 57709664, 0, 19164704, 0, 19164704, 0, 14655294, 0, -1196269328, 32765, -1196266800, 32765, -1196269312, 32765}}, {mData = {-1196269312, 32765, -1196268912, 32765, 14453228, 0, -1196269280, 32765, -1196269280, 32765, -1196268880, 805339133, 14655591, 0, -1196269248, 32765, -1196269248, 32765, -1196268848}}, {mData = {32765, 14464137, 0, -1196268872, 32765, 1, 0, 2047, 0, -141977194, 32546, -72515583, 32765, -1196268848, 32765, -1196268848, 32765, -1196268848, 32765}}}}}, exp_map_max = {mData = {mData = {{mData = {-1196268848, 32765, -1196268847, 32765, -1196266801, 32765, -1196268848, 32765, -1196266801, 32765, 0, 0, 0, 0, 0, 0, 0, 0, 0}}, {mData = {0, -1196268832, 4, 57821808, 0, -65536, -1, 0, 0, -1196268496, 32765, -139172704, 32546, -1, -1, 0, 0, -1196268704, 32765}}, {mData = {-139172704, 32546, -1, 0, -1196268912, 32765, -1196268704, 32765, -139172704, 32546, 0, 0, -130701087, 32546, -1196268896, 32765, 19164704, 0, -1196268912}}, {mData = {32765, 14453228, 0, -1196266560, 32765, 19164704, 0, -1196268880, 32765, -130240452, 32546, -1196266560, 32765, 19164704, 0, -1196268848, 32765, 14464137, 0}}, {mData = {-1196266560, 32765, 19164704, 0, 14464137, 0, 14284499, 0, 14882, 0, 24, 48, -1196266576, 32765, -1196266784, 32765, -1196294096, 32765, 8658039}}, {mData = {0, 1735292262, 1929409397, 0, 32765, -127506720, 32546, 20584224, 0, 0, 0, 0, 0, 0, 0, -1196268720, 32765, -1196268714, 32765}}, {mData = {-1196268705, 32765, -127476672, 32546, 16, 0, -1196268720, 32765, 0, 0, 1735292262, 29557, 0, 0, -127523568, 32546, 6, 0, 0}}, {mData = {0, 4098, 0 }}, {mData = {0 , -1196268528, 32765, 5}}, {mData = {0, 1970564972, 115, 0, 0, -1196268496, 32765, 0, 0, 1735292160, 105, 0, 0, 0, 0, 1001551360, -861173775, -127478176, 32546}}, {mData = {1, 0, 57821808, 0, -1196268256, 32765, 0, 0, 57821808, 0, -1196268256, 32765, 1001551360, -861173775, 0, 0, 1001551360, -861173775, 12}}, {mData = {0, 1001551360, -861173775, 0, 0, 1851, 0, 53365744, 0, 229376, 0, 0, 0, 1854, 0, -1196268208, 32765, 14289963, 0}}, {mData = {-1196268208, 32765, 14311856, 0, -1196268240, 32765, -1196268240, 32765, 60026544, 0, 1001551360, -861173775, -1196268240, 32765, 19164704, 0, 19164704, 0, -1196268016}}, {mData = {32765, 125, 0, 123, 0, 19164704, 0, 40689760, 0, -1196268016, 32765, 125, 0, 123, 0, 14291078, 0, -145985464, 32546}}, {mData = {19164704, 0, 63688696, 0, 14289963, 0, -145985464, 32546, 14330804, 0, 2, 32546, 20, 0, 20506920, 0, -1196267264, 32765, 4}}, {mData = {32546, 48, 0, 6, 0, 80, 0, 74166816, 0, 1, 0, 1196267953, -32766, -1196267953, 32765, 1196267937, -32766, -1196267937, 32765}}, {mData = {1, 0, 6, 49, 0, 0, 0, 0, 91, 110, 0, 0, 0, 0, 119, 124, 1196267857, -32766, -1196267857}}, {mData = {32765, 1, 0, -139166944, 32546, 48, 0, -139166944, 32546, 80, 0, 60297568, 0, 4, 0, 48, 0, 73717944, 0}}, {mData = {50937936, 0, 60297568, 0, 74166720, 0, 0, 0, 1001551360, -861173775, -1196267680, 32765, -1196267456, 32765, -1196267264, 32765, 8370545, 0, 9}}}}}, range = -1, affects_walls = true, affects_pos = 0x0} rva = tmp = {previous = false} save_more = {val = , oldval = true} directn_view = #35 0x000000000080dd67 in direction (moves=..., args=...) at directn.cc:460 No locals. #36 0x000000000080dec8 in _look_around_target (whence=...) at directn.cc:982 lmove = {isValid = false, isTarget = false, isEndpoint = false, isCancel = false, choseRay = false, interactive = true, target = {x = 36, y = 21}, delta = {x = 0, y = 0}, ray = {r = {start = {x = 0, y = 0}, dir = {x = 0, y = 0}}, on_corner = false, cycle_idx = -1}, find_target = false, fire_context = 0x0, cmd_result = 2000} args = {hitfunc = 0x0, restricts = DIR_TARGET, mode = TARG_ANY, range = -1, just_looking = true, needs_path = false, prefer_farthest = false, unrestricted = false, allow_shift_dir = true, self = confirm_prompt_type::prompt, target_prefix = 0xdd20ab "Here", top_prompt = "", behaviour = 0x0, show_floor_desc = false, show_boring_feats = true, get_desc_func = {, std::allocator >, std::allocator, std::allocator > > >, monster_info const&>> = {, std::allocator >, std::allocator, std::allocator > > > >> = {}, }, = {static _M_max_size = 16, static _M_max_align = 8, _M_functor = {_M_unused = {_M_object = 0x7ffdb8b268b0, _M_const_object = 0x7ffdb8b268b0, _M_function_pointer = 0x7ffdb8b268b0, _M_member_pointer = (void (std::_Undefined_class::*)(std::_Undefined_class * const)) 0x7ffdb8b268b0, this adjustment -140727702153455}, _M_pod_data = "\260h\262\270\375\177\000\000\021\227MG\002\200\377\377"}, _M_manager = 0x0}, _M_invoker = 0x8}, default_place = {x = 0, y = 0}} #37 0x000000000080df5c in do_look_around (whence=...) at coord-def.h:126 lmove = {isValid = false, isTarget = false, isEndpoint = false, isCancel = false, choseRay = false, interactive = true, target = {x = 36, y = 21}, delta = {x = 0, y = 0}, ray = {r = {start = {x = 0, y = 0}, dir = {x = 0, y = 0}}, on_corner = false, cycle_idx = -1}, find_target = false, fire_context = 0x0, cmd_result = 2000} #38 0x0000000000dbb52d in process_command (cmd=CMD_LOOK_AROUND, prev_cmd=CMD_EXPLORE) at main.cc:2155 No locals. #39 0x0000000000db8442 in _input () at main.cc:1243 cmd = CMD_LOOK_AROUND real_prev_cmd = CMD_EXPLORE player_disabled = {was_disabled = false} #40 0x0000000000db8f65 in _launch_game () at main.cc:480 game_start = ccon = {cstate = false} #41 0x00000000006d9d59 in _launch_game_loop () at main.cc:385 game_ended = false game_ended = ge = fe = E = #42 main (argc=, argv=0x7ffdb8b27198) at main.cc:335 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 687) 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 -DEXPERIMENTAL_BRANCH="HEAD" -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 -DCLUA_BINDINGS -DDGAMELAUNCH -DWEB_DIR_PATH="/web/" -D_GNU_SOURCE -isystem /usr/include/ncursesw LDFLAGS: -rdynamic -fuse-ld=gold -O2 >>>>>>>>>>> Place info: branch = 5, depth = 1 Level id: Lair:1 Level build method = , level layout type = open_caves, absdepth0 = 10 Level vaults: layout_cave_pods gammafunk_ghost_necromancy Markers: <<<<<<<<<<<<<<<<<<<<<< Marker #0, type 0 at (59, 11): feature (stone_stairs_up_i) >>>>>>>>>>>>>>>>>>>>>> Messages: <<<<<<<<<<<<<<<<<<<<<< H - a wand of paralysis (16) (gained 9 charges) Found a hand axe. You see here 3 large rocks. Found a stone staircase leading up. Found 4 stones. You see here 4 stones. Found a stone staircase leading down. You now have 309 gold pieces (gained 10). An orc warrior and an orc come into view. The orc warrior shouts! The orc shouts! There are monsters nearby! An orc comes into view. It is wielding a +0 mace. The orc shouts! An orc comes into view. It is wielding a +0 hand axe. The orc shouts! You closely miss the orc warrior. The orc warrior hits you with a +0 dire flail. You hit the orc warrior but do no damage. Your headbutt misses the orc warrior. The orc warrior barely misses you. You hit the orc warrior. You freeze the orc warrior. The orc warrior is moderately wounded. The orc warrior hits you but does no damage. You hit the orc warrior but do no damage. The orc warrior is moderately wounded. The orc warrior hits you but does no damage. You closely miss the orc warrior. You headbutt the orc warrior! The orc warrior is heavily wounded. The orc warrior hits you with a +0 dire flail. You barely miss the orc warrior. The orc warrior is heavily wounded. The orc warrior hits you but does no damage. You hit the orc warrior but do no damage. Your headbutt misses the orc warrior. The orc warrior is heavily wounded. The orc warrior closely misses you. You closely miss the orc warrior. The orc warrior is heavily wounded. The orc warrior hits you with a +0 dire flail! You impale the orc warrior!! You freeze the orc warrior. You kill the orc warrior! Trog accepts your kill. The orc closely misses you. You furiously retaliate! You headbutt the orc. Your base Polearms skill increases to level 6! You barely miss the orc. The orc is moderately wounded. The orc hits you but does no damage. You slash the orc! You freeze the orc. You kill the orc! Trog accepts your kill. You barely miss the orc. The orc closely misses you. You slash the orc! You freeze the orc. You kill the orc! Trog accepts your kill. You barely miss the orc. The orc hits you with a +0 hand axe. You puncture the orc! You freeze the orc. You kill the orc! Trog accepts your kill. Items here: )))) [[[ ††. An orc comes into view. It is wielding a +2 whip of flaming. The orc shouts! You slice the orc!! You freeze the orc. You kill the orc! Trog accepts your kill. Things that are here: a +2 whip of flaming; a +0 chain mail A bullfrog comes into view. The bullfrog croaks. The bullfrog barely misses you. You furiously retaliate! You headbutt the bullfrog. You puncture the bullfrog! The bullfrog seems to slow down. You freeze the bullfrog. The bullfrog is heavily wounded. The bullfrog closely misses you. You hit the bullfrog. The bullfrog seems to slow down. You freeze the bullfrog. The bullfrog is severely wounded. The bullfrog hits you but does no damage. You closely miss the bullfrog. Your headbutt misses the bullfrog. The bullfrog is severely wounded. The bullfrog hits you but does no damage. You closely miss the bullfrog. Your headbutt misses the bullfrog. The bullfrog is severely wounded. The bullfrog barely misses you. You furiously retaliate! You headbutt the bullfrog! You kill the bullfrog! Trog accepts your kill. You now have 325 gold pieces (gained 16). You see here a +0 shortbow. You see here a +0 shortbow. I - a clear potion Done exploring. There is a stone staircase leading down here. You climb downwards. There is a stone staircase leading up here. There is a stone staircase leading up here. You open the door. There is an open door here. You open the door. There is an open door here. There is an open door here. Psyche the Insane Magess comes into view. She is wielding a +2 dagger of chaos. Psyche shouts! Psyche begins to cast a cantrip, but forgets the words! Psyche mumbles some strange words. Psyche flickers and vanishes! Deactivating autopickup; reactivate with Ctrl-A. Something completely misses you. You barely miss something. You hear some strange, mumbled words. You closely miss something. Something hits you but does no damage. x2 You miss something. Something hits you. Something burns you. You puncture something! You freeze something. Something hits you but does no damage. You miss something. Your headbutt misses something. Something hits you but does no damage. x2 You closely miss something. Something hits you but does no damage. You miss something. Something hits you but does no damage. You barely miss something. Your headbutt misses something. Something hits you. You feel drained. You hear some strange, mumbled words. A swirling arc of seething chaos appears! An arc of chaos appears from out of thin air! The arc of chaos hits you but does no damage. You barely miss something. Your headbutt misses something. You hear some strange, mumbled words. A swirling arc of seething chaos appears! An arc of chaos appears from out of thin air! The arc of chaos hits you but does no damage. You slice something!! You freeze something. Trog accepts your kill. Trog appreciates your killing of a magic user. Reactivating autopickup. You feel a bit more experienced. Your life force feels restored. Your Armour skill increases to level 10! Things that are here: a +2 dagger of chaos; a +0 robe HP restored. Found a stone staircase leading down. There is a stone staircase leading down here. You now have 343 gold pieces (gained 18). 2 gnolls come into view. The gnoll shouts! A gnoll sergeant comes into view. It is wielding a +2 spear of flaming. A gnoll comes into view. It is wielding a +0 spear. A gnoll comes into view. It is wielding a +0 halberd. The gnoll shouts! The gnoll barely misses you. A red film seems to cover your vision as you go berserk! You feel yourself moving faster! You feel mighty! The gnoll hits you but does no damage. x2 You hit the gnoll. You freeze the gnoll. You headbutt the gnoll! You kill the gnoll! Trog accepts your kill. The gnoll hits you but does no damage. The gnoll sergeant hits you from afar with a +2 spear of flaming. The gnoll sergeant burns you. Your Fighting skill increases to level 10! You closely miss the gnoll. You slice the gnoll!! You freeze the gnoll. You kill the gnoll! Trog accepts your kill. The gnoll sergeant hits you from afar with a +2 spear of flaming. The gnoll sergeant burns you. Unknown command. The gnoll hits you but does no damage. The gnoll closely misses you. The gnoll sergeant hits you but does no damage. You puncture the gnoll sergeant! You freeze the gnoll sergeant. Your headbutt misses the gnoll sergeant. The gnoll sergeant is heavily wounded. You slice the gnoll sergeant!! You freeze the gnoll sergeant. You kill the gnoll sergeant! Trog accepts your kill. The gnoll hits you with a +0 spear! The gnoll barely misses you. You furiously retaliate! You headbutt the gnoll!! You kill the gnoll! Trog accepts your kill. You slice the gnoll!! You freeze the gnoll. You kill the gnoll! Trog accepts your kill. Unknown command. You see here a +0 halberd. You feel a strong urge to attack something. Things that are here: a +2 spear of flaming; a +0 scale mail; a +0 kite shield You are no longer berserk. You are exhausted. You feel yourself slow down. Things that are here: a +0 spear; a gnoll corpse You start resting. HP restored. You start waiting. You feel yourself speed up. You recover from your berserk rage. Key pressed, stopping explore. You open the door. There is an open door here. There is an open door here. You now have 357 gold pieces (gained 14). You open the door. There is an open door here. Found 8 stones. 3 yaks come into view. The yak bellows! x2; You hear a bellow! A yak comes into view. A yak comes into view. A yak comes into view. The yak bellows! You slice the yak!! You freeze the yak! You headbutt the yak, but do no damage. The yak is severely wounded. You hear a shout! The yak gores you. You completely miss the yak. The yak is severely wounded. The yak closely misses you. You furiously retaliate! You headbutt the yak. You barely miss the yak. You headbutt the yak. The yak is almost dead. You barely miss the yak. You headbutt the yak. The yak is almost dead. An orc wizard comes into view. It is wielding a +0 dagger. The yak gores you but does no damage. You puncture the yak! You freeze the yak. You kill the yak! Trog accepts your kill. The yak gores you but does no damage. You puncture the yak! You freeze the yak. The yak is moderately wounded. The yak gores you but does no damage. You impale the yak!! You freeze the yak. You headbutt the yak. You kill the yak! Trog accepts your kill. An orc comes into view. It is wielding a +0 mace. Your base Polearms skill increases to level 7! You closely miss the yak. The orc shouts! The yak closely misses you. You furiously retaliate! You headbutt the yak! You hit the yak. You freeze the yak. You headbutt the yak. The yak is heavily wounded. The yak barely misses you. You hit the yak. You freeze the yak. The yak is severely wounded. You closely miss the yak. You headbutt the yak. The yak is lightly wounded. The yak completely misses you. You furiously retaliate! You headbutt the yak. An orc wizard comes into view. It is wielding a +0 dagger. The yak gores you. The orc wizard shouts! You hit the yak. You freeze the yak. The yak is moderately wounded. The yak gores you but does no damage. The yak gores you! You hit the yak. You freeze the yak. The yak is moderately wounded. The yak gores you! The yak closely misses you. The yak gores you but does no damage. x2 The orc wizard gestures wildly while chanting. The orc wizard flickers and vanishes! Deactivating autopickup; reactivate with Ctrl-A. You slash the yak! You freeze the yak. You kill the yak! Trog accepts your kill. You completely miss the yak. Your headbutt misses the yak. The yak is moderately wounded. The yak gores you but does no damage. You impale the yak!! You freeze the yak! You kill the yak! Trog accepts your kill. The yak gores you. You slash the yak! You freeze the yak. The yak is heavily wounded. You hit the yak but do no damage. The yak is heavily wounded. The yak completely misses you. The orc wizard casts a spell. The orc wizard flickers and vanishes! You hear some strange, mumbled words. A magic dart appears from out of thin air! The magic dart hits you but does no damage. You barely miss the yak. The yak is heavily wounded. The yak gores you. You hear some strange, mumbled words. A magic dart appears from out of thin air! The magic dart hits you but does no damage. You closely miss the yak. Your headbutt misses the yak. The yak is heavily wounded. The yak gores you but does no damage. Something hits you but does no damage. You barely miss the yak. The yak is heavily wounded. The yak gores you. Something hits you but does no damage. You puncture the yak! You freeze the yak. The yak is severely wounded. The yak closely misses you. Something hits you. You barely miss the yak. You headbutt the yak! The yak is almost dead. The yak gores you. Something hits you but does no damage. You slash the yak! You freeze the yak. You kill the yak! Trog accepts your kill. Something hits you but does no damage. You impale something!! You freeze something! Trog accepts your kill. Trog appreciates your killing of a magic user. Reactivating autopickup. You feel a bit more experienced. You closely miss the orc. You headbutt the orc. You kill the orc! Trog accepts your kill. Deactivating autopickup; reactivate with Ctrl-A. You closely miss something. Something hits you. You closely miss something. Something hits you but does no damage. You puncture something! You freeze something. Trog accepts your kill. Trog appreciates your killing of a magic user. Reactivating autopickup. You feel a bit more experienced. You hit the yak. You freeze the yak. Your headbutt misses the yak. The yak is lightly wounded. The yak gores you. You closely miss the yak. Your headbutt misses the yak. The yak is lightly wounded. The yak gores you but does no damage. You hit the yak but do no damage. You headbutt the yak! The yak is moderately wounded. The yak gores you but does no damage. You barely miss the yak. Your headbutt misses the yak. The yak is moderately wounded. The yak gores you. You barely miss the yak. The yak is moderately wounded. The yak barely misses you. You hit the yak. You freeze the yak. The yak is heavily wounded. The yak gores you! You barely miss the yak. You headbutt the yak! The yak is severely wounded. The yak misses you. You puncture the yak! You freeze the yak. You kill the yak! Trog accepts your kill. Items here: ))) [[[ ††. Things that are here: a yak corpse; a yak corpse You start resting. You start resting. HP restored. You open the door. There is an open door here. There is an open door here. Found a stone staircase leading up. You open the door. There is an open door here. You open the door. There is an open door here. A kobold brigand comes into view. It is wielding a +0 club and quivering poisoned darts. The kobold brigand shouts! The kobold brigand throws a poisoned dart. The poisoned dart hits you! You are poisoned. You feel sick. You feel sick. You feel sick. The kobold brigand hits you but does no damage. You closely miss the kobold brigand. You feel sick. A kobold comes into view. It is wielding a +1 short sword of venom. The kobold brigand hits you but does no damage. You puncture the kobold brigand! You freeze the kobold brigand. Your headbutt misses the kobold brigand. The kobold brigand is moderately wounded. You feel sick. A kobold comes into view. It is wielding a +0 dagger of venom. A kobold comes into view. It is wielding a +0 club and quivering poisoned darts. You feel sick. The kobold shouts! You hear a shout! x3 A kobold comes into view. It is wielding a +0 short sword. The kobold hits you but does no damage. You are more poisoned. The kobold brigand hits you with a +0 club. The kobold moves out of view. A red film seems to cover your vision as you go berserk! You feel yourself moving faster! You feel mighty! You feel very sick. The kobold barely misses you. You furiously retaliate! You headbutt the kobold! You kill the kobold! Trog accepts your kill. A kobold comes into view. It is wielding a +1 whip of electrocution. The kobold brigand barely misses you. You barely miss the kobold brigand. The kobold brigand is moderately wounded. You feel sick. You slice the kobold brigand!! You freeze the kobold brigand. You kill the kobold brigand! Trog accepts your kill. You feel sick. The kobold hits you but does no damage. You have reached level 11! You barely miss the kobold. You feel sick. A kobold comes into view. It is wielding a +0 dagger. You feel sick. The kobold shouts! Things that are here: a +1 short sword of venom; 5 stones; a kobold corpse You completely miss the kobold. You headbutt the kobold. You kill the kobold! Trog accepts your kill. You feel sick. The kobold hits you but does no damage. The kobold barely misses you. You closely miss the kobold. You slice the kobold!! You freeze the kobold. You kill the kobold! Trog accepts your kill. You feel sick. The kobold barely misses you. You barely miss the kobold. You feel sick. The kobold closely misses you. You puncture the kobold! You freeze the kobold. You kill the kobold! Trog accepts your kill. You impale the kobold!! You freeze the kobold. You kill the kobold! Trog accepts your kill. You feel sick. The kobold hits you but does no damage. You are more poisoned. You slash the kobold! You freeze the kobold. You kill the kobold! Trog accepts your kill. You feel sick. You feel sick. Things that are here: a +0 dagger; a +0 club; 3 poisoned darts You feel a strong urge to attack something. You feel sick. There is an open door here. Things that are here: a +1 whip of electrocution; a +0 short sword; 2 stones You are no longer berserk. You are exhausted. You feel yourself slow down. You feel sick. Things that are here: a +1 short sword of venom; 5 stones; a kobold corpse You feel sick. Things that are here: a +0 dagger of venom; 5 stones You feel sick. You feel sick. You are no longer poisoned. You feel yourself speed up. You recover from your berserk rage. You now have 363 gold pieces (gained 6). Things that are here: a +0 club; 4 poisoned darts An orc wizard comes into view. It is wielding a +0 hand axe. The orc wizard gestures wildly while chanting. The orc wizard flickers and vanishes! Deactivating autopickup; reactivate with Ctrl-A. You hear a shout! An orc comes into view. It is wielding a +0 morningstar. The orc shouts! You slice something!! You freeze something. Trog accepts your kill. Trog appreciates your killing of a magic user. Reactivating autopickup. You feel a bit more experienced. An orc comes into view. It is wielding a +0 war axe. Things that are here: a +0 hand axe; a +0 robe; 10 gold pieces The orc barely misses you. You furiously retaliate! You headbutt the orc! You kill the orc! Trog accepts your kill. You hit the orc but do no damage. You headbutt the orc. The orc is moderately wounded. The orc barely misses you. You furiously retaliate! You headbutt the orc! You kill the orc! Trog accepts your kill. r - 3 scrolls labelled OJUZOTILUH (gained 1) Things that are here: a +0 war axe; a +0 leather armour You now have 373 gold pieces (gained 10). Things that are here: a +0 hand axe; a +0 robe There is an open door here. Found a dagger. A steam dragon comes into view. The steam dragon hisses angrily. You see here a potion of curing. The steam dragon bites you but does no damage. The steam dragon claws you but does no damage. You hit the steam dragon but do no damage. Your headbutt misses the steam dragon. The steam dragon completely misses you. The steam dragon barely misses you. You barely miss the steam dragon. The steam dragon closely misses you. The steam dragon claws you but does no damage. You hit the steam dragon but do no damage. Your headbutt misses the steam dragon. The steam dragon bites you but does no damage. The steam dragon claws you. You impale the steam dragon!! You freeze the steam dragon! You kill the steam dragon! Trog accepts your kill. Your base Polearms skill increases to level 8! d - 5 potions of curing (gained 1) A wraith comes into view. A wraith is nearby! You impale the wraith!! You freeze the wraith. The wraith is almost destroyed. The wraith hits you but does no damage. You hit the wraith but do no damage. The wraith is almost destroyed. The wraith hits you but does no damage. You slash the wraith! You freeze the wraith. You destroy the wraith! Trog accepts your kill. There is an open door here. v - 2 lumpy puce potions (gained 1) Found a stone staircase leading down. x - 4 potions of brilliance (gained 1) There is an open door here. There is an open door here. There is an open door here. There is an open door here. There is an open door here. You now have 389 gold pieces (gained 16). You open the door. An orc warrior and an orc priest come into view. The orc warrior shouts! The orc priest shouts! The orc warrior unwields a +0 mace. The orc warrior wields a +0 arbalest. The orc warrior shoots a bolt. The bolt misses you. There is an open door here. An orc comes into view. It is wielding a +0 dagger. The orc shouts! The orc warrior shoots a bolt. The bolt misses you. Found a scale mail. The orc priest looks satisfied for a moment. The orc warrior shoots a bolt. The bolt hits you but does no damage. The orc priest closely misses you. You furiously retaliate! You headbutt the orc priest. The orc warrior shoots a bolt. The bolt hits you. You slash the orc priest! You freeze the orc priest. You kill the orc priest! Trog accepts your kill. The orc warrior shoots a bolt. The bolt hits you but does no damage. You hit the orc. You freeze the orc. You kill the orc! Trog accepts your kill. The orc warrior shoots a bolt. The bolt closely misses you. The orc warrior unwields a +0 arbalest. The orc warrior wields a +0 mace. The orc warrior hits you with a +0 mace. You slice the orc warrior!! You freeze the orc warrior. The orc warrior is severely wounded. The orc warrior hits you but does no damage. You slash the orc warrior! You freeze the orc warrior. You headbutt the orc warrior. The orc warrior is almost dead. The orc warrior hits you with a +0 mace. You hit the orc warrior. You freeze the orc warrior. You kill the orc warrior! Trog accepts your kill. Items here: )) [ †. You open the door. 2 two-headed ogres come into view. The two-headed ogre shouts in stereo! x2 Found a scroll of amnesia. There are monsters nearby! You don't know any spells. Unknown command. Your ogre goes berserk! The two-headed ogre hits your ogre with a +0 giant club!! x2 Your ogre dies! Your ogre's corpse disappears in a puff of smoke! Found a ring of willpower. You see here a ring of willpower. J - a ring of willpower You open the door. Found 15 gold pieces. There is an open door here. Found a falchion. The two-headed ogre attacks as you move away! The two-headed ogre hits you but does no damage. The two-headed ogre completely misses you. Your skin crawls. You feel strong-willed. The two-headed ogre hits you with a +0 giant club! The two-headed ogre barely misses you. A red film seems to cover your vision as you go berserk! You feel yourself moving faster! You feel mighty! The two-headed ogre hits you with a +0 giant club! The two-headed ogre hits you with a +0 giant club. You hit the two-headed ogre. You freeze the two-headed ogre. The two-headed ogre is lightly wounded. The two-headed ogre hits you with a +0 giant club!! The two-headed ogre hits you with a +0 giant club! You slice the two-headed ogre!! You freeze the two-headed ogre. The two-headed ogre is moderately wounded. The two-headed ogre completely misses you. The two-headed ogre hits you with a +0 giant club! You closely miss the two-headed ogre. The two-headed ogre is moderately wounded. The two-headed ogre hits you with a +0 giant club! x2 You dice the two-headed ogre like an onion!!! You freeze the two-headed ogre! You kill the two-headed ogre! Trog accepts your kill. You puncture the two-headed ogre! You freeze the two-headed ogre. The two-headed ogre is moderately wounded. The two-headed ogre barely misses you. The two-headed ogre hits you with a +0 giant club! You puncture the two-headed ogre! You freeze the two-headed ogre. The two-headed ogre is heavily wounded. You completely miss the two-headed ogre. The two-headed ogre is heavily wounded. The two-headed ogre hits you with a +0 giant club! * * * LOW HITPOINT WARNING * * * The two-headed ogre hits you with a +0 giant club! * * * LOW HITPOINT WARNING * * * You impale the two-headed ogre!! You freeze the two-headed ogre. You feel the power of Trog in you as your rage grows. You kill the two-headed ogre! Trog accepts your kill. Your base Polearms skill increases to level 9! Unknown command. You start resting. You feel a strong urge to attack something. You start resting. You feel your anger nearly subside. You are no longer berserk. You are exhausted. You feel yourself slow down. You start resting. You feel the effects of Trog's Hand fading. You start resting. Your skin stops crawling. You feel less strong-willed. You start resting. You feel yourself speed up. You start resting. You recover from your berserk rage. You start resting. HP restored. You now have 404 gold pieces (gained 15). You see here a +0 falchion. You open the door. There is an open door here. You open the door. There is an open door here. Found a stone staircase leading down. There is an open door here. Found a scroll of vulnerability. q - 7 scrolls of teleportation (gained 1) You see here a scroll of vulnerability. Found a stone staircase leading up. There is an open door here. There is an open door here. There is an open door here. There is an open door here. There is an open door here. There is an open door here. You open the door. Found a staircase to the Lair. There is an open door here. Things that are here: a +1 short sword of venom; 5 stones You open the door. There is an open door here. Things that are here: a +0 dagger; a +0 club; 3 poisoned darts Things that are here: a +1 short sword of venom; 5 stones Things that are here: a +0 dagger of venom; 5 stones Things that are here: a +0 club; 4 poisoned darts There is an open door here. There is an open door here. There is an open door here. You open the door. There is an open door here. You open the door. There is an open door here. You open the door. There is an open door here. There is an open door here. You open the door. Found a chain mail. There is an open door here. Done exploring. Done exploring. You open the door. There is an open door here. There is an open door here. There is a staircase to the Lair here. You climb downwards. Welcome to the Lair of Beasts! Found a short sword and 15 gold pieces. Found a stone staircase leading down. There is a staircase back to the Dungeon here. You now have 419 gold pieces (gained 15). There are no items here. Found a quarterstaff. Found a scroll of vulnerability. A yak comes into view. The yak bellows! You hear a bellow! x2 A yak comes into view. A yak comes into view. The yak bellows! A yak comes into view. x2 The yak bellows! The yak gores you. You closely miss the yak. You headbutt the yak. The yak is lightly wounded. You impale the yak!! You freeze the yak! Your headbutt misses the yak. The yak is severely wounded. The yak misses you. You slice the yak!! You freeze the yak. You kill the yak! Trog accepts your kill. You puncture the yak! You freeze the yak! You headbutt the yak. The yak is severely wounded. The yak gores you but does no damage. You hit the yak. You freeze the yak. The yak is almost dead. The yak gores you but does no damage. You hit the yak but do no damage. The yak is almost dead. The yak gores you. A yak comes into view. The yak bellows! You puncture the yak! You freeze the yak. You kill the yak! Trog accepts your kill. A yak comes into view. The yak bellows! You hit the yak. You freeze the yak. You headbutt the yak. The yak is moderately wounded. The yak closely misses you. A yak comes into view. You barely miss the yak. You headbutt the yak. The yak is moderately wounded. The yak gores you! You hit the yak but do no damage. You headbutt the yak. The yak is heavily wounded. The yak gores you but does no damage. You puncture the yak! You freeze the yak. You headbutt the yak, but do no damage. The yak is almost dead. The yak gores you but does no damage. You hit the yak. You freeze the yak. You kill the yak! Trog accepts your kill. You slash the yak! You freeze the yak. The yak is heavily wounded. The yak closely misses you. You impale the yak!! You freeze the yak! You kill the yak! Trog accepts your kill. You hit the yak but do no damage. Your headbutt misses the yak. The yak gores you but does no damage. You hit the yak. You freeze the yak. You headbutt the yak, but do no damage. The yak is lightly wounded. The yak gores you but does no damage. You impale the yak!! You freeze the yak! The yak is almost dead. The yak gores you but does no damage. You slice the yak!! You freeze the yak. You kill the yak! Trog accepts your kill. You puncture the yak! You freeze the yak. You headbutt the yak. The yak is heavily wounded. The yak gores you but does no damage. You barely miss the yak. Your headbutt misses the yak. The yak is heavily wounded. You hit the yak. You freeze the yak. You headbutt the yak! You kill the yak! Trog accepts your kill. You puncture the yak! You freeze the yak. The yak is moderately wounded. The yak gores you. You slash the yak! You freeze the yak. You headbutt the yak! The yak is severely wounded. The yak gores you. You barely miss the yak. You headbutt the yak, but do no damage. The yak is severely wounded. The yak gores you but does no damage. You hit the yak. You freeze the yak. You headbutt the yak. The yak is almost dead. The yak barely misses you. You furiously retaliate! You headbutt the yak. You kill the yak! Trog accepts your kill. Your base Polearms skill increases to level 10! You puncture the yak! You freeze the yak. The yak is moderately wounded. The yak gores you but does no damage. You barely miss the yak. Your headbutt misses the yak. The yak is moderately wounded. The yak gores you but does no damage. You barely miss the yak. Your headbutt misses the yak. The yak is moderately wounded. The yak gores you! You hit the yak but do no damage. The yak is moderately wounded. The yak gores you but does no damage. You closely miss the yak. You headbutt the yak! The yak is severely wounded. The yak gores you! You barely miss the yak. You headbutt the yak! The yak is almost dead. The yak gores you but does no damage. You hit the yak. You freeze the yak. You kill the yak! Trog accepts your kill. Items here: †††††. You start resting. HP restored. Found a flail. A basilisk comes into view. The basilisk hisses angrily. The basilisk gazes at you. You resist with almost no effort. You slash the basilisk! The basilisk seems to slow down. You freeze the basilisk. The basilisk is moderately wounded. You slice the basilisk!! You freeze the basilisk! You kill the basilisk! Trog accepts your kill. You see here a +0 flail. A rime drake comes into view. The rime drake hisses angrily. The rime drake breathes ice at you. The icy flash freeze hits you but does no damage. You are encased in ice. You hear a loud, deep croak! A bullfrog comes into view. The ice encasing you melts away. The bullfrog croaks. The bullfrog barely misses you. You furiously retaliate! You headbutt the bullfrog, but do no damage. You slash the bullfrog! The bullfrog seems to slow down. You freeze the bullfrog. The bullfrog is heavily wounded. The bullfrog hits you but does no damage. You closely miss the bullfrog. The bullfrog is heavily wounded. The bullfrog is no longer moving slowly. The bullfrog hits you but does no damage. You closely miss the bullfrog. You headbutt the bullfrog. The bullfrog is heavily wounded. The bullfrog hits you but does no damage. You barely miss the bullfrog. The bullfrog is heavily wounded. The bullfrog hits you. You miss the bullfrog. Your headbutt misses the bullfrog. The bullfrog is heavily wounded. The bullfrog barely misses you. You furiously retaliate! You headbutt the bullfrog! You kill the bullfrog! Trog accepts your kill. The rime drake breathes ice at you. The icy flash freeze misses you. The rime drake bites you but does no damage. You see here a bullfrog corpse. You barely miss the rime drake. The rime drake closely misses you. You closely miss the rime drake. Your headbutt misses the rime drake. The rime drake bites you but does no damage. You hit the rime drake. The rime drake is lightly wounded. The rime drake completely misses you. You hit the rime drake. The rime drake is lightly wounded. The rime drake breathes ice at you. The icy flash freeze hits you! You partially resist. You are encased in ice. You puncture the rime drake! You freeze the rime drake. Your headbutt misses the rime drake. The rime drake is heavily wounded. The rime drake bites you. You slice the rime drake!! You freeze the rime drake. You kill the rime drake! Trog accepts your kill. The ice encasing you melts away. You see here a rime drake corpse. You start resting. Something stings the plant. The plant begins to die. A cane toad comes into view. You see here a rime drake corpse. Something stings the plant! You see here a bullfrog corpse. You start resting. A nearby plant withers and dies. You hit the cane toad but do no damage. The cane toad completely misses you. The cane toad closely misses you. You barely miss the cane toad. The cane toad barely misses you. You slash the cane toad! You freeze the cane toad. You headbutt the cane toad, but do no damage. The cane toad is heavily wounded. The cane toad barely misses you. You puncture the cane toad! The cane toad seems to slow down. You freeze the cane toad. You headbutt the cane toad. You kill the cane toad! Trog accepts your kill. Things that are here: a cane toad corpse; a rime drake corpse You start resting. HP restored. You now have 438 gold pieces (gained 19). A bullfrog comes into view. The bullfrog gives a loud, deep croak! The bullfrog hits you but does no damage. You barely miss the bullfrog. Your headbutt misses the bullfrog. The bullfrog barely misses you. You slice the bullfrog!! You freeze the bullfrog! You kill the bullfrog! Trog accepts your kill. You see here a bullfrog corpse. K - a bubbling orange potion Found a cloak. c - 2 bubbling red potions (gained 1) A water moccasin comes into view. Found a dagger. The water moccasin hisses angrily. A water moccasin is nearby! Found a stone staircase leading down. The water moccasin bites you but does no damage. You barely miss the water moccasin. The water moccasin closely misses you. You closely miss the water moccasin. The water moccasin bites you. The water moccasin barely misses you. You furiously retaliate! You headbutt the water moccasin! You puncture the water moccasin! You freeze the water moccasin. You kill the water moccasin! Trog accepts your kill. You see here a +0 cloak. You start putting on your armour. You continue putting on your +0 cloak. x4 You finish putting on your +0 cloak. Found 4 stones. q - 8 scrolls of teleportation (gained 1) You see here 4 stones. 2 blink frogs come into view. The blink frog gives a loud, deep croak! The blink frog croaks. You hear a loud, deep croak! The blink frog blinks! A blink frog comes into view. The blink frog moves out of view. You hit the blink frog. The blink frog seems to slow down. You freeze the blink frog. Your headbutt misses the blink frog. The blink frog is lightly wounded. The blink frog hits you but does no damage. You puncture the blink frog! You freeze the blink frog. You headbutt the blink frog! You kill the blink frog! Trog accepts your kill. The blink frog hits you. The blink frog blinks! A bullfrog comes into view. The blink frog blinks! The blink frog hits you. You miss the blink frog. The blink frog blinks! The blink frog barely misses you. You furiously retaliate! You headbutt the blink frog. You barely miss the blink frog. The blink frog is lightly wounded. The blink frog blinks! The blink frog blinks! x2 You closely miss the bullfrog. Your headbutt misses the bullfrog. The bullfrog closely misses you. The bullfrog hits you but does no damage. You closely miss the bullfrog. Your headbutt misses the bullfrog. The bullfrog hits you but does no damage. You slash the bullfrog! You freeze the bullfrog. The bullfrog is severely wounded. The bullfrog closely misses you. You impale the bullfrog!! You freeze the bullfrog. You kill the bullfrog! Trog accepts your kill. The blink frog closely misses you. You furiously retaliate! You headbutt the blink frog! You slice the blink frog!! You freeze the blink frog. You kill the blink frog! Trog accepts your kill. Your base Polearms skill increases to level 11! The blink frog hits you. You slash the blink frog! The blink frog seems to slow down. You freeze the blink frog! The blink frog is severely wounded. The blink frog completely misses you. You barely miss the blink frog. The blink frog is severely wounded. You puncture the blink frog! The blink frog seems to slow down. You freeze the blink frog. You kill the blink frog! Trog accepts your kill. Things that are here: a blink frog corpse; a blink frog corpse A cane toad comes into view. A cane toad is nearby! You slice the cane toad!! You freeze the cane toad. The cane toad is almost dead. The cane toad stings you! You puncture the cane toad! You freeze the cane toad. You kill the cane toad! Trog accepts your kill. You see here a cane toad corpse. Found 6 boomerangs. Found 3 poisoned darts. Found a stone staircase leading down. Found an escape hatch in the floor. Found a runed translucent gate. Found a flail. You now have 458 gold pieces (gained 20). Found a glaive. Beischinu's ghost turns its malevolent gaze towards you. Press: ? - help, v - describe, . - travel, g - get item Here: Beischinu's ghost, wielding a heavy weapon (fire blocked by a runed translucent door) Item here: a scroll of fog. The floor. >>>>>>>>>>>>>>>>>>>>>> Version history: Game started: 0.30.0 Game state: mouse_enabled: 0, waiting_for_command: 0, terminal_resized: 0 io_inited: 1, need_save: 1, saving_game: 0, updating_scores: 0: seen_hups: 0, map_stat_gen: 0, type: 1, arena_suspended: 0 prev_cmd = CMD_LOOK_AROUND repeat_cmd = CMD_NO_CMD Player: {{{{{{{{{{{ Name: [SgtSorry] Species: Minotaur Job: Berserker HP: 101/101; mods: 0/0 MP: 10/10; mod: 0 Stats: 27 (27) 4 (4) 9 (9) Position: (30, 21), god: Trog (10), turn_is_over: 0, banished: 0 Standing on/in/over feature: floor Skills (mode: auto) Name | can_currently_train | train | training | level | points | progress Fighting | X | 2 | 25 | 10 | 2382 | 420/424 Short Blades | X | 1 | 0 | 0 | 0 | 0/42 Long Blades | X | 1 | 0 | 0 | 0 | 0/35 Axes | X | 1 | 0 | 9 | 1904 | 314/372 Maces & Flails | X | 1 | 0 | 6 | 851 | 109/247 Polearms | X | 2 | 63 | 11 | 2480 | 94/477 Staves | X | 1 | 0 | 0 | 0 | 0/35 Ranged Weapons | X | 1 | 0 | 0 | 0 | 0/42 Throwing | X | 1 | 0 | 0 | 0 | 0/50 Armour | X | 1 | 11 | 10 | 2185 | 223/424 Dodging | X | 1 | 0 | 5 | 833 | 203/252 Stealth | X | 1 | 1 | 1 | 119 | 60/119 Shields | X | 1 | 0 | 0 | 0 | 0/35 Unarmed Combat | X | 1 | 0 | 0 | 0 | 0/42 Spellcasting | X | 0 | 0 | 0 | 0 | 0/100 Conjurations | X | 0 | 0 | 0 | 0 | 0/84 Hexes | X | 0 | 0 | 0 | 0 | 0/100 Summonings | X | 0 | 0 | 0 | 0 | 0/84 Necromancy | X | 0 | 0 | 0 | 0 | 0/84 Translocations | X | 0 | 0 | 0 | 0 | 0/84 Transmutations | X | 0 | 0 | 0 | 0 | 0/70 Fire Magic | X | 0 | 0 | 0 | 0 | 0/84 Ice Magic | X | 0 | 0 | 0 | 0 | 0/84 Air Magic | X | 0 | 0 | 0 | 0 | 0/84 Earth Magic | X | 0 | 0 | 0 | 0 | 0/70 Poison Magic | X | 0 | 0 | 0 | 0 | 0/84 Invocations | X | 1 | 0 | 0 | 0 | 0/50 Evocations | X | 1 | 0 | 0 | 0 | 0/59 Spell bugs: Durations: Attributes: #12: 660 #13: 202 #23: 8865 #24: -542334231 #49: 660 Mutations: horns: 2 (innate) retaliatory headbutt: 1 (innate) Inventory bugs: Equipment: eq slot #0, inv slot #29: +4 halberd of freezing eq slot #1, inv slot #37: +0 cloak eq slot #6, inv slot #25: +2 chain mail of cold resistance eq slot #7, inv slot #11: ring of willpower eq slot #8, inv slot #13: +4 ring of protection }}}}}}}}}}} Webtiles message buffer: Webtiles JSON stack: Screenshot: ###.>.....## ##........ #.........# #......... ###>......P# ##......... #.........## #.......... ###......### ###........ ##.....#Z#.#.#........ ##.....#Z..Z.#........ #.#....+Z..?##.......# ####.@.+Z..W.#.....### ##..+...)###.#####P #..#....) ### #P. ####.#.#. ####. ###### ###P... #..#.# ##.#...# #...## #....### ###.####...## #.##....## clua stack: dlua stack: Lua persistent data: <<<<<<<<<<<<<<<<<<<<<< >>>>>>>>>>>>>>>>>>>>>> Lua marker contents: <<<<<<<<<<<<<<<<<<<<<< >>>>>>>>>>>>>>>>>>>>>>