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.17:00:36.sock -await-connection RC options: restart_after_game = false Crash caused by signal #6: Aborted Obtained 42 stack frames. /usr/games/crawl-bcrawl(_Z17write_stack_traceP8_IO_FILEi+0x3e) [0x59feac1d38ee]: write_stack_trace(_IO_FILE*, int) /usr/games/crawl-bcrawl(_Z13do_crash_dumpv+0x423) [0x59feac1ddbc3]: do_crash_dump() /usr/games/crawl-bcrawl(_Z20crash_signal_handleri+0x1fa) [0x59feac1d3dca]: crash_signal_handler(int) /lib/x86_64-linux-gnu/libc.so.6(+0x45330) [0x7cad16146330]: /lib/x86_64-linux-gnu/libc.so.6(pthread_kill+0x11c) [0x7cad1619fc0c]: /lib/x86_64-linux-gnu/libc.so.6(gsignal+0x1e) [0x7cad1614627e]: /usr/games/crawl-bcrawl(+0x3c7f8d) [0x59feac1dcf8d]: /usr/games/crawl-bcrawl(_Z12AssertFailedPKcS0_iS0_z+0x1c7) [0x59feac1dd4b7]: AssertFailed(char const*, char const*, int, char const*, ...) /usr/games/crawl-bcrawl(+0x369931) [0x59feac17e931]: /usr/games/crawl-bcrawl(_Z5zappy8zap_typeibR4bolt+0x1ba) [0x59feac17eafa]: zappy(zap_type, int, bool, bolt&) /usr/games/crawl-bcrawl(_Z18spell_noise_stringB5cxx1110spell_typei+0x68c) [0x59feac69dc9c]: spell_noise_string[abi:cxx11](spell_type, int) /usr/games/crawl-bcrawl(+0x3f07b8) [0x59feac2057b8]: /usr/games/crawl-bcrawl(_Z17player_spell_descB5cxx1110spell_type+0x6d) [0x59feac21796d]: player_spell_desc[abi:cxx11](spell_type) /usr/games/crawl-bcrawl(+0x403262) [0x59feac218262]: /usr/games/crawl-bcrawl(_Z14describe_spell10spell_typePK12monster_infoPK8item_defb+0x6c) [0x59feac2186dc]: describe_spell(spell_type, monster_info const*, item_def const*, bool) /usr/games/crawl-bcrawl(+0x617c80) [0x59feac42cc80]: /usr/games/crawl-bcrawl(_ZNSt17_Function_handlerIFiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_S5_EPS8_E9_M_invokeERKSt9_Any_dataS7_S7_OS5_+0x71) [0x59feac436fd1]: 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) [0x59feac42fcc0]: LookupType::describe(std::__cxx11::basic_string, std::allocator > const&, bool) const /usr/games/crawl-bcrawl(+0x61bc6d) [0x59feac430c6d]: /usr/games/crawl-bcrawl(_ZN4Menu11process_keyEi+0x7df) [0x59feac4b15bf]: Menu::process_key(int) /usr/games/crawl-bcrawl(+0x68e8c8) [0x59feac4a38c8]: /usr/games/crawl-bcrawl(_ZN2ui6Widget8on_eventERK8wm_event+0x74) [0x59feac79c814]: ui::Widget::on_event(wm_event const&) /usr/games/crawl-bcrawl(_ZN2ui3Bin8on_eventERK8wm_event+0x14c) [0x59feac79ca3c]: ui::Bin::on_event(wm_event const&) /usr/games/crawl-bcrawl(_ZN2ui8Scroller8on_eventERK8wm_event+0x15) [0x59feac79cab5]: ui::Scroller::on_event(wm_event const&) /usr/games/crawl-bcrawl(_ZN2ui9Container8on_eventERK8wm_event+0x1e9) [0x59feac79d179]: ui::Container::on_event(wm_event const&) /usr/games/crawl-bcrawl(_ZN2ui9Container8on_eventERK8wm_event+0x1e9) [0x59feac79d179]: ui::Container::on_event(wm_event const&) /usr/games/crawl-bcrawl(_ZN2ui3Bin8on_eventERK8wm_event+0x14c) [0x59feac79ca3c]: ui::Bin::on_event(wm_event const&) /usr/games/crawl-bcrawl(_ZN2ui5Stack8on_eventERK8wm_event+0x158) [0x59feac79cd38]: ui::Stack::on_event(wm_event const&) /usr/games/crawl-bcrawl(_ZN2ui11pump_eventsEi+0xa1) [0x59feac7a4881]: ui::pump_events(int) /usr/games/crawl-bcrawl(_ZN4Menu7do_menuEv+0x2b2) [0x59feac4acaa2]: Menu::do_menu() /usr/games/crawl-bcrawl(_ZN4Menu4showEb+0x82) [0x59feac4ae262]: Menu::show(bool) /usr/games/crawl-bcrawl(_ZNK10LookupType12display_keysERSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS6_EE+0xa5e) [0x59feac434fee]: LookupType::display_keys(std::vector, std::allocator >, std::allocator, std::allocator > > >&) const /usr/games/crawl-bcrawl(_Z26keyhelp_query_descriptionsv+0xa21) [0x59feac436221]: keyhelp_query_descriptions() /usr/games/crawl-bcrawl(+0x3b4f3f) [0x59feac1c9f3f]: /usr/games/crawl-bcrawl(_Z9show_helpiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE+0x1e5) [0x59feac1ca175]: show_help(int, std::__cxx11::basic_string, std::allocator >) /usr/games/crawl-bcrawl(_Z15process_command12command_type+0x1e1b) [0x59feac836b8b]: process_command(command_type) /usr/games/crawl-bcrawl(+0xa1f119) [0x59feac834119]: /usr/games/crawl-bcrawl(+0xa1f81d) [0x59feac83481d]: /usr/games/crawl-bcrawl(main+0x16b) [0x59feac12431b]: /lib/x86_64-linux-gnu/libc.so.6(+0x2a1ca) [0x7cad1612b1ca]: /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0x8b) [0x7cad1612b28b]: /usr/games/crawl-bcrawl(_start+0x25) [0x59feac124c85]: 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". 0x00007cad162118d7 in wait4 () from /lib/x86_64-linux-gnu/libc.so.6 #0 0x00007cad162118d7 in wait4 () from /lib/x86_64-linux-gnu/libc.so.6 No symbol table info available. #1 0x000059feac1d3f9c in call_gdb (file=0x7cad163054e0 <_IO_2_1_stderr_>) at crash.cc:436 gdb = attach_cmd = "attach 159242\000\000\000\000\000\000" #2 0x000059feac1ddbe1 in do_crash_dump () at dbg-asrt.cc:677 t = 1787245264 dir = "/dgldir/morgue/CrazyBamboolord/" name = "/dgldir/morgue/CrazyBamboolord/crash-CrazyBamboolord-20260820-170104.txt", '\000' signal_info = "Crash caused by signal #6: Aborted" cause_msg = "ASSERT(hit_calc) in 'beam.cc' at line 463 failed." file = 0x7cad163054e0 <_IO_2_1_stderr_> #3 0x000059feac1d3dca in crash_signal_handler (sig_num=6) at crash.cc:196 No locals. #4 No symbol table info available. #5 0x00007cad1619fc0c in pthread_kill () from /lib/x86_64-linux-gnu/libc.so.6 No symbol table info available. #6 0x00007cad1614627e in raise () from /lib/x86_64-linux-gnu/libc.so.6 No symbol table info available. #7 0x000059feac1dcf8d in _BreakStrToDebugger (mesg=mesg@entry=0x7ffc93c36490 "ASSERT(hit_calc) in 'beam.cc' at line 463 failed.", assert=true) at dbg-asrt.cc:808 No locals. #8 0x000059feac1dd4b7 in AssertFailed (expr=expr@entry=0x59feac845bdd "hit_calc", file=file@entry=0x59feac8458f8 "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.\000Ó\374\177\000\000\000eÓ\374\177\000\000:l\206\254\376Y\000\000\330eÓ\374\177\000\000\240\205Ó\374\177\000\000\a\000\000\000\000\000\000\000\300eÓ\374\177\000\000\301\r\031\026\255|\000\000\020fÓ\374\177\000\000\023fÓ\374\177\000\000P\205Ó\374\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\020\206Ó\374\177\000\000@\205Ó\374\177\000\000\340\205Ó\374\177\000\000 \205Ó\374\177\000\000\200:\204\254\376Y\000\000XfÓ\374\177\000\000 "... args = {{gp_offset = 1757936384, fp_offset = 948105440, overflow_arg_area = 0x0, reg_save_area = 0x7ffc93c364c0}} fileName = #9 0x000059feac17e931 in zap_to_hit (z_type=z_type@entry=ZAP_CALL_DOWN_DAMNATION, power=power@entry=0, is_monster=) at beam.cc:463 zinfo = hit_calc = hit = #10 0x000059feac17eafa in zappy (z_type=z_type@entry=ZAP_CALL_DOWN_DAMNATION, power=power@entry=0, is_monster=is_monster@entry=false, pbolt=...) at beam.cc:543 zinfo = 0x59feacb18440 #11 0x000059feac69dc9c in spell_noise_string[abi:cxx11](spell_type, int) (spell=spell@entry=SPELL_CALL_DOWN_DAMNATION, chop_wiz_display_width=chop_wiz_display_width@entry=0) at spl-cast.cc:2210 beem = {origin_spell = SPELL_NO_SPELL, 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 = 0, hit = 0, thrower = KILL_MISC, 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 = -1815908032, can_see_invis = false, nightvision = false, message_cache = std::set with 0 elements} casting_noise = 9 effect_noise = 0 zap = ZAP_CALL_DOWN_DAMNATION noise = noise_descriptions = {0x0, 0x0, 0x59fed93a8060 " x25CE}", 0x59feacca49a0 "\240\366\257\254\376Y", 0x7ffc93c38070 "", 0x7ffc93c36f90 "", 0x7ffc93c36fb0 "", 0x7ffc93c36fa0 "\020\017\030\331\376Y"} breakpoints = {-1815908704, 32764, 370866737, 31917, -658633520, 23038, -1815908528} desc = #12 0x000059feac2057b8 in _player_spell_stats (spell=spell@entry=SPELL_CALL_DOWN_DAMNATION) at describe.cc:2923 description = "\nLevel: 9 School: Conjuration Fail: 100%\n\nPower : ###.......\nRange : @------>\nHunger: #######\nNoise : " schools = "Conjuration" failure = "100%" damage_string = "" acc = #13 0x000059feac21796d in player_spell_desc[abi:cxx11](spell_type) (spell=spell@entry=SPELL_CALL_DOWN_DAMNATION) at /usr/include/c++/13/bits/new_allocator.h:104 No locals. #14 0x000059feac218262 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 = "" #15 0x000059feac2186dc 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 = "\240Ѓ\330\376Y\000\000`\377\377\377\377\377\377\377\000\000\000\000\000\000\000\0000\264\036\331\376Y\000\000\360yÓ\374\177\000\000\000\373\307h\340\360\2028 zÓ\374\177\000\000\020zÓ\374\177\000\000\214\000\000\000\000\000\000\0000zÓ\374\177\000\000\000{Ó\374\177\000\000\200\340\036\331\376Y\000\000\000zÓ\374\177\000\000\200\314B\254\376Y\000\000\000\265\203\330\376Y\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 = #16 0x000059feac42cc80 in _describe_spell (key=..., suffix=..., footer=...) at lookup-help.cc:1023 spell_name = "Call Down Hellfire" spell = SPELL_CALL_DOWN_DAMNATION #17 0x000059feac436fd1 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. #18 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. #19 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. #20 0x000059feac42fcc0 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=0x7ffc93c38b88) at /usr/include/c++/13/bits/std_function.h:591 No locals. #21 LookupType::describe (this=0x7ffc93c38b30, key="Call Down Hellfire spell", exact_match=exact_match@entry=false) at lookup-help.cc:925 footer = "" #22 0x000059feac430c6d in operator() (item=..., __closure=) at lookup-help.cc:874 key = "Call Down Hellfire spell" doing_mons = this = doing_mons = this = key = mon = #23 std::__invoke_impl >&) const::&, const MenuEntry&> (__f=...) at /usr/include/c++/13/bits/invoke.h:61 No locals. #24 std::__invoke_r >&) const::&, const MenuEntry&> (__fn=...) at /usr/include/c++/13/bits/invoke.h:138 No locals. #25 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. #26 0x000059feac4b15bf in std::function::operator() (__args#0=..., this=0x7ffc93c38588) at /usr/include/c++/13/bits/std_function.h:591 No locals. #27 Menu::process_key (this=0x7ffc93c38570, keyin=100) at menu.cc:1330 item = old_vis_first = 0 #28 0x000059feac4a38c8 in operator() (ev=..., __closure=0x7ffc93c37d60) at menu.cc:1020 done = @0x7ffc93c3835f: false this = 0x7ffc93c38570 done = this = key = #29 std::__invoke_impl&, const wm_event&> (__f=...) at /usr/include/c++/13/bits/invoke.h:61 No locals. #30 std::__invoke_r&, const wm_event&> (__fn=...) at /usr/include/c++/13/bits/invoke.h:138 No locals. #31 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. #32 0x000059feac79c814 in std::function::operator() (__args#0=..., this=0x7ffc93c37d60) at /usr/include/c++/13/bits/std_function.h:591 No locals. #33 ui::Slot::emit (args#0=..., target=, this=0x59feacca0f40 ) 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 = 0x7ffc93c38570, _M_const_object = 0x7ffc93c38570, _M_function_pointer = 0x7ffc93c38570, _M_member_pointer = (void (std::_Undefined_class::*)(std::_Undefined_class * const)) 0x7ffc93c38570, this adjustment 140722787550047}, _M_pod_data = "p\205Ó\374\177\000\000_\203Ó\374\177\000"}, _M_manager = 0x59feac4a3490 >::_M_manager(std::_Any_data &, const std::_Any_data &, std::_Manager_operation)>}, _M_invoker = 0x59feac4a38a0 >::_M_invoke(const std::_Any_data &, const wm_event &)>} it = {first = 0x59fed91ec1c0, second = {> = {> = {}, }, = {static _M_max_size = 16, static _M_max_align = 8, _M_functor = {_M_unused = {_M_object = 0x7ffc93c38570, _M_const_object = 0x7ffc93c38570, _M_function_pointer = 0x7ffc93c38570, _M_member_pointer = (void (std::_Undefined_class::*)(std::_Undefined_class * const)) 0x7ffc93c38570, this adjustment 140722787550047}, _M_pod_data = "p\205Ó\374\177\000\000_\203Ó\374\177\000"}, _M_manager = 0x59feac4a3490 >::_M_manager(std::_Any_data &, const std::_Any_data &, std::_Manager_operation)>}, _M_invoker = 0x59feac4a38a0 >::_M_invoke(const std::_Any_data &, const wm_event &)>}} i = i = it = func = #34 ui::Widget::on_event (this=, event=...) at ui.cc:111 No locals. #35 0x000059feac79ca3c in ui::_maybe_propagate_event (child=std::shared_ptr (use count 2, weak count 0) = {...}, event=...) at ui.cc:129 No locals. #36 ui::Bin::on_event (this=this@entry=0x59fed91ee080, event=...) at ui.cc:159 No locals. #37 0x000059feac79cab5 in ui::Scroller::on_event (this=0x59fed91ee080, event=...) at ui.cc:1322 line_delta = delta = #38 0x000059feac79d179 in ui::_maybe_propagate_event (child=..., event=...) at ui.cc:129 No locals. #39 ui::Container::on_event (this=0x59fed88fd960, event=...) at ui.cc:150 child = __for_range = @0x59fed88fd960: { = {_vptr.Widget = 0x59feacafee78 , 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 = {[0x59fed91ec1c0] = {> = {> = {}, }, = {static _M_max_size = 16, static _M_max_align = 8, _M_functor = {_M_unused = {_M_object = 0x7ffc93c38570, _M_const_object = 0x7ffc93c38570, _M_function_pointer = 0x7ffc93c38570, _M_member_pointer = (void (std::_Undefined_class::*)(std::_Undefined_class * const)) 0x7ffc93c38570, this adjustment 140722787550047}, _M_pod_data = "p\205Ó\374\177\000\000_\203Ó\374\177\000"}, _M_manager = 0x59feac4a3490 >::_M_manager(std::_Any_data &, const std::_Any_data &, std::_Manager_operation)>}, _M_invoker = 0x59feac4a38a0 >::_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 = 0x59fed91b6800, m_min_size = {items = {0, 0}}, m_max_size = {items = {2147483647, 2147483647}}}, } __for_begin = {, long, std::shared_ptr*, std::shared_ptr&>> = {}, it = 0x59fed88a8b40} __for_end = {, long, std::shared_ptr*, std::shared_ptr&>> = {}, it = 0x59fed8844250} #40 0x000059feac79d179 in ui::_maybe_propagate_event (child=..., event=...) at ui.cc:129 No locals. #41 ui::Container::on_event (this=0x59fed91b6800, event=...) at ui.cc:150 child = __for_range = @0x59fed91b6800: { = {_vptr.Widget = 0x59feacafee78 , 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 = {[0x59fed91ec1c0] = {> = {> = {}, }, = {static _M_max_size = 16, static _M_max_align = 8, _M_functor = {_M_unused = {_M_object = 0x7ffc93c38570, _M_const_object = 0x7ffc93c38570, _M_function_pointer = 0x7ffc93c38570, _M_member_pointer = (void (std::_Undefined_class::*)(std::_Undefined_class * const)) 0x7ffc93c38570, this adjustment 140722787550047}, _M_pod_data = "p\205Ó\374\177\000\000_\203Ó\374\177\000"}, _M_manager = 0x59feac4a3490 >::_M_manager(std::_Any_data &, const std::_Any_data &, std::_Manager_operation)>}, _M_invoker = 0x59feac4a38a0 >::_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 = 0x59fed918f150, m_min_size = {items = {0, 0}}, m_max_size = {items = {2147483647, 2147483647}}}, } __for_begin = {, long, std::shared_ptr*, std::shared_ptr&>> = {}, it = 0x59fed88a5100} __for_end = {, long, std::shared_ptr*, std::shared_ptr&>> = {}, it = 0x59fed883ee70} #42 0x000059feac79ca3c in ui::_maybe_propagate_event (child=std::shared_ptr (use count 2, weak count 0) = {...}, event=...) at ui.cc:129 No locals. #43 ui::Bin::on_event (this=0x59fed918f150, event=...) at ui.cc:159 No locals. #44 0x000059feac79cd38 in ui::_maybe_propagate_event (child=..., event=...) at ui.cc:129 No locals. #45 ui::Stack::on_event (this=0x59feacca1080 , event=...) at ui.cc:959 No locals. #46 0x000059feac79e3bd in ui::UIRoot::on_event (this=, event=...) at ui.cc:1649 No locals. #47 0x000059feac7a4881 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 = #48 0x000059feac4acaa2 in Menu::do_menu (this=this@entry=0x7ffc93c38570) at menu.cc:1055 done = false #49 0x000059feac4ae262 in Menu::show (this=this@entry=0x7ffc93c38570, reuse_selections=reuse_selections@entry=false) at menu.cc:992 cs = {cstate = false, smartcstate = false} #50 0x000059feac434fee in LookupType::display_keys (this=this@entry=0x7ffc93c38b30, key_list=std::vector of length 33, capacity 64 = {...}) at lookup-help.cc:880 desc_menu = { = {_vptr.Menu = 0x59feacb13048 , 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 = 0x7ffc93c38b30, _M_const_object = 0x7ffc93c38b30, _M_function_pointer = 0x7ffc93c38b30, _M_member_pointer = (void (std::_Undefined_class::*)(std::_Undefined_class * const)) 0x7ffc93c38b30}, _M_pod_data = "0\213Ó\374\177\000\000\000\000\000\000\000\000\000"}, _M_manager = 0x59feac42bcc0 >&) const:: >::_M_manager(std::_Any_data &, const std::_Any_data &, std::_Manager_operation)>}, _M_invoker = 0x59feac430b70 >&) const:: >::_M_invoke(const std::_Any_data &, const MenuEntry &)>}, action_cycle = Menu::CYCLE_NONE, menu_action = Menu::ACT_EXAMINE, title = 0x59fed91edfd0, 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 = {0x59fed91d3d90, 0x59fed91e9870, 0x59fed9195190, 0x59fed9195230, 0x59fed918cc10, 0x59fed918ccb0, 0x59fed91d0a40, 0x59fed91d0ae0, 0x59fed91b7db0, 0x59fed91b7e50, 0x59fed90b84e0, 0x59fed90b8580, 0x59fed918a4f0, 0x59fed918a590, 0x59fed917e6e0, 0x59fed917e780, 0x59fed9162070, 0x59fed9162110, 0x59fed9182250, 0x59fed91822f0, 0x59fed91c58d0, 0x59fed91c5970, 0x59fed90dddf0, 0x59fed90dde90, 0x59fed91d0010, 0x59fed91d00b0, 0x59fed91d0150, 0x59fed9189eb0, 0x59fed9189f50, 0x59fed9189ff0, 0x59fed91ae9f0, 0x59fed91aea90, 0x59fed91aeb30}, sel = std::vector of length 1, capacity 1 = {0x59fed9195230}, 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() = 0x59fed918f150}, menu = std::shared_ptr (use count 2, weak count 0) = {get() = 0x59fed91ec1c0}, scroller = std::shared_ptr (use count 2, weak count 0) = {get() = 0x59fed91ee080}, title = std::shared_ptr (use count 2, weak count 0) = {get() = 0x59fed8bafa40}, more = std::shared_ptr (use count 2, weak count 0) = {get() = 0x59fed89bce00}, more_bin = std::shared_ptr (use count 2, weak count 0) = {get() = 0x59fed91ec010}, vbox = std::shared_ptr (use count 2, weak count 0) = {get() = 0x59fed91b6800}}, _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}}} #51 0x000059feac436221 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 = 0x59feac42e930 <_spell_filter(std::string, std::string)>, flags = {<_enum_bitfield_exponent_base<-1, false>> = {}, flags = 1}, simple_key_fetch = 0x0, glyph_fetch = 0x0, recap = 0x59feac42c970 <_recap_spell_keys(std::vector, std::allocator >, std::allocator, std::allocator > > >&)>, menu_gen = 0x59feac4314b0 <_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 = 0x59feac42cbe0 <_describe_spell(std::string const&, std::string const&, std::string)>, _M_const_object = 0x59feac42cbe0 <_describe_spell(std::string const&, std::string const&, std::string)>, _M_function_pointer = 0x59feac42cbe0 <_describe_spell(std::string const&, std::string const&, std::string)>, _M_member_pointer = (void (std::_Undefined_class::*)(std::_Undefined_class * const)) 0x59feac42cbe0 <_describe_spell(std::string const&, std::string const&, std::string)>}, _M_pod_data = "\340\313B\254\376Y\000\000\000\000\000\000\000\000\000"}, _M_manager = 0x59feac436e70 , 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 = 0x59feac436f60 , 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 = #52 keyhelp_query_descriptions () at lookup-help.cc:1505 response = "" #53 0x000059feac1c9f3f in _show_help_special (key=) at command.cc:1300 No locals. #54 0x000059feac1ca175 in show_help (section=section@entry=-249, highlight_string="") at command.cc:1323 help = { = {_vptr.formatted_scroller = 0x59feacb116d0 , 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() = 0x59fed88d3870}}, prev_page = -249} key = #55 0x000059feac836b8b in process_command (cmd=) at main.cc:1903 No locals. #56 0x000059feac834119 in _input () at main.cc:1151 cmd = CMD_DISPLAY_COMMANDS player_disabled = {was_disabled = false} #57 0x000059feac83481d in _launch_game () at main.cc:459 game_start = ccon = #58 0x000059feac12431b in _launch_game_loop () at main.cc:363 game_ended = false game_ended = ge = fe = E = #59 main (argc=12, argv=0x7ffc93c39268) at main.cc:317 No locals. [Inferior 1 (process 159242) 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 = 3 Level id: D:3 Level build method = random_map_in_depth, level layout type = rooms, absdepth0 = 2 Level vaults: minmay_chambers_of_twos layout_basic serial_glass glass_columns_a glass_columns_b feat_on_display grunt_nemelex_the_gamble uniq_natasha Markers: <<<<<<<<<<<<<<<<<<<<<< Marker #6, type 7 at (31, 56): position (26,56) >>>>>>>>>>>>>>>>>>>>>> Messages: <<<<<<<<<<<<<<<<<<<<<< a +0 club; a goblin skeleton A dart slug comes into view. Casting: Flame Tongue (safe; 4% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Flame Tongue (safe; 4% risk of failure) Press: ? - help, Shift-Dir - straight line, f - dart slug Aim: a dart slug (resting) The flame tongue hits the dart slug. The dart slug is severely wounded. Casting: Flame Tongue (safe; 4% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Flame Tongue (safe; 4% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - dart slug Aim: a dart slug (severely wounded) The flame tongue hits the dart slug. You kill the dart slug! You see here a dart slug corpse. You butcher the dart slug corpse. g - 20 chunks of flesh (gained 2) Some of the chunks of flesh in your inventory have rotted away. You see here a ring mail. Some of the chunks of flesh in your inventory have rotted away. n - a silvery potion o - a scratched ruby ring Oops, that ring feels deathly cold. o - a cursed ring of attention (right claw) As you read the scroll of identify, it crumbles to dust. j - a scroll of noise As you read the scroll labeled NOTAECK QYIL, it crumbles to dust. You feel as if something is helping you. It was a scroll of remove curse. You remove your ring of attention. You drop an uncursed ring of attention. Found a stone staircase leading up. Some of the chunks of flesh in your inventory have rotted away. A worm and a goblin come into view. There is a stone staircase leading up here. Casting: Flame Tongue (safe; 4% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Flame Tongue (safe; 4% risk of failure) Press: ? - help, Shift-Dir - straight line, f - worm Aim: a worm (resting) The flame tongue hits the worm. The worm is moderately wounded. Casting: Flame Tongue (safe; 4% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Flame Tongue (safe; 4% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - worm Aim: a worm (moderately wounded) The flame tongue hits the worm. The worm is moderately wounded. Casting: Flame Tongue (safe; 4% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Flame Tongue (safe; 4% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - worm Aim: a worm (moderately wounded) The flame tongue hits the worm. The worm is severely wounded. Casting: Flame Tongue (safe; 4% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Flame Tongue (safe; 4% 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; 4% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Flame Tongue (safe; 4% risk of failure) Press: ? - help, Shift-Dir - straight line, f - goblin Aim: a goblin, wielding a +0 dagger You miscast Flame Tongue. You are very lightly contaminated with residual magic. Nothing appears to happen. Casting: Flame Tongue (safe; 4% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Flame Tongue (safe; 4% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - goblin Aim: a goblin, wielding a +0 dagger The flame tongue hits the goblin. The goblin is severely wounded. The goblin closely misses you. Casting: Flame Tongue (safe; 4% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Flame Tongue (safe; 4% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - goblin Aim: a goblin, wielding a +0 dagger (severely wounded) You miscast Flame Tongue. Your hair stands on end. The goblin hits you with a +0 dagger. Casting: Flame Tongue (safe; 4% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Flame Tongue (safe; 4% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - goblin Aim: a goblin, wielding a +0 dagger (severely wounded) The flame tongue hits the goblin. You kill the goblin! Things that are here: a +0 dagger; a worm corpse You butcher the worm corpse. g - 16 chunks of flesh (gained 2) You see here a +0 dagger. i - a metallic blue potion Some of the chunks of flesh in your inventory have rotted away. You start resting. HP restored. Magic restored. Your magical contamination has completely faded away. Some of the chunks of flesh in your inventory have rotted away. A rat comes into view. Some of the chunks of flesh in your inventory have rotted away. A rat is nearby! Casting: Flame Tongue (safe; 4% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Flame Tongue (safe; 4% risk of failure) Press: ? - help, Shift-Dir - straight line, f - rat Aim: a rat The flame tongue hits the rat. You kill the rat! Some of the chunks of flesh in your inventory have rotted away. A worm comes into view. Casting: Flame Tongue (safe; 4% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Flame Tongue (safe; 4% risk of failure) Press: ? - help, Shift-Dir - straight line, f - worm Aim: a worm The flame tongue hits the worm! The worm is severely wounded. Casting: Flame Tongue (safe; 4% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Flame Tongue (safe; 4% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - worm Aim: a worm (heavily wounded) You miscast Flame Tongue. You are very lightly contaminated with residual magic. Sparks fly from your claws! Casting: Flame Tongue (safe; 4% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Flame Tongue (safe; 4% 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; 4% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Flame Tongue (safe; 4% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - worm Aim: a worm (severely wounded) The flame tongue hits the worm! You kill the worm! You see here a worm corpse. You butcher the worm corpse. g - 7 chunks of flesh (gained 3) Eating one of 7 chunks of flesh. You eat one of the 7 chunks of flesh. This raw flesh tastes terrible. Your magical contamination has completely faded away. An orc comes into view. It is wielding a +0 short sword. The orc shouts! Casting: Flame Tongue (safe; 4% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Flame Tongue (safe; 4% risk of failure) Press: ? - help, Shift-Dir - straight line, f - orc Aim: an orc, wielding a +0 short sword The flame tongue misses the orc. Casting: Flame Tongue (safe; 4% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Flame Tongue (safe; 4% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - orc Aim: an orc, wielding a +0 short sword You miscast Flame Tongue. You are very lightly contaminated with residual magic. Lukewarm flames ripple over your body. Casting: Flame Tongue (safe; 4% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Flame Tongue (safe; 4% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - orc Aim: an orc, wielding a +0 short sword The flame tongue hits the orc. The orc is almost dead. The orc barely misses you. Casting: Flame Tongue (safe; 4% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Flame Tongue (safe; 4% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - orc Aim: an orc, wielding a +0 short sword (almost dead) The flame tongue hits the orc. You kill the orc! You see here a +0 short sword. Some of the chunks of flesh in your inventory have rotted away. Your magical contamination has completely faded away. You see here 282 sling bullets. You see here a spear. A giant cockroach comes into view. A giant cockroach is nearby! You scratch the giant cockroach but do no damage. Your headbutt misses the giant cockroach. The giant cockroach bites you but does no damage. Casting: Flame Tongue (safe; 4% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Flame Tongue (safe; 4% 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! You see here a giant cockroach corpse. Found a stone staircase leading up. Some of the chunks of flesh in your inventory have rotted away. There is a stone staircase leading up here. i - a scroll of identify; l - a metallic blue potion 2 worms come into view. Casting: Flame Tongue (safe; 4% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Flame Tongue (safe; 4% risk of failure) Press: ? - help, Shift-Dir - straight line, f - worm Aim: a worm (resting) The flame tongue hits the worm! The worm is heavily wounded. Casting: Flame Tongue (safe; 4% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Flame Tongue (safe; 4% 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. The worm barely misses you. Casting: Flame Tongue (safe; 4% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Flame Tongue (safe; 4% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - worm Aim: a worm (severely wounded) The flame tongue hits the worm! You kill the worm! You see here a worm corpse. You butcher the worm corpse. You see here 2 chunks of flesh. Casting: Flame Tongue (safe; 4% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Flame Tongue (safe; 4% risk of failure) Press: ? - help, Shift-Dir - straight line, f - worm Aim: a worm The flame tongue hits the worm. The worm is moderately wounded. Casting: Flame Tongue (safe; 4% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Flame Tongue (safe; 4% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - worm Aim: a worm (moderately wounded) The flame tongue hits the worm! The worm is severely wounded. Casting: Flame Tongue (safe; 4% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Flame Tongue (safe; 4% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - worm Aim: a worm (severely wounded) The flame tongue hits the worm. The worm is almost dead. Casting: Flame Tongue (safe; 4% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Flame Tongue (safe; 4% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - worm Aim: a worm (almost dead) The flame tongue hits the worm. You kill the worm! You have reached level 4! You feel stronger. You have discovered the spell Dazzling Orbs. g - 5 chunks of flesh (gained 2) Memorise Dazzling Orbs, consuming 3 spell levels and leaving 3? Okay, then. Okay, then. 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. You start resting. Magic restored. A frilled lizard comes into view. A frilled lizard is nearby! A frilled lizard is nearby! A kobold comes into view. It is wielding a +0 falchion. The frilled lizard hisses angrily. What are your orders? t - Shout! Orders for allies: a - Attack new target. r - Retreat! s - Stop attacking. g - Guard the area. f - Follow me. Anything else - Cancel. Okay, then. Unknown command. Cast which spell? (? or * to list) Aiming: Flame Tongue (safe; 4% risk of failure) Press: ? - help, Shift-Dir - straight line, f - frilled lizard Aim: a frilled lizard The flame tongue hits the frilled lizard! You kill the frilled lizard! The kobold shouts! Casting: Flame Tongue (safe; 4% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Flame Tongue (safe; 4% risk of failure) Press: ? - help, Shift-Dir - straight line, f - kobold Aim: a kobold, wielding a +0 falchion The flame tongue misses the kobold. Casting: Flame Tongue (safe; 4% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Flame Tongue (safe; 4% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - kobold Aim: a kobold, wielding a +0 falchion The flame tongue hits the kobold. The kobold is moderately wounded. The kobold barely misses you. Casting: Flame Tongue (safe; 4% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Flame Tongue (safe; 4% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - kobold Aim: a kobold, wielding a +0 falchion (moderately wounded) The flame tongue hits the kobold. You kill the kobold! Things that are here: a +0 falchion; a kobold corpse You start resting. Magic restored. 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. Saving game... please wait. Welcome back, CrazyBamboolord the Oni Fire Elementalist. Press m to set your skill training. Press ? for a list of commands and other information. Some of the chunks of flesh in your inventory have rotted away. Eating one of 2 chunks of flesh. You eat one of the 2 chunks of flesh. This raw flesh tastes terrible. A bat comes into view. A bat is nearby! Cast which spell? (? or * to list) Aiming: Flame Tongue (safe; 4% risk of failure) Press: ? - help, Shift-Dir - straight line, f - bat Aim: a bat The flame tongue misses the bat. The bat hits you but does no damage. Casting: Flame Tongue (safe; 4% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Flame Tongue (safe; 4% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - bat Aim: a bat The flame tongue hits the bat! You kill the bat! As you read the scroll of identify, it crumbles to dust. k - a potion of degeneration You drop a potion of degeneration. Magic restored. Found a stone staircase leading down. A rat comes into view. A rat is nearby! Casting: Flame Tongue (safe; 4% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Flame Tongue (safe; 4% risk of failure) Press: ? - help, Shift-Dir - straight line, f - rat Aim: a rat (resting) You miscast Flame Tongue. You are very lightly contaminated with residual magic. Your skin tingles. Casting: Flame Tongue (safe; 4% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Flame Tongue (safe; 4% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - rat Aim: a rat (resting) The flame tongue hits the rat. You kill the rat! You start resting. Magic restored. Your magical contamination has completely faded away. You see here a buckler. There isn't anything to butcher here. Unknown command. i - a buckler A worm comes into view. A worm is nearby! Casting: Flame Tongue (safe; 4% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Flame Tongue (safe; 4% risk of failure) Press: ? - help, Shift-Dir - straight line, f - worm Aim: a worm (resting) The flame tongue hits the worm. The worm is moderately wounded. Casting: Flame Tongue (safe; 4% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Flame Tongue (safe; 4% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - worm Aim: a worm (moderately wounded) The flame tongue hits the worm. The worm is severely wounded. Casting: Flame Tongue (safe; 4% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Flame Tongue (safe; 4% 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 almost dead. Casting: Flame Tongue (safe; 4% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Flame Tongue (safe; 4% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - worm Aim: a worm (severely wounded) The flame tongue hits the worm. You kill the worm! You see here a worm corpse. You butcher the worm corpse. g - 3 chunks of flesh (gained 2) Search for what [? for help]? armor A bat comes into view. Found a stone staircase leading down. Casting: Flame Tongue (safe; 4% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Flame Tongue (safe; 4% risk of failure) Press: ? - help, Shift-Dir - straight line, f - bat Aim: a bat (resting) The flame tongue hits the bat! You kill the bat! You see here a bat corpse. You butcher the bat corpse. g - 4 chunks of flesh (gained 1) You see here a bat skeleton. Found a stone staircase leading down. h - 2 scrolls labeled ACHUGI YLOU (gained 1) Some of the chunks of flesh in your inventory have rotted away. There is a stone staircase leading down here. There is a stone staircase leading down here. There is a stone staircase leading down here. k - a sapphire potion o - a knobbly bone ring o - a ring of protection from cold (right claw) A quokka comes into view. A quokka is nearby! Casting: Flame Tongue (safe; 4% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Flame Tongue (safe; 4% risk of failure) Press: ? - help, Shift-Dir - straight line, f - quokka Aim: a quokka (resting) You miscast Flame Tongue. You are very lightly contaminated with residual magic. You are momentarily dazzled by a flash of light! Casting: Flame Tongue (safe; 4% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Flame Tongue (safe; 4% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - quokka Aim: a quokka (resting) The flame tongue hits the quokka! You kill the quokka! You see here a quokka corpse. You butcher the quokka corpse. g - 5 chunks of flesh (gained 2) You see here a quokka skeleton. Saving game... please wait. Welcome back, CrazyBamboolord the Oni Fire Elementalist. Press m to set your skill training. Press ? for a list of commands and other information. Magic restored. Your magical contamination has completely faded away. Eating one of 5 chunks of flesh. You eat one of the 5 chunks of flesh. This raw flesh tastes terrible. You see here a +0 club. Some of the chunks of flesh in your inventory have rotted away. There is a stone staircase leading down here. Partly explored, can't reach some items. Partly explored, can't reach some items. Partly explored, can't reach some items. There is a stone staircase leading down here. You climb downwards. There is a stone staircase leading up here. Okay, then. There is a stone staircase leading up here. A worker ant comes into view. A worker ant is nearby! A worker ant is nearby! Cast which spell? (? or * to list) Aiming: Flame Tongue (safe; 4% risk of failure) Press: ? - help, Shift-Dir - straight line, f - worker ant Aim: a worker ant (resting) The flame tongue hits the worker ant! The worker ant is heavily wounded. Casting: Flame Tongue (safe; 4% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Okay, then. Casting: Flame Tongue (safe; 4% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Flame Tongue (safe; 4% 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 but does no damage. The worker ant is heavily wounded. The worker ant barely misses you. x2 Casting: Flame Tongue (safe; 4% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Flame Tongue (safe; 4% 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! You kill the worker ant! Casting: Flame Tongue (safe; 4% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Okay, then. Magic restored. Natasha, Servant of Life and Death comes into view. She is carrying a wand of flame (10). Natasha hisses angrily. Natasha stares at you and mumbles some strange words. The magic dart hits you! You hear a grinding noise. Natasha zaps a wand. The puff of flame hits you! You hear a grinding noise. There is a stone staircase leading up here. You climb upwards. There is a stone staircase leading down here. You start resting. All of the chunks of flesh in your inventory have rotted away. HP restored. You climb downwards. Level annotation: Natasha There is a stone staircase leading up here. You hear a grinding noise. Casting: Flame Tongue (safe; 4% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Okay, then. Casting: Flame Tongue (safe; 4% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Flame Tongue (safe; 4% risk of failure) Press: ? - help, Shift-Dir - straight line, f - Natasha Aim: Natasha, carrying a wand of flame (9) The flame tongue misses Natasha. Casting: Flame Tongue (safe; 4% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Flame Tongue (safe; 4% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - Natasha Aim: Natasha, carrying a wand of flame (9) The flame tongue hits Natasha! Natasha is severely wounded. Natasha misses you. Casting: Flame Tongue (safe; 4% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Flame Tongue (safe; 4% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - Natasha Aim: Natasha, carrying a wand of flame (9) (severely wounded) The flame tongue hits Natasha but does no damage. Natasha is severely wounded. Natasha casts a spell at you. You feel yourself slow down. Casting: Flame Tongue (safe; 4% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Flame Tongue (safe; 4% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - Natasha Aim: Natasha, carrying a wand of flame (9) (severely wounded) The flame tongue hits Natasha. Natasha is severely wounded. Natasha growls. Natasha claws you. Natasha growls. Natasha claws you! Casting: Flame Tongue (safe; 4% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Flame Tongue (safe; 4% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - Natasha Aim: Natasha, carrying a wand of flame (9) (severely wounded) The flame tongue hits Natasha! You kill Natasha! Moaning pathetically, Natasha's spirit plunges into the ground. There is a stone staircase leading up here. You climb upwards. There is a stone staircase leading down here. You start resting. Magic restored. You feel yourself speed up. You climb downwards. There is a stone staircase leading up here. You start resting. HP restored. You start resting. HP restored. You hear a grinding noise. x2 You hear a grinding noise. Found a stone staircase leading down. You see here a potion of degeneration. You hear a grinding noise. You now have 150 gold pieces (gained 5). A leopard gecko comes into view. The leopard gecko hisses angrily. Casting: Flame Tongue (safe; 4% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Flame Tongue (safe; 4% risk of failure) Press: ? - help, Shift-Dir - straight line, f - leopard gecko Aim: a leopard gecko (clinging) The flame tongue hits the leopard gecko. The leopard gecko is heavily wounded. The leopard gecko bites you. Casting: Flame Tongue (safe; 4% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Flame Tongue (safe; 4% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - leopard gecko Aim: a leopard gecko (heavily wounded, clinging) The flame tongue hits the leopard gecko. You kill the leopard gecko! You have reached level 5! You see here a leopard gecko corpse. You butcher the leopard gecko corpse. g - a chunk of flesh You see here a leopard gecko skeleton. Magic restored. A kobold comes into view. A hobgoblin comes into view. It is wielding a +0 club. The kobold throws a stone. The stone hits you. Casting: Flame Tongue (safe; 4% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Flame Tongue (safe; 4% risk of failure) Press: ? - help, Shift-Dir - straight line, f - kobold Aim: a kobold The flame tongue hits the kobold. The kobold is moderately wounded. You are feeling hungry. Casting: Flame Tongue (safe; 4% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Flame Tongue (safe; 4% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - kobold Aim: a kobold (moderately wounded) The flame tongue misses the kobold. The kobold closely misses you. Casting: Flame Tongue (safe; 4% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Flame Tongue (safe; 4% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - kobold Aim: a kobold (moderately wounded) The flame tongue hits the kobold. You kill the kobold! Casting: Flame Tongue (safe; 4% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Flame Tongue (safe; 4% risk of failure) Press: ? - help, Shift-Dir - straight line, f - hobgoblin Aim: a hobgoblin, wielding a +0 club The flame tongue hits the hobgoblin. You kill the hobgoblin! You see here a +0 club. You now have 166 gold pieces (gained 16). Eating a chunk of flesh. You eat the chunk of flesh. This raw flesh tastes terrible. You hear a grinding noise. You hear a grinding noise. You hear a grinding noise. x2 You hear a grinding noise. g - a glowing steel amulet You hear a grinding noise. An ooze comes into view. The ooze quivers. Search for what [? for help]? armor Unknown command. The ooze hits you. Casting: Flame Tongue (safe; 4% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Flame Tongue (safe; 4% risk of failure) Press: ? - help, Shift-Dir - straight line, f - ooze Aim: an ooze The flame tongue hits the ooze. The ooze is lightly wounded. The ooze hits you. Casting: Flame Tongue (safe; 4% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Flame Tongue (safe; 4% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - ooze Aim: an ooze (lightly wounded) The flame tongue hits the ooze. The ooze is heavily wounded. The ooze barely misses you. Casting: Flame Tongue (safe; 4% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Flame Tongue (safe; 4% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - ooze Aim: an ooze (heavily wounded) The flame tongue hits the ooze! You kill the ooze! g - a +4 amulet of reflection (around neck) You see here a falchion. Saving game... please wait. Welcome back, CrazyBamboolord the Oni Fire Elementalist. Press m to set your skill training. Press ? for a list of commands and other information. You see here a robe. Found a stone staircase leading up. p - a notched pearl ring You're wearing all the rings you can. Remove which one? (? for menu, Esc to quit) You remove your ring of protection from cold. You feel agile. p - a +3 ring of dexterity (right claw) You hear a grinding noise. You open the door. A worker ant and an orc come into view. The orc shouts! There are monsters nearby! There is an open door here. Cast which spell? (? or * to list) Aiming: Flame Tongue (safe; 4% risk of failure) Press: ? - help, Shift-Dir - straight line, f - worker ant Aim: a worker ant The flame tongue misses the worker ant. A dart slug comes into view. Casting: Flame Tongue (safe; 4% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Okay, then. Casting: Flame Tongue (safe; 4% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Flame Tongue (safe; 4% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - worker ant Aim: a worker ant The flame tongue hits the worker ant. The worker ant is lightly wounded. The worker ant closely misses you. Casting: Flame Tongue (safe; 4% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Flame Tongue (safe; 4% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - worker ant Aim: a worker ant (lightly wounded) The flame tongue hits the worker ant. The worker ant is moderately wounded. The worker ant barely misses you. Casting: Flame Tongue (safe; 4% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Flame Tongue (safe; 4% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - worker ant Aim: a worker ant (moderately wounded) The flame tongue hits the worker ant! The worker ant is almost dead. The worker ant barely misses you. The worker ant closely misses you. Casting: Flame Tongue (safe; 4% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Flame Tongue (safe; 4% 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! 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 +0 falchion and wearing a +0 leather armour The flame tongue hits the orc. The orc is heavily wounded. The orc hits you with a +0 falchion. 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 - orc Aim: an orc, wielding a +0 falchion and wearing a +0 leather armour (heavily wounded) 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. There is an open door here. Items here: $ ) ? [ †† 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 - 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. Press m to set your skill training. Press ? for a list of commands and other information. You open the door. Cast which spell? (? or * to list) Aiming: Flame Tongue (safe; 3% risk of failure) Press: ? - help, Shift-Dir - straight line, f - adder Aim: an adder The flame tongue hits the adder. The adder is lightly wounded. The hippogriff screeches! The adder 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 - adder Aim: an adder (lightly wounded) The flame tongue misses the adder. You block the adder's attack. 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: Conjure Flame (safe; 11% risk of failure) Press: ? - help, Dir - move target cursor, p - adder The fire ignites! The adder barely misses you. 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! The adder bites you but does no damage. You block the adder's attack. 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 The flame tongue hits the adder. The adder is heavily 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. Aiming: Flame Tongue (safe; 3% risk of failure) Press: ? - help, Shift-Dir - straight line The flame tongue hits the hippogriff! The hippogriff is heavily wounded. The adder is engulfed in blazing flames. You kill the adder! Training target 3.0 for Stealth reached! Your Stealth skill increases to level 3! 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 The flame tongue hits the hippogriff! The hippogriff is severely wounded. The hippogriff flaps its wings! You are blown backwards! 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 (severely wounded) The flame tongue hits the hippogriff. The hippogriff is almost dead. The hippogriff flaps its wings! The hippogriff misses you. The hippogriff pecks 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/p - hippogriff Aim: a hippogriff (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 Vampiric Draining. 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: 43/45; mods: 0/0 MP: 0/14; mod: 0 Stats: 12 (12) 18 (18) 14 (14) Position: (34, 32), 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 | | 0 | 0 | 0 | 0 | 0/59 Throwing | X | 0 | 0 | 0 | 0 | 0/59 Armour | X | 0 | 0 | 0 | 0 | 0/59 Dodging | X | 1 | 33 | 3 | 480 | 124/238 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 | 66 | 4 | 1170 | 170/500 Invocations | | 0 | 0 | 0 | 0 | 0/35 Evocations | X | 0 | 0 | 0 | 0 | 0/50 Spell bugs: Durations: Attributes: #12: 174 #27: 520 #49: 213 #59: 1 Mutations: claws: 1 (innate) fangs: 1 (innate) horns: 1 (innate) Inventory bugs: Equipment: 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: .....#........##.. #.# ###.##.#.######8.. #.# .......)+./.....# #.# ########.#.......## #.# ### #..### 8..# #.# #.. #....####☼☼#### #.####.. ####.#..#'##..# #....... #.....†....# ##......) #..).†@÷...# #........ #....##....+ #........ #..#####...# #........ #... ..#.####........ #### ..###............ #. #.###.......# .. #.##.#..÷...# #......###### #.....## clua stack: dlua stack: Lua persistent data: <<<<<<<<<<<<<<<<<<<<<< nemelex_gamble_announced: false nemelex_gamble_triggered: false >>>>>>>>>>>>>>>>>>>>>> Lua marker contents: <<<<<<<<<<<<<<<<<<<<<< Lua marker 0 at (26, 56): {{{{ CLASS: TriggerableFunction activated: true triggerers: 1: CLASS: DgnTriggerer type: player_move activating: false listeners: data: dgn_trigs_by_type: 4: 1: 1 func: CLASS: FunctionWrapper name: callback.nemelex_gamble_prize fn: [type function] props: }}}} Lua marker 1 at (26, 56): {{{{ CLASS: PropertiesDescriptor props: the_gamble_prize_landing: 1 }}}} Lua marker 2 at (26, 60): {{{{ CLASS: PropertiesDescriptor props: the_gamble_prize: 1 }}}} Lua marker 3 at (30, 56): {{{{ CLASS: FogMachine pow_min: 10 spread_buildup_time: 1 listeners: spread_rate: -1 size_min: 1 size_max: 1 pow_max: 10 start_clouds: 1 dgn_trigs_by_type: 1: 1: 1 32: 1: 2 triggerers: 1: CLASS: DgnTriggerer countdown: 10 type: turn buildup_turns: 0 sub_type: countdown delay_min: 10 listener_only: false delay_max: 10 2: CLASS: DgnTriggerer type: entered_level listener_only: false size_buildup_time: 1 kill_cat: other activated: true activating: false excl_rad: 1 size_buildup_amnt: 0 buildup_turns: 1 spread_buildup_amnt: 0 cloud_type: magical condensation props: walk_dist: 0 pow_rolls: 3}}}} Lua marker 4 at (31, 56): {{{{ CLASS: PropertiesDescriptor props: the_gamble_entry: 1 }}}} Lua marker 5 at (31, 56): {{{{ CLASS: TriggerableFunction repeated: true listeners: func: CLASS: FunctionWrapper name: callback.nemelex_gamble_expire fn: [type function] props: triggerers: 1: CLASS: DgnTriggerer type: turn activating: false dgn_trigs_by_type: 1: 1: 1 activated: true data: dur: 604 }}}} Lua marker 7 at (31, 57): {{{{ CLASS: TriggerableFunction repeated: true listeners: func: CLASS: FunctionWrapper name: callback.nemelex_gamble_announce fn: [type function] props: triggerers: 1: CLASS: DgnTriggerer type: player_los activating: false dgn_trigs_by_type: 64: 1: 1 activated: true data: }}}} Lua marker 8 at (32, 56): {{{{ CLASS: FogMachine pow_min: 10 spread_buildup_time: 1 listeners: spread_rate: -1 size_min: 1 size_max: 1 pow_max: 10 start_clouds: 1 dgn_trigs_by_type: 1: 1: 1 32: 1: 2 triggerers: 1: CLASS: DgnTriggerer countdown: 10 type: turn buildup_turns: 0 sub_type: countdown delay_min: 10 listener_only: false delay_max: 10 2: CLASS: DgnTriggerer type: entered_level listener_only: false size_buildup_time: 1 kill_cat: other activated: true activating: false excl_rad: 1 size_buildup_amnt: 0 buildup_turns: 1 spread_buildup_amnt: 0 cloud_type: magical condensation props: walk_dist: 0 pow_rolls: 3}}}} Lua marker 9 at (36, 56): {{{{ CLASS: TriggerableFunction activated: true triggerers: 1: CLASS: DgnTriggerer type: player_move activating: false listeners: data: dgn_trigs_by_type: 4: 1: 1 func: CLASS: FunctionWrapper name: callback.nemelex_gamble_peril fn: [type function] props: }}}} Lua marker 10 at (36, 56): {{{{ CLASS: PropertiesDescriptor props: the_gamble_peril_landing: 1 }}}} Lua marker 11 at (36, 60): {{{{ CLASS: PropertiesDescriptor props: the_gamble_peril: 1 }}}} >>>>>>>>>>>>>>>>>>>>>>