ASSERT((duration[DUR_MESMERISED] > 0) == !beholders.empty()) in 'behold.cc' at line 66 failed. Version: Dungeon Crawl Stone Soup 0.29.1-1-gd02db69 Platform: unix Bits: 64 Game mode: normal Tiles: online Seed: 11461601541578793451, deterministic pregen: 1 Command line: /var/dcss/builds/dcss-0.29/0.29.1/bin/dcss -name MalacsCross -rc /var/dcss/gamedata/dcss-0.29/rc-files/MalacsCross.rc -macro /var/dcss/gamedata/dcss-0.29/rc-files/MalacsCross.macro -morgue /var/dcss/gamedata/dcss/morgue/MalacsCross/ -extra-opt-first travel_delay=20 -extra-opt-first rest_delay=0 -dir /var/dcss/gamedata/dcss-0.29/save/ -webtiles-socket /var/dcss/sockets/MalacsCross:2023-01-09.08:27:18.sock -await-connection RC options: restart_after_game = false Crash caused by signal #6: Aborted Obtained 29 stack frames. /var/dcss/builds/dcss-0.29/0.29.1/bin/dcss(_Z17write_stack_traceP8_IO_FILE+0x38) [0x76cfc8]: write_stack_trace(_IO_FILE*) /var/dcss/builds/dcss-0.29/0.29.1/bin/dcss(_Z13do_crash_dumpv+0x3c7) [0x7744d7]: do_crash_dump() /var/dcss/builds/dcss-0.29/0.29.1/bin/dcss(_Z20crash_signal_handleri+0x1f0) [0x76d430]: crash_signal_handler(int) /lib/x86_64-linux-gnu/libc.so.6(+0x354c0) [0x7f4ce88fe4c0]: /lib/x86_64-linux-gnu/libpthread.so.0(raise+0x29) [0x7f4ce8ca4269]: /var/dcss/builds/dcss-0.29/0.29.1/bin/dcss() [0x773c99] /var/dcss/builds/dcss-0.29/0.29.1/bin/dcss() [0x773e41] /var/dcss/builds/dcss-0.29/0.29.1/bin/dcss() [0x73699c] /var/dcss/builds/dcss-0.29/0.29.1/bin/dcss() [0x7369c7] /var/dcss/builds/dcss-0.29/0.29.1/bin/dcss(_Z16fill_status_infoiR11status_info+0xf5a) [0xc77eea]: fill_status_info(int, status_info&) /var/dcss/builds/dcss-0.29/0.29.1/bin/dcss(_ZN14TilesFramework12_send_playerEb+0x1e94) [0xd75f64]: TilesFramework::_send_player(bool) /var/dcss/builds/dcss-0.29/0.29.1/bin/dcss(_ZN14TilesFramework6redrawEv+0x9a) [0xd7a4ca]: TilesFramework::redraw() /var/dcss/builds/dcss-0.29/0.29.1/bin/dcss(_ZN14TilesFramework17update_input_modeE10mouse_modeb+0x198) [0xd7a7c8]: TilesFramework::update_input_mode(mouse_mode, bool) /var/dcss/builds/dcss-0.29/0.29.1/bin/dcss(_ZN13mouse_controlC1E10mouse_mode+0x17) [0x9afcc7]: mouse_control::mouse_control(mouse_mode) /var/dcss/builds/dcss-0.29/0.29.1/bin/dcss() [0xa45348] /var/dcss/builds/dcss-0.29/0.29.1/bin/dcss(_ZN14message_window4moreEbb+0x1ef) [0xa4725f]: message_window::more(bool, bool) /var/dcss/builds/dcss-0.29/0.29.1/bin/dcss(_ZN14message_window8add_itemENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE11prefix_typeb+0x3d0) [0xa477a0]: message_window::add_item(std::__cxx11::basic_string, std::allocator >, prefix_type, bool) /var/dcss/builds/dcss-0.29/0.29.1/bin/dcss(_ZN13message_store10flush_prevEv+0x347) [0xa47d57]: message_store::flush_prev() /var/dcss/builds/dcss-0.29/0.29.1/bin/dcss() [0xa42502] /var/dcss/builds/dcss-0.29/0.29.1/bin/dcss(_Z16do_message_print16msg_channel_typeibbPKcP13__va_list_tag+0xda) [0xa42c1a]: do_message_print(msg_channel_type, int, bool, bool, char const*, __va_list_tag*) /var/dcss/builds/dcss-0.29/0.29.1/bin/dcss(_Z4mprf16msg_channel_typePKcz+0xb0) [0xa43120]: mprf(msg_channel_type, char const*, ...) /var/dcss/builds/dcss-0.29/0.29.1/bin/dcss() [0xb69dd1] /var/dcss/builds/dcss-0.29/0.29.1/bin/dcss(_Z13player_reactsv+0x5d8) [0xb6b978]: player_reacts() /var/dcss/builds/dcss-0.29/0.29.1/bin/dcss(_Z12world_reactsv+0x6b5) [0xd83a15]: world_reacts() /var/dcss/builds/dcss-0.29/0.29.1/bin/dcss() [0xd85001] /var/dcss/builds/dcss-0.29/0.29.1/bin/dcss() [0xd85dd5] /var/dcss/builds/dcss-0.29/0.29.1/bin/dcss(main+0x17e) [0x6ca7fe]: /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf0) [0x7f4ce88e9840]: /var/dcss/builds/dcss-0.29/0.29.1/bin/dcss(_start+0x29) [0x6cb279]: Trying to run gdb. GNU gdb (Ubuntu 8.2-0ubuntu1~16.04.1) 8.2 Copyright (C) 2018 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "x86_64-linux-gnu". Type "show configuration" for configuration details. For bug reporting instructions, please see: . Find the GDB manual and other documentation resources online at: . For help, type "help". Type "apropos word" to search for commands related to "word". [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1". 0x00007f4ce8ca3f2a in __waitpid (pid=31647, stat_loc=stat_loc@entry=0x0, options=options@entry=0) at ../sysdeps/unix/sysv/linux/waitpid.c:29 #0 0x00007f4ce8ca3f2a in __waitpid (pid=31647, stat_loc=stat_loc@entry=0x0, options=options@entry=0) at ../sysdeps/unix/sysv/linux/waitpid.c:29 resultvar = 18446744073709551104 sc_ret = #1 0x000000000076ce45 in call_gdb (file=file@entry=0x7f4ce8c8e540 <_IO_2_1_stderr_>) at crash.cc:438 gdb = attach_cmd = "attach 31602\000\000\000\000\000\000\000" #2 0x00000000007744f3 in do_crash_dump () at dbg-asrt.cc:687 t = 1673253228 dir = "/var/dcss/gamedata/dcss/morgue/MalacsCross/" name = "/var/dcss/gamedata/dcss/morgue/MalacsCross/crash-MalacsCross-20230109-083348.txt", '\000' signal_info = "Crash caused by signal #6: Aborted" cause_msg = "ASSERT((duration[DUR_MESMERISED] > 0) == !beholders.empty()) in 'behold.cc' at line 66 failed." file = 0x7f4ce8c8e540 <_IO_2_1_stderr_> #3 0x000000000076d430 in crash_signal_handler (sig_num=6) at crash.cc:198 No locals. #4 No locals. #5 0x00007f4ce8ca4269 in raise (sig=6) at ../sysdeps/unix/sysv/linux/pt-raise.c:35 resultvar = 0 pid = #6 0x0000000000773c99 in _BreakStrToDebugger (mesg=mesg@entry=0x7ffceb94c8a0 "ASSERT((duration[DUR_MESMERISED] > 0) == !beholders.empty()) in 'behold.cc' at line 66 failed.", assert=true) at dbg-asrt.cc:813 No locals. #7 0x0000000000773e41 in AssertFailed (expr=expr@entry=0xdffd00 "(duration[DUR_MESMERISED] > 0) == !beholders.empty()", file=file@entry=0xd97969 "behold.cc", line=line@entry=66, text=text@entry=0x0) at dbg-asrt.cc:851 mesg = "ASSERT((duration[DUR_MESMERISED] > 0) == !beholders.empty()) in 'behold.cc' at line 66 failed.", '\000' , "\320Δ\353\004\000\000\000\300Δ\353\374\177\000\000\000\000\377\377\377\377\377\377", '\000' , "\240\304\310\350L\177\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000d\207j\001\000\000\000\000\240\304"... args = {{gp_offset = 14243681, fp_offset = 0, overflow_arg_area = 0x7ffceb94ca28, reg_save_area = 0x1}} fileName = #8 0x000000000073699c in player::beheld (this=) at behold.cc:66 No locals. #9 0x00000000007369c7 in player::beheld (this=) at behold.cc:66 No locals. #10 0x0000000000c77eea in fill_status_info (status=status@entry=163, inf=...) at status.cc:256 found = false #11 0x0000000000d75f64 in _update_statuses (c=...) at tileweb.cc:1013 status = 163 changed = false counter = inf = {light_colour = 0, light_text = "", short_text = "", long_text = ""} changed = counter = inf = status = #12 TilesFramework::_send_player (this=0x12042a0 , force_full=false) at tileweb.cc:1194 c = @0x1230620: {_state_ever_synced = true, name = "MalacsCross", job_title = "the Fighter", wizard = false, species = "Octopode", god = "", under_penance = false, piety_rank = 0, form = 0 '\000', hp = 67, hp_max = 67, real_hp_max = 67, poison_survival = 67, mp = 0, mp_max = 13, dd_real_mp_max = 0, contam = 0, noise = -1, adjusted_noise = 119, armour_class = 5, evasion = 13, shield_class = 0, strength = 8 '\b', strength_max = 8 '\b', intel = 21 '\025', intel_max = 21 '\025', dex = 12 '\f', dex_max = 12 '\f', experience_level = 9, exp_progress = 55 '7', gold = 66, zot_points = 0, elapsed_time = 100775, num_turns = 9945, lives = 0, deaths = 0, place = "Dungeon", depth = 6, position = {x = -3, y = 22}, status = std::vector of length 1, capacity 1 = {{light_colour = 4, light_text = "Mesm", short_text = "mesmerised", long_text = "You are mesmerised."}}, inv = {mData = {{base_type = OBJ_POTIONS, sub_type = 20 '\024', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 255, unrand_idx = 255, subtype_rnd = 255, brand = 255, freshness = 255}, rnd = 164 '\244', quantity = 3, flags = 15, pos = {x = -1, y = -1}, link = 0, slot = 97, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = -102, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_POTIONS, sub_type = 1 '\001', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 11, unrand_idx = 11, subtype_rnd = 11, brand = 11, freshness = 11}, rnd = 173 '\255', quantity = 3, flags = 15, pos = {x = -1, y = -1}, link = 1, slot = 98, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_SCROLLS, sub_type = 28 '\034', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 353356, unrand_idx = 353356, subtype_rnd = 353356, brand = 353356, freshness = 353356}, rnd = 194 '\302', quantity = 1, flags = 0, pos = {x = -1, y = -1}, link = 2, slot = 99, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_WANDS, sub_type = 15 '\017', {plus = 5, mon_type = MONS_BASILISK, skill = SK_POLEARMS, charges = 5, net_durability = 5, tithe_state = 5}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 43, unrand_idx = 43, subtype_rnd = 43, brand = 43, freshness = 43}, rnd = 66 'B', quantity = 1, flags = 15, pos = {x = -1, y = -1}, link = 3, slot = 100, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_POTIONS, sub_type = 4 '\004', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 97, unrand_idx = 97, subtype_rnd = 97, brand = 97, freshness = 97}, rnd = 27 '\033', quantity = 2, flags = 2, pos = {x = -1, y = -1}, link = 4, slot = 101, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_MISSILES, sub_type = 5 '\005', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 0, unrand_idx = 0, subtype_rnd = 0, brand = 0, freshness = 0}, rnd = 217 '\331', quantity = 89, flags = 15, pos = {x = -1, y = -1}, link = 5, slot = 102, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_SCROLLS, sub_type = 7 '\a', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 344358, unrand_idx = 344358, subtype_rnd = 344358, brand = 344358, freshness = 344358}, rnd = 84 'T', quantity = 3, flags = 2, pos = {x = -1, y = -1}, link = 6, slot = 103, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_SCROLLS, sub_type = 28 '\034', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 362281, unrand_idx = 362281, subtype_rnd = 362281, brand = 362281, freshness = 362281}, rnd = 247 '\367', quantity = 1, flags = 0, pos = {x = -1, y = -1}, link = 7, slot = 104, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_WEAPONS, sub_type = 19 '\023', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 0, unrand_idx = 0, subtype_rnd = 0, brand = 0, freshness = 0}, rnd = 167 '\247', quantity = 1, flags = 15, pos = {x = -1, y = -1}, link = 8, slot = 105, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_POTIONS, sub_type = 2 '\002', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 38, unrand_idx = 38, subtype_rnd = 38, brand = 38, freshness = 38}, rnd = 132 '\204', quantity = 2, flags = 15, pos = {x = -1, y = -1}, link = 9, slot = 106, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_POTIONS, sub_type = 0 '\000', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 12, unrand_idx = 12, subtype_rnd = 12, brand = 12, freshness = 12}, rnd = 32 ' ', quantity = 6, flags = 2, pos = {x = -1, y = -1}, link = 10, slot = 107, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_SCROLLS, sub_type = 14 '\016', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 348822, unrand_idx = 348822, subtype_rnd = 348822, brand = 348822, freshness = 348822}, rnd = 128 '\200', quantity = 1, flags = 2, pos = {x = -1, y = -1}, link = 11, slot = 108, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_WEAPONS, sub_type = 43 '+', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 0, unrand_idx = 0, subtype_rnd = 0, brand = 0, freshness = 0}, rnd = 87 'W', quantity = 1, flags = 15, pos = {x = -1, y = -1}, link = 12, slot = 109, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_SCROLLS, sub_type = 28 '\034', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 340517, unrand_idx = 340517, subtype_rnd = 340517, brand = 340517, freshness = 340517}, rnd = 123 '{', quantity = 1, flags = 0, pos = {x = -1, y = -1}, link = 13, slot = 110, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_SCROLLS, sub_type = 28 '\034', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 350582, unrand_idx = 350582, subtype_rnd = 350582, brand = 350582, freshness = 350582}, rnd = 183 '\267', quantity = 3, flags = 0, pos = {x = -1, y = -1}, link = 14, slot = 111, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_SCROLLS, sub_type = 28 '\034', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 338699, unrand_idx = 338699, subtype_rnd = 338699, brand = 338699, freshness = 338699}, rnd = 208 '\320', quantity = 2, flags = 0, pos = {x = -1, y = -1}, link = 15, slot = 112, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_WEAPONS, sub_type = 23 '\027', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 0, unrand_idx = 0, subtype_rnd = 0, brand = 0, freshness = 0}, rnd = 66 'B', quantity = 1, flags = 15, pos = {x = -1, y = -1}, link = 16, slot = 113, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_POTIONS, sub_type = 9 '\t', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 45, unrand_idx = 45, subtype_rnd = 45, brand = 45, freshness = 45}, rnd = 119 'w', quantity = 3, flags = 15, pos = {x = -1, y = -1}, link = 17, slot = 114, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_POTIONS, sub_type = 32 ' ', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 127, unrand_idx = 127, subtype_rnd = 127, brand = 127, freshness = 127}, rnd = 245 '\365', quantity = 1, flags = 0, pos = {x = -1, y = -1}, link = 18, slot = 115, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_JEWELLERY, sub_type = 16 '\020', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 28, unrand_idx = 28, subtype_rnd = 28, brand = 28, freshness = 28}, rnd = 165 '\245', quantity = 1, flags = 15, pos = {x = -1, y = -1}, link = 19, slot = 116, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_SCROLLS, sub_type = 1 '\001', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 332416, unrand_idx = 332416, subtype_rnd = 332416, brand = 332416, freshness = 332416}, rnd = 180 '\264', quantity = 5, flags = 2, pos = {x = -1, y = -1}, link = 20, slot = 117, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_POTIONS, sub_type = 14 '\016', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 39, unrand_idx = 39, subtype_rnd = 39, brand = 39, freshness = 39}, rnd = 147 '\223', quantity = 1, flags = 15, pos = {x = -1, y = -1}, link = 21, slot = 118, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_ARMOUR, sub_type = 13 '\r', {plus = 1, mon_type = MONS_FRILLED_LIZARD, skill = SK_SHORT_BLADES, charges = 1, net_durability = 1, tithe_state = 1}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 0, unrand_idx = 0, subtype_rnd = 0, brand = 0, freshness = 0}, rnd = 47 '/', quantity = 1, flags = 15, pos = {x = -1, y = -1}, link = 22, slot = 119, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_JEWELLERY, sub_type = 1 '\001', {plus = 4, mon_type = MONS_KOMODO_DRAGON, skill = SK_MACES_FLAILS, charges = 4, net_durability = 4, tithe_state = 4}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 17, unrand_idx = 17, subtype_rnd = 17, brand = 17, freshness = 17}, rnd = 159 '\237', quantity = 1, flags = 15, pos = {x = -1, y = -1}, link = 23, slot = 120, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_WEAPONS, sub_type = 14 '\016', {plus = 1, mon_type = MONS_FRILLED_LIZARD, skill = SK_SHORT_BLADES, charges = 1, net_durability = 1, tithe_state = 1}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 1, unrand_idx = 1, subtype_rnd = 1, brand = 1, freshness = 1}, rnd = 179 '\263', quantity = 1, flags = 65551, pos = {x = -1, y = -1}, link = 24, slot = 121, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_MISSILES, sub_type = 0 '\000', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 3, unrand_idx = 3, subtype_rnd = 3, brand = 3, freshness = 3}, rnd = 56 '8', quantity = 6, flags = 2, pos = {x = -1, y = -1}, link = 25, slot = 122, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_WEAPONS, sub_type = 14 '\016', {plus = 2, mon_type = MONS_LEOPARD_GECKO, skill = SK_LONG_BLADES, charges = 2, net_durability = 2, tithe_state = 2}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 8, unrand_idx = 8, subtype_rnd = 8, brand = 8, freshness = 8}, rnd = 163 '\243', quantity = 1, flags = 65551, pos = {x = -1, y = -1}, link = 26, slot = 65, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_MISSILES, sub_type = 9 '\t', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 0, unrand_idx = 0, subtype_rnd = 0, brand = 0, freshness = 0}, rnd = 139 '\213', quantity = 9, flags = 15, pos = {x = -1, y = -1}, link = 27, slot = 66, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_WANDS, sub_type = 16 '\020', {plus = 10, mon_type = MONS_WATER_MOCCASIN, skill = SK_THROWING, charges = 10, net_durability = 10, tithe_state = 10}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 22, unrand_idx = 22, subtype_rnd = 22, brand = 22, freshness = 22}, rnd = 244 '\364', quantity = 1, flags = 15, pos = {x = -1, y = -1}, link = 28, slot = 67, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_SCROLLS, sub_type = 28 '\034', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 357396, unrand_idx = 357396, subtype_rnd = 357396, brand = 357396, freshness = 357396}, rnd = 253 '\375', quantity = 1, flags = 0, pos = {x = -1, y = -1}, link = 29, slot = 68, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_POTIONS, sub_type = 5 '\005', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 56, unrand_idx = 56, subtype_rnd = 56, brand = 56, freshness = 56}, rnd = 39 '\'', quantity = 2, flags = 15, pos = {x = -1, y = -1}, link = 30, slot = 69, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = -103, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_POTIONS, sub_type = 16 '\020', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 32, unrand_idx = 32, subtype_rnd = 32, brand = 32, freshness = 32}, rnd = 227 '\343', quantity = 1, flags = 15, pos = {x = -1, y = -1}, link = 31, slot = 70, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = -103, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_POTIONS, sub_type = 23 '\027', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 113, unrand_idx = 113, subtype_rnd = 113, brand = 113, freshness = 113}, rnd = 206 '\316', quantity = 1, flags = 15, pos = {x = -1, y = -1}, link = 32, slot = 71, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = -103, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_SCROLLS, sub_type = 28 '\034', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 362873, unrand_idx = 362873, subtype_rnd = 362873, brand = 362873, freshness = 362873}, rnd = 9 '\t', quantity = 1, flags = 0, pos = {x = -1, y = -1}, link = 33, slot = 72, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_POTIONS, sub_type = 25 '\031', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 223, unrand_idx = 223, subtype_rnd = 223, brand = 223, freshness = 223}, rnd = 113 'q', quantity = 2, flags = 2, pos = {x = -1, y = -1}, link = 34, slot = 73, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_WEAPONS, sub_type = 1 '\001', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 2, unrand_idx = 2, subtype_rnd = 2, brand = 2, freshness = 2}, rnd = 39 '\'', quantity = 1, flags = 65551, pos = {x = -1, y = -1}, link = 35, slot = 74, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_SCROLLS, sub_type = 28 '\034', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 358416, unrand_idx = 358416, subtype_rnd = 358416, brand = 358416, freshness = 358416}, rnd = 241 '\361', quantity = 1, flags = 0, pos = {x = -1, y = -1}, link = 36, slot = 75, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_SCROLLS, sub_type = 28 '\034', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 344159, unrand_idx = 344159, subtype_rnd = 344159, brand = 344159, freshness = 344159}, rnd = 184 '\270', quantity = 3, flags = 0, pos = {x = -1, y = -1}, link = 37, slot = 76, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_POTIONS, sub_type = 3 '\003', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 19, unrand_idx = 19, subtype_rnd = 19, brand = 19, freshness = 19}, rnd = 70 'F', quantity = 1, flags = 15, pos = {x = -1, y = -1}, link = 38, slot = 77, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = -103, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_POTIONS, sub_type = 32 ' ', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 193, unrand_idx = 193, subtype_rnd = 193, brand = 193, freshness = 193}, rnd = 212 '\324', quantity = 1, flags = 0, pos = {x = -1, y = -1}, link = 39, slot = 78, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_WANDS, sub_type = 0 '\000', {plus = 12, mon_type = MONS_ANACONDA, skill = SK_DODGING, charges = 12, net_durability = 12, tithe_state = 12}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 174, unrand_idx = 174, subtype_rnd = 174, brand = 174, freshness = 174}, rnd = 196 '\304', quantity = 1, flags = 15, pos = {x = -1, y = -1}, link = 40, slot = 79, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_WEAPONS, sub_type = 10 '\n', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 10, unrand_idx = 10, subtype_rnd = 10, brand = 10, freshness = 10}, rnd = 90 'Z', quantity = 1, flags = 65551, pos = {x = -1, y = -1}, link = 41, slot = 80, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_UNASSIGNED, sub_type = 0 '\000', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 0, unrand_idx = 0, subtype_rnd = 0, brand = 0, freshness = 0}, rnd = 1 '\001', quantity = 0, flags = 0, pos = {x = 0, y = 0}, link = 27000, slot = 0, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_UNASSIGNED, sub_type = 0 '\000', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 0, unrand_idx = 0, subtype_rnd = 0, brand = 0, freshness = 0}, rnd = 1 '\001', quantity = 0, flags = 0, pos = {x = 0, y = 0}, link = 27000, slot = 0, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_UNASSIGNED, sub_type = 0 '\000', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 0, unrand_idx = 0, subtype_rnd = 0, brand = 0, freshness = 0}, rnd = 1 '\001', quantity = 0, flags = 0, pos = {x = 0, y = 0}, link = 27000, slot = 0, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_UNASSIGNED, sub_type = 0 '\000', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 0, unrand_idx = 0, subtype_rnd = 0, brand = 0, freshness = 0}, rnd = 1 '\001', quantity = 0, flags = 0, pos = {x = 0, y = 0}, link = 27000, slot = 0, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_UNASSIGNED, sub_type = 0 '\000', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 0, unrand_idx = 0, subtype_rnd = 0, brand = 0, freshness = 0}, rnd = 1 '\001', quantity = 0, flags = 0, pos = {x = 0, y = 0}, link = 27000, slot = 0, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_UNASSIGNED, sub_type = 0 '\000', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 0, unrand_idx = 0, subtype_rnd = 0, brand = 0, freshness = 0}, rnd = 1 '\001', quantity = 0, flags = 0, pos = {x = 0, y = 0}, link = 27000, slot = 0, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_UNASSIGNED, sub_type = 0 '\000', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 0, unrand_idx = 0, subtype_rnd = 0, brand = 0, freshness = 0}, rnd = 1 '\001', quantity = 0, flags = 0, pos = {x = 0, y = 0}, link = 27000, slot = 0, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_UNASSIGNED, sub_type = 0 '\000', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 0, unrand_idx = 0, subtype_rnd = 0, brand = 0, freshness = 0}, rnd = 1 '\001', quantity = 0, flags = 0, pos = {x = 0, y = 0}, link = 27000, slot = 0, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_UNASSIGNED, sub_type = 0 '\000', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 0, unrand_idx = 0, subtype_rnd = 0, brand = 0, freshness = 0}, rnd = 1 '\001', quantity = 0, flags = 0, pos = {x = 0, y = 0}, link = 27000, slot = 0, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_UNASSIGNED, sub_type = 0 '\000', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 0, unrand_idx = 0, subtype_rnd = 0, brand = 0, freshness = 0}, rnd = 1 '\001', quantity = 0, flags = 0, pos = {x = 0, y = 0}, link = 27000, slot = 0, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}}}, equip = {mData = "\030\377\377\377\377\377\377\377\377\377\023\027\377\377\377\377\377\377\377"}, quiver_item = 40 '(', quiver_desc = "Zap: wand of flame (12)", unarmed_attack = "Tentacles", unarmed_attack_colour = 7 '\a', quiver_available = true} god = "" prank = max_max_hp = place = short_name = "Dungeon" pos = #13 0x0000000000d7a4ca in TilesFramework::redraw (this=0x12042a0 ) at tileweb.cc:2236 No locals. #14 0x0000000000d7a7c8 in TilesFramework::update_input_mode (this=0x12042a0 , mode=mode@entry=MOUSE_MODE_MORE, force=force@entry=false) at tileweb.cc:944 prev_mode = #15 0x00000000009afcc7 in mouse_control::mouse_control (this=0x7ffceb94d624, mode=MOUSE_MODE_MORE) at libutil.cc:492 No locals. #16 0x0000000000a45348 in readkey_more (user_forced=user_forced@entry=false) at message.cc:1886 keypress = 0 unwind_more = {val = @0x11a6e01, oldval = false} mc = {m_previous_mode = MOUSE_MODE_NORMAL, static ms_current_mode = MOUSE_MODE_NORMAL} #17 0x0000000000a4725f in message_window::more (this=this@entry=0x11b0ac0 , full=full@entry=true, user=user@entry=false) at message.cc:728 rng = {previous = rng::UI} last_row = 7 #18 0x0000000000a477a0 in message_window::make_space (n=1, this=0x11b0ac0 ) at message.cc:479 space = 0 s = space = s = #19 message_window::add_item (this=this@entry=0x11b0ac0 , text="Maggie is severely wounded.", first_col=first_col@entry=prefix_type::none, temporary=temporary@entry=false) at message.cc:630 line = {ops = std::vector of length 0, capacity 720026 = { nl = @0x1b1e5a0: {ops = std::vector of length 3, capacity 4 = {{type = FSOP_COLOUR, colour = 12, text = ""}, {type = FSOP_TEXT, colour = -1, text = "Maggie is severely wounded."}, {type = FSOP_COLOUR, colour = 7, text = ""}}} __for_range = std::vector of length 1, capacity 1 = {{ops = std::vector of length 3, capacity 4 = {{type = FSOP_COLOUR, colour = 12, text = ""}, {type = FSOP_TEXT, colour = -1, text = "Maggie is severely wounded."}, {type = FSOP_COLOUR, colour = 7, text = ""}}}} __for_begin = __for_end = newlines = std::vector of length 1, capacity 1 = {{ops = std::vector of length 3, capacity 4 = {{type = FSOP_COLOUR, colour = 12, text = ""}, {type = FSOP_TEXT, colour = -1, text = "Maggie is severely wounded."}, {type = FSOP_COLOUR, colour = 7, text = ""}}}} #20 0x0000000000a47d57 in message_store::store_msg (msg=..., this=0x11a6e20 ) at message.cc:820 p = prefix_type::none dontsend = p = dontsend = #21 message_store::flush_prev (this=this@entry=0x11a6e20 ) at message.cc:850 msg = {channel = MSGCH_MONSTER_DAMAGE, param = 4, messages = std::vector of length 1, capacity 1 = {{text = "Maggie is severely wounded.", repeats = 1}}, turn = 9945, join = true} #22 0x0000000000a42502 in message_store::add (msg=..., this=0x11a6e20 ) at message.cc:784 orig_full_text = "You break out of your daze." orig_full_text = #23 _mpr (text=..., channel=MSGCH_RECOVERY, param=, nojoin=, cap=) at message.cc:1594 _doing_c_message_hook = false rng = {previous = rng::GAMEPLAY} colour = col = "lightgreen" domore = do_flash_screen = false join = fs = {ops = std::vector of length 3, capacity 4 = {{type = FSOP_COLOUR, colour = 10, text = ""}, {type = FSOP_TEXT, colour = -1, text = "You break out of your daze."}, {type = FSOP_COLOUR, colour = 7, text = ""}}} msg = {channel = MSGCH_RECOVERY, param = 0, messages = std::vector of length 1, capacity 1 = {{text = "You break out of your daze.", repeats = 1}}, turn = 9945, join = true} #24 0x0000000000a42c1a in do_message_print (channel=MSGCH_RECOVERY, param=0, cap=, nojoin=, format=, argp=) at /usr/include/c++/9/bits/char_traits.h:342 ap = {{gp_offset = 16, fp_offset = 48, overflow_arg_area = 0x7ffceb94dc00, reg_save_area = 0x7ffceb94db40}} buff = "You break out of your daze.\000\000\000\000\000\020h\003\002\000\000\000\000\065\000\000\000\000\000\000\000<", '\000' , "`ڔ\353\374\177", '\000' , "\250\230\v\001\000\000\000\000\200ڔ\353\374\177", '\000' , "\324є\350L\177\000\000\220Š\001\000\000\000\000\026\000\000\000\000\000\000\000\036\000\000\000\000\000\000\000\226\065\223\000\000\000\000\000ມ\001\000\000\000\000\000K\371\303\372\230b∤(\001\000\000\000\000\340۔\353\374\177\000\000\210\244(\001\000\000\000" len = #25 0x0000000000a43120 in mprf (channel=channel@entry=MSGCH_RECOVERY, format=format@entry=0xd94b98 "%s") at message.cc:1308 argp = {{gp_offset = 24, fp_offset = 48, overflow_arg_area = 0x7ffceb94dc00, reg_save_area = 0x7ffceb94db40}} #26 0x0000000000b69dd1 in _decrement_a_duration (dur=dur@entry=DUR_MESMERISED, delay=delay@entry=15, endmsg=0xdc1e88 "You break out of your daze.", exploss=exploss@entry=0, expmsg=expmsg@entry=0x0, chan=chan@entry=MSGCH_RECOVERY) at player-reacts.cc:162 exppoint = old_dur = #27 0x0000000000b6b978 in _decrement_simple_duration (delay=15, dur=DUR_MESMERISED) at player-reacts.cc:815 No locals. #28 _decrement_durations () at player-reacts.cc:815 i = 4 delay = 15 melted = pbd_str = sanguine_armour_is_valid = delay = melted = pbd_str = sanguine_armour_is_valid = i = s = near_ghost = mi = old_recite = new_recite = i = #29 player_reacts () at player-reacts.cc:1014 stealth = 153 #30 0x0000000000d83a15 in world_reacts () at main.cc:2573 No locals. #31 0x0000000000d85001 in _input () at main.cc:1285 player_disabled = {was_disabled = false} #32 0x0000000000d85dd5 in _launch_game () at main.cc:483 game_start = ccon = {cstate = false} #33 0x00000000006ca7fe in _launch_game_loop () at main.cc:388 game_ended = false game_ended = ge = fe = E = #34 main (argc=, argv=0x7ffceb94e508) at main.cc:339 echo = {prev_state = MB_MAYBE} [Inferior 1 (process 31602) detached] Compilation info: <<<<<<<<<<< Compiled with GCC 9.4.0 Build platform: x86_64-linux-gnu Platform: x86_64-linux-gnu CFLAGS: -O2 -pipe -DUSE_TILE -DUSE_TILE_WEB -DEXPERIMENTAL_BRANCH="HEAD" -Wall -Wformat-security -Wundef -Wextra -Wno-missing-field-initializers -Wno-implicit-fallthrough -Wno-type-limits -Wno-uninitialized -Wno-array-bounds -Wno-format-zero-length -Wmissing-declarations -Wredundant-decls -Wno-parentheses -Wwrite-strings -Wshadow -pedantic -Wuninitialized -Iutil -I. -isystem /usr/include/lua5.1 -g -DWIZARD -DASSERTS -DCLUA_BINDINGS -DDGAMELAUNCH -DWEB_DIR_PATH="/web/" -D_GNU_SOURCE -isystem /usr/include/ncursesw LDFLAGS: -rdynamic -fuse-ld=gold -O2 >>>>>>>>>>> Place info: branch = 0, depth = 6 Level id: D:6 Level build method = , level layout type = open_caves, absdepth0 = 5 Level vaults: layout_cave_pods uniq_duvessa uniq_grinder uniq_maggie Markers: <<<<<<<<<<<<<<<<<<<<<< >>>>>>>>>>>>>>>>>>>>>> Messages: <<<<<<<<<<<<<<<<<<<<<< Maggie is nearby! Casting: Passwall (safe; 2% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Maggie shouts! Maggie gestures wildly while chanting. Maggie attempts to bespell you! You resist with some effort. Maggie is nearby! Your hound disappears in a puff of smoke! Maggie is nearby! Maggie is nearby! You see here a +0 robe. There is a stone staircase leading up here. You climb upwards. There is a stone staircase leading down here. Magic restored. There is a stone staircase leading down here. There is an entrance to Voimuj's Distillery here. There is an entrance to Voimuj's Distillery here. M - a potion of might Thank you for shopping at Voimuj's Distillery! There is a stone staircase leading down here. You climb downwards. Level annotation: Duvessa, Maggie There is a stone staircase leading up here. A hound comes into view. Casting: Call Canine Familiar (dangerous; 11% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Poisonous Vapours (safe; 3% risk of failure) Press: ? - help, Dir - move target, f - hound Aim: a hound (wandering, hasn't noticed you) Poisonous vapours surround the hound! The hound is poisoned. The hound barks! You hear a shout! Casting: Poisonous Vapours (safe; 3% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Poisonous Vapours (safe; 3% risk of failure) Press: ? - help, Dir - move target, f/p - hound Aim: a hound (lightly wounded, poisoned) Poisonous vapours surround the hound! The hound looks even sicker. Casting: Poisonous Vapours (safe; 3% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Poisonous Vapours (safe; 3% risk of failure) Press: ? - help, Dir - move target, f/p - hound Aim: a hound (lightly wounded, very poisoned) Poisonous vapours surround the hound! The hound looks even sicker. Your +1 falchion of flaming bursts into flame! y - a +1 falchion of flaming (weapon) The hound closely misses you. You hit the hound. You burn the hound. Your grab misses the hound. The hound is moderately wounded. The hound bites you. The hound misses you. You barely miss the hound. Your grab misses the hound. The hound is heavily wounded. The hound bites you. You closely miss the hound. Your grab misses the hound. You squeeze the hound. The hound is severely wounded. The hound bites you. The hound barely misses you. You hit the hound. You burn the hound. You kill the hound! Your Conjurations skill increases to level 2! You start resting. A black bear comes into view. Casting: Poisonous Vapours (safe; 3% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Poisonous Vapours (safe; 3% risk of failure) Press: ? - help, Dir - move target, f - black bear Aim: a black bear (wandering, hasn't noticed you) Poisonous vapours surround the black bear! The black bear is poisoned. The black bear growls angrily. A gnoll comes into view. It is wielding a +0 halberd. There is a stone staircase leading up here. Casting: Poisonous Vapours (safe; 3% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Poisonous Vapours (safe; 3% risk of failure) Press: ? - help, Dir - move target, f/p - black bear Aim: a black bear (lightly wounded, poisoned) Poisonous vapours surround the black bear! The black bear looks even sicker. Casting: Poisonous Vapours (safe; 3% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Poisonous Vapours (safe; 3% risk of failure) Press: ? - help, Dir - move target, f/p - black bear Aim: a black bear (lightly wounded, very poisoned) Poisonous vapours surround the black bear! The black bear looks even sicker. Casting: Poisonous Vapours (safe; 3% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Stone Arrow (dangerous; 4% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - black bear Aim: a black bear (lightly wounded, very poisoned, 77% to hit) The stone arrow hits the black bear. The black bear is moderately wounded. You climb upwards. There is a stone staircase leading down here. HP restored. There is a stone staircase leading down here. You start resting. Magic restored. You climb downwards. Level annotation: Duvessa, Maggie There is a stone staircase leading up here. N - a sedimented yellow potion Things that are here: a +0 robe; a +0 dagger; an orc skeleton Dowan, Brother of Duvessa comes into view. He is wielding a +0 dagger of speed and carrying a wand of flame (17). Casting: Stone Arrow (dangerous; 4% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Dowan shouts! Casting: Call Canine Familiar (dangerous; 11% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. A beastly little devil appears in a puff of flame. Dowan drinks a potion. Dowan flickers and vanishes! Deactivating autopickup; reactivate with Ctrl-A. Your hound misses something. You swap places. You hear a zap. A puff of flame appears from out of thin air! The puff of flame misses you. You see here a +0 hand axe. Your hound disappears in a puff of smoke! There is a stone staircase leading up here. Casting: Call Imp (safe; 6% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Your crimson imp disappears in a puff of smoke! Your hound bites something. Your hound resists with significant effort. Your hound bites something. Your hound bites something. Your hound barely misses something. Your hound misses something. Your hound closely misses something. Something hits you but does no damage. Your hound bites something. Okay, then. You hit something. You burn something. Something hits you. Your hound bites something. You hear a zap. A puff of flame appears from out of thin air! The puff of flame hits you! You barely miss something. Your squeeze misses something. Your hound closely misses something. Your hound bites something. You hear some strange, mumbled words. Your hound resists with significant effort. Okay, then. Casting: Call Canine Familiar (dangerous; 11% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. You can't see any susceptible monsters within range! (Use Z to cast anyway.) You barely miss something. You tentacle-slap something. Your hound bites something. You hear a distant scream of rage. Reactivating autopickup. You feel a bit more experienced. O - a wand of flame (15) o - 3 scrolls labelled LEPITE TYASK (gained 1) Things that are here: a +0 dagger of speed; a +0 robe; the elf corpse of Dowan P - a +0 dagger of speed You drop a +0 short sword. There is a stone staircase leading up here. You start resting. Your hound disappears in a puff of smoke! Magic restored. Things that are here: a +0 short sword; a +0 robe; the elf corpse of Dowan There is a stone staircase leading up here. You climb upwards. There is a stone staircase leading down here. You climb downwards. Level annotation: Duvessa, Maggie There is a stone staircase leading up here. Things that are here: a +0 robe; a +0 short sword; the elf corpse of Dowan You see here a +0 dagger. HP restored. You see here a +0 hand axe. Duvessa is nearby! Casting: Call Canine Familiar (dangerous; 11% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Duvessa shouts! Duvessa goes berserk! Casting: Call Canine Familiar (dangerous; 11% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. A beastly little devil appears in a puff of flame. Duvessa rages. Duvessa hits your crimson imp with a +0 short sword! Your crimson imp hits Duvessa but does no damage. Duvessa closely misses your crimson imp. Duvessa misses your crimson imp. Your crimson imp hits Duvessa. Something hits your crimson imp. Duvessa hits your crimson imp with a +0 short sword! Your crimson imp dies! Your crimson imp disappears in a puff of smoke! Duvessa misses your hound. Your hound bites Duvessa but does no damage. Duvessa misses your hound. Your hound bites Duvessa but does no damage. Duvessa closely misses your hound. Your hound bites Duvessa. Duvessa hits your hound with a +0 short sword! Your hound barely misses Duvessa. Duvessa closely misses your hound. Your hound bites Duvessa but does no damage. Duvessa hits your hound with a +0 short sword! Your hound dies! Your hound's corpse disappears in a puff of smoke! Casting: Call Imp (safe; 5% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Poisonous Vapours (safe; 3% risk of failure) Press: ? - help, Dir - move target, f - Duvessa Aim: Duvessa, wielding a +0 short sword, wearing a +1 scale mail of cold resistance and carrying a wand of polymorph (5) (lightly wounded, berserk) Poisonous vapours surround Duvessa! Duvessa is poisoned. Casting: Poisonous Vapours (safe; 3% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Poisonous Vapours (safe; 3% risk of failure) Press: ? - help, Dir - move target, f/p - Duvessa Aim: Duvessa, wielding a +0 short sword, wearing a +1 scale mail of cold resistance and carrying a wand of polymorph (5) (lightly wounded, berserk, poisoned) Poisonous vapours surround Duvessa! Duvessa looks even sicker. Casting: Poisonous Vapours (safe; 3% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Poisonous Vapours (safe; 3% risk of failure) Press: ? - help, Dir - move target, f/p - Duvessa Aim: Duvessa, wielding a +0 short sword, wearing a +1 scale mail of cold resistance and carrying a wand of polymorph (5) (lightly wounded, berserk, very poisoned) Poisonous vapours surround Duvessa! Duvessa looks even sicker. Casting: Poisonous Vapours (safe; 3% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Poisonous Vapours (safe; 3% risk of failure) Press: ? - help, Dir - move target, f/p - Duvessa Aim: Duvessa, wielding a +0 short sword, wearing a +1 scale mail of cold resistance and carrying a wand of polymorph (5) (lightly wounded, berserk, very poisoned) Poisonous vapours surround Duvessa! Duvessa looks as sick as possible! Duvessa hits you with a +0 short sword. Casting: Poisonous Vapours (safe; 3% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. You don't have enough magic to cast this spell. Casting: Poisonous Vapours (safe; 3% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Sandblast (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - Duvessa Aim: Duvessa, wielding a +0 short sword, wearing a +1 scale mail of cold resistance and carrying a wand of polymorph (5) (lightly wounded, berserk, extremely poisoned, 87% to hit) You miscast Sandblast. You are very lightly contaminated with residual magic. Nothing appears to happen. Duvessa barely misses you. Okay, then. You hit Duvessa. You burn Duvessa. You grab Duvessa. You squeeze Duvessa, but do no damage. Duvessa is moderately wounded. You constrict Duvessa, but do no damage. Duvessa hits you with a +0 short sword. Duvessa barely misses you. You hit Duvessa but do no damage. You squeeze Duvessa! Duvessa is heavily wounded. You constrict Duvessa, but do no damage. Duvessa misses you. Duvessa hits you with a +0 short sword. You hit Duvessa. You burn Duvessa. You squeeze Duvessa, but do no damage. Duvessa is severely wounded. You constrict Duvessa, but do no damage. Duvessa closely misses you. Duvessa hits you with a +0 short sword! You hit Duvessa. You burn Duvessa. You squeeze Duvessa, but do no damage. Duvessa is almost dead. You constrict Duvessa, but do no damage. Duvessa barely misses you. Duvessa hits you with a +0 short sword! You hit Duvessa. You burn Duvessa. You kill Duvessa! Your magical contamination has completely faded away. Your Dodging skill increases to level 3! Your Evocations skill increases to level 1! d - a wand of polymorph (5) L - 2 scrolls labelled NEPLYADGHIC (gained 1) You now have 30 gold pieces (gained 16). Things that are here: a +0 short sword; a +1 scale mail of cold resistance There is a stone staircase leading up here. You start resting. Magic restored. You start resting. HP restored. Things that are here: a +0 robe; a +0 short sword; the elf corpse of Dowan You see here a +0 dagger. Things that are here: a +0 robe; a +0 short sword; the elf skeleton of Dowan Things that are here: a +0 short sword; a +1 scale mail of cold resistance There is a stone staircase leading down here. Found 14 gold pieces. You now have 44 gold pieces (gained 14). There is a stone staircase leading down here. You see here a +0 dagger. Casting: Sandblast (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Poisonous Vapours (safe; 3% risk of failure) Press: ? - help, Dir - move target, f - ogre Aim: an ogre, wielding a +0 giant club (wandering, hasn't noticed you) Poisonous vapours surround the ogre! The ogre is poisoned. The ogre shouts! Casting: Poisonous Vapours (safe; 3% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Poisonous Vapours (safe; 3% risk of failure) Press: ? - help, Dir - move target, f/p - ogre Aim: an ogre, wielding a +0 giant club (poisoned) Poisonous vapours surround the ogre! The ogre looks even sicker. Casting: Poisonous Vapours (safe; 3% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Poisonous Vapours (safe; 3% risk of failure) Press: ? - help, Dir - move target, f/p - ogre Aim: an ogre, wielding a +0 giant club (very poisoned) Poisonous vapours surround the ogre! The ogre looks even sicker. The ogre attacks as you move away! The ogre closely misses you. Casting: Poisonous Vapours (safe; 3% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. The ogre barely misses you. You swap places. Your hound barely misses the ogre. Your hound bites the ogre. The ogre hits your hound with a +0 giant club! Your hound bites the ogre but does no damage. Your hound bites the ogre but does no damage. The ogre hits your hound with a +0 giant club! Your hound dies! Your hound's corpse disappears in a puff of smoke! Casting: Call Canine Familiar (dangerous; 11% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Casting: Call Canine Familiar (dangerous; 11% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. A beastly little devil appears in a puff of frigid air. Your hound bites the ogre. The ogre hits your hound with a +0 giant club! Your hound dies! Your hound's corpse disappears in a puff of smoke! Your white imp closely misses the ogre. Your +1 falchion of flaming stops flaming. m - a +0 sling (weapon) Fire: m) +0 sling Press: ? - help, Q - select action, (/) - cycle Shift-Dir - straight line, f/p - ogre Aim: an ogre, wielding a +0 giant club (almost dead, poisoned, ally target, 74% to hit) Okay, then. Casting: Call Imp (safe; 5% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Sandblast (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - ogre Aim: an ogre, wielding a +0 giant club (almost dead, poisoned, ally target, 91% to hit) The blast of sand hits the ogre! You kill the ogre! Your Earth Magic skill increases to level 4! There is a stone staircase leading down here. You start resting. Your white imp disappears in a puff of smoke! Magic restored. Okay, then. You see here a +0 dagger. You see here a +0 short sword. There is a stone staircase leading up here. A black bear is nearby! Casting: Sandblast (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Poisonous Vapours (safe; 2% risk of failure) Press: ? - help, Dir - move target, f - black bear Aim: a black bear (wandering, hasn't noticed you) Poisonous vapours surround the black bear! The black bear is poisoned. The black bear growls angrily. You hear a shout! x3 Casting: Poisonous Vapours (safe; 2% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Poisonous Vapours (safe; 2% risk of failure) Press: ? - help, Dir - move target, f/p - black bear Aim: a black bear (lightly wounded, poisoned) Poisonous vapours surround the black bear! The black bear looks even sicker. Casting: Poisonous Vapours (safe; 2% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Poisonous Vapours (safe; 2% risk of failure) Press: ? - help, Dir - move target, f/p - black bear Aim: a black bear (lightly wounded, very poisoned) Poisonous vapours surround the black bear! The black bear looks even sicker. Casting: Poisonous Vapours (safe; 2% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Poisonous Vapours (safe; 2% risk of failure) Press: ? - help, Dir - move target, f/p - black bear Aim: a black bear (lightly wounded, very poisoned) Poisonous vapours surround the black bear! The black bear looks as sick as possible! There is a stone staircase leading up here. Casting: Poisonous Vapours (safe; 2% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Poisonous Vapours (safe; 2% risk of failure) Press: ? - help, Dir - move target, f/p - black bear Aim: a black bear (severely wounded, very poisoned) Poisonous vapours surround the black bear! The black bear looks even sicker. Casting: Poisonous Vapours (safe; 2% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Poisonous Vapours (safe; 2% risk of failure) Press: ? - help, Dir - move target, f/p - black bear Aim: a black bear (severely wounded, very poisoned) Poisonous vapours surround the black bear! The black bear looks as sick as possible! The black bear attacks as you move away! The black bear bites you. The black bear claws you but does no damage. x2 The black bear goes berserk! Casting: Poisonous Vapours (safe; 2% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. The black bear closely misses you. The black bear claws you. The black bear claws you but does no damage. Your +1 falchion of flaming bursts into flame! y - a +1 falchion of flaming (weapon) You hit the black bear. You burn the black bear. Your grab misses the black bear. Your squeeze misses the black bear. The black bear is almost dead. You kill the black bear! HP restored. There is a stone staircase leading up here. You start resting. Your hound disappears in a puff of smoke! Magic restored. A gnoll comes into view. It is wielding a +0 flail. You see here a scroll labelled NEPLYADGHIC. Casting: Call Canine Familiar (dangerous; 10% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Poisonous Vapours (safe; 2% risk of failure) Press: ? - help, Dir - move target, f - gnoll Aim: a gnoll, wielding a +0 flail (wandering, hasn't noticed you) Poisonous vapours surround the gnoll! The gnoll is poisoned. The gnoll shouts! You hear a shout! Casting: Poisonous Vapours (safe; 2% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Poisonous Vapours (safe; 2% risk of failure) Press: ? - help, Dir - move target, f/p - gnoll Aim: a gnoll, wielding a +0 flail (poisoned) Poisonous vapours surround the gnoll! The gnoll looks even sicker. Casting: Poisonous Vapours (safe; 2% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Poisonous Vapours (safe; 2% risk of failure) Press: ? - help, Dir - move target, f/p - gnoll Aim: a gnoll, wielding a +0 flail (lightly wounded, very poisoned) Poisonous vapours surround the gnoll! The gnoll looks even sicker. Grinder comes into view. There is a stone staircase leading up here. Grinder shouts! You slash the gnoll! You burn the gnoll. You kill the gnoll! Your Long Blades skill increases to level 2! You climb upwards. There is a stone staircase leading down here. You start resting. Magic restored. You climb downwards. Level annotation: Grinder, Maggie There is a stone staircase leading up here. Casting: Poisonous Vapours (safe; 2% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. A shadowy apparition takes form in the air. Casting: Call Imp (safe; 4% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Grinder closely misses your hound. Okay, then. Grinder blinks! Casting: Call Canine Familiar (dangerous; 10% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Sandblast (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line, f - Grinder Aim: Grinder (ally target, 81% to hit) The blast of sand hits Grinder! Grinder is moderately wounded. Your shadow imp barely misses Grinder. Grinder gestures at you. Your hound writhes in agony! Casting: Sandblast (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Sandblast (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - Grinder Aim: Grinder (lightly wounded, ally target, 81% to hit) The blast of sand hits Grinder but does no damage. Grinder is lightly wounded. Your hound bites Grinder. Your shadow imp hits Grinder. Your hound bites Grinder. Grinder hits your hound. Your hound dies! Your hound's corpse disappears in a puff of smoke! Your shadow imp hits Grinder. Casting: Sandblast (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Grinder says, "Mostly I couldn't keep them alive." Grinder gestures at you. You suddenly lose the ability to move! Your shadow imp barely misses Grinder. Your hound bites Grinder. Your hound misses Grinder. Grinder drinks a potion. Grinder is healed! Your hound bites Grinder. Your shadow imp closely misses Grinder. Grinder hits you. You writhe in agony. Your hound bites Grinder. Your shadow imp hits Grinder. You can move again. Casting: Call Canine Familiar (dangerous; 10% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Sandblast (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - Grinder Aim: Grinder (moderately wounded, ally target, 81% to hit) The blast of sand hits Grinder. Grinder is moderately wounded. Your hound bites Grinder but does no damage. Grinder misses you. Your hound barely misses Grinder. Your shadow imp barely misses Grinder. Grinder blinks! Casting: Sandblast (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Sandblast (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - Grinder Aim: Grinder (moderately wounded, ally target, 81% to hit) The blast of sand hits Grinder! Grinder is heavily wounded. Casting: Sandblast (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Sandblast (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - Grinder Aim: Grinder (heavily wounded, ally target, 81% to hit) Really fire in your hound's direction? Okay, then. Your hound bites Grinder but does no damage. Sorry, you're not good enough to have a special ability. Casting: Sandblast (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Sandblast (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - Grinder Aim: Grinder (heavily wounded, ally target, 81% to hit) The blast of sand hits Grinder! Grinder is severely wounded. Your hound bites Grinder. Grinder gestures at you. Pain shoots through your body! Casting: Sandblast (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Sandblast (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - Grinder Aim: Grinder (almost dead, ally target, 81% to hit) The blast of sand hits Grinder! You kill Grinder! Your Ranged Weapons skill increases to level 2! Your Spellcasting skill increases to level 3! You swap places. There is a stone staircase leading up here. You start resting. A gnoll is nearby! Okay, then. Casting: Sandblast (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Poisonous Vapours (safe; 2% risk of failure) Press: ? - help, Dir - move target, f - gnoll Aim: a gnoll, wielding a +0 halberd (wandering, hasn't noticed you) Poisonous vapours surround the gnoll! The gnoll is poisoned. The gnoll shouts! Your hound disappears in a puff of smoke! Okay, then. Your shadow imp hits the gnoll. The gnoll hits your shadow imp with a +0 halberd. Your shadow imp hits the gnoll. The gnoll barely misses your shadow imp. Your shadow imp hits the gnoll but does no damage. The gnoll closely misses your shadow imp. A gnoll comes into view. It is wielding a +0 club. Your shadow imp barely misses the gnoll. The gnoll barely misses your shadow imp. Your shadow imp hits the gnoll. The gnoll dies! Your shadow imp hits the gnoll. Your shadow imp disappears in a puff of smoke! Casting: Poisonous Vapours (safe; 2% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Sandblast (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line, f - gnoll Aim: a gnoll, wielding a +0 club (grey smoke, heavily wounded, 85% to hit) The blast of sand hits the gnoll! You kill the gnoll! Unknown command. You start resting. HP restored. You start resting. Magic restored. Things that are here: a +0 flail; a gnoll corpse Things that are here: a +0 halberd; a gnoll corpse Things that are here: a +0 club; a gnoll corpse L - 3 scrolls labelled NEPLYADGHIC (gained 1) Things that are here: a +0 club; a gnoll corpse Things that are here: a +0 halberd; a gnoll corpse Things that are here: a +0 flail; a gnoll skeleton An orc comes into view. It is wielding a +0 short sword. Found a potion of curing. An orc warrior, an orc and an orc priest come into view. Casting: Sandblast (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Poisonous Vapours (safe; 2% risk of failure) Press: ? - help, Dir - move target, f - orc Aim: an orc, wielding a +0 short sword (asleep) Poisonous vapours surround the orc! The orc is poisoned. The orc shouts! You hear a shout! x2 Your +1 falchion of flaming stops flaming. m - a +0 sling (weapon) Fire: m) +0 sling Press: ? - help, Q - select action, (/) - cycle Shift-Dir - straight line, f/p - orc Aim: an orc, wielding a +0 short sword (moderately wounded, poisoned, 60% to hit) You shoot a sling bullet. The sling bullet hits the orc. The orc is almost dead. You kill the orc! Casting: Poisonous Vapours (safe; 2% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Poisonous Vapours (safe; 2% risk of failure) Press: ? - help, Dir - move target, f - orc priest Aim: an orc priest, wielding a +0 whip and wearing a +0 chain mail (wandering, hasn't noticed you) Poisonous vapours surround the orc priest! The orc priest is poisoned. Casting: Poisonous Vapours (safe; 2% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Poisonous Vapours (safe; 2% risk of failure) Press: ? - help, Dir - move target, f/p - orc priest Aim: an orc priest, wielding a +0 whip and wearing a +0 chain mail (poisoned) Poisonous vapours surround the orc priest! The orc priest looks even sicker. Casting: Poisonous Vapours (safe; 2% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Poisonous Vapours (safe; 2% risk of failure) Press: ? - help, Dir - move target, f/p - orc priest Aim: an orc priest, wielding a +0 whip and wearing a +0 chain mail (very poisoned) Poisonous vapours surround the orc priest! The orc priest looks even sicker. Fire: m) +0 sling Press: ? - help, Q - select action, (/) - cycle Shift-Dir - straight line, f/p - orc priest Aim: an orc priest, wielding a +0 whip and wearing a +0 chain mail (lightly wounded, very poisoned, 68% to hit) You shoot a sling bullet. The sling bullet hits the orc priest but does no damage. The orc priest is lightly wounded. Your +1 falchion of flaming bursts into flame! y - a +1 falchion of flaming (weapon) Casting: Poisonous Vapours (safe; 2% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Sandblast (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - orc priest Aim: an orc priest, wielding a +0 whip and wearing a +0 chain mail (lightly wounded, very poisoned, 87% to hit) The blast of sand hits the orc priest but does no damage. The orc priest is lightly wounded. You hit the orc priest. You burn the orc priest. You grab the orc priest. The orc priest is heavily wounded. You constrict the orc priest, but do no damage. The orc priest misses you. You hit the orc priest but do no damage. You tentacle-slap the orc priest, but do no damage. You squeeze the orc priest. The orc priest is severely wounded. You constrict the orc priest, but do no damage. The orc priest misses you. You hit the orc priest but do no damage. The orc priest is severely wounded. You constrict the orc priest. You kill the orc priest! The orc hits you with a +0 mace! The orc barely misses you. The orc attacks as you move away! The orc closely misses you. The orc attacks as you move away! The orc hits you with a +0 mace. The orc attacks as you move away! The orc misses you. You hit the orc. You burn the orc. Your grab misses the orc. The orc is severely wounded. The orc hits you with a +0 mace. You hit the orc. You burn the orc. You kill the orc! Casting: Sandblast (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Poisonous Vapours (safe; 2% risk of failure) Press: ? - help, Dir - move target, f - orc warrior Aim: an orc warrior, wielding a +0 long sword and wearing a +0 chain mail Poisonous vapours surround the orc warrior! The orc warrior is poisoned. The orc warrior barely misses you. Casting: Poisonous Vapours (safe; 2% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Poisonous Vapours (safe; 2% risk of failure) Press: ? - help, Dir - move target, f/p - orc warrior Aim: an orc warrior, wielding a +0 long sword and wearing a +0 chain mail (lightly wounded, poisoned) Poisonous vapours surround the orc warrior! The orc warrior looks even sicker. The orc warrior completely misses you. Casting: Poisonous Vapours (safe; 2% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Poisonous Vapours (safe; 2% risk of failure) Press: ? - help, Dir - move target, f/p - orc warrior Aim: an orc warrior, wielding a +0 long sword and wearing a +0 chain mail (lightly wounded, very poisoned) Poisonous vapours surround the orc warrior! The orc warrior looks even sicker. The orc warrior hits you with a +0 long sword. Unknown command. Unknown command. Casting: Poisonous Vapours (safe; 2% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Poisonous Vapours (safe; 2% risk of failure) Press: ? - help, Dir - move target, f/p - orc warrior Aim: an orc warrior, wielding a +0 long sword and wearing a +0 chain mail (lightly wounded, very poisoned) Poisonous vapours surround the orc warrior! The orc warrior looks as sick as possible! The orc warrior hits you with a +0 long sword! Casting: Poisonous Vapours (safe; 2% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Sandblast (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - orc warrior Aim: an orc warrior, wielding a +0 long sword and wearing a +0 chain mail (lightly wounded, extremely poisoned, 81% to hit) The blast of sand hits the orc warrior. The orc warrior is moderately wounded. The orc warrior misses you. The orc warrior attacks as you move away! The orc warrior hits you with a +0 long sword. The orc warrior barely misses you. Things that are here: a +0 flail; a gnoll skeleton Things that are here: a +0 club; a gnoll skeleton The orc warrior attacks as you move away! The orc warrior hits you with a +0 long sword! Casting: Sandblast (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Poisonous Vapours (safe; 2% risk of failure) Press: ? - help, Dir - move target, f/p - orc warrior Aim: an orc warrior, wielding a +0 long sword and wearing a +0 chain mail (severely wounded, very poisoned) Poisonous vapours surround the orc warrior! The orc warrior looks even sicker. The orc warrior misses you. You closely miss the orc warrior. Your grab misses the orc warrior. The orc warrior is almost dead. You kill the orc warrior! Your Poison Magic skill increases to level 3! Things that are here: a +0 long sword; a +0 chain mail Things that are here: a +0 halberd; a gnoll skeleton Things that are here: a +0 flail; a gnoll skeleton There is a stone staircase leading up here. You start resting. HP restored. Magic restored. Things that are here: a +0 mace; a +0 leather armour; an orc corpse Things that are here: a +0 whip; a +0 chain mail; an orc corpse You see here a +0 short sword. k - 6 potions of curing (gained 1) You see here a +0 short sword. Things that are here: a +0 whip; a +0 chain mail; an orc corpse There is a stone staircase leading up here. Okay, then. You see here a +0 flail. You see here a +0 halberd. Things that are here: a +0 long sword; a +0 chain mail You see here a +0 halberd. You see here a +0 club. Things that are here: a +1 scale mail of cold resistance; a +0 short sword There is a stone staircase leading down here. Unknown command. You drop a +0 mace. As you read the scroll labelled EDDE AQEKIXETE, it crumbles to dust. You feel strangely unstable. It was a scroll of teleportation. Your surroundings suddenly seem different. There is a stone staircase leading down here. Okay, then. Level annotation: Maggie Welcome back, MalacsCross the Octopode Earth Elementalist. Press ? for a list of commands and other information. Level annotation: Maggie Welcome back, MalacsCross the Octopode Earth Elementalist. Press ? for a list of commands and other information. Level annotation: Maggie Welcome back, MalacsCross the Octopode Earth Elementalist. Press ? for a list of commands and other information. Level annotation: Maggie Welcome back, MalacsCross the Octopode Earth Elementalist. Press ? for a list of commands and other information. Level annotation: Maggie Welcome back, MalacsCross the Octopode Earth Elementalist. Press ? for a list of commands and other information. Sorry, you're not good enough to have a special ability. You climb downwards. The orc wizard shouts! x2; The orc shouts! x2; The kobold demonologist shouts! You hear a shout! Found a scroll of enchant armour and a scroll labelled QUDWAL DAIT. Found an escape hatch in the ceiling. Found a stone staircase leading down. There is a stone staircase leading up here. The orc wizard gestures at you while chanting. The magic dart hits you. You climb upwards. Level annotation: Maggie There is a stone staircase leading down here. HP restored. There is a stone staircase leading down here. You climb downwards. Found 9 stones. There is a stone staircase leading up here. f - 89 stones (gained 9) Found 12 gold pieces. Found a scroll labelled CIPAAWK ACISS. c - a scroll labelled CIPAAWK ACISS Found 10 gold pieces. Found a leather armour. A bullfrog comes into view. Cast which spell? (? or * to list) Aiming: Poisonous Vapours (safe; 2% risk of failure) Press: ? - help, Dir - move target, f - bullfrog Aim: a bullfrog Poisonous vapours surround the bullfrog! The bullfrog is poisoned. Casting: Poisonous Vapours (safe; 2% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Poisonous Vapours (safe; 2% risk of failure) Press: ? - help, Dir - move target, f/p - bullfrog Aim: a bullfrog (lightly wounded, poisoned) Poisonous vapours surround the bullfrog! The bullfrog looks even sicker. Casting: Poisonous Vapours (safe; 2% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Poisonous Vapours (safe; 2% risk of failure) Press: ? - help, Dir - move target, f/p - bullfrog Aim: a bullfrog (moderately wounded, very poisoned) Poisonous vapours surround the bullfrog! The bullfrog looks even sicker. You hit the bullfrog. You burn the bullfrog. You grab the bullfrog. The bullfrog is heavily wounded. You constrict the bullfrog. The bullfrog hits you but does no damage. The bullfrog hits you. You hit the bullfrog but do no damage. The bullfrog is heavily wounded. You constrict the bullfrog. The bullfrog closely misses you. The bullfrog barely misses you. You slash the bullfrog! You burn the bullfrog. You kill the bullfrog! Your Shields skill increases to level 2! You start resting. HP restored. Unknown command. You now have 56 gold pieces (gained 12). Found a robe. Found a stone staircase leading up. You now have 66 gold pieces (gained 10). Magic restored. Found a stone. Found a quarterstaff. A troll comes into view. The troll shouts! You hear a shout! Unknown command. Casting: Poisonous Vapours (safe; 2% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Casting: Call Canine Familiar (dangerous; 9% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. A beastly little devil appears in a puff of flame. Your hound misses the troll. The troll closely misses your hound. The troll claws your hound. x2 Your crimson imp blinks! Your hound bites the troll. The troll closely misses your hound. The troll misses your hound. The troll barely misses your hound. Your hound closely misses the troll. Your hound bites the troll but does no damage. The troll bites your hound! Your hound dies! Your hound's corpse disappears in a puff of smoke! Casting: Call Imp (safe; 4% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Poisonous Vapours (safe; 2% risk of failure) Press: ? - help, Dir - move target, f - troll Aim: a troll (lightly wounded, ally target) You miscast Poisonous Vapours. You are very lightly contaminated with residual magic. Nothing appears to happen. Casting: Poisonous Vapours (safe; 2% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Poisonous Vapours (safe; 2% risk of failure) Press: ? - help, Dir - move target, f/p - troll Aim: a troll (lightly wounded, ally target) Poisonous vapours surround the troll! The troll is poisoned. Casting: Poisonous Vapours (safe; 2% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. You can't see any susceptible monsters within range! (Use Z to cast anyway.) Unknown command. Casting: Poisonous Vapours (safe; 2% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. You can't see any susceptible monsters within range! (Use Z to cast anyway.) Unknown command. Casting: Poisonous Vapours (safe; 2% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Poisonous Vapours (safe; 2% risk of failure) Press: ? - help, Dir - move target, f/p - troll Aim: a troll (lightly wounded, poisoned, ally target) You miscast Poisonous Vapours. Nothing appears to happen. Your crimson imp hits the troll. Casting: Poisonous Vapours (safe; 2% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Stone Arrow (dangerous; 4% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - troll Aim: a troll (lightly wounded, poisoned, ally target, 68% to hit) The stone arrow hits the troll! The troll is moderately wounded. The troll looks more healthy. There is a stone staircase leading up here. Your magical contamination has completely faded away. You climb upwards. Level annotation: Maggie There is a stone staircase leading down here. Things that are here: a +0 chain mail; a +0 hand axe Things that are here: a +0 robe; a +0 dagger You start resting. Magic restored. You see here a +0 dagger. Maggie is nearby! Casting: Stone Arrow (dangerous; 4% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. You can't see any susceptible monsters within range! (Use Z to cast anyway.) Unknown command. Casting: Stone Arrow (dangerous; 4% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. You can't see any susceptible monsters within range! (Use Z to cast anyway.) Unknown command. Casting: Stone Arrow (dangerous; 4% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Stone Arrow (dangerous; 4% risk of failure) Press: ? - help, Shift-Dir - straight line, f - you Okay, then. Casting: Stone Arrow (dangerous; 4% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. You don't know that spell. Unknown command. Casting: Stone Arrow (dangerous; 4% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Okay, then. Unknown command. Casting: Stone Arrow (dangerous; 4% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Poisonous Vapours (safe; 2% risk of failure) Press: ? - help, Dir - move target, f - Maggie Aim: Maggie, wielding a +1 scimitar of electrocution and wearing +0 swamp dragon scales (wandering, hasn't noticed you) Maggie cannot be affected by poisonous vapours! Unknown command. Aiming: Throw Flame Press: ? - help, Q - select action, (/) - cycle Shift-Dir - straight line, f/p - Maggie Aim: Maggie, wielding a +1 scimitar of electrocution and wearing +0 swamp dragon scales (wandering, hasn't noticed you, 75% to hit) The puff of flame hits Maggie. Maggie is lightly wounded. Aiming: Throw Flame Press: ? - help, Q - select action, (/) - cycle Shift-Dir - straight line, f/p - Maggie Aim: Maggie, wielding a +1 scimitar of electrocution and wearing +0 swamp dragon scales (lightly wounded, 75% to hit) The puff of flame hits Maggie. Maggie is lightly wounded. Maggie casts a spell. Maggie attempts to bespell you! You are mesmerised by Maggie! Aiming: Throw Flame Press: ? - help, Q - select action, (/) - cycle Shift-Dir - straight line, f/p - Maggie Aim: Maggie, wielding a +1 scimitar of electrocution and wearing +0 swamp dragon scales (lightly wounded, mesmerising, 75% to hit) The puff of flame hits Maggie. Maggie is lightly wounded. Casting: Poisonous Vapours (safe; 2% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. You can't see any susceptible monsters within range! (Use Z to cast anyway.) Unknown command. Casting: Poisonous Vapours (safe; 2% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. A metallic apparition takes form in the air. Casting: Call Imp (safe; 4% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Stone Arrow (dangerous; 4% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - Maggie Aim: Maggie, wielding a +1 scimitar of electrocution and wearing +0 swamp dragon scales (lightly wounded, mesmerising, ally target, 72% to hit) The stone arrow hits Maggie. Maggie is moderately wounded. Casting: Stone Arrow (dangerous; 4% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Stone Arrow (dangerous; 4% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - Maggie Aim: Maggie, wielding a +1 scimitar of electrocution and wearing +0 swamp dragon scales (moderately wounded, mesmerising, ally target, 72% to hit) The stone arrow hits Maggie. Maggie is heavily wounded. Casting: Stone Arrow (dangerous; 4% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Stone Arrow (dangerous; 4% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - Maggie Aim: Maggie, wielding a +1 scimitar of electrocution and wearing +0 swamp dragon scales (heavily wounded, mesmerising, ally target, 72% to hit) The stone arrow hits Maggie!! Maggie is severely wounded. Maggie practices a pose. Casting: Stone Arrow (dangerous; 4% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Sandblast (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - Maggie Aim: Maggie, wielding a +1 scimitar of electrocution and wearing +0 swamp dragon scales (severely wounded, mesmerising, ally target, 85% to hit) The blast of sand hits Maggie. Maggie is severely wounded. Your iron imp hits Maggie. Maggie hits your iron imp with a +1 scimitar of electrocution. Casting: Sandblast (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. You don't know that spell. Sorry, you're not good enough to have a special ability. Casting: Sandblast (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Sandblast (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - Maggie Aim: Maggie, wielding a +1 scimitar of electrocution and wearing +0 swamp dragon scales (severely wounded, mesmerising, not watching you, ally target, 85% to hit) The blast of sand hits Maggie but does no damage. Maggie is severely wounded. >>>>>>>>>>>>>>>>>>>>>> Version history: Game started: 0.29.1-1-gd02db69 Game state: mouse_enabled: 0, waiting_for_command: 0, terminal_resized: 0 io_inited: 1, need_save: 1, saving_game: 0, updating_scores: 0: seen_hups: 0, map_stat_gen: 0, type: 1, arena_suspended: 0 prev_cmd = CMD_CAST_SPELL repeat_cmd = CMD_NO_CMD Player: {{{{{{{{{{{ Name: [MalacsCross] Species: Octopode Job: Earth Elementalist HP: 67/67; mods: 0/0 MP: 0/13; mod: 0 Stats: 8 (8) 21 (21) 12 (12) Position: (69, 29), god: No God (0), turn_is_over: 1, banished: 0 Standing on/in/over feature: floor Skills (mode: manual) Name | can_currently_train | train | training | level | points | progress Fighting | X | 2 | 12 | 8 | 1989 | 189/450 Short Blades | X | 0 | 0 | 0 | 0 | 0/50 Long Blades | X | 1 | 6 | 2 | 205 | 55/150 Axes | X | 0 | 0 | 0 | 0 | 0/50 Maces & Flails | X | 0 | 0 | 0 | 0 | 0/50 Polearms | X | 0 | 0 | 0 | 0 | 0/50 Staves | X | 0 | 0 | 0 | 0 | 0/50 Ranged Weapons | X | 1 | 6 | 2 | 163 | 13/150 Throwing | X | 1 | 6 | 1 | 133 | 83/100 Dodging | X | 1 | 6 | 3 | 346 | 46/200 Stealth | X | 1 | 6 | 4 | 310 | 60/125 Shields | X | 1 | 6 | 2 | 150 | 0/150 Unarmed Combat | X | 0 | 0 | 0 | 0 | 0/50 Spellcasting | X | 1 | 6 | 3 | 368 | 12/238 Conjurations | X | 1 | 6 | 2 | 215 | 65/150 Hexes | X | 0 | 0 | 0 | 0 | 0/50 Summonings | X | 1 | 6 | 1 | 94 | 44/100 Necromancy | X | 0 | 0 | 0 | 0 | 0/50 Translocations | X | 0 | 0 | 0 | 0 | 0/50 Transmutations | X | 1 | 6 | 2 | 224 | 74/150 Fire Magic | X | 0 | 0 | 0 | 0 | 0/50 Ice Magic | X | 0 | 0 | 0 | 0 | 0/50 Air Magic | X | 1 | 6 | 2 | 228 | 78/150 Earth Magic | X | 1 | 6 | 4 | 545 | 45/250 Poison Magic | X | 1 | 6 | 3 | 216 | 4/141 Invocations | X | 0 | 0 | 0 | 0 | 0/42 Evocations | X | 1 | 6 | 1 | 78 | 36/84 Spell bugs: Durations: Attributes: #12: 374 #13: 308 #23: 8386 #24: -1841204681 #49: 439 Mutations: camouflage: 1 (innate) gelatinous body: 1 (innate) nimble swimmer: 1 (innate) tentacles: 1 (innate) Inventory bugs: Equipment: eq slot #0, inv slot #24: +1 falchion of flaming eq slot #10, inv slot #19: ring of wizardry eq slot #11, inv slot #23: +4 ring of protection }}}}}}}}}}} Webtiles message buffer: {"msg":"player" Webtiles JSON stack: start: 0 end: 15 type: } Screenshot: ###......## #..)......# ##.........# #..........# ##..........# #...........# ###...........# ##.............# ##......@@......# ##..#.....5......# ##..##............# ##..##..).........## ###.)###............# ###..### #............# .[....## #....[.....### .###...######..<...## ## ##...## ######## clua stack: dlua stack: Lua persistent data: <<<<<<<<<<<<<<<<<<<<<< >>>>>>>>>>>>>>>>>>>>>> Lua marker contents: <<<<<<<<<<<<<<<<<<<<<< >>>>>>>>>>>>>>>>>>>>>> ASSERT((duration[DUR_MESMERISED] > 0) == !beholders.empty()) in 'behold.cc' at line 66 failed. Recursive crash.