ASSERT((duration[DUR_MESMERISED] > 0) == !beholders.empty()) in 'behold.cc' at line 66 failed. Version: Dungeon Crawl Stone Soup 0.33-a0-288-g5f200facdd Platform: unix Bits: 64 Game mode: normal Tiles: online Seed: 15724054284685511262, deterministic pregen: 1 Command line: /usr/games/crawl-git-5f200facdd -name SunshineJesse -rc /dgldir/rcfiles/crawl-git/SunshineJesse.rc -macro /dgldir/rcfiles/crawl-git/SunshineJesse.macro -morgue /dgldir/morgue/SunshineJesse/ -webtiles-socket /crawl-master/webserver/sockets/SunshineJesse:2024-10-28.21:16:30.sock -await-connection RC options: restart_after_game = false Crash caused by signal #6: Aborted Obtained 31 stack frames. /usr/games/crawl-git-5f200facdd(_Z17write_stack_traceP8_IO_FILE+0x3e) [0x5c44401a16be]: write_stack_trace(_IO_FILE*) /usr/games/crawl-git-5f200facdd(_Z13do_crash_dumpv+0x43a) [0x5c44401af81a]: do_crash_dump() /usr/games/crawl-git-5f200facdd(_Z20crash_signal_handleri+0x1fa) [0x5c44401a1b9a]: crash_signal_handler(int) /lib/x86_64-linux-gnu/libc.so.6(+0x42910) [0x7f0743042910]: /lib/x86_64-linux-gnu/libc.so.6(pthread_kill+0x11b) [0x7f074309999b]: /lib/x86_64-linux-gnu/libc.so.6(raise+0x16) [0x7f0743042866]: /usr/games/crawl-git-5f200facdd(+0x4acb3d) [0x5c44401aeb3d]: /usr/games/crawl-git-5f200facdd(_Z12AssertFailedPKcS0_iS0_z+0x1c7) [0x5c44401af0f7]: AssertFailed(char const*, char const*, int, char const*, ...) /usr/games/crawl-git-5f200facdd(+0x4615e2) [0x5c44401635e2]: /usr/games/crawl-git-5f200facdd(+0x46184b) [0x5c444016384b]: /usr/games/crawl-git-5f200facdd(_Z16fill_status_infoiR11status_info+0xfda) [0x5c44407b547a]: fill_status_info(int, status_info&) /usr/games/crawl-git-5f200facdd(_ZN14TilesFramework12_send_playerEb+0x1df3) [0x5c44408fcaf3]: TilesFramework::_send_player(bool) /usr/games/crawl-git-5f200facdd(_ZN14TilesFramework6redrawEv+0x72) [0x5c4440900882]: TilesFramework::redraw() /usr/games/crawl-git-5f200facdd(_ZN14TilesFramework17update_input_modeE10mouse_modeb+0x178) [0x5c4440900b58]: TilesFramework::update_input_mode(mouse_mode, bool) /usr/games/crawl-git-5f200facdd(_ZN13mouse_controlC1E10mouse_mode+0x1d) [0x5c4440462c0d]: mouse_control::mouse_control(mouse_mode) /usr/games/crawl-git-5f200facdd(+0x7ffbc3) [0x5c4440501bc3]: /usr/games/crawl-git-5f200facdd(_ZN14message_window4moreEbb+0x208) [0x5c44405031e8]: message_window::more(bool, bool) /usr/games/crawl-git-5f200facdd(_ZN14message_window8add_itemENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE11prefix_typeb+0x3cb) [0x5c44405037bb]: message_window::add_item(std::__cxx11::basic_string, std::allocator >, prefix_type, bool) /usr/games/crawl-git-5f200facdd(_ZN13message_store10flush_prevEv+0x3fd) [0x5c444050460d]: message_store::flush_prev() /usr/games/crawl-git-5f200facdd(+0x7fc177) [0x5c44404fe177]: /usr/games/crawl-git-5f200facdd(_Z16do_message_print16msg_channel_typeibbPKcP13__va_list_tag+0xd6) [0x5c44404fea46]: do_message_print(msg_channel_type, int, bool, bool, char const*, __va_list_tag*) /usr/games/crawl-git-5f200facdd(_Z4mprf16msg_channel_typePKcz+0xb1) [0x5c44404fefd1]: mprf(msg_channel_type, char const*, ...) /usr/games/crawl-git-5f200facdd(+0x9675c5) [0x5c44406695c5]: /usr/games/crawl-git-5f200facdd(_Z13player_reactsv+0x717) [0x5c444066b307]: player_reacts() /usr/games/crawl-git-5f200facdd(_Z12world_reactsv+0x7b5) [0x5c4440910e35]: world_reacts() /usr/games/crawl-git-5f200facdd(+0xc10b26) [0x5c4440912b26]: /usr/games/crawl-git-5f200facdd(+0xc11825) [0x5c4440913825]: /usr/games/crawl-git-5f200facdd(main+0x1f7) [0x5c44400da767]: /lib/x86_64-linux-gnu/libc.so.6(+0x280d0) [0x7f07430280d0]: /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0x89) [0x7f0743028189]: /usr/games/crawl-git-5f200facdd(_start+0x25) [0x5c44400db185]: Trying to run gdb. GNU gdb (Ubuntu 14.0.50.20230907-0ubuntu1) 14.0.50.20230907-git Copyright (C) 2023 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". 0x00007f074310fbf7 in __GI___wait4 (pid=662132, stat_loc=0x0, options=0, usage=0x0) at ../sysdeps/unix/sysv/linux/wait4.c:30 #0 0x00007f074310fbf7 in __GI___wait4 (pid=662132, stat_loc=0x0, options=0, usage=0x0) at ../sysdeps/unix/sysv/linux/wait4.c:30 sc_ret = -512 sc_ret = #1 0x00005c44401a1d6c in call_gdb (file=0x7f07431ff6c0 <_IO_2_1_stderr_>) at crash.cc:438 gdb = attach_cmd = "attach 661852\000\000\000\000\000\000" #2 0x00005c44401af838 in do_crash_dump () at dbg-asrt.cc:692 t = 1730150672 dir = "/dgldir/morgue/SunshineJesse/" name = "/dgldir/morgue/SunshineJesse/crash-SunshineJesse-20241028-212432.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 = 0x7f07431ff6c0 <_IO_2_1_stderr_> #3 0x00005c44401a1b9a in crash_signal_handler (sig_num=6) at crash.cc:198 No locals. #4 No locals. #5 __pthread_kill_implementation (no_tid=0, signo=6, threadid=) at ./nptl/pthread_kill.c:44 tid = ret = 0 pd = old_mask = {__val = {66}} ret = pd = old_mask = ret = tid = ret = resultvar = resultvar = __arg3 = __arg2 = __arg1 = _a3 = _a2 = _a1 = __futex = resultvar = __arg3 = __arg2 = __arg1 = _a3 = _a2 = _a1 = __futex = __private = __oldval = #6 __pthread_kill_internal (signo=6, threadid=) at ./nptl/pthread_kill.c:78 No locals. #7 __GI___pthread_kill (threadid=, signo=signo@entry=6) at ./nptl/pthread_kill.c:89 No locals. #8 0x00007f0743042866 in __GI_raise (sig=6) at ../sysdeps/posix/raise.c:26 ret = #9 0x00005c44401aeb3d in _BreakStrToDebugger (mesg=mesg@entry=0x7fff7709d780 "ASSERT((duration[DUR_MESMERISED] > 0) == !beholders.empty()) in 'behold.cc' at line 66 failed.", assert=true) at dbg-asrt.cc:818 No locals. #10 0x00005c44401af0f7 in AssertFailed (expr=expr@entry=0x5c444099a448 "(duration[DUR_MESMERISED] > 0) == !beholders.empty()", file=file@entry=0x5c44409283ea "behold.cc", line=line@entry=66, text=text@entry=0x0) at dbg-asrt.cc:856 mesg = "ASSERT((duration[DUR_MESMERISED] > 0) == !beholders.empty()) in 'behold.cc' at line 66 failed.\000}خ\377A\002\000\000\000\0008\200\256]\000\a}\2002\224@D\\\000\0000\330\tw\377\177\000\000\020\331\tw\377\177\000\000-Z\222@D\\\000\000-Z\222@D\\\000\000\0008\200\256]\000\a}P\343\tw\377\177\000\000`\330\tw\377\177\000\000@\331\tw\377\177\000\000-Z\222@D\\\000\0004\346\tw\377\177\000\000\000"... args = {{gp_offset = 1997135024, fp_offset = 32767, overflow_arg_area = 0x2, reg_save_area = 0x7fff7709e67c}} fileName = #11 0x00005c44401635e2 in player::beheld (this=) at behold.cc:66 No locals. #12 0x00005c444016384b in player::beheld (this=) at behold.cc:65 No locals. #13 0x00005c44407b547a in fill_status_info (status=status@entry=194, inf=...) at status.cc:312 found = false #14 0x00005c44408fcaf3 in _update_statuses (c=...) at tileweb.cc:1009 status = 194 changed = false counter = inf = {light_colour = 0, light_text = "", short_text = "", long_text = ""} changed = counter = inf = status = #15 TilesFramework::_send_player (this=this@entry=0x5c4440e14720 , force_full=, force_full@entry=false) at tileweb.cc:1202 c = @0x5c4440e40a98: {_state_ever_synced = true, name = "SunshineJesse", job_title = "the Conjurer", wizard = false, explore = false, species = "Gnoll", god = "Cheibriados", under_penance = false, piety_rank = 3, form = 0 '\000', hp = 51, hp_max = 58, real_hp_max = 58, poison_survival = 51, mp = 6, mp_max = 17, dd_real_mp_max = 0, contam = 0, noise = -1, adjusted_noise = 119, armour_class = 5, evasion = 14, shield_class = 5, strength = 15 '\017', strength_max = 15 '\017', intel = 26 '\032', intel_max = 26 '\032', dex = 17 '\021', dex_max = 17 '\021', experience_level = 8, exp_progress = 50 '2', gold = 67, zot_points = 0, elapsed_time = 74164, num_turns = 6649, lives = 0, deaths = 0, place = "Dungeon", depth = 6, position = {x = 37, y = -12}, status = std::vector of length 1, capacity 4 = {{light_colour = 4, light_text = "Mesm", short_text = "mesmerised", long_text = "You are mesmerised."}}, inv = {mData = {{base_type = OBJ_ARMOUR, 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 = 194 '\302', quantity = 1, 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 = 29 '\035', {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 = 8, unrand_idx = 8, subtype_rnd = 8, brand = 8, freshness = 8}, rnd = 33 '!', quantity = 1, 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 = 26 '\032', {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 = 337749, unrand_idx = 337749, subtype_rnd = 337749, brand = 337749, freshness = 337749}, rnd = 42 '*', quantity = 1, flags = 2, 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_SCROLLS, sub_type = 13 '\r', {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 = 334424, unrand_idx = 334424, subtype_rnd = 334424, brand = 334424, freshness = 334424}, rnd = 104 'h', quantity = 1, flags = 2, 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_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 = 362310, unrand_idx = 362310, subtype_rnd = 362310, brand = 362310, freshness = 362310}, rnd = 83 'S', quantity = 1, flags = 15, 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_ARMOUR, sub_type = 6 '\006', {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 = 51 '3', quantity = 1, 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 = 362872, unrand_idx = 362872, subtype_rnd = 362872, brand = 362872, freshness = 362872}, rnd = 84 'T', quantity = 1, flags = 15, 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_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 = 1, unrand_idx = 1, subtype_rnd = 1, brand = 1, freshness = 1}, rnd = 232 '\350', quantity = 1, flags = 15, 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 = 41 ')', {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 = 0, unrand_idx = 0, subtype_rnd = 0, brand = 0, freshness = 0}, rnd = 243 '\363', quantity = 1, flags = 4111, 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 4 elements = {["artefact_appearance"] = {type = SV_STR, flags = 0 '\000', val = {boolean = 64, byte = 64 '@', _short = 8256, _int = 1112416320, _float = 51.5314941, _int64 = 101448239947840, ptr = 0x5c44424e2040}}, ["artefact_known_props"] = {type = SV_VEC, flags = 0 '\000', val = {boolean = 48, byte = 48 '0', _short = 22064, _int = 1112167984, _float = 50.5841675, _int64 = 101448239699504, ptr = 0x5c44424a5630}}, ["artefact_name"] = {type = SV_STR, flags = 0 '\000', val = {boolean = 128, byte = -128 '\200', _short = 14976, _int = 1112357504, _float = 51.3071289, _int64 = 101448239889024, ptr = 0x5c44424d3a80}}, ["artefact_props"] = {type = SV_VEC, flags = 0 '\000', val = {boolean = 16, byte = 16 '\020', _short = -26352, _int = 1113626896, _float = 56.1494751, _int64 = 101448241158416, ptr = 0x5c4442609910}}}, }}, {base_type = OBJ_JEWELLERY, sub_type = 46 '.', {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 = 34, unrand_idx = 34, subtype_rnd = 34, brand = 34, freshness = 34}, rnd = 3 '\003', quantity = 1, 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_WEAPONS, 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 = 3, unrand_idx = 3, subtype_rnd = 3, brand = 3, freshness = 3}, rnd = 174 '\256', quantity = 1, flags = 131087, 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_WEAPONS, sub_type = 13 '\r', {plus = 9, mon_type = MONS_ADDER, skill = SK_CROSSBOWS, charges = 9, net_durability = 9, tithe_state = 9}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 0, unrand_idx = 0, subtype_rnd = 0, brand = 0, freshness = 0}, rnd = 51 '3', quantity = 1, flags = 4111, pos = {x = -1, y = -1}, link = 11, slot = 108, 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 4 elements = {["artefact_appearance"] = {type = SV_STR, flags = 0 '\000', val = {boolean = 240, byte = -16 '\360', _short = 19696, _int = 1111117040, _float = 46.5751343, _int64 = 101448238648560, ptr = 0x5c44423a4cf0}}, ["artefact_known_props"] = {type = SV_VEC, flags = 0 '\000', val = {boolean = 128, byte = -128 '\200', _short = 27776, _int = 1113943168, _float = 57.355957, _int64 = 101448241474688, ptr = 0x5c4442656c80}}, ["artefact_name"] = {type = SV_STR, flags = 0 '\000', val = {boolean = 80, byte = 80 'P', _short = -2736, _int = 1112339792, _float = 51.239563, _int64 = 101448239871312, ptr = 0x5c44424cf550}}, ["artefact_props"] = {type = SV_VEC, flags = 0 '\000', val = {boolean = 64, byte = 64 '@', _short = -20416, _int = 1112387648, _float = 51.4221191, _int64 = 101448239919168, ptr = 0x5c44424db040}}}, }}, {base_type = OBJ_SCROLLS, 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 = 328008, unrand_idx = 328008, subtype_rnd = 328008, brand = 328008, freshness = 328008}, rnd = 180 '\264', 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_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 = 22, unrand_idx = 22, subtype_rnd = 22, brand = 22, freshness = 22}, rnd = 206 '\316', 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_WANDS, sub_type = 11 '\v', {plus = 6, mon_type = MONS_BAT, skill = SK_STAVES, charges = 6, net_durability = 6, tithe_state = 6}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 8, unrand_idx = 8, subtype_rnd = 8, brand = 8, freshness = 8}, rnd = 9 '\t', quantity = 1, flags = 6, 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 = 355686, unrand_idx = 355686, subtype_rnd = 355686, brand = 355686, freshness = 355686}, rnd = 149 '\225', quantity = 1, 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_ARMOUR, sub_type = 0 '\000', {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 = 0, unrand_idx = 0, subtype_rnd = 0, brand = 0, freshness = 0}, rnd = 83 'S', quantity = 1, flags = 262159, 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 = 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 = 19, unrand_idx = 19, subtype_rnd = 19, brand = 19, freshness = 19}, rnd = 238 '\356', quantity = 1, flags = 0, 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_SCROLLS, sub_type = 15 '\017', {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 = 344095, unrand_idx = 344095, subtype_rnd = 344095, brand = 344095, freshness = 344095}, rnd = 58 ':', quantity = 1, flags = 2, 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_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 = 71, unrand_idx = 71, subtype_rnd = 71, brand = 71, freshness = 71}, rnd = 67 'C', quantity = 1, flags = 0, 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_UNASSIGNED, sub_type = 27 '\033', {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 = 109 'm', quantity = 0, 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 = 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 = 118, unrand_idx = 118, subtype_rnd = 118, brand = 118, freshness = 118}, rnd = 95 '_', quantity = 1, flags = 0, 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_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, }}, {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, }}, {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, }}}}, inv_uselessness = {mData = {false, false, false, false, false, false, false, true, false }}, equip = {mData = "\b\005\377\377\377\377\020\377\377\t", '\377' }, offhand_weapon = false, quiver_item = -1 '\377', quiver_desc = "Cast: Magic Dart", unarmed_attack = "Nothing wielded", unarmed_attack_colour = 7 '\a', quiver_available = true} spectator = false god = "Cheibriados" prank = max_max_hp = place = short_name = "Dungeon" pos = #16 0x00005c4440900882 in TilesFramework::redraw (this=this@entry=0x5c4440e14720 ) at tileweb.cc:2209 No locals. #17 0x00005c4440900b58 in TilesFramework::update_input_mode (this=0x5c4440e14720 , mode=mode@entry=MOUSE_MODE_MORE, force=force@entry=false) at tileweb.cc:947 prev_mode = #18 0x00005c4440462c0d in mouse_control::mouse_control (this=this@entry=0x7fff7709e634, mode=mode@entry=MOUSE_MODE_MORE) at libutil.cc:492 No locals. #19 0x00005c4440501bc3 in readkey_more (user_forced=user_forced@entry=false) at message.cc:1891 keypress = 0 unwind_more = {val = @0x5c4440db4281, oldval = false} mc = {m_previous_mode = 32767} #20 0x00005c44405031e8 in message_window::more (this=this@entry=0x5c4440dbdf40 , full=full@entry=true, user=user@entry=false) at message.cc:729 rng = {previous = rng::UI} last_row = 7 #21 0x00005c44405037bb in message_window::make_space (n=1, this=0x5c4440dbdf40 ) at message.cc:480 space = s = space = s = #22 message_window::add_item (this=this@entry=0x5c4440dbdf40 , text="(Press . to maintain the ray.)", first_col=first_col@entry=prefix_type::none, temporary=temporary@entry=false) at message.cc:631 line = {ops = std::vector of length 2536205162386, capacity -4 = { nl = @0x5c4441f8bfa0: {ops = std::vector of length 6, capacity 8 = {{type = FSOP_COLOUR, colour = 7, text = ""}, {type = FSOP_TEXT, colour = -1, text = "(Press "}, {type = FSOP_COLOUR, colour = 15, text = ""}, {type = FSOP_TEXT, colour = -1, text = "."}, {type = FSOP_COLOUR, colour = 7, text = ""}, {type = FSOP_TEXT, colour = -1, text = " to maintain the ray.)"}}} __for_range = std::vector of length 1, capacity 1 = {{ops = std::vector of length 6, capacity 8 = {{type = FSOP_COLOUR, colour = 7, text = ""}, {type = FSOP_TEXT, colour = -1, text = "(Press "}, {type = FSOP_COLOUR, colour = 15, text = ""}, {type = FSOP_TEXT, colour = -1, text = "."}, {type = FSOP_COLOUR, colour = 7, text = ""}, {type = FSOP_TEXT, colour = -1, text = " to maintain the ray.)"}}}} __for_begin = __for_end = newlines = std::vector of length 1, capacity 1 = {{ops = std::vector of length 6, capacity 8 = {{type = FSOP_COLOUR, colour = 7, text = ""}, {type = FSOP_TEXT, colour = -1, text = "(Press "}, {type = FSOP_COLOUR, colour = 15, text = ""}, {type = FSOP_TEXT, colour = -1, text = "."}, {type = FSOP_COLOUR, colour = 7, text = ""}, {type = FSOP_TEXT, colour = -1, text = " to maintain the ray.)"}}}} #23 0x00005c444050460d in message_store::store_msg (msg=..., this=0x5c4440db42a0 ) at message.cc:821 p = prefix_type::none dontsend = p = dontsend = #24 message_store::flush_prev (this=0x5c4440db42a0 ) at message.cc:851 msg = {channel = MSGCH_PLAIN, param = 0, messages = std::vector of length 1, capacity 1 = {{text = "(Press . to maintain the ray.)", repeats = 1}}, turn = 6649, join = true} #25 0x00005c44404fe177 in message_store::add (msg=..., this=0x5c4440db42a0 ) at message.cc:785 orig_full_text = "You break out of your daze." orig_full_text = #26 _mpr (text="You break out of your daze.", channel=channel@entry=MSGCH_RECOVERY, param=, param@entry=0, nojoin=nojoin@entry=false, cap=, cap@entry=true) at message.cc:1596 _doing_c_message_hook = false rng = {previous = rng::GAMEPLAY} colour = col = "lightgreen" domore = do_flash_screen = false join = 255 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 = 6649, join = true} #27 0x00005c44404fea46 in do_message_print (channel=, param=0, cap=, nojoin=, format=, argp=) at /usr/include/c++/13/bits/basic_string.tcc:238 ap = {{gp_offset = 16, fp_offset = 48, overflow_arg_area = 0x7fff7709ec60, reg_save_area = 0x7fff7709eba0}} buff = "You break out of your daze.\000D\\\000\000\240\352\tw\000\000\000\000\0008\200\256]\000\a}\000\000\000\000\000\000\000\000\0008\200\256]\000\a}\310\336\351@D\\\000\000\020\354\tw\377\177\000\000\001\000\000\000\000\000\000\000>\316\355@D\\\000\000\310\336\351@D\\\000\0004C=@D\\\000\000\030\353\tw\377\177\000\000\000\000\000\000\000\000\000\000h\315\355@D\\\000\000\0008\200\256]\000\a\000h\377\377\377\377\377\377\377K\347{@D\\\000\000h\315\355@D\\\000\000\b\025\346@D\\\000\000H\000\000\000\000\000\000\000K\347{@D\\\000\000\240\353\tw\377\177\000" len = #28 0x00005c44404fefd1 in mprf (channel=channel@entry=MSGCH_RECOVERY, format=format@entry=0x5c4440924c1a "%s") at message.cc:1310 argp = {{gp_offset = 24, fp_offset = 48, overflow_arg_area = 0x7fff7709ec60, reg_save_area = 0x7fff7709eba0}} #29 0x00005c44406695c5 in _decrement_a_duration (dur=dur@entry=DUR_MESMERISED, delay=delay@entry=10, endmsg=0x5c44409565ee "You break out of your daze.", exploss=exploss@entry=0, expmsg=expmsg@entry=0x0, chan=chan@entry=MSGCH_RECOVERY) at player-reacts.cc:164 exppoint = 0 old_dur = #30 0x00005c444066b307 in _decrement_simple_duration (delay=10, dur=DUR_MESMERISED) at player-reacts.cc:644 No locals. #31 _decrement_durations () at player-reacts.cc:903 i = 4 delay = 10 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 = #32 player_reacts () at player-reacts.cc:1112 stealth = #33 0x00005c4440910e35 in world_reacts () at main.cc:2600 No locals. #34 0x00005c4440912b26 in _input () at main.cc:1301 player_disabled = {was_disabled = false} #35 0x00005c4440913825 in _launch_game () at main.cc:493 game_start = ccon = {cstate = false} #36 0x00005c44400da767 in _launch_game_loop () at main.cc:392 game_ended = false game_ended = ge = fe = E = #37 main (argc=12, argv=0x7fff7709f638) at main.cc:342 echo = {prev_state = {value = maybe_bool::mbool_t::maybe, static maybe = {value = maybe_bool::mbool_t::maybe, static maybe = , static t = {value = maybe_bool::mbool_t::t, static maybe = , static t = , static f = {value = maybe_bool::mbool_t::f, static maybe = , static t = , static f = }}, static f = }}} [Inferior 1 (process 661852) detached] Compilation info: <<<<<<<<<<< Compiled with GCC 13.2.0 Build platform: x86_64-linux-gnu Platform: x86_64-linux-gnu CFLAGS: -O2 -pipe -DUSE_TILE -DUSE_TILE_WEB -Wall -Wformat-security -Wundef -Wextra -Wno-missing-field-initializers -Wno-implicit-fallthrough -Wno-type-limits -Wno-uninitialized -Wno-array-bounds -Wno-format-zero-length -Wmissing-declarations -Wredundant-decls -Wno-parentheses -Wwrite-strings -Wshadow -pedantic -Wuninitialized -Iutil -I. -isystem /usr/include/lua5.1 -g -DWIZARD -DASSERTS -DREGEX_PCRE -DCLUA_BINDINGS -DDGAMELAUNCH -DSAVE_DIR_PATH="/crawl-master/crawl-git-5f200facdd/saves" -DSHARED_DIR_PATH="/crawl-master/crawl-git/saves" -DDATA_DIR_PATH="/crawl-master/crawl-git-5f200facdd/data/" -DWEB_DIR_PATH="/crawl-master/crawl-git-5f200facdd/data/web/" -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 LDFLAGS: -rdynamic -fuse-ld=gold -O2 >>>>>>>>>>> Place info: branch = 0, depth = 6 Level id: D:6 Level build method = , level layout type = passages, absdepth0 = 5 Level vaults: layout_gridville yredelemnul_forgotten_temple_becter gup_sewer_entry_glass uniq_maggie uniq_sigmund Markers: <<<<<<<<<<<<<<<<<<<<<< >>>>>>>>>>>>>>>>>>>>>> Messages: <<<<<<<<<<<<<<<<<<<<<< The magic dart hits the adder but does no damage. The adder is severely wounded. The magic dart hits the adder. The adder is almost dead. The magic dart hits the adder. You kill the adder! Cheibriados appreciates the change of pace. The magic dart hits the adder. The adder is severely wounded. The magic dart hits the adder! You kill the adder! Cheibriados appreciates the change of pace. You can now bend time to slow others. Cheibriados raises the support of your attributes as your movement slows. Your Hexes skill increases to level 2! Your Summonings skill increases to level 2! Your Necromancy skill increases to level 2! Your Translocations skill increases to level 2! Your Fire Magic skill increases to level 2! Your Ice Magic skill increases to level 2! Your Air Magic skill increases to level 2! Your Earth Magic skill increases to level 2! Your Alchemy skill increases to level 2! You see here an adder corpse. Found a stone staircase leading up. Found a robe. You see here a +0 robe. Found a staircase to the Ecumenical Temple. Found a stone staircase leading down. You see here a +0 falchion of holy wrath. g - a scroll labelled HEPTEANNU NINN An adder comes into view. An adder is nearby! You see here a +0 falchion of holy wrath. k - a +0 falchion of holy wrath An adder is nearby! The magic dart hits the adder. The adder is moderately wounded. The adder hisses angrily. The magic dart hits the adder. The adder is heavily wounded. The magic dart hits the adder. The adder is severely wounded. The magic dart hits the adder. You kill the adder! Cheibriados thoroughly appreciates the change of pace. Found a stone staircase leading down. Found a whip. Found a buckler. Found a club. Found a stone staircase leading down. A gnoll comes into view. It is wielding a +0 spear. Okay, then. A gnoll is nearby! A gnoll is nearby! A gnoll is nearby! The magic dart hits the gnoll. The gnoll is lightly wounded. The gnoll shouts! You hear a shout! x2 The magic dart hits the gnoll. The gnoll is moderately wounded. The magic dart hits the gnoll. The gnoll is moderately wounded. A gnoll comes into view. It is wielding a +0 spear. The magic dart hits the gnoll. The gnoll is severely wounded. The magic dart hits the gnoll. The gnoll is almost dead. A gnoll comes into view. It is wielding a +0 whip. The magic dart hits the gnoll. The gnoll is almost dead. The gnoll closely misses you. Casting: Magic Dart (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Searing Ray (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - gnoll Aim: a gnoll, wielding a +0 spear (almost dead, 83% to hit) The searing ray misses the gnoll. The searing ray hits the gnoll! The gnoll is heavily wounded. (Press . to maintain the ray.) The gnoll hits you from afar with a +0 spear. A gnoll comes into view. It is wielding a +0 club. The searing ray hits the gnoll. You kill the gnoll! Cheibriados appreciates the change of pace. The searing ray hits the gnoll! You kill the gnoll! Cheibriados appreciates the change of pace. The searing ray misses the gnoll. The searing ray hits the gnoll. The gnoll is moderately wounded. You finish channelling your searing ray. Casting: Searing Ray (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Searing Ray (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line, f - gnoll Aim: a gnoll, wielding a +0 whip (moderately wounded, 83% to hit) The searing ray hits the gnoll! You kill the gnoll! Cheibriados appreciates the change of pace. The searing ray misses the gnoll. (Press . to maintain the ray.) The searing ray hits the gnoll! The gnoll is heavily wounded. The searing ray hits the gnoll! You kill the gnoll! Cheibriados appreciates the change of pace. You finish channelling your searing ray. HP restored. A bombardier beetle comes into view. The magic dart hits the bombardier beetle but does no damage. You start resting. Magic restored. You start waiting. A bombardier beetle is nearby! Casting: Magic Dart (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Searing Ray (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - bombardier beetle Aim: a bombardier beetle (88% to hit) The searing ray hits the bombardier beetle. The bombardier beetle is lightly wounded. (Press . to maintain the ray.) Unknown command. The searing ray hits the bombardier beetle! The bombardier beetle is severely wounded. The searing ray hits the bombardier beetle. The bombardier beetle is almost dead. The bombardier beetle bites you but does no damage. The searing ray hits the bombardier beetle! You kill the bombardier beetle! You finish channelling your searing ray. Magic restored. Found an escape hatch in the floor. An adder comes into view. Found Yninnum's Antique Weapon Boutique. An adder is nearby! Casting: Searing Ray (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Searing Ray (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line, f - adder Aim: an adder (asleep, 100% to hit) The searing ray hits the adder! The adder is severely wounded. (Press . to maintain the ray.) The adder bites you. The searing ray misses the adder. The adder bites you. The searing ray hits the adder. The adder is almost dead. The adder bites you. The searing ray hits the adder! You kill the adder! Cheibriados appreciates the change of pace. You finish channelling your searing ray. HP restored. There is an entrance to Yninnum's Antique Weapon Boutique here. l - the +9 rapier of Light {protect, Fly rF- Will++ Str-2} Thank you for shopping at Yninnum's Antique Weapon Boutique! You pick up a book of Armaments and begin reading... You add the spells Stone Arrow, Animate Armour, Hellfire Mortar and Lehudib's Crystal Spear to your library. m - a scroll labelled QYUKHEIKOGG Found a stone staircase leading up. You see here a hound skeleton. A jelly comes into view. Found Xadoun Ugufu's CLEARANCE SALE!. The jelly quivers. The magic dart hits the jelly. The jelly is moderately wounded. The magic dart hits the jelly. The jelly is heavily wounded. The magic dart hits the jelly. The jelly is heavily wounded. The jelly jiggles. The magic dart hits the jelly. The jelly is severely wounded. The magic dart hits the jelly. The jelly is almost dead. The magic dart hits the jelly! You kill the jelly! Cheibriados appreciates the change of pace. Your Stealth skill increases to level 5! You can't see any susceptible monsters within range! (Use Z to cast anyway.) There is an entrance to Xadoun Ugufu's CLEARANCE SALE! here. Unknown command. Done exploring. What level of the Dungeon? (default 5, ? - help) There is an escape hatch in the floor here. There is a stone staircase leading down here. You climb downwards. You hear the sound of rushing water. There is an entrance to a sewer on this level. Hurry and find it before the portal rusts away! There is a stone staircase leading up here. Okay, then. Found a leather armour. You open the door. A weeping skull comes into view. Found a basalt altar of Yredelemnul. The magic dart hits the weeping skull. The weeping skull is lightly damaged. The weeping skull gives a chilling moan. Casting: Magic Dart (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Searing Ray (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - weeping skull Aim: a weeping skull (lightly damaged, 98% to hit) The searing ray hits the weeping skull! The weeping skull is moderately damaged. (Press . to maintain the ray.) Unknown command. The searing ray hits the weeping skull. The weeping skull is moderately damaged. You hear the slow rusting of a drain very nearby. The searing ray hits the weeping skull! The weeping skull is severely damaged. The searing ray hits the weeping skull. The weeping skull is almost destroyed. You finish channelling your searing ray. The weeping skull touches you. You feel drained. Casting: Searing Ray (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Searing Ray (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - weeping skull Aim: a weeping skull (almost destroyed, 98% to hit) The searing ray hits the weeping skull. The weeping skull is almost destroyed. (Press . to maintain the ray.) The weeping skull unleashes gushing sobs. The wave of grief passes through you. The searing ray hits the weeping skull. The weeping skull is almost destroyed. You block the weeping skull's attack. The searing ray hits the weeping skull. You destroy the weeping skull! Cheibriados appreciates the change of pace. Your life force feels restored. Your Invocations skill increases to level 3! HP restored. You hear the slow rusting of a drain very nearby. Magic restored. There is an open door here. There is an open door here. Found a stone staircase leading down. Found an escape hatch in the floor. You hear the slow rusting of a drain nearby. Found 13 gold pieces. You open the door. There is an open door here. You open the door. There is an open door here. Found a glowing drain. You open the door. The giant cockroach misses you. Casting: Searing Ray (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Searing Ray (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line, f - giant cockroach Aim: a giant cockroach (81% to hit) You miscast Searing Ray. You are very lightly contaminated with residual magic. Nothing appears to happen. The giant cockroach barely misses you. Unknown command. The giant cockroach bites you but does no damage. Casting: Searing Ray (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Searing Ray (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - giant cockroach Aim: a giant cockroach (81% to hit) The searing ray hits the giant cockroach. The giant cockroach is severely wounded. The searing ray hits the adder! The adder is almost dead. (Press . to maintain the ray.) The giant cockroach barely misses you. The searing ray hits the giant cockroach. You kill the giant cockroach! Cheibriados appreciates the change of pace. The searing ray hits the adder! You kill the adder! Cheibriados thoroughly appreciates the change of pace. The searing ray hits the giant cockroach! You kill the giant cockroach! Cheibriados appreciates the change of pace. Cheibriados raises the support of your attributes as your movement slows. You finish channelling your searing ray. Your magical contamination has completely faded away. There is an open door here. You enter the shallow water. Moving in this stuff is going to be slow. You see here an adder corpse. You see here a giant cockroach corpse. You hear the slow rusting of a drain. There is a glowing drain here. You enter the shallow water. Moving in this stuff is going to be slow. You start resting. Magic restored. There is a glowing drain here. The world spins around you as you enter the gateway. You enter a sewer! Found a gate leading back out of this place. There is an empty arch of ancient stone here. You enter the shallow water. Moving in this stuff is going to be slow. You enter the shallow water. Moving in this stuff is going to be slow. A ball python and 3 rats come into view. The rat squeaks loudly. x2; You hear a loud squeak. A rat comes into view. A ball python comes into view. The rat squeaks loudly. The magic dart hits the rat! You kill the rat! Cheibriados appreciates the change of pace. The ball python hisses angrily. x2 The magic dart hits the rat. The rat is moderately wounded. The magic dart hits the rat. You kill the rat! Cheibriados appreciates the change of pace. The magic dart hits the rat! You kill the rat! Cheibriados appreciates the change of pace. The ball python bites you. You block the ball python's attack. Casting: Magic Dart (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Searing Ray (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line, f - ball python Aim: a ball python (83% to hit) The searing ray misses the ball python. The searing ray hits the rat! You kill the rat! Cheibriados appreciates the change of pace. (Press . to maintain the ray.) The ball python bites you. The ball python closely misses you. The ball python bites you but does no damage. You block the ball python's attack. Unknown command. The searing ray hits the ball python! You kill the ball python! Cheibriados appreciates the change of pace. The ball python bites you. The ball python closely misses you. Casting: Searing Ray (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Restarting spell: Searing Ray (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line, f - ball python Aim: a ball python (83% to hit) The searing ray hits the ball python! You kill the ball python! Cheibriados appreciates the change of pace. (Press . to maintain the ray.) HP restored. Magic restored. A rat comes into view. The magic dart hits the rat! You kill the rat! Cheibriados appreciates the change of pace. You can't see any susceptible monsters within range! (Use Z to cast anyway.) You enter the shallow water. Moving in this stuff is going to be slow. A rat comes into view. The magic dart hits the rat. You kill the rat! Cheibriados appreciates the change of pace. You enter the shallow water. Moving in this stuff is going to be slow. A rat comes into view. The magic dart hits the rat. You kill the rat! Cheibriados appreciates the change of pace. An adder, a ball python, 2 rats and an endoplasm come into view. The magic dart hits the adder. The adder is moderately wounded. The adder hisses angrily. The ball python hisses angrily. You hear an angry hiss. An adder comes into view. A rat comes into view. The magic dart hits the adder. The adder is almost dead. The rat squeaks loudly. x2; The adder hisses angrily. The rat squeaks loudly. The endoplasm quivers. You hear a loud squeak. A frilled lizard comes into view. A river rat comes into view. The magic dart hits the adder. You kill the adder! Cheibriados appreciates the change of pace. The river rat squeaks loudly. You hear a loud squeak. Casting: Magic Dart (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Searing Ray (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line, f - ball python Aim: a ball python (83% to hit) You miscast Searing Ray. You are very lightly contaminated with residual magic. Nothing appears to happen. Unknown command. Your unstable footing causes you to fumble your attack. The ball python barely misses you. You block the ball python's attack. The adder barely misses you. The adder bites you. Casting: Searing Ray (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Searing Ray (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - ball python Aim: a ball python (83% to hit) The searing ray hits the adder! You kill the adder! Cheibriados appreciates the change of pace. Cheibriados raises the support of your attributes as your movement slows. The searing ray hits the ball python! You kill the ball python! Cheibriados thoroughly appreciates the change of pace. The searing ray hits the endoplasm! You kill the endoplasm! Cheibriados appreciates the change of pace. (Press . to maintain the ray.) The searing ray hits the river rat. The river rat is moderately wounded. The searing ray hits the frilled lizard! You kill the frilled lizard! Cheibriados appreciates the change of pace. The rat barely misses you. The river rat barely misses you. Your magical contamination has completely faded away. The searing ray hits the river rat. The river rat is almost dead. The searing ray hits the rat! You kill the rat! Cheibriados appreciates the change of pace. The rat splashes around in the water. The river rat bites you! The searing ray hits the river rat! You kill the river rat! Cheibriados appreciates the change of pace. You finish channelling your searing ray. The rat bites you. Casting: Searing Ray (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Searing Ray (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line, f - rat Aim: a rat (82% to hit) The searing ray hits the rat. You kill the rat! Cheibriados appreciates the change of pace. (Press . to maintain the ray.) The rat bites you but does no damage. A rat is nearby! A rat is nearby! You sock the rat! You freeze the rat. You kill the rat! Cheibriados appreciates the change of pace. No target in view! No target in view! A rat comes into view. A rat is nearby! The magic dart hits the rat. The rat is moderately wounded. You can't see any susceptible monsters within range! (Use Z to cast anyway.) A rat is nearby! The magic dart hits the rat! You kill the rat! Cheibriados appreciates the change of pace. A rat comes into view. The magic dart hits the rat. The rat is heavily wounded. The rat squeaks loudly. A rat is nearby! The magic dart hits the rat. The rat is heavily wounded. You can't see any susceptible monsters within range! (Use Z to cast anyway.) A rat is nearby! The magic dart hits the rat. You kill the rat! Cheibriados appreciates the change of pace. You can't see any susceptible monsters within range! (Use Z to cast anyway.) You see here a rat corpse. You open the door. There is an open door here. b - 3 potions of lignification (gained 1) n - a sapphire potion There is an open door here. You enter the shallow water. Moving in this stuff is going to be slow. Found a whip. You can't see any susceptible monsters within range! (Use Z to cast anyway.) You can't see any susceptible monsters within range! (Use Z to cast anyway.) A rat comes into view. A rat is nearby! The magic dart hits the rat but does no damage. The rat squeaks loudly. You can't see any susceptible monsters within range! (Use Z to cast anyway.) An adder comes into view. An adder is nearby! The magic dart hits the adder. The adder is lightly wounded. The adder hisses angrily. The magic dart hits the adder. The adder is moderately wounded. A river rat comes into view. The magic dart hits the adder. The adder is severely wounded. A rat comes into view. The magic dart hits the adder. The adder is almost dead. The rat squeaks loudly. The adder closely misses you. A ball python comes into view. You barely miss the adder. The adder is almost dead. The adder bites you. The ball python hisses angrily. You hit the adder. You freeze the adder. You kill the adder! Cheibriados appreciates the change of pace. A ball python comes into view. Casting: Magic Dart (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Searing Ray (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line, f - river rat Aim: a river rat (80% to hit) The searing ray hits the river rat! The river rat is almost dead. (Press . to maintain the ray.) The ball python hisses angrily. A rat comes into view. The searing ray hits the river rat. You kill the river rat! Cheibriados appreciates the change of pace. The rat squeaks loudly. The searing ray hits the ball python! You kill the ball python! Cheibriados appreciates the change of pace. Cheibriados raises the support of your attributes as your movement slows. The searing ray hits the ball python! You kill the ball python! Cheibriados appreciates the change of pace. The magic dart hits the rat. You kill the rat! Cheibriados appreciates the change of pace. The magic dart hits the rat. You kill the rat! Cheibriados appreciates the change of pace. The magic dart hits the rat. You kill the rat! Cheibriados appreciates the change of pace. You can't see any susceptible monsters within range! (Use Z to cast anyway.) o - a wand of digging (6) You see here a rat corpse. You enter the shallow water. Moving in this stuff is going to be slow. A rat and a ball python come into view. The rat squeaks loudly. You hear a loud squeak. You hear an angry hiss. A rat comes into view. A ball python comes into view. The magic dart hits the rat! You kill the rat! Cheibriados appreciates the change of pace. The ball python hisses angrily. The magic dart hits the ball python. The ball python is moderately wounded. The rat twitches its whiskers. The magic dart hits the ball python! You kill the ball python! Cheibriados thoroughly appreciates the change of pace. The magic dart hits the rat. You kill the rat! Cheibriados appreciates the change of pace. The magic dart hits the ball python! You kill the ball python! Cheibriados appreciates the change of pace. You can't see any susceptible monsters within range! (Use Z to cast anyway.) You can't see any susceptible monsters within range! (Use Z to cast anyway.) You open the door. There is an open door here. p - a scroll labelled QEHAIKKULA q - a scroll labelled AHATAU URABYI There is an open door here. You enter the shallow water. Moving in this stuff is going to be slow. You enter the shallow water. Moving in this stuff is going to be slow. A ball python comes into view. A ball python is nearby! A ball python is nearby! The magic dart hits the ball python. The ball python is heavily wounded. The ball python hisses angrily. You hear a loud, deep croak! A ball python comes into view. An adder comes into view. x2 The magic dart hits the ball python! You kill the ball python! Cheibriados appreciates the change of pace. The ball python hisses angrily. The adder hisses angrily. x2 A frilled lizard comes into view. An endoplasm comes into view. An adder comes into view. The magic dart hits the adder. The adder is moderately wounded. The adder hisses angrily. The frilled lizard hisses angrily. A bullfrog comes into view. x2 The magic dart hits the adder. The adder is heavily wounded. The magic dart hits the adder but does no damage. The adder is heavily wounded. The adder misses you. The adder bites you. Casting: Magic Dart (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Searing Ray (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - adder Aim: an adder (water, heavily wounded, 70% to hit) The searing ray hits the adder. The adder is almost dead. The searing ray hits the ball python. You kill the ball python! Cheibriados appreciates the change of pace. The searing ray hits the bullfrog! The bullfrog is heavily wounded. (Press . to maintain the ray.) The adder barely misses you. The adder misses you. The adder closely misses you. The adder bites you but does no damage. The searing ray hits the adder. You kill the adder! Cheibriados appreciates the change of pace. Cheibriados raises the support of your attributes as your movement slows. The searing ray hits the bullfrog! The bullfrog is moderately wounded. The adder bites you but does no damage. The adder bites you. The bullfrog closely misses you. The adder closely misses you. The bullfrog barely misses you. The searing ray hits the bullfrog. The bullfrog is heavily wounded. The adder bites you. The bullfrog hits you. The bullfrog barely misses you. You block the adder's attack. The adder barely misses you. Unknown command. The searing ray hits the bullfrog. The bullfrog is almost dead. The searing ray hits the frilled lizard! You kill the frilled lizard! Cheibriados appreciates the change of pace. You finish channelling your searing ray. The bullfrog hits you. The bullfrog hits you! The adder misses you. The adder closely misses you. The bullfrog barely misses you. You block the bullfrog's attack. The adder attacks as it pursues you! The adder closely misses you. You block the bullfrog's attack. The bullfrog hits you. The adder bites you. The bullfrog closely misses you. The bullfrog hits you. The bullfrog closely misses you. The adder barely misses you. Unknown command. Casting: Searing Ray (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Searing Ray (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line, f - bullfrog Aim: a bullfrog (almost dead, 77% to hit) The searing ray hits the bullfrog! You kill the bullfrog! Cheibriados thoroughly appreciates the change of pace. The searing ray hits the adder! You kill the adder! Cheibriados thoroughly appreciates the change of pace. You can now warp the flow of time around you. (Press . to maintain the ray.) The bullfrog closely misses you. The adder barely misses you. Your Fighting skill increases to level 3! Your Short Blades skill increases to level 3! Your Long Blades skill increases to level 3! Your Axes skill increases to level 3! Your Maces & Flails skill increases to level 3! Your Polearms skill increases to level 3! Your Staves skill increases to level 3! Your Ranged Weapons skill increases to level 3! Your Throwing skill increases to level 3! Your Armour skill increases to level 3! Your Shields skill increases to level 3! Your Unarmed Combat skill increases to level 3! Your Evocations skill increases to level 3! You have reached level 8! You feel stronger. Casting: Searing Ray (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. You don't know that spell. You turn into a tree. Your +0 cloak melds into your body. Your +0 robe melds into your body. Your roots penetrate the ground. The bullfrog hits you but does no damage. The adder bites you but does no damage. You block the bullfrog's attack. Unknown command. You thump the bullfrog! You freeze the bullfrog. You kill the bullfrog! Cheibriados appreciates the change of pace. The adder bites you but does no damage. The endoplasm freezes you. You are frozen. The adder bites you but does no damage. You cannot move. You barely miss the adder. The endoplasm hits you but does no damage. The adder bites you. You are poisoned. The adder poisons you! You hit the adder. You freeze the adder. The adder is heavily wounded. You feel sick. The adder bites you but does no damage. The endoplasm freezes you. You are frozen. * * * LOW HITPOINT WARNING * * * The adder bites you but does no damage. You thump the adder! You freeze the adder. You kill the adder! Cheibriados thoroughly appreciates the change of pace. You feel sick. The endoplasm hits you but does no damage. The endoplasm splashes around in the water. You cannot move. You cannot move. You hit the endoplasm. You freeze the endoplasm. The endoplasm is moderately wounded. You feel sick. The endoplasm hits you but does no damage. You thump the endoplasm! You freeze the endoplasm. You kill the endoplasm! Cheibriados appreciates the change of pace. You feel sick. You cannot move. You start resting. You feel sick. You are no longer poisoned. You start resting. Your transformation is almost over. You feel less wooden. Your +0 cloak unmelds from your body. Your +0 robe unmelds from your body. You start resting. Magic restored. You start resting. HP restored. You enter the shallow water. Moving in this stuff is going to be slow. You open the door. Found a gate leading back out of this place. There is an open door here. r - a dark potion s - a scroll labelled FAFOGE YPERU t - a fizzy black potion u - a scroll labelled FUBO FAYGGOROZ s - 2 scrolls labelled FAFOGE YPERU (gained 1) v - a lumpy silvery potion Done exploring. The air fills with toxic fumes! As you read the scroll labelled XEUTTI MAOGOCO, it crumbles to dust. It was a scroll of poison. As you read the scroll labelled MOULEM MYMOJUTH, it crumbles to dust. It is a scroll of identify. h - a potion of degeneration There is an open door here. You enter the shallow water. Moving in this stuff is going to be slow. As you read the scroll of identify, it crumbles to dust. e - a scroll of teleportation As you read the scroll of identify, it crumbles to dust. g - a scroll of enchant armour As you read the scroll of identify, it crumbles to dust. m - a scroll of fear As you read the scroll labelled QEHAIKKULA, it crumbles to dust. You hear a loud clanging noise! It was a scroll of noise. Blink to where? Press: ? - help, Dir - move target, f - you Okay, then. As you read the scroll labelled AHATAU URABYI, it crumbles to dust. It was a scroll of blinking. As you read the scroll labelled FAFOGE YPERU, it dissolves into smoke. It was a scroll of fog. As you read the scroll labelled FUBO FAYGGOROZ, it crumbles to dust. You hear the flapping of tiny wings. It was a scroll of butterflies. You start waiting. Your butterfly disappears in a burst of colours! You swap places. Your butterfly disappears in a burst of colours! You swap places. You swap places. Your butterfly disappears in a burst of colours! x3 There is an open door here. Your butterfly disappears in a burst of colours! x2 Your butterfly disappears in a burst of colours! There is a gate leading back out of this place here. Your butterfly disappears in a burst of colours! Welcome back to the Dungeon! Your summoned ally is left behind. There is a collapsed entrance here. You enter the shallow water. Moving in this stuff is going to be slow. You see here an adder skeleton. There is an open door here. You open the door. An orc comes into view. It is wielding a +0 falchion. An orc is nearby! An orc is nearby! The magic dart hits the orc! You kill the orc! Cheibriados appreciates the change of pace. You hear a shout! An orc wizard comes into view. It is wielding a +0 dagger. The magic dart hits the orc wizard. The orc wizard is heavily wounded. The magic dart hits the orc wizard. The orc wizard is almost dead. You hear a shout! An orc comes into view. It is wielding a +0 hand axe. The magic dart hits the orc wizard! You kill the orc wizard! Cheibriados appreciates the change of pace. The magic dart hits the orc! You kill the orc! Cheibriados appreciates the change of pace. Cheibriados raises the support of your attributes as your movement slows. You can't see any susceptible monsters within range! (Use Z to cast anyway.) Magic restored. There is an open door here. Things that are here: a +0 hand axe; a +0 dagger; a +0 robe Found a stone staircase leading down. You can't see any susceptible monsters within range! (Use Z to cast anyway.) d - a scroll of blinking p - a scroll labelled MYONLI WUXOEDO As you open the door, it creaks loudly! There is an open door here. You open the door. Found a leather armour. There is an open door here. An adder comes into view. An adder is nearby! An adder is nearby! The magic dart hits the adder. The adder is lightly wounded. The adder hisses angrily. The magic dart hits the adder. The adder is severely wounded. The magic dart hits the adder. You kill the adder! Cheibriados thoroughly appreciates the change of pace. You can't see any susceptible monsters within range! (Use Z to cast anyway.) You now have 36 gold pieces (gained 10). You open the door. There is an open door here. Found a stone staircase leading down. Okay, then. Found a stone staircase leading up. Found a scale mail. An iguana comes into view. An iguana is nearby! Okay, then. The magic dart hits the iguana. The iguana is lightly wounded. The iguana hisses angrily. The magic dart hits the iguana. The iguana is moderately wounded. The magic dart hits the iguana! The iguana is severely wounded. The magic dart hits the iguana but does no damage. The iguana is severely wounded. The magic dart hits the iguana but does no damage. The iguana is severely wounded. The magic dart hits the iguana but does no damage. The iguana is severely wounded. The magic dart hits the iguana but does no damage. The iguana is severely wounded. The iguana closely misses you. The magic dart hits the iguana. The iguana is severely wounded. The iguana closely misses you. The magic dart hits the iguana. The iguana is severely wounded. The iguana misses you. You closely miss the iguana. Your bite misses the iguana. The iguana is severely wounded. The iguana bites you! You sock the iguana! You freeze the iguana. You kill the iguana! Cheibriados appreciates the change of pace. Your Spellcasting skill increases to level 6! You see here an iguana corpse. HP restored. You now have 54 gold pieces (gained 18). Key pressed, stopping explore. You now have 67 gold pieces (gained 13). You open the door. There is an open door here. Found a whip. Found a quarterstaff. Sigmund the Dreaded comes into view. He is wielding a +2 heavy scythe. You see here a +0 quarterstaff. Sigmund is nearby! Sigmund is nearby! The magic dart hits Sigmund but does no damage. Sigmund gestures at you while chanting. The magic dart hits you. Sigmund casts a spell at you. You are confused. You turn into a tree. Your +0 cloak melds into your body. Your +0 robe melds into your body. Your roots penetrate the ground. Unknown command. Sigmund gestures at you while chanting. You resist with some effort. You feel less confused. Sigmund barely misses you. Casting: Magic Dart (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Searing Ray (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - Sigmund Aim: Sigmund, wielding a +2 heavy scythe and wearing a +2 robe (80% to hit) The searing ray hits Sigmund! Sigmund is heavily wounded. (Press . to maintain the ray.) Unknown command. The searing ray hits Sigmund! Sigmund is almost dead. Sigmund casts a spell. Sigmund flickers and vanishes! Deactivating autopickup; reactivate with Ctrl-A. The searing ray hits something! Cheibriados appreciates the change of pace. Reactivating autopickup. You feel a bit more experienced. Your Shapeshifting skill increases to level 3! You finish channelling your searing ray. You start resting. Your transformation is almost over. HP restored. You start resting. You feel less wooden. Your +0 cloak unmelds from your body. Your +0 robe unmelds from your body. You start resting. Magic restored. Things that are here: a +2 heavy scythe; a +2 robe; the human corpse of Sigmund q - a +2 robe Unknown command. You start removing your armour. You continue removing your +0 robe. x4 You finish removing your +0 robe. You start putting on your armour. You continue putting on your +2 robe. x5 You finish putting on your +2 robe. Unknown command. You open the door. An ice beast comes into view. The magic dart hits the ice beast. The ice beast is lightly wounded. The magic dart hits the ice beast. The ice beast is lightly wounded. Casting: Magic Dart (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Searing Ray (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - ice beast Aim: an ice beast (lightly wounded, 82% to hit) The searing ray hits the ice beast! The ice beast is heavily wounded. (Press . to maintain the ray.) Unknown command. The searing ray hits the ice beast! The ice beast is almost dead. The searing ray misses the ice beast. The searing ray hits the ice beast. You kill the ice beast! Cheibriados appreciates the change of pace. You finish channelling your searing ray. There is an open door here. You open the door. Found a leather armour. Maggie the Vainglorious comes into view. She is wielding a +1 morningstar of flaming and carrying a wand of roots. There is an open door here. Casting: Searing Ray (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Searing Ray (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line, f - Maggie Aim: Maggie, wielding a +1 morningstar of flaming, wearing +0 swamp dragon scales and carrying a wand of roots (asleep, 100% to hit) The searing ray hits Maggie! Maggie is lightly wounded. (Press . to maintain the ray.) Maggie casts a spell. Maggie attempts to bespell you! You are mesmerised by Maggie! The searing ray misses Maggie. The searing ray hits Maggie. Maggie is moderately wounded. The searing ray hits Maggie! Maggie is heavily wounded. You finish channelling your searing ray. Casting: Searing Ray (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Searing Ray (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - Maggie Aim: Maggie, wielding a +1 morningstar of flaming, wearing +0 swamp dragon scales and carrying a wand of roots (heavily wounded, mesmerising, 85% to hit) The searing ray hits Maggie. Maggie is heavily wounded. (Press . to maintain the ray.) Maggie closely misses you. The searing ray hits Maggie! Maggie is heavily wounded. Maggie hits you with a +1 morningstar of flaming! Maggie burns you. The searing ray hits Maggie but does no damage. Maggie is heavily wounded. Maggie gestures at you while chanting. The bolt of fire misses you. The searing ray hits Maggie but does no damage. Maggie is heavily wounded. You finish channelling your searing ray. Maggie misses you. Casting: Searing Ray (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Searing Ray (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - Maggie Aim: Maggie, wielding a +1 morningstar of flaming, wearing +0 swamp dragon scales and carrying a wand of roots (heavily wounded, mesmerising, 85% to hit) The searing ray hits Maggie but does no damage. Maggie is heavily wounded. (Press . to maintain the ray.) >>>>>>>>>>>>>>>>>>>>>> Version history: Game started: 0.33-a0-288-g5f200facdd Game state: mouse_enabled: 0, waiting_for_command: 0, terminal_resized: 0 io_inited: 1, need_save: 1, saving_game: 0, updating_scores: 0: seen_hups: 1, map_stat_gen: 0, type: 1, arena_suspended: 0 prev_cmd = CMD_CAST_SPELL repeat_cmd = CMD_NO_CMD Player: {{{{{{{{{{{ Name: [SunshineJesse] Species: Gnoll Job: Conjurer HP: 51/58; mods: 0/0 MP: 6/17; mod: 0 Stats: 15 (15) 26 (26) 17 (17) Position: (55, 15), god: Cheibriados (17), turn_is_over: 1, banished: 0 Standing on/in/over feature: open door Skills (mode: manual) Name | can_currently_train | train | training | level | points | progress Fighting | X | 1 | 4 | 3 | 98 | 23/50 Short Blades | X | 1 | 3 | 3 | 98 | 23/50 Long Blades | X | 1 | 3 | 3 | 98 | 23/50 Axes | X | 1 | 3 | 3 | 98 | 23/50 Maces & Flails | X | 1 | 3 | 3 | 98 | 23/50 Polearms | X | 1 | 3 | 3 | 98 | 23/50 Staves | X | 1 | 3 | 3 | 98 | 23/50 Ranged Weapons | X | 1 | 3 | 3 | 98 | 23/50 Throwing | X | 1 | 3 | 3 | 98 | 23/50 Armour | X | 1 | 3 | 3 | 98 | 23/50 Dodging | X | 1 | 3 | 5 | 249 | 62/75 Stealth | X | 1 | 3 | 5 | 225 | 38/75 Shields | X | 1 | 3 | 3 | 98 | 23/50 Unarmed Combat | X | 1 | 4 | 3 | 98 | 23/50 Spellcasting | X | 1 | 4 | 6 | 277 | 15/88 Conjurations | X | 1 | 4 | 7 | 599 | 105/142 Hexes | X | 1 | 4 | 2 | 98 | 45/53 Summonings | X | 1 | 4 | 2 | 98 | 45/53 Necromancy | X | 1 | 4 | 2 | 98 | 45/53 Translocations | X | 1 | 4 | 2 | 98 | 45/53 Fire Magic | X | 1 | 4 | 2 | 98 | 45/53 Ice Magic | X | 1 | 4 | 2 | 98 | 45/53 Air Magic | X | 1 | 4 | 2 | 98 | 45/53 Earth Magic | X | 1 | 4 | 2 | 98 | 45/53 Alchemy | X | 1 | 4 | 2 | 98 | 45/53 Invocations | X | 1 | 4 | 3 | 98 | 35/42 Evocations | X | 1 | 4 | 3 | 98 | 23/50 Shapeshifting | X | 1 | 4 | 3 | 98 | 9/59 Spell bugs: Durations: Attributes: #12: 292 #13: 225 #23: 6540 #24: 893213304 #36: 1 #49: 292 Mutations: fangs: 1 (innate) strong nose: 1 (innate) distributed training: 1 (innate) Inventory bugs: Equipment: eq slot #0, inv slot #8: +5 quarterstaff of Eternal Harmony {freeze, rPois Stlth+} eq slot #1, inv slot #5: +0 cloak eq slot #6, inv slot #16: +2 robe eq slot #9, inv slot #9: amulet of reflection }}}}}}}}}}} Webtiles message buffer: {"msg":"player" Webtiles JSON stack: start: 0 end: 15 type: } Screenshot: #..... ..[.. #.... ##### ###....###..... ............... ............... ......@........ ##### #######@######## ..... ................ ..... ................ ....> ................ ..... ................ ..... ................ ..##+###########'####+### ..+ ..................... ..# ..................... 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.