ASSERT(hit_calc) in 'beam.cc' at line 463 failed. Version: Dungeon Crawl Stone Soup bcrawl-1.42.1 Platform: unix Bits: 64 Game mode: normal Tiles: online Command line: /usr/games/crawl-bcrawl -name CrazyBamboolord -rc /dgldir/rcfiles/crawl-bcrawl/CrazyBamboolord.rc -macro /dgldir/rcfiles/crawl-bcrawl/CrazyBamboolord.macro -morgue /dgldir/morgue/CrazyBamboolord/ -webtiles-socket /crawl-master/webserver/sockets/CrazyBamboolord:2026-08-20.21:51:11.sock -await-connection RC options: restart_after_game = false Crash caused by signal #6: Aborted Obtained 43 stack frames. /usr/games/crawl-bcrawl(_Z17write_stack_traceP8_IO_FILEi+0x3e) [0x57d3d40c38ee]: write_stack_trace(_IO_FILE*, int) /usr/games/crawl-bcrawl(_Z13do_crash_dumpv+0x423) [0x57d3d40cdbc3]: do_crash_dump() /usr/games/crawl-bcrawl(_Z20crash_signal_handleri+0x1fa) [0x57d3d40c3dca]: crash_signal_handler(int) /lib/x86_64-linux-gnu/libc.so.6(+0x45330) [0x75dfbfd17330]: /lib/x86_64-linux-gnu/libc.so.6(pthread_kill+0x11c) [0x75dfbfd70c0c]: /lib/x86_64-linux-gnu/libc.so.6(gsignal+0x1e) [0x75dfbfd1727e]: /usr/games/crawl-bcrawl(+0x3c7f8d) [0x57d3d40ccf8d]: /usr/games/crawl-bcrawl(_Z12AssertFailedPKcS0_iS0_z+0x1c7) [0x57d3d40cd4b7]: AssertFailed(char const*, char const*, int, char const*, ...) /usr/games/crawl-bcrawl(+0x369931) [0x57d3d406e931]: /usr/games/crawl-bcrawl(_Z5zappy8zap_typeibR4bolt+0x1ba) [0x57d3d406eafa]: zappy(zap_type, int, bool, bolt&) /usr/games/crawl-bcrawl(_Z25spell_no_hostile_in_range10spell_type+0x3a1) [0x57d3d45e0eb1]: spell_no_hostile_in_range(spell_type) /usr/games/crawl-bcrawl(_Z24spell_uselessness_reasonB5cxx1110spell_typebbb+0x487) [0x57d3d45e1c17]: spell_uselessness_reason[abi:cxx11](spell_type, bool, bool, bool) /usr/games/crawl-bcrawl(_Z16spell_is_useless10spell_typebbb+0x32) [0x57d3d45e2b92]: spell_is_useless(spell_type, bool, bool, bool) /usr/games/crawl-bcrawl(_Z17player_spell_descB5cxx1110spell_type+0x2e2) [0x57d3d4107be2]: player_spell_desc[abi:cxx11](spell_type) /usr/games/crawl-bcrawl(+0x403262) [0x57d3d4108262]: /usr/games/crawl-bcrawl(_Z14describe_spell10spell_typePK12monster_infoPK8item_defb+0x6c) [0x57d3d41086dc]: describe_spell(spell_type, monster_info const*, item_def const*, bool) /usr/games/crawl-bcrawl(+0x617c80) [0x57d3d431cc80]: /usr/games/crawl-bcrawl(_ZNSt17_Function_handlerIFiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_S5_EPS8_E9_M_invokeERKSt9_Any_dataS7_S7_OS5_+0x71) [0x57d3d4326fd1]: std::_Function_handler, std::allocator > const&, std::__cxx11::basic_string, std::allocator > const&, std::__cxx11::basic_string, std::allocator >), int (*)(std::__cxx11::basic_string, std::allocator > const&, std::__cxx11::basic_string, std::allocator > const&, std::__cxx11::basic_string, std::allocator >)>::_M_invoke(std::_Any_data const&, std::__cxx11::basic_string, std::allocator > const&, std::__cxx11::basic_string, std::allocator > const&, std::__cxx11::basic_string, std::allocator >&&) /usr/games/crawl-bcrawl(_ZNK10LookupType8describeERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEb+0x1a0) [0x57d3d431fcc0]: LookupType::describe(std::__cxx11::basic_string, std::allocator > const&, bool) const /usr/games/crawl-bcrawl(+0x61bc6d) [0x57d3d4320c6d]: /usr/games/crawl-bcrawl(_ZN4Menu11process_keyEi+0x7df) [0x57d3d43a15bf]: Menu::process_key(int) /usr/games/crawl-bcrawl(+0x68e8c8) [0x57d3d43938c8]: /usr/games/crawl-bcrawl(_ZN2ui6Widget8on_eventERK8wm_event+0x74) [0x57d3d468c814]: ui::Widget::on_event(wm_event const&) /usr/games/crawl-bcrawl(_ZN2ui3Bin8on_eventERK8wm_event+0x14c) [0x57d3d468ca3c]: ui::Bin::on_event(wm_event const&) /usr/games/crawl-bcrawl(_ZN2ui8Scroller8on_eventERK8wm_event+0x15) [0x57d3d468cab5]: ui::Scroller::on_event(wm_event const&) /usr/games/crawl-bcrawl(_ZN2ui9Container8on_eventERK8wm_event+0x1e9) [0x57d3d468d179]: ui::Container::on_event(wm_event const&) /usr/games/crawl-bcrawl(_ZN2ui9Container8on_eventERK8wm_event+0x1e9) [0x57d3d468d179]: ui::Container::on_event(wm_event const&) /usr/games/crawl-bcrawl(_ZN2ui3Bin8on_eventERK8wm_event+0x14c) [0x57d3d468ca3c]: ui::Bin::on_event(wm_event const&) /usr/games/crawl-bcrawl(_ZN2ui5Stack8on_eventERK8wm_event+0x158) [0x57d3d468cd38]: ui::Stack::on_event(wm_event const&) /usr/games/crawl-bcrawl(_ZN2ui11pump_eventsEi+0xa1) [0x57d3d4694881]: ui::pump_events(int) /usr/games/crawl-bcrawl(_ZN4Menu7do_menuEv+0x2b2) [0x57d3d439caa2]: Menu::do_menu() /usr/games/crawl-bcrawl(_ZN4Menu4showEb+0x82) [0x57d3d439e262]: Menu::show(bool) /usr/games/crawl-bcrawl(_ZNK10LookupType12display_keysERSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS6_EE+0xa5e) [0x57d3d4324fee]: LookupType::display_keys(std::vector, std::allocator >, std::allocator, std::allocator > > >&) const /usr/games/crawl-bcrawl(_Z26keyhelp_query_descriptionsv+0xa21) [0x57d3d4326221]: keyhelp_query_descriptions() /usr/games/crawl-bcrawl(+0x3b4f3f) [0x57d3d40b9f3f]: /usr/games/crawl-bcrawl(_Z9show_helpiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE+0x1e5) [0x57d3d40ba175]: show_help(int, std::__cxx11::basic_string, std::allocator >) /usr/games/crawl-bcrawl(_Z15process_command12command_type+0x1e1b) [0x57d3d4726b8b]: process_command(command_type) /usr/games/crawl-bcrawl(+0xa1f119) [0x57d3d4724119]: /usr/games/crawl-bcrawl(+0xa1f81d) [0x57d3d472481d]: /usr/games/crawl-bcrawl(main+0x16b) [0x57d3d401431b]: /lib/x86_64-linux-gnu/libc.so.6(+0x2a1ca) [0x75dfbfcfc1ca]: /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0x8b) [0x75dfbfcfc28b]: /usr/games/crawl-bcrawl(_start+0x25) [0x57d3d4014c85]: Trying to run gdb. GNU gdb (Ubuntu 15.1-1ubuntu1~24.04.1) 15.1 Copyright (C) 2024 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". 0x000075dfbfde28d7 in wait4 () from /lib/x86_64-linux-gnu/libc.so.6 #0 0x000075dfbfde28d7 in wait4 () from /lib/x86_64-linux-gnu/libc.so.6 No symbol table info available. #1 0x000057d3d40c3f9c in call_gdb (file=0x75dfbfed64e0 <_IO_2_1_stderr_>) at crash.cc:436 gdb = attach_cmd = "attach 169957\000\000\000\000\000\000" #2 0x000057d3d40cdbe1 in do_crash_dump () at dbg-asrt.cc:677 t = 1787262850 dir = "/dgldir/morgue/CrazyBamboolord/" name = "/dgldir/morgue/CrazyBamboolord/crash-CrazyBamboolord-20260820-215410.txt", '\000' signal_info = "Crash caused by signal #6: Aborted" cause_msg = "ASSERT(hit_calc) in 'beam.cc' at line 463 failed." file = 0x75dfbfed64e0 <_IO_2_1_stderr_> #3 0x000057d3d40c3dca in crash_signal_handler (sig_num=6) at crash.cc:196 No locals. #4 No symbol table info available. #5 0x000075dfbfd70c0c in pthread_kill () from /lib/x86_64-linux-gnu/libc.so.6 No symbol table info available. #6 0x000075dfbfd1727e in raise () from /lib/x86_64-linux-gnu/libc.so.6 No symbol table info available. #7 0x000057d3d40ccf8d in _BreakStrToDebugger (mesg=mesg@entry=0x7fffe849c610 "ASSERT(hit_calc) in 'beam.cc' at line 463 failed.", assert=true) at dbg-asrt.cc:808 No locals. #8 0x000057d3d40cd4b7 in AssertFailed (expr=expr@entry=0x57d3d4735bdd "hit_calc", file=file@entry=0x57d3d47358f8 "beam.cc", line=line@entry=463, text=text@entry=0x0) at dbg-asrt.cc:846 mesg = "ASSERT(hit_calc) in 'beam.cc' at line 463 failed.\000I\350\377\177\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000 \000\000\0000\000\000\000@\347I\350\377\177\000\000p\346I\350\377\177\000\0000\347I\350\377\177\000\000\260\306I\350\377\177\000\000\200:s\324\323W\000\000\210\307I\350\377\177\000\000 \000\202\024B\314N\310\036 \260\346I\350\377\177\000\000\000\307I\350\377\177\000\000\1778a\324\323W\000\000\003\000\000\000\000\000\000\000\000\202\024B\314N\310\036\320\347I\350\377\177\000\000"... args = {{gp_offset = 3897148976, fp_offset = 32767, overflow_arg_area = 0x57d3d4756c3a, reg_save_area = 0x7fffe849c708}} fileName = #9 0x000057d3d406e931 in zap_to_hit (z_type=z_type@entry=ZAP_CALL_DOWN_DAMNATION, power=power@entry=29, is_monster=) at beam.cc:463 zinfo = hit_calc = hit = #10 0x000057d3d406eafa in zappy (z_type=z_type@entry=ZAP_CALL_DOWN_DAMNATION, power=29, is_monster=is_monster@entry=false, pbolt=...) at beam.cc:543 zinfo = 0x57d3d4a08440 #11 0x000057d3d45e0eb1 in spell_no_hostile_in_range (spell=spell@entry=SPELL_CALL_DOWN_DAMNATION) at spl-util.cc:1493 range = 7 minRange = 9 flags = 557314 neutral = false beam = {origin_spell = SPELL_CALL_DOWN_DAMNATION, range = -2, glyph = 0 U'\000', colour = 12 '\f', flavour = BEAM_DAMNATION, real_flavour = BEAM_DAMNATION, drop_item = false, item = 0x0, source = {x = 0, y = 0}, target = {x = 0, y = 0}, damage = {num = 0, size = 0}, ench_power = 29, hit = 0, thrower = KILL_YOU_MISSILE, ex_size = 0, source_id = 0, source_name = "", name = "damnation", short_name = "", hit_verb = "", loudness = 0, hit_noise_msg = "", explode_noise_msg = "", pierce = false, is_explosion = true, aimed_at_spot = false, aux_source = "", affects_nothing = false, effect_known = true, effect_wanton = false, draw_delay = 15, explode_delay = 35, special_explosion = 0x0, was_missile = false, animate = true, ac_rule = AC_NORMAL, obvious_effect = true, seen = false, heard = false, path_taken = std::vector of length 0, capacity 0, extra_range_used = 0, is_tracer = false, is_targeting = false, aimed_at_feet = false, msg_generated = false, noise_generated = false, passed_target = false, in_explosion_phase = false, attitude = ATT_HOSTILE, foe_ratio = 0, hit_count = std::map with 0 elements, foe_info = {count = 0, power = 0, hurt = 0, helped = 0, dont_stop = false}, friend_info = {count = 0, power = 0, hurt = 0, helped = 0, dont_stop = false}, chose_ray = false, beam_cancelled = false, dont_stop_player = false, dont_stop_trees = false, overshoot_prompt = true, friendly_past_target = false, bounces = 0, bounce_pos = {x = 0, y = 0}, reflections = 0, reflector = 0, use_target_as_pos = false, auto_hit = false, ray = {r = {start = {x = 0, y = 0}, dir = {x = 0, y = 0}}, on_corner = false, cycle_idx = -1}, tile_beam = -397815040, can_see_invis = false, nightvision = false, message_cache = std::set with 0 elements} zap = #12 0x000057d3d45e1c17 in spell_uselessness_reason[abi:cxx11](spell_type, bool, bool, bool) (spell=spell@entry=SPELL_CALL_DOWN_DAMNATION, temp=temp@entry=true, prevent=prevent@entry=false, fake_spell=fake_spell@entry=false) at spl-util.cc:1162 No locals. #13 0x000057d3d45e2b92 in spell_is_useless (spell=spell@entry=SPELL_CALL_DOWN_DAMNATION, temp=temp@entry=true, prevent=prevent@entry=false, fake_spell=fake_spell@entry=false) at spl-util.cc:1131 No locals. #14 0x000057d3d4107be2 in _player_spell_desc (spell=SPELL_CALL_DOWN_DAMNATION) at describe.cc:3045 description = limit = description = limit = #15 player_spell_desc[abi:cxx11](spell_type) (spell=spell@entry=SPELL_CALL_DOWN_DAMNATION) at describe.cc:3065 No locals. #16 0x000057d3d4108262 in _get_spell_description (spell=spell@entry=SPELL_CALL_DOWN_DAMNATION, mon_owner=mon_owner@entry=0x0, description="Blasts a targeted enemy with hellfire, with no direct line of fire required. These unholy forces harm the victim and anyone adjacent, and are not affected by any means of protection, such as armour or"..., item=item@entry=0x0) at describe.cc:3134 long_descrip = "Blasts a targeted enemy with hellfire, with no direct line of fire required. These unholy forces harm the victim and anyone adjacent, and are not affected by any means of protection, such as armour or"... quote = "" #17 0x000057d3d41086dc in describe_spell (spell=spell@entry=SPELL_CALL_DOWN_DAMNATION, mon_owner=mon_owner@entry=0x0, item=item@entry=0x0, show_booklist=show_booklist@entry=true) at describe.cc:3226 desc = "Blasts a targeted enemy with hellfire, with no direct line of fire required. These unholy forces harm the victim and anyone adjacent, and are not affected by any means of protection, such as armour or"... can_mem = false vbox = title_hbox = spell_icon = spl_title = "P\354C\002\324W\000\000`\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000\020\030\303\002\324W\000\000 \333I\350\377\177\000\000\000\202\024B\314N\310\036P\333I\350\377\177\000\000@\333I\350\377\177\000\000\214\000\000\000\000\000\000\000`\333I\350\377\177\000\0000\334I\350\377\177\000\000\020\354\302\002\324W\000\0000\333I\350\377\177\000\000\200\3141\324\323W\000\000 \034\213\002\324W\000\000\022\000\000\000\000\000\000\000\022\000\000\000\000\000\000\000\020\000\000" title = scroller = text = popup = done = false lastch = 1 tile = #18 0x000057d3d431cc80 in _describe_spell (key=..., suffix=..., footer=...) at lookup-help.cc:1023 spell_name = "Call Down Hellfire" spell = SPELL_CALL_DOWN_DAMNATION #19 0x000057d3d4326fd1 in std::__invoke_impl, std::allocator > const&, std::__cxx11::basic_string, std::allocator > const&, std::__cxx11::basic_string, std::allocator >), std::__cxx11::basic_string, std::allocator > const&, std::__cxx11::basic_string, std::allocator > const&, std::__cxx11::basic_string, std::allocator > > (__f=) at /usr/include/c++/13/bits/invoke.h:61 No locals. #20 std::__invoke_r, std::allocator > const&, std::__cxx11::basic_string, std::allocator > const&, std::__cxx11::basic_string, std::allocator >), std::__cxx11::basic_string, std::allocator > const&, std::__cxx11::basic_string, std::allocator > const&, std::__cxx11::basic_string, std::allocator > > (__fn=) at /usr/include/c++/13/bits/invoke.h:138 No locals. #21 std::_Function_handler, std::allocator > const&, std::__cxx11::basic_string, std::allocator > const&, std::__cxx11::basic_string, std::allocator >), int (*)(std::__cxx11::basic_string, std::allocator > const&, std::__cxx11::basic_string, std::allocator > const&, std::__cxx11::basic_string, std::allocator >)>::_M_invoke (__functor=..., __args#0=..., __args#1=..., __args#2=...) at /usr/include/c++/13/bits/std_function.h:290 No locals. #22 0x000057d3d431fcc0 in std::function, std::allocator > const&, std::__cxx11::basic_string, std::allocator > const&, std::__cxx11::basic_string, std::allocator >)>::operator() (__args#2="", __args#1=" spell", __args#0="Call Down Hellfire spell", this=0x7fffe849ecb8) at /usr/include/c++/13/bits/std_function.h:591 No locals. #23 LookupType::describe (this=0x7fffe849ec60, key="Call Down Hellfire spell", exact_match=exact_match@entry=false) at lookup-help.cc:925 footer = "" #24 0x000057d3d4320c6d in operator() (item=..., __closure=) at lookup-help.cc:874 key = "Call Down Hellfire spell" doing_mons = this = doing_mons = this = key = mon = #25 std::__invoke_impl >&) const::&, const MenuEntry&> (__f=...) at /usr/include/c++/13/bits/invoke.h:61 No locals. #26 std::__invoke_r >&) const::&, const MenuEntry&> (__fn=...) at /usr/include/c++/13/bits/invoke.h:138 No locals. #27 std::_Function_handler >&) const:: >::_M_invoke(const std::_Any_data &, const MenuEntry &) (__functor=..., __args#0=...) at /usr/include/c++/13/bits/std_function.h:290 No locals. #28 0x000057d3d43a15bf in std::function::operator() (__args#0=..., this=0x7fffe849e6b8) at /usr/include/c++/13/bits/std_function.h:591 No locals. #29 Menu::process_key (this=0x7fffe849e6a0, keyin=100) at menu.cc:1330 item = old_vis_first = 0 #30 0x000057d3d43938c8 in operator() (ev=..., __closure=0x7fffe849de90) at menu.cc:1020 done = @0x7fffe849e48f: false this = 0x7fffe849e6a0 done = this = key = #31 std::__invoke_impl&, const wm_event&> (__f=...) at /usr/include/c++/13/bits/invoke.h:61 No locals. #32 std::__invoke_r&, const wm_event&> (__fn=...) at /usr/include/c++/13/bits/invoke.h:138 No locals. #33 std::_Function_handler >::_M_invoke(const std::_Any_data &, const wm_event &) (__functor=..., __args#0=...) at /usr/include/c++/13/bits/std_function.h:290 No locals. #34 0x000057d3d468c814 in std::function::operator() (__args#0=..., this=0x7fffe849de90) at /usr/include/c++/13/bits/std_function.h:591 No locals. #35 ui::Slot::emit (args#0=..., target=, this=0x57d3d4b90f40 ) at /home/crawl-dev/dgamelaunch-config/crawl-build/crawl-git-repository/crawl-ref/source/ui.h:66 func = {> = {> = {}, }, = {static _M_max_size = 16, static _M_max_align = 8, _M_functor = {_M_unused = {_M_object = 0x7fffe849e6a0, _M_const_object = 0x7fffe849e6a0, _M_function_pointer = 0x7fffe849e6a0, _M_member_pointer = (void (std::_Undefined_class::*)(std::_Undefined_class * const)) 0x7fffe849e6a0, this adjustment 140737090544783}, _M_pod_data = "\240\346I\350\377\177\000\000\217\344I\350\377\177\000"}, _M_manager = 0x57d3d4393490 >::_M_manager(std::_Any_data &, const std::_Any_data &, std::_Manager_operation)>}, _M_invoker = 0x57d3d43938a0 >::_M_invoke(const std::_Any_data &, const wm_event &)>} it = {first = 0x57d402203470, second = {> = {> = {}, }, = {static _M_max_size = 16, static _M_max_align = 8, _M_functor = {_M_unused = {_M_object = 0x7fffe849e6a0, _M_const_object = 0x7fffe849e6a0, _M_function_pointer = 0x7fffe849e6a0, _M_member_pointer = (void (std::_Undefined_class::*)(std::_Undefined_class * const)) 0x7fffe849e6a0, this adjustment 140737090544783}, _M_pod_data = "\240\346I\350\377\177\000\000\217\344I\350\377\177\000"}, _M_manager = 0x57d3d4393490 >::_M_manager(std::_Any_data &, const std::_Any_data &, std::_Manager_operation)>}, _M_invoker = 0x57d3d43938a0 >::_M_invoke(const std::_Any_data &, const wm_event &)>}} i = i = it = func = #36 ui::Widget::on_event (this=, event=...) at ui.cc:111 No locals. #37 0x000057d3d468ca3c in ui::_maybe_propagate_event (child=std::shared_ptr (use count 2, weak count 0) = {...}, event=...) at ui.cc:129 No locals. #38 ui::Bin::on_event (this=this@entry=0x57d402c2ec10, event=...) at ui.cc:159 No locals. #39 0x000057d3d468cab5 in ui::Scroller::on_event (this=0x57d402c2ec10, event=...) at ui.cc:1322 line_delta = delta = #40 0x000057d3d468d179 in ui::_maybe_propagate_event (child=..., event=...) at ui.cc:129 No locals. #41 ui::Container::on_event (this=0x57d402bcbfe0, event=...) at ui.cc:150 child = __for_range = @0x57d402bcbfe0: { = {_vptr.Widget = 0x57d3d49eee78 , margin = {items = {0, 0, 0, 0}}, flex_grow = 1, align_self = ui::Widget::UNSET, expand_h = false, expand_v = true, shrink_h = false, shrink_v = false, static slots = {event = {handlers = std::multimap with 1 element = {[0x57d402203470] = {> = {> = {}, }, = {static _M_max_size = 16, static _M_max_align = 8, _M_functor = {_M_unused = {_M_object = 0x7fffe849e6a0, _M_const_object = 0x7fffe849e6a0, _M_function_pointer = 0x7fffe849e6a0, _M_member_pointer = (void (std::_Undefined_class::*)(std::_Undefined_class * const)) 0x7fffe849e6a0, this adjustment 140737090544783}, _M_pod_data = "\240\346I\350\377\177\000\000\217\344I\350\377\177\000"}, _M_manager = 0x57d3d4393490 >::_M_manager(std::_Any_data &, const std::_Any_data &, std::_Manager_operation)>}, _M_invoker = 0x57d3d43938a0 >::_M_invoke(const std::_Any_data &, const wm_event &)>}}}}, m_region = {items = {0, 1, 80, 22}}, cached_sr_valid = {false, false}, cached_sr = {{min = 0, nat = 16777215}, {min = 0, nat = 16777215}}, cached_sr_pw = 80, alloc_queued = true, m_parent = 0x57d402c1a330, m_min_size = {items = {0, 0}}, m_max_size = {items = {2147483647, 2147483647}}}, } __for_begin = {, long, std::shared_ptr*, std::shared_ptr&>> = {}, it = 0x57d4022105e0} __for_end = {, long, std::shared_ptr*, std::shared_ptr&>> = {}, it = 0x57d402578010} #42 0x000057d3d468d179 in ui::_maybe_propagate_event (child=..., event=...) at ui.cc:129 No locals. #43 ui::Container::on_event (this=0x57d402c1a330, event=...) at ui.cc:150 child = __for_range = @0x57d402c1a330: { = {_vptr.Widget = 0x57d3d49eee78 , margin = {items = {0, 0, 0, 0}}, flex_grow = 1, align_self = ui::Widget::UNSET, expand_h = false, expand_v = false, shrink_h = false, shrink_v = false, static slots = {event = {handlers = std::multimap with 1 element = {[0x57d402203470] = {> = {> = {}, }, = {static _M_max_size = 16, static _M_max_align = 8, _M_functor = {_M_unused = {_M_object = 0x7fffe849e6a0, _M_const_object = 0x7fffe849e6a0, _M_function_pointer = 0x7fffe849e6a0, _M_member_pointer = (void (std::_Undefined_class::*)(std::_Undefined_class * const)) 0x7fffe849e6a0, this adjustment 140737090544783}, _M_pod_data = "\240\346I\350\377\177\000\000\217\344I\350\377\177\000"}, _M_manager = 0x57d3d4393490 >::_M_manager(std::_Any_data &, const std::_Any_data &, std::_Manager_operation)>}, _M_invoker = 0x57d3d43938a0 >::_M_invoke(const std::_Any_data &, const wm_event &)>}}}}, m_region = {items = {0, 0, 80, 24}}, cached_sr_valid = {false, false}, cached_sr = {{min = 77, nat = 16777215}, {min = 2, nat = 16777215}}, cached_sr_pw = 80, alloc_queued = true, m_parent = 0x57d402bf2590, m_min_size = {items = {0, 0}}, m_max_size = {items = {2147483647, 2147483647}}}, } __for_begin = {, long, std::shared_ptr*, std::shared_ptr&>> = {}, it = 0x57d402450890} __for_end = {, long, std::shared_ptr*, std::shared_ptr&>> = {}, it = 0x57d40289e4d0} #44 0x000057d3d468ca3c in ui::_maybe_propagate_event (child=std::shared_ptr (use count 2, weak count 0) = {...}, event=...) at ui.cc:129 No locals. #45 ui::Bin::on_event (this=0x57d402bf2590, event=...) at ui.cc:159 No locals. #46 0x000057d3d468cd38 in ui::_maybe_propagate_event (child=..., event=...) at ui.cc:129 No locals. #47 ui::Stack::on_event (this=0x57d3d4b91080 , event=...) at ui.cc:959 No locals. #48 0x000057d3d468e3bd in ui::UIRoot::on_event (this=, event=...) at ui.cc:1649 No locals. #49 0x000057d3d4694881 in ui::pump_events (wait_event_timeout=) at ui.cc:1901 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 = 100, key_mod = 0 '\000', unicode = 0}}, mouse_event = {type = 0 '\000', event = MouseEvent::PRESS, button = MouseEvent::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 = #50 0x000057d3d439caa2 in Menu::do_menu (this=this@entry=0x7fffe849e6a0) at menu.cc:1055 done = false #51 0x000057d3d439e262 in Menu::show (this=this@entry=0x7fffe849e6a0, reuse_selections=reuse_selections@entry=false) at menu.cc:992 cs = {cstate = false, smartcstate = false} #52 0x000057d3d4324fee in LookupType::display_keys (this=this@entry=0x7fffe849ec60, key_list=std::vector of length 33, capacity 64 = {...}) at lookup-help.cc:880 desc_menu = { = {_vptr.Menu = 0x57d3d4a03048 , 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 = 0x7fffe849ec60, _M_const_object = 0x7fffe849ec60, _M_function_pointer = 0x7fffe849ec60, _M_member_pointer = (void (std::_Undefined_class::*)(std::_Undefined_class * const)) 0x7fffe849ec60}, _M_pod_data = "`\354I\350\377\177\000\000\000\000\000\000\000\000\000"}, _M_manager = 0x57d3d431bcc0 >&) const:: >::_M_manager(std::_Any_data &, const std::_Any_data &, std::_Manager_operation)>}, _M_invoker = 0x57d3d4320b70 >&) const:: >::_M_invoke(const std::_Any_data &, const MenuEntry &)>}, action_cycle = Menu::CYCLE_NONE, menu_action = Menu::ACT_EXAMINE, title = 0x57d402c31700, title2 = 0x0, m_indent_title = false, flags = 33306, tag = "description", cur_page = 1, num_pages = 0, more = {ops = std::vector of length 31, capacity 32 = {{type = FSOP_COLOUR, colour = 7, text = ""}, {type = FSOP_TEXT, colour = -1, text = "["}, {type = FSOP_COLOUR, colour = 15, text = ""}, {type = FSOP_TEXT, colour = -1, text = "+"}, {type = FSOP_COLOUR, colour = 7, text = ""}, {type = FSOP_TEXT, colour = -1, text = "|"}, {type = FSOP_COLOUR, colour = 15, text = ""}, {type = FSOP_TEXT, colour = -1, text = ">"}, {type = FSOP_COLOUR, colour = 7, text = ""}, {type = FSOP_TEXT, colour = -1, text = "|"}, {type = FSOP_COLOUR, colour = 15, text = ""}, {type = FSOP_TEXT, colour = -1, text = "Space"}, {type = FSOP_COLOUR, colour = 7, text = ""}, {type = FSOP_TEXT, colour = -1, text = "]: page down ["}, {type = FSOP_COLOUR, colour = 15, text = ""}, {type = FSOP_TEXT, colour = -1, text = "-"}, {type = FSOP_COLOUR, colour = 7, text = ""}, {type = FSOP_TEXT, colour = -1, text = "|"}, {type = FSOP_COLOUR, colour = 15, text = ""}, {type = FSOP_TEXT, colour = -1, text = "<"}, {type = FSOP_COLOUR, colour = 7, text = ""}, {type = FSOP_TEXT, colour = -1, text = "]: page up ["}, {type = FSOP_COLOUR, colour = 15, text = ""}, {type = FSOP_TEXT, colour = -1, text = "Esc"}, {type = FSOP_COLOUR, colour = 7, text = ""}, {type = FSOP_TEXT, colour = -1, text = "]: close ["}, {type = FSOP_COLOUR, colour = 15, text = ""}, {type = FSOP_TEXT, colour = -1, text = "XXX"}, {type = FSOP_COLOUR, colour = 7, text = ""}, {type = FSOP_TEXT, colour = -1, text = "]"}, {type = FSOP_COLOUR, colour = 7, text = ""}}}, m_keyhelp_more = true, items = std::vector of length 33, capacity 64 = {0x57d402c30eb0, 0x57d402c30170, 0x57d402bd5840, 0x57d402b89c20, 0x57d402c23db0, 0x57d402c3dd30, 0x57d402beefb0, 0x57d402c8dd90, 0x57d402c8de30, 0x57d402c14bc0, 0x57d402c14c60, 0x57d402bf45c0, 0x57d402bf4660, 0x57d402bee6c0, 0x57d402bee760, 0x57d402bee800, 0x57d402bee8a0, 0x57d402bee940, 0x57d402bee9e0, 0x57d402beea80, 0x57d402bf1d60, 0x57d402bf1e00, 0x57d402bf1ea0, 0x57d402bf1f40, 0x57d402bf1fe0, 0x57d402bf2080, 0x57d402bf2120, 0x57d402bf21c0, 0x57d402bf2260, 0x57d402bf2300, 0x57d402bf23a0, 0x57d402bf2440, 0x57d402bf24e0}, sel = std::vector of length 1, capacity 1 = {0x57d402b89c20}, select_filter = std::vector of length 0, capacity 0, highlighter = 0x0, num = -1, lastch = 100, alive = true, last_selected = 3, m_kmc = KMC_MENU, m_filter = 0x0, m_ui = {popup = std::shared_ptr (use count 2, weak count 0) = {get() = 0x57d402bf2590}, menu = std::shared_ptr (use count 2, weak count 0) = {get() = 0x57d402203470}, scroller = std::shared_ptr (use count 2, weak count 0) = {get() = 0x57d402c2ec10}, title = std::shared_ptr (use count 2, weak count 0) = {get() = 0x57d4021a67f0}, more = std::shared_ptr (use count 2, weak count 0) = {get() = 0x57d402bb9f30}, more_bin = std::shared_ptr (use count 2, weak count 0) = {get() = 0x57d402c31af0}, vbox = std::shared_ptr (use count 2, weak count 0) = {get() = 0x57d402c1a330}}, _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 = "Describe which? "}}}}, sort_alpha = true, toggleable_sort = false} doing_mons = false monster_list = std::vector of length 33, capacity 33 = {{ = {pos = {x = 0, y = 0}, mb = {data = std::bitset}, mname = "", type = MONS_PROGRAM_BUG, base_type = MONS_PROGRAM_BUG, {number = 0, num_heads = 0, slime_size = 0, is_active = 0}, _colour = 0, attitude = ATT_HOSTILE, threat = MTHRT_TRIVIAL, dam = MDAM_OKAY, fire_blocker = DNGN_UNSEEN, description = "", quote = "", holi = {<_enum_bitfield_exponent_base<7, true>> = {}, flags = 0}, mintel = I_BRAINLESS, hd = 0, ac = 0, ev = 0, base_ev = 0, mr = 0, mresists = 0, can_see_invis = false, mitemuse = MONUSE_NOTHING, mbase_speed = 0, menergy = {move = 0 '\000', swim = 0 '\000', attack = 0 '\000', missile = 0 '\000', spell = 0 '\000', special = 0 '\000', item = 0 '\000', pickup_percent = 0 '\000'}, props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }, constrictor_name = "", constricting_name = std::vector of length 0, capacity 0, spells = std::vector of length 0, capacity 0, attack = {{type = AT_NONE, flavour = AF_PLAIN, damage = 0}, {type = AT_NONE, flavour = AF_PLAIN, damage = 0}, {type = AT_NONE, flavour = AF_PLAIN, damage = 0}, {type = AT_NONE, flavour = AF_PLAIN, damage = 0}}, client_id = 0}, 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_HUMAN, job = JOB_FIGHTER, religion = GOD_NO_GOD, best_skill = SK_FIGHTING, best_skill_rank = 0, xl_rank = 0, damage = 0, ac = 0}}, { = {pos = {x = 0, y = 0}, mb = {data = std::bitset}, mname = "", type = MONS_PROGRAM_BUG, base_type = MONS_PROGRAM_BUG, {number = 0, num_heads = 0, slime_size = 0, is_active = 0}, _colour = 0, attitude = ATT_HOSTILE, threat = MTHRT_TRIVIAL, dam = MDAM_OKAY, fire_blocker = DNGN_UNSEEN, description = "", quote = "", holi = {<_enum_bitfield_exponent_base<7, true>> = {}, flags = 0}, mintel = I_BRAINLESS, hd = 0, ac = 0, ev = 0, base_ev = 0, mr = 0, mresists = 0, can_see_invis = false, mitemuse = MONUSE_NOTHING, mbase_speed = 0, menergy = {move = 0 '\000', swim = 0 '\000', attack = 0 '\000', missile = 0 '\000', spell = 0 '\000', special = 0 '\000', item = 0 '\000', pickup_percent = 0 '\000'}, props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }, constrictor_name = "", constricting_name = std::vector of length 0, capacity 0, spells = std::vector of length 0, capacity 0, attack = {{type = AT_NONE, flavour = AF_PLAIN, damage = 0}, {type = AT_NONE, flavour = AF_PLAIN, damage = 0}, {type = AT_NONE, flavour = AF_PLAIN, damage = 0}, {type = AT_NONE, flavour = AF_PLAIN, damage = 0}}, client_id = 0}, 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_HUMAN, job = JOB_FIGHTER, religion = GOD_NO_GOD, best_skill = SK_FIGHTING, best_skill_rank = 0, xl_rank = 0, damage = 0, ac = 0}}, { = {pos = {x = 0, y = 0}, mb = {data = std::bitset}, mname = "", type = MONS_PROGRAM_BUG, base_type = MONS_PROGRAM_BUG, {number = 0, num_heads = 0, slime_size = 0, is_active = 0}, _colour = 0, attitude = ATT_HOSTILE, threat = MTHRT_TRIVIAL, dam = MDAM_OKAY, fire_blocker = DNGN_UNSEEN, description = "", quote = "", holi = {<_enum_bitfield_exponent_base<7, true>> = {}, flags = 0}, mintel = I_BRAINLESS, hd = 0, ac = 0, ev = 0, base_ev = 0, mr = 0, mresists = 0, can_see_invis = false, mitemuse = MONUSE_NOTHING, mbase_speed = 0, menergy = {move = 0 '\000', swim = 0 '\000', attack = 0 '\000', missile = 0 '\000', spell = 0 '\000', special = 0 '\000', item = 0 '\000', pickup_percent = 0 '\000'}, props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }, constrictor_name = "", constricting_name = std::vector of length 0, capacity 0, spells = std::vector of length 0, capacity 0, attack = {{type = AT_NONE, flavour = AF_PLAIN, damage = 0}, {type = AT_NONE, flavour = AF_PLAIN, damage = 0}, {type = AT_NONE, flavour = AF_PLAIN, damage = 0}, {type = AT_NONE, flavour = AF_PLAIN, damage = 0}}, client_id = 0}, 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_HUMAN, job = JOB_FIGHTER, religion = GOD_NO_GOD, best_skill = SK_FIGHTING, best_skill_rank = 0, xl_rank = 0, damage = 0, ac = 0}}, { = {pos = {x = 0, y = 0}, mb = {data = std::bitset}, mname = "", type = MONS_PROGRAM_BUG, base_type = MONS_PROGRAM_BUG, {number = 0, num_heads = 0, slime_size = 0, is_active = 0}, _colour = 0, attitude = ATT_HOSTILE, threat = MTHRT_TRIVIAL, dam = MDAM_OKAY, fire_blocker = DNGN_UNSEEN, description = "", quote = "", holi = {<_enum_bitfield_exponent_base<7, true>> = {}, flags = 0}, mintel = I_BRAINLESS, hd = 0, ac = 0, ev = 0, base_ev = 0, mr = 0, mresists = 0, can_see_invis = false, mitemuse = MONUSE_NOTHING, mbase_speed = 0, menergy = {move = 0 '\000', swim = 0 '\000', attack = 0 '\000', missile = 0 '\000', spell = 0 '\000', special = 0 '\000', item = 0 '\000', pickup_percent = 0 '\000'}, props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }, constrictor_name = "", constricting_name = std::vector of length 0, capacity 0, spells = std::vector of length 0, capacity 0, attack = {{type = AT_NONE, flavour = AF_PLAIN, damage = 0}, {type = AT_NONE, flavour = AF_PLAIN, damage = 0}, {type = AT_NONE, flavour = AF_PLAIN, damage = 0}, {type = AT_NONE, flavour = AF_PLAIN, damage = 0}}, client_id = 0}, 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_HUMAN, job = JOB_FIGHTER, religion = GOD_NO_GOD, best_skill = SK_FIGHTING, best_skill_rank = 0, xl_rank = 0, damage = 0, ac = 0}}, { = {pos = {x = 0, y = 0}, mb = {data = std::bitset}, mname = "", type = MONS_PROGRAM_BUG, base_type = MONS_PROGRAM_BUG, {number = 0, num_heads = 0, slime_size = 0, is_active = 0}, _colour = 0, attitude = ATT_HOSTILE, threat = MTHRT_TRIVIAL, dam = MDAM_OKAY, fire_blocker = DNGN_UNSEEN, description = "", quote = "", holi = {<_enum_bitfield_exponent_base<7, true>> = {}, flags = 0}, mintel = I_BRAINLESS, hd = 0, ac = 0, ev = 0, base_ev = 0, mr = 0, mresists = 0, can_see_invis = false, mitemuse = MONUSE_NOTHING, mbase_speed = 0, menergy = {move = 0 '\000', swim = 0 '\000', attack = 0 '\000', missile = 0 '\000', spell = 0 '\000', special = 0 '\000', item = 0 '\000', pickup_percent = 0 '\000'}, props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }, constrictor_name = "", constricting_name = std::vector of length 0, capacity 0, spells = std::vector of length 0, capacity 0, attack = {{type = AT_NONE, flavour = AF_PLAIN, damage = 0}, {type = AT_NONE, flavour = AF_PLAIN, damage = 0}, {type = AT_NONE, flavour = AF_PLAIN, damage = 0}, {type = AT_NONE, flavour = AF_PLAIN, damage = 0}}, client_id = 0}, 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_HUMAN, job = JOB_FIGHTER, religion = GOD_NO_GOD, best_skill = SK_FIGHTING, best_skill_rank = 0, xl_rank = 0, damage = 0, ac = 0}}, { = {pos = {x = 0, y = 0}, mb = {data = std::bitset}, mname = "", type = MONS_PROGRAM_BUG, base_type = MONS_PROGRAM_BUG, {number = 0, num_heads = 0, slime_size = 0, is_active = 0}, _colour = 0, attitude = ATT_HOSTILE, threat = MTHRT_TRIVIAL, dam = MDAM_OKAY, fire_blocker = DNGN_UNSEEN, description = "", quote = "", holi = {<_enum_bitfield_exponent_base<7, true>> = {}, flags = 0}, mintel = I_BRAINLESS, hd = 0, ac = 0, ev = 0, base_ev = 0, mr = 0, mresists = 0, can_see_invis = false, mitemuse = MONUSE_NOTHING, mbase_speed = 0, menergy = {move = 0 '\000', swim = 0 '\000', attack = 0 '\000', missile = 0 '\000', spell = 0 '\000', special = 0 '\000', item = 0 '\000', pickup_percent = 0 '\000'}, props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }, constrictor_name = "", constricting_name = std::vector of length 0, capacity 0, spells = std::vector of length 0, capacity 0, attack = {{type = AT_NONE, flavour = AF_PLAIN, damage = 0}, {type = AT_NONE, flavour = AF_PLAIN, damage = 0}, {type = AT_NONE, flavour = AF_PLAIN, damage = 0}, {type = AT_NONE, flavour = AF_PLAIN, damage = 0}}, client_id = 0}, 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_HUMAN, job = JOB_FIGHTER, religion = GOD_NO_GOD, best_skill = SK_FIGHTING, best_skill_rank = 0, xl_rank = 0, damage = 0, ac = 0}}, { = {pos = {x = 0, y = 0}, mb = {data = std::bitset}, mname = "", type = MONS_PROGRAM_BUG, base_type = MONS_PROGRAM_BUG, {number = 0, num_heads = 0, slime_size = 0, is_active = 0}, _colour = 0, attitude = ATT_HOSTILE, threat = MTHRT_TRIVIAL, dam = MDAM_OKAY, fire_blocker = DNGN_UNSEEN, description = "", quote = "", holi = {<_enum_bitfield_exponent_base<7, true>> = {}, flags = 0}, mintel = I_BRAINLESS, hd = 0, ac = 0, ev = 0, base_ev = 0, mr = 0, mresists = 0, can_see_invis = false, mitemuse = MONUSE_NOTHING, mbase_speed = 0, menergy = {move = 0 '\000', swim = 0 '\000', attack = 0 '\000', missile = 0 '\000', spell = 0 '\000', special = 0 '\000', item = 0 '\000', pickup_percent = 0 '\000'}, props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }, constrictor_name = "", constricting_name = std::vector of length 0, capacity 0, spells = std::vector of length 0, capacity 0, attack = {{type = AT_NONE, flavour = AF_PLAIN, damage = 0}, {type = AT_NONE, flavour = AF_PLAIN, damage = 0}, {type = AT_NONE, flavour = AF_PLAIN, damage = 0}, {type = AT_NONE, flavour = AF_PLAIN, damage = 0}}, client_id = 0}, 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_HUMAN, job = JOB_FIGHTER, religion = GOD_NO_GOD, best_skill = SK_FIGHTING, best_skill_rank = 0, xl_rank = 0, damage = 0, ac = 0}}, { = {pos = {x = 0, y = 0}, mb = {data = std::bitset}, mname = "", type = MONS_PROGRAM_BUG, base_type = MONS_PROGRAM_BUG, {number = 0, num_heads = 0, slime_size = 0, is_active = 0}, _colour = 0, attitude = ATT_HOSTILE, threat = MTHRT_TRIVIAL, dam = MDAM_OKAY, fire_blocker = DNGN_UNSEEN, description = "", quote = "", holi = {<_enum_bitfield_exponent_base<7, true>> = {}, flags = 0}, mintel = I_BRAINLESS, hd = 0, ac = 0, ev = 0, base_ev = 0, mr = 0, mresists = 0, can_see_invis = false, mitemuse = MONUSE_NOTHING, mbase_speed = 0, menergy = {move = 0 '\000', swim = 0 '\000', attack = 0 '\000', missile = 0 '\000', spell = 0 '\000', special = 0 '\000', item = 0 '\000', pickup_percent = 0 '\000'}, props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }, constrictor_name = "", constricting_name = std::vector of length 0, capacity 0, spells = std::vector of length 0, capacity 0, attack = {{type = AT_NONE, flavour = AF_PLAIN, damage = 0}, {type = AT_NONE, flavour = AF_PLAIN, damage = 0}, {type = AT_NONE, flavour = AF_PLAIN, damage = 0}, {type = AT_NONE, flavour = AF_PLAIN, damage = 0}}, client_id = 0}, 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_HUMAN, job = JOB_FIGHTER, religion = GOD_NO_GOD, best_skill = SK_FIGHTING, best_skill_rank = 0, xl_rank = 0, damage = 0, ac = 0}}, { = {pos = {x = 0, y = 0}, mb = {data = std::bitset}, mname = "", type = MONS_PROGRAM_BUG, base_type = MONS_PROGRAM_BUG, {number = 0, num_heads = 0, slime_size = 0, is_active = 0}, _colour = 0, attitude = ATT_HOSTILE, threat = MTHRT_TRIVIAL, dam = MDAM_OKAY, fire_blocker = DNGN_UNSEEN, description = "", quote = "", holi = {<_enum_bitfield_exponent_base<7, true>> = {}, flags = 0}, mintel = I_BRAINLESS, hd = 0, ac = 0, ev = 0, base_ev = 0, mr = 0, mresists = 0, can_see_invis = false, mitemuse = MONUSE_NOTHING, mbase_speed = 0, menergy = {move = 0 '\000', swim = 0 '\000', attack = 0 '\000', missile = 0 '\000', spell = 0 '\000', special = 0 '\000', item = 0 '\000', pickup_percent = 0 '\000'}, props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }, constrictor_name = "", constricting_name = std::vector of length 0, capacity 0, spells = std::vector of length 0, capacity 0, attack = {{type = AT_NONE, flavour = AF_PLAIN, damage = 0}, {type = AT_NONE, flavour = AF_PLAIN, damage = 0}, {type = AT_NONE, flavour = AF_PLAIN, damage = 0}, {type = AT_NONE, flavour = AF_PLAIN, damage = 0}}, client_id = 0}, 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_HUMAN, job = JOB_FIGHTER, religion = GOD_NO_GOD, best_skill = SK_FIGHTING, best_skill_rank = 0, xl_rank = 0, damage = 0, ac = 0}}, { = {pos = {x = 0, y = 0}, mb = {data = std::bitset}, mname = "", type = MONS_PROGRAM_BUG, base_type = MONS_PROGRAM_BUG, {number = 0, num_heads = 0, slime_size = 0, is_active = 0}, _colour = 0, attitude = ATT_HOSTILE, threat = MTHRT_TRIVIAL, dam = MDAM_OKAY, fire_blocker = DNGN_UNSEEN, description = "", quote = "", holi = {<_enum_bitfield_exponent_base<7, true>> = {}, flags = 0}, mintel = I_BRAINLESS, hd = 0, ac = 0, ev = 0, base_ev = 0, mr = 0, mresists = 0, can_see_invis = false, mitemuse = MONUSE_NOTHING, mbase_speed = 0, menergy = {move = 0 '\000', swim = 0 '\000', attack = 0 '\000', missile = 0 '\000', spell = 0 '\000', special = 0 '\000', item = 0 '\000', pickup_percent = 0 '\000'}, props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }, constrictor_name = "", constricting_name = std::vector of length 0, capacity 0, spells = std::vector of length 0, capacity 0, attack = {{type = AT_NONE, flavour = AF_PLAIN, damage = 0}, {type = AT_NONE, flavour = AF_PLAIN, damage = 0}, {type = AT_NONE, flavour = AF_PLAIN, damage = 0}, {type = AT_NONE, flavour = AF_PLAIN, damage = 0}}, client_id = 0}, 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_HUMAN, job = JOB_FIGHTER, religion = GOD_NO_GOD, best_skill = SK_FIGHTING, best_skill_rank = 0, xl_rank = 0, damage = 0, ac = 0}}, { = {pos = {x = 0, y = 0}, mb = {data = std::bitset}, mname = "", type = MONS_PROGRAM_BUG, base_type = MONS_PROGRAM_BUG, {number = 0, num_heads = 0, slime_size = 0, is_active = 0}, _colour = 0, attitude = ATT_HOSTILE, threat = MTHRT_TRIVIAL, dam = MDAM_OKAY, fire_blocker = DNGN_UNSEEN, description = "", quote = "", holi = {<_enum_bitfield_exponent_base<7, true>> = {}, flags = 0}, mintel = I_BRAINLESS, hd = 0, ac = 0, ev = 0, base_ev = 0, mr = 0, mresists = 0, can_see_invis = false, mitemuse = MONUSE_NOTHING, mbase_speed = 0, menergy = {move = 0 '\000', swim = 0 '\000', attack = 0 '\000', missile = 0 '\000', spell = 0 '\000', special = 0 '\000', item = 0 '\000', pickup_percent = 0 '\000'}, props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }, constrictor_name = "", constricting_name = std::vector of length 0, capacity 0, spells = std::vector of length 0, capacity 0, attack = {{type = AT_NONE, flavour = AF_PLAIN, damage = 0}, {type = AT_NONE, flavour = AF_PLAIN, damage = 0}, {type = AT_NONE, flavour = AF_PLAIN, damage = 0}, {type = AT_NONE, flavour = AF_PLAIN, damage = 0}}, client_id = 0}, 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_HUMAN, job = JOB_FIGHTER, religion = GOD_NO_GOD, best_skill = SK_FIGHTING, best_skill_rank = 0, xl_rank = 0, damage = 0, ac = 0}}, { = {pos = {x = 0, y = 0}, mb = {data = std::bitset}, mname = "", type = MONS_PROGRAM_BUG, base_type = MONS_PROGRAM_BUG, {number = 0, num_heads = 0, slime_size = 0, is_active = 0}, _colour = 0, attitude = ATT_HOSTILE, threat = MTHRT_TRIVIAL, dam = MDAM_OKAY, fire_blocker = DNGN_UNSEEN, description = "", quote = "", holi = {<_enum_bitfield_exponent_base<7, true>> = {}, flags = 0}, mintel = I_BRAINLESS, hd = 0, ac = 0, ev = 0, base_ev = 0, mr = 0, mresists = 0, can_see_invis = false, mitemuse = MONUSE_NOTHING, mbase_speed = 0, menergy = {move = 0 '\000', swim = 0 '\000', attack = 0 '\000', missile = 0 '\000', spell = 0 '\000', special = 0 '\000', item = 0 '\000', pickup_percent = 0 '\000'}, props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }, constrictor_name = "", constricting_name = std::vector of length 0, capacity 0, spells = std::vector of length 0, capacity 0, attack = {{type = AT_NONE, flavour = AF_PLAIN, damage = 0}, {type = AT_NONE, flavour = AF_PLAIN, damage = 0}, {type = AT_NONE, flavour = AF_PLAIN, damage = 0}, {type = AT_NONE, flavour = AF_PLAIN, damage = 0}}, client_id = 0}, 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_HUMAN, job = JOB_FIGHTER, religion = GOD_NO_GOD, best_skill = SK_FIGHTING, best_skill_rank = 0, xl_rank = 0, damage = 0, ac = 0}}, { = {pos = {x = 0, y = 0}, mb = {data = std::bitset}, mname = "", type = MONS_PROGRAM_BUG, base_type = MONS_PROGRAM_BUG, {number = 0, num_heads = 0, slime_size = 0, is_active = 0}, _colour = 0, attitude = ATT_HOSTILE, threat = MTHRT_TRIVIAL, dam = MDAM_OKAY, fire_blocker = DNGN_UNSEEN, description = "", quote = "", holi = {<_enum_bitfield_exponent_base<7, true>> = {}, flags = 0}, mintel = I_BRAINLESS, hd = 0, ac = 0, ev = 0, base_ev = 0, mr = 0, mresists = 0, can_see_invis = false, mitemuse = MONUSE_NOTHING, mbase_speed = 0, menergy = {move = 0 '\000', swim = 0 '\000', attack = 0 '\000', missile = 0 '\000', spell = 0 '\000', special = 0 '\000', item = 0 '\000', pickup_percent = 0 '\000'}, props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }, constrictor_name = "", constricting_name = std::vector of length 0, capacity 0, spells = std::vector of length 0, capacity 0, attack = {{type = AT_NONE, flavour = AF_PLAIN, damage = 0}, {type = AT_NONE, flavour = AF_PLAIN, damage = 0}, {type = AT_NONE, flavour = AF_PLAIN, damage = 0}, {type = AT_NONE, flavour = AF_PLAIN, damage = 0}}, client_id = 0}, 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_HUMAN, job = JOB_FIGHTER, religion = GOD_NO_GOD, best_skill = SK_FIGHTING, best_skill_rank = 0, xl_rank = 0, damage = 0, ac = 0}}, { = {pos = {x = 0, y = 0}, mb = {data = std::bitset}, mname = "", type = MONS_PROGRAM_BUG, base_type = MONS_PROGRAM_BUG, {number = 0, num_heads = 0, slime_size = 0, is_active = 0}, _colour = 0, attitude = ATT_HOSTILE, threat = MTHRT_TRIVIAL, dam = MDAM_OKAY, fire_blocker = DNGN_UNSEEN, description = "", quote = "", holi = {<_enum_bitfield_exponent_base<7, true>> = {}, flags = 0}, mintel = I_BRAINLESS, hd = 0, ac = 0, ev = 0, base_ev = 0, mr = 0, mresists = 0, can_see_invis = false, mitemuse = MONUSE_NOTHING, mbase_speed = 0, menergy = {move = 0 '\000', swim = 0 '\000', attack = 0 '\000', missile = 0 '\000', spell = 0 '\000', special = 0 '\000', item = 0 '\000', pickup_percent = 0 '\000'}, props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }, constrictor_name = "", constricting_name = std::vector of length 0, capacity 0, spells = std::vector of length 0, capacity 0, attack = {{type = AT_NONE, flavour = AF_PLAIN, damage = 0}, {type = AT_NONE, flavour = AF_PLAIN, damage = 0}, {type = AT_NONE, flavour = AF_PLAIN, damage = 0}, {type = AT_NONE, flavour = AF_PLAIN, damage = 0}}, client_id = 0}, 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_HUMAN, job = JOB_FIGHTER, religion = GOD_NO_GOD, best_skill = SK_FIGHTING, best_skill_rank = 0, xl_rank = 0, damage = 0, ac = 0}}, { = {pos = {x = 0, y = 0}, mb = {data = std::bitset}, mname = "", type = MONS_PROGRAM_BUG, base_type = MONS_PROGRAM_BUG, {number = 0, num_heads = 0, slime_size = 0, is_active = 0}, _colour = 0, attitude = ATT_HOSTILE, threat = MTHRT_TRIVIAL, dam = MDAM_OKAY, fire_blocker = DNGN_UNSEEN, description = "", quote = "", holi = {<_enum_bitfield_exponent_base<7, true>> = {}, flags = 0}, mintel = I_BRAINLESS, hd = 0, ac = 0, ev = 0, base_ev = 0, mr = 0, mresists = 0, can_see_invis = false, mitemuse = MONUSE_NOTHING, mbase_speed = 0, menergy = {move = 0 '\000', swim = 0 '\000', attack = 0 '\000', missile = 0 '\000', spell = 0 '\000', special = 0 '\000', item = 0 '\000', pickup_percent = 0 '\000'}, props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }, constrictor_name = "", constricting_name = std::vector of length 0, capacity 0, spells = std::vector of length 0, capacity 0, attack = {{type = AT_NONE, flavour = AF_PLAIN, damage = 0}, {type = AT_NONE, flavour = AF_PLAIN, damage = 0}, {type = AT_NONE, flavour = AF_PLAIN, damage = 0}, {type = AT_NONE, flavour = AF_PLAIN, damage = 0}}, client_id = 0}, 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_HUMAN, job = JOB_FIGHTER, religion = GOD_NO_GOD, best_skill = SK_FIGHTING, best_skill_rank = 0, xl_rank = 0, damage = 0, ac = 0}}, { = {pos = {x = 0, y = 0}, mb = {data = std::bitset}, mname = "", type = MONS_PROGRAM_BUG, base_type = MONS_PROGRAM_BUG, {number = 0, num_heads = 0, slime_size = 0, is_active = 0}, _colour = 0, attitude = ATT_HOSTILE, threat = MTHRT_TRIVIAL, dam = MDAM_OKAY, fire_blocker = DNGN_UNSEEN, description = "", quote = "", holi = {<_enum_bitfield_exponent_base<7, true>> = {}, flags = 0}, mintel = I_BRAINLESS, hd = 0, ac = 0, ev = 0, base_ev = 0, mr = 0, mresists = 0, can_see_invis = false, mitemuse = MONUSE_NOTHING, mbase_speed = 0, menergy = {move = 0 '\000', swim = 0 '\000', attack = 0 '\000', missile = 0 '\000', spell = 0 '\000', special = 0 '\000', item = 0 '\000', pickup_percent = 0 '\000'}, props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }, constrictor_name = "", constricting_name = std::vector of length 0, capacity 0, spells = std::vector of length 0, capacity 0, attack = {{type = AT_NONE, flavour = AF_PLAIN, damage = 0}, {type = AT_NONE, flavour = AF_PLAIN, damage = 0}, {type = AT_NONE, flavour = AF_PLAIN, damage = 0}, {type = AT_NONE, flavour = AF_PLAIN, damage = 0}}, client_id = 0}, 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_HUMAN, job = JOB_FIGHTER, religion = GOD_NO_GOD, best_skill = SK_FIGHTING, best_skill_rank = 0, xl_rank = 0, damage = 0, ac = 0}}, { = {pos = {x = 0, y = 0}, mb = {data = std::bitset}, mname = "", type = MONS_PROGRAM_BUG, base_type = MONS_PROGRAM_BUG, {number = 0, num_heads = 0, slime_size = 0, is_active = 0}, _colour = 0, attitude = ATT_HOSTILE, threat = MTHRT_TRIVIAL, dam = MDAM_OKAY, fire_blocker = DNGN_UNSEEN, description = "", quote = "", holi = {<_enum_bitfield_exponent_base<7, true>> = {}, flags = 0}, mintel = I_BRAINLESS, hd = 0, ac = 0, ev = 0, base_ev = 0, mr = 0, mresists = 0, can_see_invis = false, mitemuse = MONUSE_NOTHING, mbase_speed = 0, menergy = {move = 0 '\000', swim = 0 '\000', attack = 0 '\000', missile = 0 '\000', spell = 0 '\000', special = 0 '\000', item = 0 '\000', pickup_percent = 0 '\000'}, props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }, constrictor_name = "", constricting_name = std::vector of length 0, capacity 0, spells = std::vector of length 0, capacity 0, attack = {{type = AT_NONE, flavour = AF_PLAIN, damage = 0}, {type = AT_NONE, flavour = AF_PLAIN, damage = 0}, {type = AT_NONE, flavour = AF_PLAIN, damage = 0}, {type = AT_NONE, flavour = AF_PLAIN, damage = 0}}, client_id = 0}, 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_HUMAN, job = JOB_FIGHTER, religion = GOD_NO_GOD, best_skill = SK_FIGHTING, best_skill_rank = 0, xl_rank = 0, damage = 0, ac = 0}}, { = {pos = {x = 0, y = 0}, mb = {data = std::bitset}, mname = "", type = MONS_PROGRAM_BUG, base_type = MONS_PROGRAM_BUG, {number = 0, num_heads = 0, slime_size = 0, is_active = 0}, _colour = 0, attitude = ATT_HOSTILE, threat = MTHRT_TRIVIAL, dam = MDAM_OKAY, fire_blocker = DNGN_UNSEEN, description = "", quote = "", holi = {<_enum_bitfield_exponent_base<7, true>> = {}, flags = 0}, mintel = I_BRAINLESS, hd = 0, ac = 0, ev = 0, base_ev = 0, mr = 0, mresists = 0, can_see_invis = false, mitemuse = MONUSE_NOTHING, mbase_speed = 0, menergy = {move = 0 '\000', swim = 0 '\000', attack = 0 '\000', missile = 0 '\000', spell = 0 '\000', special = 0 '\000', item = 0 '\000', pickup_percent = 0 '\000'}, props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }, constrictor_name = "", constricting_name = std::vector of length 0, capacity 0, spells = std::vector of length 0, capacity 0, attack = {{type = AT_NONE, flavour = AF_PLAIN, damage = 0}, {type = AT_NONE, flavour = AF_PLAIN, damage = 0}, {type = AT_NONE, flavour = AF_PLAIN, damage = 0}, {type = AT_NONE, flavour = AF_PLAIN, damage = 0}}, client_id = 0}, 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_HUMAN, job = JOB_FIGHTER, religion = GOD_NO_GOD, best_skill = SK_FIGHTING, best_skill_rank = 0, xl_rank = 0, damage = 0, ac = 0}}, { = {pos = {x = 0, y = 0}, mb = {data = std::bitset}, mname = "", type = MONS_PROGRAM_BUG, base_type = MONS_PROGRAM_BUG, {number = 0, num_heads = 0, slime_size = 0, is_active = 0}, _colour = 0, attitude = ATT_HOSTILE, threat = MTHRT_TRIVIAL, dam = MDAM_OKAY, fire_blocker = DNGN_UNSEEN, description = "", quote = "", holi = {<_enum_bitfield_exponent_base<7, true>> = {}, flags = 0}, mintel = I_BRAINLESS, hd = 0, ac = 0, ev = 0, base_ev = 0, mr = 0, mresists = 0, can_see_invis = false, mitemuse = MONUSE_NOTHING, mbase_speed = 0, menergy = {move = 0 '\000', swim = 0 '\000', attack = 0 '\000', missile = 0 '\000', spell = 0 '\000', special = 0 '\000', item = 0 '\000', pickup_percent = 0 '\000'}, props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }, constrictor_name = "", constricting_name = std::vector of length 0, capacity 0, spells = std::vector of length 0, capacity 0, attack = {{type = AT_NONE, flavour = AF_PLAIN, damage = 0}, {type = AT_NONE, flavour = AF_PLAIN, damage = 0}, {type = AT_NONE, flavour = AF_PLAIN, damage = 0}, {type = AT_NONE, flavour = AF_PLAIN, damage = 0}}, client_id = 0}, 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_HUMAN, job = JOB_FIGHTER, religion = GOD_NO_GOD, best_skill = SK_FIGHTING, best_skill_rank = 0, xl_rank = 0, damage = 0, ac = 0}}, { = {pos = {x = 0, y = 0}, mb = {data = std::bitset}, mname = "", type = MONS_PROGRAM_BUG, base_type = MONS_PROGRAM_BUG, {number = 0, num_heads = 0, slime_size = 0, is_active = 0}, _colour = 0, attitude = ATT_HOSTILE, threat = MTHRT_TRIVIAL, dam = MDAM_OKAY, fire_blocker = DNGN_UNSEEN, description = "", quote = "", holi = {<_enum_bitfield_exponent_base<7, true>> = {}, flags = 0}, mintel = I_BRAINLESS, hd = 0, ac = 0, ev = 0, base_ev = 0, mr = 0, mresists = 0, can_see_invis = false, mitemuse = MONUSE_NOTHING, mbase_speed = 0, menergy = {move = 0 '\000', swim = 0 '\000', attack = 0 '\000', missile = 0 '\000', spell = 0 '\000', special = 0 '\000', item = 0 '\000', pickup_percent = 0 '\000'}, props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }, constrictor_name = "", constricting_name = std::vector of length 0, capacity 0, spells = std::vector of length 0, capacity 0, attack = {{type = AT_NONE, flavour = AF_PLAIN, damage = 0}, {type = AT_NONE, flavour = AF_PLAIN, damage = 0}, {type = AT_NONE, flavour = AF_PLAIN, damage = 0}, {type = AT_NONE, flavour = AF_PLAIN, damage = 0}}, client_id = 0}, 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_HUMAN, job = JOB_FIGHTER, religion = GOD_NO_GOD, best_skill = SK_FIGHTING, best_skill_rank = 0, xl_rank = 0, damage = 0, ac = 0}}, { = {pos = {x = 0, y = 0}, mb = {data = std::bitset}, mname = "", type = MONS_PROGRAM_BUG, base_type = MONS_PROGRAM_BUG, {number = 0, num_heads = 0, slime_size = 0, is_active = 0}, _colour = 0, attitude = ATT_HOSTILE, threat = MTHRT_TRIVIAL, dam = MDAM_OKAY, fire_blocker = DNGN_UNSEEN, description = "", quote = "", holi = {<_enum_bitfield_exponent_base<7, true>> = {}, flags = 0}, mintel = I_BRAINLESS, hd = 0, ac = 0, ev = 0, base_ev = 0, mr = 0, mresists = 0, can_see_invis = false, mitemuse = MONUSE_NOTHING, mbase_speed = 0, menergy = {move = 0 '\000', swim = 0 '\000', attack = 0 '\000', missile = 0 '\000', spell = 0 '\000', special = 0 '\000', item = 0 '\000', pickup_percent = 0 '\000'}, props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }, constrictor_name = "", constricting_name = std::vector of length 0, capacity 0, spells = std::vector of length 0, capacity 0, attack = {{type = AT_NONE, flavour = AF_PLAIN, damage = 0}, {type = AT_NONE, flavour = AF_PLAIN, damage = 0}, {type = AT_NONE, flavour = AF_PLAIN, damage = 0}, {type = AT_NONE, flavour = AF_PLAIN, damage = 0}}, client_id = 0}, 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_HUMAN, job = JOB_FIGHTER, religion = GOD_NO_GOD, best_skill = SK_FIGHTING, best_skill_rank = 0, xl_rank = 0, damage = 0, ac = 0}}, { = {pos = {x = 0, y = 0}, mb = {data = std::bitset}, mname = "", type = MONS_PROGRAM_BUG, base_type = MONS_PROGRAM_BUG, {number = 0, num_heads = 0, slime_size = 0, is_active = 0}, _colour = 0, attitude = ATT_HOSTILE, threat = MTHRT_TRIVIAL, dam = MDAM_OKAY, fire_blocker = DNGN_UNSEEN, description = "", quote = "", holi = {<_enum_bitfield_exponent_base<7, true>> = {}, flags = 0}, mintel = I_BRAINLESS, hd = 0, ac = 0, ev = 0, base_ev = 0, mr = 0, mresists = 0, can_see_invis = false, mitemuse = MONUSE_NOTHING, mbase_speed = 0, menergy = {move = 0 '\000', swim = 0 '\000', attack = 0 '\000', missile = 0 '\000', spell = 0 '\000', special = 0 '\000', item = 0 '\000', pickup_percent = 0 '\000'}, props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }, constrictor_name = "", constricting_name = std::vector of length 0, capacity 0, spells = std::vector of length 0, capacity 0, attack = {{type = AT_NONE, flavour = AF_PLAIN, damage = 0}, {type = AT_NONE, flavour = AF_PLAIN, damage = 0}, {type = AT_NONE, flavour = AF_PLAIN, damage = 0}, {type = AT_NONE, flavour = AF_PLAIN, damage = 0}}, client_id = 0}, 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_HUMAN, job = JOB_FIGHTER, religion = GOD_NO_GOD, best_skill = SK_FIGHTING, best_skill_rank = 0, xl_rank = 0, damage = 0, ac = 0}}, { = {pos = {x = 0, y = 0}, mb = {data = std::bitset}, mname = "", type = MONS_PROGRAM_BUG, base_type = MONS_PROGRAM_BUG, {number = 0, num_heads = 0, slime_size = 0, is_active = 0}, _colour = 0, attitude = ATT_HOSTILE, threat = MTHRT_TRIVIAL, dam = MDAM_OKAY, fire_blocker = DNGN_UNSEEN, description = "", quote = "", holi = {<_enum_bitfield_exponent_base<7, true>> = {}, flags = 0}, mintel = I_BRAINLESS, hd = 0, ac = 0, ev = 0, base_ev = 0, mr = 0, mresists = 0, can_see_invis = false, mitemuse = MONUSE_NOTHING, mbase_speed = 0, menergy = {move = 0 '\000', swim = 0 '\000', attack = 0 '\000', missile = 0 '\000', spell = 0 '\000', special = 0 '\000', item = 0 '\000', pickup_percent = 0 '\000'}, props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }, constrictor_name = "", constricting_name = std::vector of length 0, capacity 0, spells = std::vector of length 0, capacity 0, attack = {{type = AT_NONE, flavour = AF_PLAIN, damage = 0}, {type = AT_NONE, flavour = AF_PLAIN, damage = 0}, {type = AT_NONE, flavour = AF_PLAIN, damage = 0}, {type = AT_NONE, flavour = AF_PLAIN, damage = 0}}, client_id = 0}, 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_HUMAN, job = JOB_FIGHTER, religion = GOD_NO_GOD, best_skill = SK_FIGHTING, best_skill_rank = 0, xl_rank = 0, damage = 0, ac = 0}}, { = {pos = {x = 0, y = 0}, mb = {data = std::bitset}, mname = "", type = MONS_PROGRAM_BUG, base_type = MONS_PROGRAM_BUG, {number = 0, num_heads = 0, slime_size = 0, is_active = 0}, _colour = 0, attitude = ATT_HOSTILE, threat = MTHRT_TRIVIAL, dam = MDAM_OKAY, fire_blocker = DNGN_UNSEEN, description = "", quote = "", holi = {<_enum_bitfield_exponent_base<7, true>> = {}, flags = 0}, mintel = I_BRAINLESS, hd = 0, ac = 0, ev = 0, base_ev = 0, mr = 0, mresists = 0, can_see_invis = false, mitemuse = MONUSE_NOTHING, mbase_speed = 0, menergy = {move = 0 '\000', swim = 0 '\000', attack = 0 '\000', missile = 0 '\000', spell = 0 '\000', special = 0 '\000', item = 0 '\000', pickup_percent = 0 '\000'}, props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }, constrictor_name = "", constricting_name = std::vector of length 0, capacity 0, spells = std::vector of length 0, capacity 0, attack = {{type = AT_NONE, flavour = AF_PLAIN, damage = 0}, {type = AT_NONE, flavour = AF_PLAIN, damage = 0}, {type = AT_NONE, flavour = AF_PLAIN, damage = 0}, {type = AT_NONE, flavour = AF_PLAIN, damage = 0}}, client_id = 0}, 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_HUMAN, job = JOB_FIGHTER, religion = GOD_NO_GOD, best_skill = SK_FIGHTING, best_skill_rank = 0, xl_rank = 0, damage = 0, ac = 0}}, { = {pos = {x = 0, y = 0}, mb = {data = std::bitset}, mname = "", type = MONS_PROGRAM_BUG, base_type = MONS_PROGRAM_BUG, {number = 0, num_heads = 0, slime_size = 0, is_active = 0}, _colour = 0, attitude = ATT_HOSTILE, threat = MTHRT_TRIVIAL, dam = MDAM_OKAY, fire_blocker = DNGN_UNSEEN, description = "", quote = "", holi = {<_enum_bitfield_exponent_base<7, true>> = {}, flags = 0}, mintel = I_BRAINLESS, hd = 0, ac = 0, ev = 0, base_ev = 0, mr = 0, mresists = 0, can_see_invis = false, mitemuse = MONUSE_NOTHING, mbase_speed = 0, menergy = {move = 0 '\000', swim = 0 '\000', attack = 0 '\000', missile = 0 '\000', spell = 0 '\000', special = 0 '\000', item = 0 '\000', pickup_percent = 0 '\000'}, props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }, constrictor_name = "", constricting_name = std::vector of length 0, capacity 0, spells = std::vector of length 0, capacity 0, attack = {{type = AT_NONE, flavour = AF_PLAIN, damage = 0}, {type = AT_NONE, flavour = AF_PLAIN, damage = 0}, {type = AT_NONE, flavour = AF_PLAIN, damage = 0}, {type = AT_NONE, flavour = AF_PLAIN, damage = 0}}, client_id = 0}, 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_HUMAN, job = JOB_FIGHTER, religion = GOD_NO_GOD, best_skill = SK_FIGHTING, best_skill_rank = 0, xl_rank = 0, damage = 0, ac = 0}}, { = {pos = {x = 0, y = 0}, mb = {data = std::bitset}, mname = "", type = MONS_PROGRAM_BUG, base_type = MONS_PROGRAM_BUG, {number = 0, num_heads = 0, slime_size = 0, is_active = 0}, _colour = 0, attitude = ATT_HOSTILE, threat = MTHRT_TRIVIAL, dam = MDAM_OKAY, fire_blocker = DNGN_UNSEEN, description = "", quote = "", holi = {<_enum_bitfield_exponent_base<7, true>> = {}, flags = 0}, mintel = I_BRAINLESS, hd = 0, ac = 0, ev = 0, base_ev = 0, mr = 0, mresists = 0, can_see_invis = false, mitemuse = MONUSE_NOTHING, mbase_speed = 0, menergy = {move = 0 '\000', swim = 0 '\000', attack = 0 '\000', missile = 0 '\000', spell = 0 '\000', special = 0 '\000', item = 0 '\000', pickup_percent = 0 '\000'}, props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }, constrictor_name = "", constricting_name = std::vector of length 0, capacity 0, spells = std::vector of length 0, capacity 0, attack = {{type = AT_NONE, flavour = AF_PLAIN, damage = 0}, {type = AT_NONE, flavour = AF_PLAIN, damage = 0}, {type = AT_NONE, flavour = AF_PLAIN, damage = 0}, {type = AT_NONE, flavour = AF_PLAIN, damage = 0}}, client_id = 0}, 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_HUMAN, job = JOB_FIGHTER, religion = GOD_NO_GOD, best_skill = SK_FIGHTING, best_skill_rank = 0, xl_rank = 0, damage = 0, ac = 0}}, { = {pos = {x = 0, y = 0}, mb = {data = std::bitset}, mname = "", type = MONS_PROGRAM_BUG, base_type = MONS_PROGRAM_BUG, {number = 0, num_heads = 0, slime_size = 0, is_active = 0}, _colour = 0, attitude = ATT_HOSTILE, threat = MTHRT_TRIVIAL, dam = MDAM_OKAY, fire_blocker = DNGN_UNSEEN, description = "", quote = "", holi = {<_enum_bitfield_exponent_base<7, true>> = {}, flags = 0}, mintel = I_BRAINLESS, hd = 0, ac = 0, ev = 0, base_ev = 0, mr = 0, mresists = 0, can_see_invis = false, mitemuse = MONUSE_NOTHING, mbase_speed = 0, menergy = {move = 0 '\000', swim = 0 '\000', attack = 0 '\000', missile = 0 '\000', spell = 0 '\000', special = 0 '\000', item = 0 '\000', pickup_percent = 0 '\000'}, props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }, constrictor_name = "", constricting_name = std::vector of length 0, capacity 0, spells = std::vector of length 0, capacity 0, attack = {{type = AT_NONE, flavour = AF_PLAIN, damage = 0}, {type = AT_NONE, flavour = AF_PLAIN, damage = 0}, {type = AT_NONE, flavour = AF_PLAIN, damage = 0}, {type = AT_NONE, flavour = AF_PLAIN, damage = 0}}, client_id = 0}, 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_HUMAN, job = JOB_FIGHTER, religion = GOD_NO_GOD, best_skill = SK_FIGHTING, best_skill_rank = 0, xl_rank = 0, damage = 0, ac = 0}}, { = {pos = {x = 0, y = 0}, mb = {data = std::bitset}, mname = "", type = MONS_PROGRAM_BUG, base_type = MONS_PROGRAM_BUG, {number = 0, num_heads = 0, slime_size = 0, is_active = 0}, _colour = 0, attitude = ATT_HOSTILE, threat = MTHRT_TRIVIAL, dam = MDAM_OKAY, fire_blocker = DNGN_UNSEEN, description = "", quote = "", holi = {<_enum_bitfield_exponent_base<7, true>> = {}, flags = 0}, mintel = I_BRAINLESS, hd = 0, ac = 0, ev = 0, base_ev = 0, mr = 0, mresists = 0, can_see_invis = false, mitemuse = MONUSE_NOTHING, mbase_speed = 0, menergy = {move = 0 '\000', swim = 0 '\000', attack = 0 '\000', missile = 0 '\000', spell = 0 '\000', special = 0 '\000', item = 0 '\000', pickup_percent = 0 '\000'}, props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }, constrictor_name = "", constricting_name = std::vector of length 0, capacity 0, spells = std::vector of length 0, capacity 0, attack = {{type = AT_NONE, flavour = AF_PLAIN, damage = 0}, {type = AT_NONE, flavour = AF_PLAIN, damage = 0}, {type = AT_NONE, flavour = AF_PLAIN, damage = 0}, {type = AT_NONE, flavour = AF_PLAIN, damage = 0}}, client_id = 0}, 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_HUMAN, job = JOB_FIGHTER, religion = GOD_NO_GOD, best_skill = SK_FIGHTING, best_skill_rank = 0, xl_rank = 0, damage = 0, ac = 0}}, { = {pos = {x = 0, y = 0}, mb = {data = std::bitset}, mname = "", type = MONS_PROGRAM_BUG, base_type = MONS_PROGRAM_BUG, {number = 0, num_heads = 0, slime_size = 0, is_active = 0}, _colour = 0, attitude = ATT_HOSTILE, threat = MTHRT_TRIVIAL, dam = MDAM_OKAY, fire_blocker = DNGN_UNSEEN, description = "", quote = "", holi = {<_enum_bitfield_exponent_base<7, true>> = {}, flags = 0}, mintel = I_BRAINLESS, hd = 0, ac = 0, ev = 0, base_ev = 0, mr = 0, mresists = 0, can_see_invis = false, mitemuse = MONUSE_NOTHING, mbase_speed = 0, menergy = {move = 0 '\000', swim = 0 '\000', attack = 0 '\000', missile = 0 '\000', spell = 0 '\000', special = 0 '\000', item = 0 '\000', pickup_percent = 0 '\000'}, props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }, constrictor_name = "", constricting_name = std::vector of length 0, capacity 0, spells = std::vector of length 0, capacity 0, attack = {{type = AT_NONE, flavour = AF_PLAIN, damage = 0}, {type = AT_NONE, flavour = AF_PLAIN, damage = 0}, {type = AT_NONE, flavour = AF_PLAIN, damage = 0}, {type = AT_NONE, flavour = AF_PLAIN, damage = 0}}, client_id = 0}, 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_HUMAN, job = JOB_FIGHTER, religion = GOD_NO_GOD, best_skill = SK_FIGHTING, best_skill_rank = 0, xl_rank = 0, damage = 0, ac = 0}}, { = {pos = {x = 0, y = 0}, mb = {data = std::bitset}, mname = "", type = MONS_PROGRAM_BUG, base_type = MONS_PROGRAM_BUG, {number = 0, num_heads = 0, slime_size = 0, is_active = 0}, _colour = 0, attitude = ATT_HOSTILE, threat = MTHRT_TRIVIAL, dam = MDAM_OKAY, fire_blocker = DNGN_UNSEEN, description = "", quote = "", holi = {<_enum_bitfield_exponent_base<7, true>> = {}, flags = 0}, mintel = I_BRAINLESS, hd = 0, ac = 0, ev = 0, base_ev = 0, mr = 0, mresists = 0, can_see_invis = false, mitemuse = MONUSE_NOTHING, mbase_speed = 0, menergy = {move = 0 '\000', swim = 0 '\000', attack = 0 '\000', missile = 0 '\000', spell = 0 '\000', special = 0 '\000', item = 0 '\000', pickup_percent = 0 '\000'}, props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }, constrictor_name = "", constricting_name = std::vector of length 0, capacity 0, spells = std::vector of length 0, capacity 0, attack = {{type = AT_NONE, flavour = AF_PLAIN, damage = 0}, {type = AT_NONE, flavour = AF_PLAIN, damage = 0}, {type = AT_NONE, flavour = AF_PLAIN, damage = 0}, {type = AT_NONE, flavour = AF_PLAIN, damage = 0}}, client_id = 0}, 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_HUMAN, job = JOB_FIGHTER, religion = GOD_NO_GOD, best_skill = SK_FIGHTING, best_skill_rank = 0, xl_rank = 0, damage = 0, ac = 0}}, { = {pos = {x = 0, y = 0}, mb = {data = std::bitset}, mname = "", type = MONS_PROGRAM_BUG, base_type = MONS_PROGRAM_BUG, {number = 0, num_heads = 0, slime_size = 0, is_active = 0}, _colour = 0, attitude = ATT_HOSTILE, threat = MTHRT_TRIVIAL, dam = MDAM_OKAY, fire_blocker = DNGN_UNSEEN, description = "", quote = "", holi = {<_enum_bitfield_exponent_base<7, true>> = {}, flags = 0}, mintel = I_BRAINLESS, hd = 0, ac = 0, ev = 0, base_ev = 0, mr = 0, mresists = 0, can_see_invis = false, mitemuse = MONUSE_NOTHING, mbase_speed = 0, menergy = {move = 0 '\000', swim = 0 '\000', attack = 0 '\000', missile = 0 '\000', spell = 0 '\000', special = 0 '\000', item = 0 '\000', pickup_percent = 0 '\000'}, props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }, constrictor_name = "", constricting_name = std::vector of length 0, capacity 0, spells = std::vector of length 0, capacity 0, attack = {{type = AT_NONE, flavour = AF_PLAIN, damage = 0}, {type = AT_NONE, flavour = AF_PLAIN, damage = 0}, {type = AT_NONE, flavour = AF_PLAIN, damage = 0}, {type = AT_NONE, flavour = AF_PLAIN, damage = 0}}, client_id = 0}, 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_HUMAN, job = JOB_FIGHTER, religion = GOD_NO_GOD, best_skill = SK_FIGHTING, best_skill_rank = 0, xl_rank = 0, damage = 0, ac = 0}}, { = {pos = {x = 0, y = 0}, mb = {data = std::bitset}, mname = "", type = MONS_PROGRAM_BUG, base_type = MONS_PROGRAM_BUG, {number = 0, num_heads = 0, slime_size = 0, is_active = 0}, _colour = 0, attitude = ATT_HOSTILE, threat = MTHRT_TRIVIAL, dam = MDAM_OKAY, fire_blocker = DNGN_UNSEEN, description = "", quote = "", holi = {<_enum_bitfield_exponent_base<7, true>> = {}, flags = 0}, mintel = I_BRAINLESS, hd = 0, ac = 0, ev = 0, base_ev = 0, mr = 0, mresists = 0, can_see_invis = false, mitemuse = MONUSE_NOTHING, mbase_speed = 0, menergy = {move = 0 '\000', swim = 0 '\000', attack = 0 '\000', missile = 0 '\000', spell = 0 '\000', special = 0 '\000', item = 0 '\000', pickup_percent = 0 '\000'}, props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }, constrictor_name = "", constricting_name = std::vector of length 0, capacity 0, spells = std::vector of length 0, capacity 0, attack = {{type = AT_NONE, flavour = AF_PLAIN, damage = 0}, {type = AT_NONE, flavour = AF_PLAIN, damage = 0}, {type = AT_NONE, flavour = AF_PLAIN, damage = 0}, {type = AT_NONE, flavour = AF_PLAIN, damage = 0}}, client_id = 0}, 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_HUMAN, job = JOB_FIGHTER, religion = GOD_NO_GOD, best_skill = SK_FIGHTING, best_skill_rank = 0, xl_rank = 0, damage = 0, ac = 0}}, { = {pos = {x = 0, y = 0}, mb = {data = std::bitset}, mname = "", type = MONS_PROGRAM_BUG, base_type = MONS_PROGRAM_BUG, {number = 0, num_heads = 0, slime_size = 0, is_active = 0}, _colour = 0, attitude = ATT_HOSTILE, threat = MTHRT_TRIVIAL, dam = MDAM_OKAY, fire_blocker = DNGN_UNSEEN, description = "", quote = "", holi = {<_enum_bitfield_exponent_base<7, true>> = {}, flags = 0}, mintel = I_BRAINLESS, hd = 0, ac = 0, ev = 0, base_ev = 0, mr = 0, mresists = 0, can_see_invis = false, mitemuse = MONUSE_NOTHING, mbase_speed = 0, menergy = {move = 0 '\000', swim = 0 '\000', attack = 0 '\000', missile = 0 '\000', spell = 0 '\000', special = 0 '\000', item = 0 '\000', pickup_percent = 0 '\000'}, props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }, constrictor_name = "", constricting_name = std::vector of length 0, capacity 0, spells = std::vector of length 0, capacity 0, attack = {{type = AT_NONE, flavour = AF_PLAIN, damage = 0}, {type = AT_NONE, flavour = AF_PLAIN, damage = 0}, {type = AT_NONE, flavour = AF_PLAIN, damage = 0}, {type = AT_NONE, flavour = AF_PLAIN, damage = 0}}, client_id = 0}, 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_HUMAN, job = JOB_FIGHTER, religion = GOD_NO_GOD, best_skill = SK_FIGHTING, best_skill_rank = 0, xl_rank = 0, damage = 0, ac = 0}}} #53 0x000057d3d4326221 in _find_description (response="") at lookup-help.cc:1486 want_regex = regex = "call" exact_match = false key_list = std::vector of length 33, capacity 64 = {"Avatar Song spell", "Borgnjor's Vile Clutch spell", "Call Canine Familiar spell", "Call Down Hellfire spell", "Call Imp spell", "Call Lost Soul spell", "Call Tide spell", "Call of Chaos spell", "Dragon's Call spell", "Druid's Call spell", "Fire Storm spell", "Freezing Cloud spell", "Grasping Roots spell", "Haunt spell", "Might Other spell", "Monstrous Menagerie spell", "Recall spell", "Regeneration spell", "Resonance Strike spell", "Shackle spell", "Sleep spell", "Summon Forest spell", "Summon Greater Demon spell", "Summon Holies spell", "Summon Horrible Things spell", "Summon Ice Beast spell", "Summon Scarabs spell", "Swiftness spell", "Symbol of Torment spell", "Tornado spell", "Upheaval spell", "Vortex spell", "Word of Recall spell"} type = "spell" ch = lookup_type_ptr = ltype = {symbol = 83 'S', type = "spell", filter_forbid = 0x57d3d431e930 <_spell_filter(std::string, std::string)>, flags = {<_enum_bitfield_exponent_base<-1, false>> = {}, flags = 1}, simple_key_fetch = 0x0, glyph_fetch = 0x0, recap = 0x57d3d431c970 <_recap_spell_keys(std::vector, std::allocator >, std::allocator, std::allocator > > >&)>, menu_gen = 0x57d3d43214b0 <_spell_menu_gen(char, std::string const&, std::string&)>, describer = {, std::allocator > const&, std::__cxx11::basic_string, std::allocator > const&, std::__cxx11::basic_string, std::allocator > >> = {}, = {static _M_max_size = 16, static _M_max_align = 8, _M_functor = {_M_unused = {_M_object = 0x57d3d431cbe0 <_describe_spell(std::string const&, std::string const&, std::string)>, _M_const_object = 0x57d3d431cbe0 <_describe_spell(std::string const&, std::string const&, std::string)>, _M_function_pointer = 0x57d3d431cbe0 <_describe_spell(std::string const&, std::string const&, std::string)>, _M_member_pointer = (void (std::_Undefined_class::*)(std::_Undefined_class * const)) 0x57d3d431cbe0 <_describe_spell(std::string const&, std::string const&, std::string)>}, _M_pod_data = "\340\3131\324\323W\000\000\000\000\000\000\000\000\000"}, _M_manager = 0x57d3d4326e70 , std::allocator > const&, std::__cxx11::basic_string, std::allocator > const&, std::__cxx11::basic_string, std::allocator >), int (*)(std::__cxx11::basic_string, std::allocator > const&, std::__cxx11::basic_string, std::allocator > const&, std::__cxx11::basic_string, std::allocator >)>::_M_manager(std::_Any_data&, std::_Any_data const&, std::_Manager_operation)>}, _M_invoker = 0x57d3d4326f60 , std::allocator > const&, std::__cxx11::basic_string, std::allocator > const&, std::__cxx11::basic_string, std::allocator >), int (*)(std::__cxx11::basic_string, std::allocator > const&, std::__cxx11::basic_string, std::allocator > const&, std::__cxx11::basic_string, std::allocator >)>::_M_invoke(std::_Any_data const&, std::__cxx11::basic_string, std::allocator > const&, std::__cxx11::basic_string, std::allocator > const&, std::__cxx11::basic_string, std::allocator >&&)>}} by_symbol = ch = lookup_type_ptr = ltype = want_regex = regex = exact_match = key_list = by_symbol = type = #54 keyhelp_query_descriptions () at lookup-help.cc:1505 response = "" #55 0x000057d3d40b9f3f in _show_help_special (key=) at command.cc:1300 No locals. #56 0x000057d3d40ba175 in show_help (section=section@entry=-249, highlight_string="") at command.cc:1323 help = { = {_vptr.formatted_scroller = 0x57d3d4a016d0 , highlight = "", contents = {ops = std::vector of length 182, capacity 182 = {{type = FSOP_COLOUR, colour = 14, text = ""}, {type = FSOP_TEXT, colour = -1, text = "Dungeon Crawl Help"}, {type = FSOP_COLOUR, colour = 7, text = ""}, {type = FSOP_TEXT, colour = -1, text = ' ' }, {type = FSOP_COLOUR, colour = 14, text = ""}, {type = FSOP_TEXT, colour = -1, text = "Manual Contents"}, {type = FSOP_COLOUR, colour = 7, text = ""}, {type = FSOP_TEXT, colour = -1, text = "\n"}, {type = FSOP_TEXT, colour = -1, text = ' ' }, {type = FSOP_TEXT, colour = -1, text = "\n"}, {type = FSOP_TEXT, colour = -1, text = "Press one of the following keys to"}, {type = FSOP_TEXT, colour = -1, text = " "}, {type = FSOP_COLOUR, colour = 15, text = ""}, {type = FSOP_TEXT, colour = -1, text = "*"}, {type = FSOP_COLOUR, colour = 7, text = ""}, {type = FSOP_TEXT, colour = -1, text = " Table of contents"}, {type = FSOP_TEXT, colour = -1, text = "\n"}, {type = FSOP_TEXT, colour = -1, text = "obtain more information on a certain"}, {type = FSOP_TEXT, colour = -1, text = " "}, {type = FSOP_COLOUR, colour = 15, text = ""}, {type = FSOP_TEXT, colour = -1, text = "A"}, {type = FSOP_COLOUR, colour = 7, text = ""}, {type = FSOP_TEXT, colour = -1, text = ". Overview"}, {type = FSOP_TEXT, colour = -1, text = "\n"}, {type = FSOP_TEXT, colour = -1, text = "aspect of Dungeon Crawl."}, {type = FSOP_TEXT, colour = -1, text = ' ' }, {type = FSOP_COLOUR, colour = 15, text = ""}, {type = FSOP_TEXT, colour = -1, text = "B"}, {type = FSOP_COLOUR, colour = 7, text = ""}, {type = FSOP_TEXT, colour = -1, text = ". Starting Screen"}, {type = FSOP_TEXT, colour = -1, text = "\n"}, {type = FSOP_COLOUR, colour = 15, text = ""}, {type = FSOP_TEXT, colour = -1, text = "?"}, {type = FSOP_COLOUR, colour = 7, text = ""}, {type = FSOP_TEXT, colour = -1, text = ": List of commands"}, {type = FSOP_TEXT, colour = -1, text = ' ' }, {type = FSOP_COLOUR, colour = 15, text = ""}, {type = FSOP_TEXT, colour = -1, text = "C"}, {type = FSOP_COLOUR, colour = 7, text = ""}, {type = FSOP_TEXT, colour = -1, text = ". Attributes and Stats"}, {type = FSOP_TEXT, colour = -1, text = "\n"}, {type = FSOP_COLOUR, colour = 15, text = ""}, {type = FSOP_TEXT, colour = -1, text = "^"}, {type = FSOP_COLOUR, colour = 7, text = ""}, {type = FSOP_TEXT, colour = -1, text = ": Quickstart Guide"}, {type = FSOP_TEXT, colour = -1, text = ' ' }, {type = FSOP_COLOUR, colour = 15, text = ""}, {type = FSOP_TEXT, colour = -1, text = "D"}, {type = FSOP_COLOUR, colour = 7, text = ""}, {type = FSOP_TEXT, colour = -1, text = ". Exploring the Dungeon"}, {type = FSOP_TEXT, colour = -1, text = "\n"}, {type = FSOP_COLOUR, colour = 15, text = ""}, {type = FSOP_TEXT, colour = -1, text = ":"}, {type = FSOP_COLOUR, colour = 7, text = ""}, {type = FSOP_TEXT, colour = -1, text = ": Browse character notes"}, {type = FSOP_TEXT, colour = -1, text = ' ' }, {type = FSOP_COLOUR, colour = 15, text = ""}, {type = FSOP_TEXT, colour = -1, text = "E"}, {type = FSOP_COLOUR, colour = 7, text = ""}, {type = FSOP_TEXT, colour = -1, text = ". Experience and Skills"}, {type = FSOP_TEXT, colour = -1, text = "\n"}, {type = FSOP_COLOUR, colour = 15, text = ""}, {type = FSOP_TEXT, colour = -1, text = "#"}, {type = FSOP_COLOUR, colour = 7, text = ""}, {type = FSOP_TEXT, colour = -1, text = ": Browse character dump"}, {type = FSOP_TEXT, colour = -1, text = ' ' }, {type = FSOP_COLOUR, colour = 15, text = ""}, {type = FSOP_TEXT, colour = -1, text = "F"}, {type = FSOP_COLOUR, colour = 7, text = ""}, {type = FSOP_TEXT, colour = -1, text = ". Monsters"}, {type = FSOP_TEXT, colour = -1, text = "\n"}, {type = FSOP_COLOUR, colour = 15, text = ""}, {type = FSOP_TEXT, colour = -1, text = "~"}, {type = FSOP_COLOUR, colour = 7, text = ""}, {type = FSOP_TEXT, colour = -1, text = ": Macros help"}, {type = FSOP_TEXT, colour = -1, text = ' ' }, {type = FSOP_COLOUR, colour = 15, text = ""}, {type = FSOP_TEXT, colour = -1, text = "G"}, {type = FSOP_COLOUR, colour = 7, text = ""}, {type = FSOP_TEXT, colour = -1, text = ". Items"}, {type = FSOP_TEXT, colour = -1, text = "\n"}, {type = FSOP_COLOUR, colour = 15, text = ""}, {type = FSOP_TEXT, colour = -1, text = "&"}, {type = FSOP_COLOUR, colour = 7, text = ""}, {type = FSOP_TEXT, colour = -1, text = ": Options help"}, {type = FSOP_TEXT, colour = -1, text = ' ' }, {type = FSOP_COLOUR, colour = 15, text = ""}, {type = FSOP_TEXT, colour = -1, text = "H"}, {type = FSOP_COLOUR, colour = 7, text = ""}, {type = FSOP_TEXT, colour = -1, text = ". Spellcasting"}, {type = FSOP_TEXT, colour = -1, text = "\n"}, {type = FSOP_COLOUR, colour = 15, text = ""}, {type = FSOP_TEXT, colour = -1, text = "%"}, {type = FSOP_COLOUR, colour = 7, text = ""}, {type = FSOP_TEXT, colour = -1, text = ": Table of aptitudes"}, {type = FSOP_TEXT, colour = -1, text = ' ' }, {type = FSOP_COLOUR, colour = 15, text = ""}, {type = FSOP_TEXT, colour = -1, text = "I"}, {type = FSOP_COLOUR, colour = 7, text = ""}, {type = FSOP_TEXT, colour = -1, text = ". Targeting"}, {type = FSOP_TEXT, colour = -1, text = "\n"}, {type = FSOP_COLOUR, colour = 15, text = ""}, {type = FSOP_TEXT, colour = -1, text = "/"}, {type = FSOP_COLOUR, colour = 7, text = ""}, {type = FSOP_TEXT, colour = -1, text = ": Lookup description"}, {type = FSOP_TEXT, colour = -1, text = ' ' }, {type = FSOP_COLOUR, colour = 15, text = ""}, {type = FSOP_TEXT, colour = -1, text = "J"}, {type = FSOP_COLOUR, colour = 7, text = ""}, {type = FSOP_TEXT, colour = -1, text = ". Religion"}, {type = FSOP_TEXT, colour = -1, text = "\n"}, {type = FSOP_COLOUR, colour = 15, text = ""}, {type = FSOP_TEXT, colour = -1, text = "Q"}, {type = FSOP_COLOUR, colour = 7, text = ""}, {type = FSOP_TEXT, colour = -1, text = ": FAQ"}, {type = FSOP_TEXT, colour = -1, text = ' ' }, {type = FSOP_COLOUR, colour = 15, text = ""}, {type = FSOP_TEXT, colour = -1, text = "K"}, {type = FSOP_COLOUR, colour = 7, text = ""}, {type = FSOP_TEXT, colour = -1, text = ". Mutations"}, {type = FSOP_TEXT, colour = -1, text = "\n"}, {type = FSOP_COLOUR, colour = 15, text = ""}, {type = FSOP_TEXT, colour = -1, text = "V"}, {type = FSOP_COLOUR, colour = 7, text = ""}, {type = FSOP_TEXT, colour = -1, text = ": Version information"}, {type = FSOP_TEXT, colour = -1, text = ' ' }, {type = FSOP_COLOUR, colour = 15, text = ""}, {type = FSOP_TEXT, colour = -1, text = "L"}, {type = FSOP_COLOUR, colour = 7, text = ""}, {type = FSOP_TEXT, colour = -1, text = ". Licence, Contact, History"}, {type = FSOP_TEXT, colour = -1, text = "\n"}, {type = FSOP_COLOUR, colour = 15, text = ""}, {type = FSOP_TEXT, colour = -1, text = "Home"}, {type = FSOP_COLOUR, colour = 7, text = ""}, {type = FSOP_TEXT, colour = -1, text = ": This screen"}, {type = FSOP_TEXT, colour = -1, text = ' ' }, {type = FSOP_COLOUR, colour = 15, text = ""}, {type = FSOP_TEXT, colour = -1, text = "M"}, {type = FSOP_COLOUR, colour = 7, text = ""}, {type = FSOP_TEXT, colour = -1, text = ". Macros, Options, Performance"}, {type = FSOP_TEXT, colour = -1, text = "\n"}, {type = FSOP_TEXT, colour = -1, text = ' ' }, {type = FSOP_COLOUR, colour = 15, text = ""}, {type = FSOP_TEXT, colour = -1, text = "N"}, {type = FSOP_COLOUR, colour = 7, text = ""}, {type = FSOP_TEXT, colour = -1, text = ". Philosophy"}, {type = FSOP_TEXT, colour = -1, text = "\n"}, {type = FSOP_TEXT, colour = -1, text = ' ' }, {type = FSOP_COLOUR, colour = 15, text = ""}, {type = FSOP_TEXT, colour = -1, text = "1"}, {type = FSOP_COLOUR, colour = 7, text = ""}, {type = FSOP_TEXT, colour = -1, text = ". List of Character Species"}, {type = FSOP_TEXT, colour = -1, text = "\n"}, {type = FSOP_TEXT, colour = -1, text = ' ' }, {type = FSOP_COLOUR, colour = 15, text = ""}, {type = FSOP_TEXT, colour = -1, text = "2"}, {type = FSOP_COLOUR, colour = 7, text = ""}, {type = FSOP_TEXT, colour = -1, text = ". List of Character Backgrounds"}, {type = FSOP_TEXT, colour = -1, text = "\n"}, {type = FSOP_TEXT, colour = -1, text = ' ' }, {type = FSOP_COLOUR, colour = 15, text = ""}, {type = FSOP_TEXT, colour = -1, text = "3"}, {type = FSOP_COLOUR, colour = 7, text = ""}, {type = FSOP_TEXT, colour = -1, text = ". List of Skills"}, {type = FSOP_TEXT, colour = -1, text = "\n"}, {type = FSOP_TEXT, colour = -1, text = ' ' }, {type = FSOP_COLOUR, colour = 15, text = ""}, {type = FSOP_TEXT, colour = -1, text = "4"}, {type = FSOP_COLOUR, colour = 7, text = ""}, {type = FSOP_TEXT, colour = -1, text = ". List of Keys and Commands"}, {type = FSOP_TEXT, colour = -1, text = "\n"}, {type = FSOP_TEXT, colour = -1, text = ' ' }, {type = FSOP_COLOUR, colour = 15, text = ""}, {type = FSOP_TEXT, colour = -1, text = "5"}, {type = FSOP_COLOUR, colour = 7, text = ""}, {type = FSOP_TEXT, colour = -1, text = ". Inscriptions"}, {type = FSOP_TEXT, colour = -1, text = "\n"}, {type = FSOP_TEXT, colour = -1, text = ' ' }, {type = FSOP_COLOUR, colour = 15, text = ""}, {type = FSOP_TEXT, colour = -1, text = "6"}, {type = FSOP_COLOUR, colour = 7, text = ""}, {type = FSOP_TEXT, colour = -1, text = ". Dungeon sprint modes"}}}, m_tag = "help", m_title = {ops = std::vector of length 0, capacity 0}, m_more = {ops = std::vector of length 0, capacity 0}, m_lastch = 47, m_flags = 2, m_scroll = 0, m_contents_dirty = false, m_scroll_dirty = false, m_scroller = std::shared_ptr (use count 1, weak count 0) = {get() = 0x57d402c27ec0}}, prev_page = -249} key = #57 0x000057d3d4726b8b in process_command (cmd=) at main.cc:1903 No locals. #58 0x000057d3d4724119 in _input () at main.cc:1151 cmd = CMD_DISPLAY_COMMANDS player_disabled = {was_disabled = false} #59 0x000057d3d472481d in _launch_game () at main.cc:459 game_start = ccon = #60 0x000057d3d401431b in _launch_game_loop () at main.cc:363 game_ended = false game_ended = ge = fe = E = #61 main (argc=12, argv=0x7fffe849f398) at main.cc:317 No locals. [Inferior 1 (process 169957) detached] Compilation info: <<<<<<<<<<< Compiled with GCC 13.3.0 Build platform: x86_64-linux-gnu Platform: x86_64-linux-gnu CFLAGS: -O2 -pipe -DUSE_TILE -DUSE_TILE_WEB -Wall -Wformat-security -Wundef -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 -Irltiles -g -DWIZARD -DASSERTS -DREGEX_PCRE -DCLUA_BINDINGS -DDGAMELAUNCH -DSAVE_DIR_PATH="/crawl-master/crawl-bcrawl/saves" -DDATA_DIR_PATH="/crawl-master/crawl-bcrawl/data/" -DWEB_DIR_PATH="/crawl-master/crawl-bcrawl/data/web/" -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 LDFLAGS: -rdynamic -fuse-ld=gold -O2 >>>>>>>>>>> Place info: branch = 0, depth = 5 Level id: D:5 Level build method = , level layout type = rooms, absdepth0 = 4 Level vaults: layout_basic minmay_fountain_box nicolae_sextant hangedman_decor_diamond_cutter doesnt_xom_only_xom uniq_grinder Markers: <<<<<<<<<<<<<<<<<<<<<< >>>>>>>>>>>>>>>>>>>>>> Messages: <<<<<<<<<<<<<<<<<<<<<< Confirm with . or Enter, or press ? or * to list all spells. Aiming: Flame Tongue (safe; 3% risk of failure) Press: ? - help, Shift-Dir - straight line, f - dart slug Aim: a dart slug The flame tongue hits the dart slug. The dart slug is lightly wounded. The dart slug launches a dart at you. The slug dart hits you. Unknown command. Casting: Flame Tongue (safe; 3% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Flame Tongue (safe; 3% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - dart slug Aim: a dart slug (lightly wounded) The flame tongue hits the dart slug! The dart slug is almost dead. Casting: Flame Tongue (safe; 3% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Flame Tongue (safe; 3% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - dart slug Aim: a dart slug (almost dead) You miscast Flame Tongue. You are very lightly contaminated with residual magic. Nothing appears to happen. Casting: Flame Tongue (safe; 3% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Flame Tongue (safe; 3% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - dart slug Aim: a dart slug (almost dead) The flame tongue hits the dart slug but does no damage. The dart slug is almost dead. The dart slug bites you but does no damage. Casting: Flame Tongue (safe; 3% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Flame Tongue (safe; 3% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - dart slug Aim: a dart slug (almost dead) The flame tongue hits the dart slug. You kill the dart slug! q - a scroll labeled WUEDARCHOSIE You now have 174 gold pieces (gained 8). There is an open door here. Items here: ) [ †† a +0 falchion; a +0 leather armour; an orc corpse; a worker ant corpse Butcher an orc corpse? [(y)es/(n)o/(a)ll/(q)uit/?] You butcher the orc corpse. You butcher the worker ant corpse. r - a chunk of flesh; r - 3 chunks of flesh (gained 2) There is an open door, spattered with blood here. Things that are here: a +0 falchion; a +0 leather armour; an orc skeleton Your magical contamination has completely faded away. There is an open door, spattered with blood here. Things that are here: a +0 falchion; a +0 leather armour; an orc skeleton Found a stone staircase leading down. Found a ration. Found an escape hatch in the ceiling. i - a scroll of identify; s - a buckler t - a scroll of remove curse There is an escape hatch in the ceiling here. e - 2 rations {!d} (gained 1) There is an escape hatch in the ceiling here. A mysterious force pulls you upwards. The hatch slams shut behind you. Memorise Conjure Flame, consuming 3 spell levels and leaving 5? You start memorising the spell. You continue memorising. x3 You finish memorising. Spell assigned to 'c'. Memorise Inner Flame, consuming 3 spell levels and leaving 2? You start memorising the spell. You continue memorising. x3 You finish memorising. Spell assigned to 'd'. You start resting. Magic restored. There is a stone staircase leading down here. You climb downwards. There is a stone staircase leading up here. As you read the scroll of identify, it crumbles to dust. q - a scroll of blinking Eating one of 3 chunks of flesh. You eat one of the 3 chunks of flesh. This raw flesh tastes terrible. An orc comes into view. It is wielding a +3 morningstar. You see here a glowing spear. A bat comes into view. The orc shouts! A giant cockroach comes into view. Casting: Flame Tongue (safe; 3% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Flame Tongue (safe; 3% risk of failure) Press: ? - help, Shift-Dir - straight line, f - orc Aim: an orc, wielding a +3 morningstar The flame tongue hits the orc! You kill the orc! Casting: Flame Tongue (safe; 3% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Okay, then. Casting: Flame Tongue (safe; 3% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Flame Tongue (safe; 3% risk of failure) Press: ? - help, Shift-Dir - straight line, f - giant cockroach Aim: a giant cockroach (clinging) The flame tongue hits the giant cockroach. You kill the giant cockroach! Casting: Flame Tongue (safe; 3% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Okay, then. i - a scroll labeled ISTAAN ZALULL Things that are here: a +3 morningstar; an orc corpse You butcher the orc corpse. r - 5 chunks of flesh (gained 3) Things that are here: a +3 morningstar; an orc skeleton Natasha, Servant of Life and Death comes into view. She is carrying a wand of flame (9). Natasha moves out of view. Natasha hisses angrily. Natasha stares at you and mumbles some strange words. The magic dart hits you. Things that are here: a +3 morningstar; an orc skeleton h - 2 scrolls labeled ACHUGI YLOU h - 2 scrolls labeled ACHUGI YLOU {revelation} Saving game... please wait. Level annotation: Natasha Welcome back, CrazyBamboolord the Oni Fire Elementalist. Press m to set your skill training. Press ? for a list of commands and other information. Natasha stares at you and mumbles some strange words. You feel yourself slow down. You see here a giant cockroach corpse. Natasha zaps a wand. The puff of flame hits you! Cast which spell? (? or * to list) Aiming: Flame Tongue (safe; 3% risk of failure) Press: ? - help, Shift-Dir - straight line, f - Natasha Aim: Natasha, carrying a wand of flame (8) The flame tongue hits Natasha! Natasha is heavily wounded. Natasha zaps a wand. The puff of flame hits you! Casting: Flame Tongue (safe; 3% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Flame Tongue (safe; 3% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - Natasha Aim: Natasha, carrying a wand of flame (7) (heavily wounded) The flame tongue hits Natasha! You kill Natasha! Natasha yowls pathetically as she dies! You start resting. Magic restored. You feel yourself speed up. You see here a giant cockroach corpse. You start resting. HP restored. You open the door. An adder and a hippogriff come into view. You have encountered a dangerous foe! Casting: Flame Tongue (safe; 3% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Okay, then. You close the door. Casting: Flame Tongue (safe; 3% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Flame Tongue (safe; 3% risk of failure) Press: ? - help, Shift-Dir - straight line, f - bat Aim: a bat The flame tongue hits the bat. You kill the bat! You see here a bat corpse. You butcher the bat corpse. r - 6 chunks of flesh (gained 1) You see here a bat skeleton. You start resting. Magic restored. Saving game... please wait. Welcome back, CrazyBamboolord the Oni Fire Elementalist. Welcome back, CrazyBamboolord the Oni Fire Elementalist. Welcome back, CrazyBamboolord the Oni Fire Elementalist. Welcome back, CrazyBamboolord the Oni Fire Elementalist. Welcome back, CrazyBamboolord the Oni Fire Elementalist. Welcome back, CrazyBamboolord the Oni Fire Elementalist. Welcome back, CrazyBamboolord the Oni Fire Elementalist. Welcome back, CrazyBamboolord the Oni Fire Elementalist. Press m to set your skill training. Press ? for a list of commands and other information. Saving game... please wait. Welcome back, CrazyBamboolord the Oni Fire Elementalist. Welcome back, CrazyBamboolord the Oni Fire Elementalist. Press m to set your skill training. Press ? for a list of commands and other information. As you open the door, it creaks loudly! The adder hisses angrily. The hippogriff screeches! Cast which spell? (? or * to list) Aiming: Conjure Flame (safe; 11% risk of failure) Press: ? - help, Dir - move target cursor The fire ignites! Casting: Conjure Flame (safe; 11% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Conjure Flame (safe; 11% risk of failure) Press: ? - help, Dir - move target cursor The fire ignites! Casting: Conjure Flame (safe; 11% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Flame Tongue (safe; 3% risk of failure) Press: ? - help, Shift-Dir - straight line, f - hippogriff Aim: a hippogriff (flame) The flame tongue misses the adder. The flame tongue hits the hippogriff. The hippogriff is lightly wounded. The hippogriff is engulfed in blazing flames. Casting: Flame Tongue (safe; 3% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Okay, then. The adder is engulfed in blazing flames. Casting: Flame Tongue (safe; 3% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Flame Tongue (safe; 3% risk of failure) Press: ? - help, Shift-Dir - straight line, f - adder, p - hippogriff Aim: an adder (severely wounded) The flame tongue hits the adder! You kill the adder! Training target 3.0 for Stealth reached! Your Stealth skill increases to level 3! The hippogriff is engulfed in blazing flames. The hippogriff closely misses you. The hippogriff barely misses you. You block the hippogriff's attack. Casting: Flame Tongue (safe; 3% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Flame Tongue (safe; 3% risk of failure) Press: ? - help, Shift-Dir - straight line, f - hippogriff Aim: a hippogriff (flame, heavily wounded) The flame tongue hits the hippogriff. The hippogriff is severely wounded. The hippogriff is engulfed in blazing flames. The hippogriff misses you. You block the hippogriff's attack. The hippogriff claws you. Casting: Flame Tongue (safe; 3% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Flame Tongue (safe; 3% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - hippogriff Aim: a hippogriff (flame, almost dead) The flame tongue hits the hippogriff. You kill the hippogriff! Your Dodging skill increases to level 3! Your Spellcasting skill increases to level 4! You have reached level 6! Your experience leads to an increase in your attributes! Your base attributes are Str 12, Int 17, Dex 11. Increase (S)trength, (I)ntelligence, or (D)exterity? You feel clever. You have discovered the spell Tukima's Dance. Memorise Tukima's Dance, consuming 3 spell levels and leaving 1? You start memorising the spell. You continue memorising. x3 You finish memorising. Spell assigned to 'e'. Okay, then. You see here a giant cockroach corpse. There is an open door here. d - 485 stones (gained 164) You see here an adder corpse. You butcher the adder corpse. r - 8 chunks of flesh (gained 2) You see here an adder skeleton. You start resting. HP restored. Some of the chunks of flesh in your inventory have rotted away. Eating one of 6 chunks of flesh. You eat one of the 6 chunks of flesh. This raw flesh tastes terrible. Magic restored. u - a wand of disintegration (10) Okay, then. You open the door. A hound comes into view. A hound is nearby! Casting: Flame Tongue (safe; 2% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Flame Tongue (safe; 2% risk of failure) Press: ? - help, Shift-Dir - straight line, f - hound Aim: a hound (hasn't noticed you) The flame tongue hits the hound. The hound is moderately wounded. The hound barks! Casting: Flame Tongue (safe; 2% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Okay, then. Casting: Flame Tongue (safe; 2% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Conjure Flame (safe; 7% risk of failure) Press: ? - help, Dir - move target cursor, p - hound The fire ignites! The hound pauses to sniff the ground. Casting: Conjure Flame (safe; 7% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Okay, then. Casting: Conjure Flame (safe; 7% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Flame Tongue (safe; 2% risk of failure) Press: ? - help, Shift-Dir - straight line, f - hound Aim: a hound (moderately wounded) The flame tongue hits the hound! The hound is severely wounded. Casting: Flame Tongue (safe; 2% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Flame Tongue (safe; 2% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - hound Aim: a hound (severely wounded) The flame tongue misses the hound. Casting: Flame Tongue (safe; 2% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Flame Tongue (safe; 2% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - hound Aim: a hound (severely wounded) The flame tongue misses the hound. Casting: Flame Tongue (safe; 2% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Flame Tongue (safe; 2% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - hound Aim: a hound (severely wounded) The flame tongue hits the hound. The hound is almost dead. The hound pauses to sniff the ground. A hobgoblin comes into view. Casting: Flame Tongue (safe; 2% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Flame Tongue (safe; 2% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - hound Aim: a hound (almost dead) The flame tongue hits the hound! You kill the hound! The hobgoblin shouts! Casting: Flame Tongue (safe; 2% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Flame Tongue (safe; 2% risk of failure) Press: ? - help, Shift-Dir - straight line, f - hobgoblin Aim: a hobgoblin The flame tongue hits the hobgoblin! You kill the hobgoblin! You start resting. Magic restored. There is an open door here. You see here a hobgoblin corpse. You butcher the hobgoblin corpse. r - 6 chunks of flesh (gained 1) You see here a hobgoblin skeleton. Some of the chunks of flesh in your inventory have rotted away. You open the door. A rat and a worker ant come into view. There are monsters nearby! There is an open door here. Casting: Flame Tongue (safe; 2% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Okay, then. Casting: Flame Tongue (safe; 2% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Conjure Flame (safe; 7% risk of failure) Press: ? - help, Dir - move target cursor, f - worker ant Aim: a worker ant Okay, then. Casting: Conjure Flame (safe; 7% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Conjure Flame (safe; 7% risk of failure) Press: ? - help, Dir - move target cursor The fire ignites! You hear a grinding noise. Casting: Conjure Flame (safe; 7% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Conjure Flame (safe; 7% risk of failure) Press: ? - help, Dir - move target cursor, f - worker ant Aim: a worker ant Okay, then. Casting: Conjure Flame (safe; 7% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Okay, then. Casting: Conjure Flame (safe; 7% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Flame Tongue (safe; 2% risk of failure) Press: ? - help, Shift-Dir - straight line, f - worker ant Aim: a worker ant The flame tongue hits the worker ant! The worker ant is heavily wounded. The worker ant bites you. Casting: Flame Tongue (safe; 2% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Flame Tongue (safe; 2% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - worker ant Aim: a worker ant (heavily wounded) The flame tongue hits the worker ant. The worker ant is severely wounded. The worker ant bites you. You are poisoned. The worker ant poisons you! Casting: Flame Tongue (safe; 2% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Flame Tongue (safe; 2% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - worker ant Aim: a worker ant (severely wounded) The flame tongue hits the worker ant but does no damage. The worker ant is severely wounded. You feel sick. The worker ant bites you but does no damage. Casting: Flame Tongue (safe; 2% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Flame Tongue (safe; 2% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - worker ant Aim: a worker ant (severely wounded) The flame tongue hits the worker ant! You kill the worker ant! You feel sick. Casting: Flame Tongue (safe; 2% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Flame Tongue (safe; 2% risk of failure) Press: ? - help, Shift-Dir - straight line, f - rat Aim: a rat The flame tongue hits the rat. The rat is heavily wounded. Casting: Flame Tongue (safe; 2% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Flame Tongue (safe; 2% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - rat Aim: a rat (heavily wounded) The flame tongue misses the rat. You feel sick. Casting: Flame Tongue (safe; 2% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Flame Tongue (safe; 2% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - rat Aim: a rat (heavily wounded) The flame tongue hits the rat! You kill the rat! A dart slug comes into view. You see here a rat corpse. You butcher the rat corpse. Things that are here: a chunk of flesh; a rat skeleton r - 5 chunks of flesh (gained 1) You feel sick. You feel sick. Casting: Flame Tongue (safe; 2% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Flame Tongue (safe; 2% risk of failure) Press: ? - help, Shift-Dir - straight line, f - dart slug Aim: a dart slug The flame tongue hits the dart slug. The dart slug is moderately wounded. Casting: Flame Tongue (safe; 2% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Flame Tongue (safe; 2% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - dart slug Aim: a dart slug (moderately wounded) The flame tongue hits the dart slug! You kill the dart slug! You feel sick. You are no longer poisoned. You see here a rat skeleton. You start resting. HP restored. Magic restored. You start resting. HP restored. You open the door. There is an open door here. You see here 172 arrows. v - a scroll labeled UDEAHU VIUTISI; d - 559 stones (gained 74) You now have 194 gold pieces (gained 20). You now have 213 gold pieces (gained 19). Okay, then. Okay, then. There is an open door here. You open the door. There is an open door here. Eating one of 5 chunks of flesh. You eat one of the 5 chunks of flesh. This raw flesh tastes terrible. f - 3 scrolls of teleportation (gained 1) There is a stone staircase leading down here. Found a stone staircase leading up. You see here a falchion. n - 2 silvery potions (gained 1) There is an open door here. Found an escape hatch in the floor. Some of the chunks of flesh in your inventory have rotted away. You see here a ring mail. You see here a falchion. d - 699 stones (gained 140) There is an escape hatch in the floor here. There is an open door here. Some of the chunks of flesh in your inventory have rotted away. You open the door. There is an open door here. Found a stone staircase leading down. i - a scroll of identify; w - a scroll labeled ISTAAN ZALULL As you read the scroll of identify, it crumbles to dust. n - 2 potions of lignification All of the chunks of flesh in your inventory have rotted away. There is a stone staircase leading down here. A worm comes into view. A worm is nearby! Casting: Flame Tongue (safe; 2% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Okay, then. Casting: Flame Tongue (safe; 2% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Conjure Flame (safe; 7% risk of failure) Press: ? - help, Dir - move target cursor The fire ignites! Casting: Conjure Flame (safe; 7% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Flame Tongue (safe; 2% risk of failure) Press: ? - help, Shift-Dir - straight line, f - worm Aim: a worm The flame tongue hits the worm! The worm is heavily wounded. Casting: Flame Tongue (safe; 2% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Flame Tongue (safe; 2% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - worm Aim: a worm (heavily wounded) The flame tongue hits the worm. The worm is severely wounded. Casting: Flame Tongue (safe; 2% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Flame Tongue (safe; 2% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - worm Aim: a worm (heavily wounded) The flame tongue hits the worm! You kill the worm! Casting: Flame Tongue (safe; 2% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Okay, then. You start resting. Magic restored. You see here a worm corpse. You butcher the worm corpse. i - 3 chunks of flesh q - 2 scrolls of blinking (gained 1) You see here 116 poisoned needles. You open the door. Nemelex Xobeh says, "Care to risk it all for some fabulous prizes, mortal?" "Beware! This is a limited time offer!" Found 9 gold pieces, a crude hand crossbow and a scroll of remove curse. Found a sparkling altar of Nemelex Xobeh. There is an open door here. You are feeling hungry. The howler monkey howls! There is a sparkling altar of Nemelex Xobeh here. There is a transporter here. Saving game... please wait. Level annotation: 1 transporter Welcome back, CrazyBamboolord the Oni Fire Elementalist. Press m to set your skill training. Press ? for a list of commands and other information. Nemelex Xobeh says, "You win!" A transporter appears. You enter the transporter and appear at another place. r - a crude hand crossbow t - 2 scrolls of remove curse (gained 1) You now have 222 gold pieces (gained 9). You feel stronger. Your claws tingle! r - the +6 hand crossbow "Yleurgh" (weapon) {speed, Str+2} There is a transporter here. You enter the transporter and appear at another place. There is a sparkling altar of Nemelex Xobeh here. Eat one of 3 chunks of flesh? (ye/n/q) You eat one of the 3 chunks of flesh. This raw flesh tastes terrible. There is an open door here. You see here 116 poisoned needles. There is a stone staircase leading up here. There is a stone staircase leading down here. You climb downwards. Near the exit of the stairs, a rune flashes! You stop descending the stairs. Your surroundings suddenly seem different. An orc and 2 orc wizards come into view. The orc wizard shouts! x2; You hear a shout! Cast which spell? (? or * to list) Aiming: Flame Tongue (safe; 2% risk of failure) Press: ? - help, Shift-Dir - straight line, f - orc wizard Aim: an orc wizard, wielding a +0 dagger and wearing a +0 robe The flame tongue hits the orc wizard. The orc wizard is moderately wounded. An orc comes into view. An orc wizard comes into view. It is wielding a +0 dagger. Casting: Flame Tongue (safe; 2% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Flame Tongue (safe; 2% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - orc wizard Aim: an orc wizard, wielding a +0 dagger and wearing a +0 robe (moderately wounded) The flame tongue hits the orc wizard. The orc wizard is severely wounded. The orc wizard mumbles some strange words. The orc wizard seems to speed up. The orc wizard barely misses you. Casting: Flame Tongue (safe; 2% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Flame Tongue (safe; 2% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - orc wizard Aim: an orc wizard, wielding a +0 dagger and wearing a +0 robe (severely wounded) The flame tongue hits the orc wizard. You kill the orc wizard! You have reached level 7! Casting: Flame Tongue (safe; 2% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Flame Tongue (safe; 2% risk of failure) Press: ? - help, Shift-Dir - straight line, f - orc Aim: an orc, wielding a +0 hand axe The flame tongue hits the orc. The orc is moderately wounded. The orc hits you with a +0 hand axe. The orc wizard gestures wildly while chanting. The orc wizard blinks! Casting: Flame Tongue (safe; 2% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Flame Tongue (safe; 2% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - orc Aim: an orc, wielding a +0 hand axe (moderately wounded) The flame tongue hits the orc! You kill the orc! The orc wizard gestures at you while chanting. The magic dart hits you. Casting: Flame Tongue (safe; 2% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Flame Tongue (safe; 2% risk of failure) Press: ? - help, Shift-Dir - straight line, f - orc wizard Aim: an orc wizard, wielding a -3 dagger and wearing a +0 robe The flame tongue hits the orc wizard but does no damage. Casting: Flame Tongue (safe; 2% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Flame Tongue (safe; 2% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - orc wizard Aim: an orc wizard, wielding a -3 dagger and wearing a +0 robe The flame tongue hits the orc wizard! The orc wizard is severely wounded. You block the orc wizard's attack. Casting: Flame Tongue (safe; 2% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Flame Tongue (safe; 2% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - orc wizard Aim: an orc wizard, wielding a -3 dagger and wearing a +0 robe (severely wounded) The flame tongue hits the orc wizard! You kill the orc wizard! The orc hits you but does no damage. Casting: Flame Tongue (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Flame Tongue (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line, f - orc Aim: an orc, wearing a +0 chain mail The flame tongue hits the orc. The orc is heavily wounded. An ogre comes into view. It is wielding a +0 giant club. The orc barely misses you. Casting: Flame Tongue (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Flame Tongue (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - orc Aim: an orc, wearing a +0 chain mail (heavily wounded) The flame tongue hits the orc but does no damage. The orc is heavily wounded. The ogre shouts! The orc hits you but does no damage. The orc wizard mumbles some strange words. The orc wizard blinks! Casting: Flame Tongue (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Flame Tongue (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - orc Aim: an orc, wearing a +0 chain mail (heavily wounded) The flame tongue hits the orc. You kill the orc! Casting: Flame Tongue (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Flame Tongue (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line, f - orc wizard Aim: an orc wizard, wielding a +0 dagger and wearing a +0 robe (fast) The flame tongue hits the orc wizard! The orc wizard is severely wounded. Casting: Flame Tongue (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Flame Tongue (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - orc wizard Aim: an orc wizard, wielding a +0 dagger and wearing a +0 robe (severely wounded, fast) The flame tongue hits the orc wizard. The orc wizard is severely wounded. Casting: Flame Tongue (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Flame Tongue (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - orc wizard Aim: an orc wizard, wielding a +0 dagger and wearing a +0 robe (severely wounded, fast) The flame tongue misses the orc wizard. The flame tongue misses the ogre. The orc wizard misses you. The orc wizard barely misses you. You can't go up here! Casting: Flame Tongue (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Flame Tongue (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - orc wizard Aim: an orc wizard, wielding a +0 dagger and wearing a +0 robe (severely wounded, fast) The flame tongue hits the orc wizard! You kill the orc wizard! As you read the scroll of teleportation, it crumbles to dust. You feel strangely unstable. The ogre barely misses you. Casting: Flame Tongue (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Flame Tongue (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line, f - ogre Aim: an ogre, wielding a +0 giant club The flame tongue hits the ogre! The ogre is moderately wounded. The ogre hits you with a +0 giant club! Really attack while wielding the +6 hand crossbow "Yleurgh" {speed, Str+2}? [Y]es or [N]o only, please. Really attack while wielding the +6 hand crossbow "Yleurgh" {speed, Str+2}? You barely miss the ogre. The ogre is moderately wounded. The ogre misses you. You clumsily bash the ogre but do no damage. The ogre is moderately wounded. Your surroundings suddenly seem different. A leopard gecko comes into view. The leopard gecko is sucked into a shaft! The shaft crumbles and collapses. Found 47 gold pieces, a ring mail and a spear. Found a stone staircase leading up and a stone staircase leading down. There is a stone staircase leading up here. You climb upwards. There is a stone staircase leading down here. You start resting. HP restored. Magic restored. You climb downwards. A rune on the stairs sparks and fizzles. There is a stone staircase leading up here. You climb upwards. There is a stone staircase leading down here. Search for what [? for help]? bolt There is an open door here. All of the chunks of flesh in your inventory have rotted away. There is a stone staircase leading up here. You climb upwards. There is a stone staircase leading down here. There is a stone staircase leading up here. You climb upwards. There is a stone staircase leading down here. You see here 73 arrows. You are feeling hungry. You see here 257 bolts. i - 257 bolts (D) Dungeon Where to? (Enter - D:1 @ (x,y), ? - help) What level of the Dungeon? (default 1, ? - help) Okay, then. Okay, then. Unknown command. (D) Dungeon Where to? (Enter - D:1 @ (x,y), ? - help) What level of the Dungeon? (default 1, ? - help) You see here 73 arrows. 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 down here. You climb downwards. There is a stone staircase leading up here. There is a stone staircase leading down here. You climb downwards. A rune on the stairs sparks and fizzles. A crimson imp comes into view. There is a stone staircase leading up here. Firing (i - inventory. (/) - cycle) i - 257 bolts (quivered) Press: ? - help, Shift-Dir - straight line, f - crimson imp Aim: a crimson imp You shoot a bolt. The bolt hits the crimson imp. The crimson imp is moderately wounded. What are your orders? t - Shout! Orders for allies: a - Attack new target. p - Attack previous target. r - Retreat! s - Stop attacking. g - Guard the area. f - Follow me. Anything else - Cancel. Okay, then. Unknown command. Casting: Flame Tongue (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Okay, then. Firing (i - inventory. (/) - cycle) i - 256 bolts (quivered) Press: ? - help, Shift-Dir - straight line, f/p - crimson imp Aim: a crimson imp (lightly wounded) You shoot a bolt. The bolt misses the crimson imp. The crimson imp misses you. Firing (i - inventory. (/) - cycle) i - 255 bolts (quivered) Press: ? - help, Shift-Dir - straight line, f/p - crimson imp Aim: a crimson imp (lightly wounded) You shoot a bolt. The bolt hits the crimson imp! You kill the crimson imp! Training target 4.0 for Dodging reached! Your Dodging skill increases to level 4! e - 3 rations {!d} (gained 1) Found a stone staircase leading down. An adder skeleton comes into view. You see here 7 gold pieces. Firing (i - inventory. (/) - cycle) i - 254 bolts (quivered) Press: ? - help, Shift-Dir - straight line, f - adder skeleton Aim: an adder skeleton (resting) You shoot a bolt. The bolt hits the adder skeleton! The adder skeleton is severely damaged. You now have 229 gold pieces (gained 7). The adder skeleton is too close now for your liking. Casting: Flame Tongue (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Flame Tongue (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - adder skeleton Aim: an adder skeleton (severely damaged) The flame tongue misses the adder skeleton. Casting: Flame Tongue (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Flame Tongue (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - adder skeleton Aim: an adder skeleton (severely damaged) The flame tongue hits the adder skeleton! You destroy the adder skeleton! Magic restored. A crimson imp comes into view. Firing (i - inventory. (/) - cycle) i - 253 bolts (quivered) Press: ? - help, Shift-Dir - straight line, f - crimson imp Aim: a crimson imp (resting) You shoot a bolt. The bolt hits the crimson imp! The crimson imp shouts! The crimson imp is almost dead. Firing (i - inventory. (/) - cycle) i - 252 bolts (quivered) Press: ? - help, Shift-Dir - straight line, f/p - crimson imp Aim: a crimson imp (severely wounded) You shoot a bolt. The bolt hits the crimson imp! You kill the crimson imp! You see here 64 poisoned needles. You now have 242 gold pieces (gained 13). You now have 269 gold pieces (gained 27). A worker ant comes into view. Firing (i - inventory. (/) - cycle) i - 251 bolts (quivered) Press: ? - help, Shift-Dir - straight line, f - worker ant Aim: a worker ant (resting) You shoot a bolt. The bolt hits the worker ant! The worker ant is almost dead. You hear a grinding noise. x2 Firing (i - inventory. (/) - cycle) i - 250 bolts (quivered) Press: ? - help, Shift-Dir - straight line, f/p - worker ant Aim: a worker ant (severely wounded) You shoot a bolt. The bolt hits the worker ant. The worker ant is almost dead. Casting: Flame Tongue (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Flame Tongue (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - worker ant Aim: a worker ant (almost dead) The flame tongue hits the worker ant. You kill the worker ant! Your Spellcasting skill increases to level 5! You see here a worker ant corpse. You butcher the worker ant corpse. x - 2 chunks of flesh Eat one of 2 chunks of flesh? (ye/n/q) You eat one of the 2 chunks of flesh. This raw flesh tastes terrible. You now have 277 gold pieces (gained 8). You now have 298 gold pieces (gained 21). You see here a trident. Found a stone staircase leading up. You now have 316 gold pieces (gained 18). An ogre comes into view. It is wielding a +0 giant club. An ogre is nearby! Firing (i - inventory. (/) - cycle) i - 249 bolts (quivered) Press: ? - help, Shift-Dir - straight line, f - ogre Aim: an ogre, wielding a +0 giant club (resting) You shoot a bolt. The bolt hits the ogre!! The ogre shouts! The ogre is severely wounded. The ogre is too close now for your liking. Casting: Flame Tongue (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Flame Tongue (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - ogre Aim: an ogre, wielding a +0 giant club (severely wounded) The flame tongue hits the ogre! The ogre is almost dead. Casting: Flame Tongue (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Flame Tongue (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - ogre Aim: an ogre, wielding a +0 giant club (almost dead) The flame tongue hits the ogre. The ogre is almost dead. Casting: Flame Tongue (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Flame Tongue (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - ogre Aim: an ogre, wielding a +0 giant club (almost dead) The flame tongue hits the ogre. You kill the ogre! There is a stone staircase leading up here. You see here 233 sling bullets. The ogre is too close now for your liking. Firing (i - inventory. (/) - cycle) i - 248 bolts (quivered) Press: ? - help, Shift-Dir - straight line, f - ogre Aim: an ogre, wielding a +0 giant club (hasn't noticed you) You shoot a bolt. The ogre shouts! The bolt hits the ogre! The ogre is severely wounded. Firing (i - inventory. (/) - cycle) i - 247 bolts (quivered) Press: ? - help, Shift-Dir - straight line, f/p - ogre Aim: an ogre, wielding a +0 giant club (severely wounded) You shoot a bolt. The bolt hits the ogre. The ogre is almost dead. Firing (i - inventory. (/) - cycle) i - 246 bolts (quivered) Press: ? - help, Shift-Dir - straight line, f/p - ogre Aim: an ogre, wielding a +0 giant club (almost dead) You shoot a bolt. The bolt hits the ogre. The ogre is almost dead. Firing (i - inventory. (/) - cycle) i - 245 bolts (quivered) Press: ? - help, Shift-Dir - straight line, f/p - ogre Aim: an ogre, wielding a +0 giant club (almost dead) You shoot a bolt. The bolt hits the ogre! You kill the ogre! You see here a +0 giant club. Eating a chunk of flesh. You eat the chunk of flesh. This raw flesh tastes terrible. x - a fizzy clear potion Search for what [Enter for "bolt", or ? for help]? demon Can't find anything matching that. You see here a dagger. You now have 334 gold pieces (gained 18). y - a scroll labeled UHOMAE WOIH You now have 347 gold pieces (gained 13). j - 2 scrolls of noise (gained 1) z - a ruby potion You see here a hunting sling. You now have 366 gold pieces (gained 19). k - 2 sapphire potions (gained 1) e - 4 rations {!d} (gained 1) You now have 385 gold pieces (gained 19). d - 805 stones (gained 106) y - 3 scrolls labeled UHOMAE WOIH (gained 2) Found a stone staircase leading down. You now have 398 gold pieces (gained 13). A - an amethyst potion B - a fizzy silvery potion i - 364 bolts (gained 120) A bullfrog comes into view. Firing (i - inventory. (/) - cycle) i - 364 bolts (quivered) Press: ? - help, Shift-Dir - straight line, f - bullfrog Aim: a bullfrog (resting) You shoot a bolt. The bolt hits the bullfrog. The bullfrog croaks. The bullfrog is moderately wounded. The bullfrog misses you. Casting: Flame Tongue (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Flame Tongue (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - bullfrog Aim: a bullfrog (moderately wounded) The flame tongue hits the bullfrog! The bullfrog is severely wounded. The bullfrog hits you! Casting: Flame Tongue (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Flame Tongue (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - bullfrog Aim: a bullfrog (severely wounded) The flame tongue hits the bullfrog! You kill the bullfrog! HP restored. You see here a bullfrog corpse. You see here a +0 giant club. You now have 409 gold pieces (gained 11). You are feeling hungry. You open the door. Found a radiant altar of Vehumet. You see here a dagger. You butcher the bullfrog corpse. C - 3 chunks of flesh You see here a bullfrog skeleton. x2 Eating one of 3 chunks of flesh. You eat one of the 3 chunks of flesh. This raw flesh tastes terrible. You see here a +0 giant club. There is an open door here. There is a radiant altar of Vehumet here. There is an open door here. Done exploring. You see here a flail. All of the chunks of flesh in your inventory have rotted away. There is a stone staircase leading down here. You climb downwards. A rune on the stairs sparks and fizzles. There is a stone staircase leading up here. Memorise Sticky Flame, consuming 4 spell levels and leaving 1? You start memorising the spell. You continue memorising. x4 You finish memorising. Spell assigned to 'f'. A crimson imp comes into view. Firing (i - inventory. (/) - cycle) i - 363 bolts (quivered) Press: ? - help, Shift-Dir - straight line, f - crimson imp Aim: a crimson imp (resting) You shoot a bolt. The bolt hits the crimson imp! The crimson imp shouts! The crimson imp is almost dead. Firing (i - inventory. (/) - cycle) i - 362 bolts (quivered) Press: ? - help, Shift-Dir - straight line, f/p - crimson imp Aim: a crimson imp (almost dead) You shoot a bolt. The bolt misses the crimson imp. Firing (i - inventory. (/) - cycle) i - 361 bolts (quivered) Press: ? - help, Shift-Dir - straight line, f/p - crimson imp Aim: a crimson imp (almost dead) You shoot a bolt. The bolt hits the crimson imp! You kill the crimson imp! You have reached level 8! You feel stronger. You have discovered the spell Petrify. Okay, then. Describe a (M)onster, (S)pell, s(K)ill, (A)bility, (C)ard, (I)tem, (F)eature, (G)od, (B)ranch, c(L)oud or s(T)atus? Describe a card; partial names and regexps are fine. Describe what? Okay, then. Describe a (M)onster, (S)pell, s(K)ill, (A)bility, (C)ard, (I)tem, (F)eature, (G)od, (B)ranch, c(L)oud or s(T)atus? Describe a spell; partial names and regexps are fine. Describe what? call >>>>>>>>>>>>>>>>>>>>>> Version history: Game started: bcrawl-1.42.1 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: 1, map_stat_gen: 0, type: 1, arena_suspended: 0 prev_cmd = CMD_DISPLAY_COMMANDS repeat_cmd = CMD_NO_CMD Player: {{{{{{{{{{{ Name: [CrazyBamboolord] Species: Oni Job: Fire Elementalist HP: 57/57; mods: 0/0 MP: 18/18; mod: 0 Stats: 15 (15) 18 (18) 14 (14) Position: (12, 29), god: No God (0), turn_is_over: 0, banished: 0 Standing on/in/over feature: floor Skills (mode: manual) Name | can_train | train | training | level | points | progress Fighting | X | 0 | 0 | 0 | 0 | 0/50 Short Blades | | 0 | 0 | 0 | 0 | 0/59 Long Blades | | 0 | 0 | 0 | 0 | 0/50 Axes | | 0 | 0 | 0 | 0 | 0/50 Maces & Flails | | 0 | 0 | 0 | 0 | 0/42 Polearms | | 0 | 0 | 0 | 0 | 0/50 Staves | | 0 | 0 | 0 | 0 | 0/50 Slings | | 0 | 0 | 0 | 0 | 0/59 Bows | | 0 | 0 | 0 | 0 | 0/50 Crossbows | X | 0 | 0 | 0 | 0 | 0/59 Throwing | X | 0 | 0 | 0 | 0 | 0/59 Armour | X | 0 | 0 | 0 | 0 | 0/59 Dodging | X | 0 | 0 | 4 | 594 | 0/297 Stealth | X | 0 | 0 | 3 | 356 | 0/238 Shields | X | 0 | 0 | 0 | 0 | 0/59 Unarmed Combat | X | 0 | 0 | 0 | 0 | 0/50 Spellcasting | X | 2 | 100 | 5 | 1994 | 494/600 Invocations | | 0 | 0 | 0 | 0 | 0/35 Evocations | X | 0 | 0 | 0 | 0 | 0/50 Spell bugs: Durations: Attributes: #12: 409 #27: 1248 #49: 479 #59: 1 Mutations: claws: 1 (innate) fangs: 1 (innate) horns: 1 (innate) Inventory bugs: Equipment: eq slot #0, inv slot #17: +6 hand crossbow "Yleurgh" {speed, Str+2} eq slot #6, inv slot #0: +0 animal skin eq slot #7, inv slot #1: ring of resist corrosion eq slot #8, inv slot #15: +3 ring of dexterity eq slot #9, inv slot #6: +4 amulet of reflection }}}}}}}}}}} Webtiles message buffer: Webtiles JSON stack: Screenshot: #. #.## ... #.. .. #. #.### #.@<# ##### clua stack: dlua stack: Lua persistent data: <<<<<<<<<<<<<<<<<<<<<< nemelex_gamble_announced: true nemelex_gamble_triggered: true >>>>>>>>>>>>>>>>>>>>>> Lua marker contents: <<<<<<<<<<<<<<<<<<<<<< >>>>>>>>>>>>>>>>>>>>>>