ASSERT((duration[DUR_MESMERISED] > 0) == !beholders.empty()) in 'behold.cc' at line 66 failed. Version: Dungeon Crawl Stone Soup 0.30.0 Platform: unix Bits: 64 Game mode: normal Tiles: online Seed: 15300765898313824293, deterministic pregen: 1 Command line: /var/dcss/builds/dcss-0.30/0.30.0/bin/dcss -name frystalian -rc /var/dcss/gamedata/dcss-0.30/rc-files/frystalian.rc -macro /var/dcss/gamedata/dcss-0.30/rc-files/frystalian.macro -morgue /var/dcss/gamedata/dcss/morgue/frystalian/ -extra-opt-first travel_delay=20 -extra-opt-first rest_delay=0 -dir /var/dcss/gamedata/dcss-0.30/save/ -webtiles-socket /var/dcss/sockets/frystalian:2023-06-20.23:21:21.sock -await-connection RC options: restart_after_game = false Crash caused by signal #6: Aborted Obtained 29 stack frames. /var/dcss/builds/dcss-0.30/0.30.0/bin/dcss(_Z17write_stack_traceP8_IO_FILE+0x38) [0x77cac8]: write_stack_trace(_IO_FILE*) /var/dcss/builds/dcss-0.30/0.30.0/bin/dcss(_Z13do_crash_dumpv+0x3de) [0x78655e]: do_crash_dump() /var/dcss/builds/dcss-0.30/0.30.0/bin/dcss(_Z20crash_signal_handleri+0x1f0) [0x77cf30]: crash_signal_handler(int) /lib/x86_64-linux-gnu/libc.so.6(+0x354c0) [0x7f8f574ee4c0]: /lib/x86_64-linux-gnu/libpthread.so.0(raise+0x29) [0x7f8f57894269]: /var/dcss/builds/dcss-0.30/0.30.0/bin/dcss() [0x785d09] /var/dcss/builds/dcss-0.30/0.30.0/bin/dcss() [0x785eb1] /var/dcss/builds/dcss-0.30/0.30.0/bin/dcss() [0x74638c] /var/dcss/builds/dcss-0.30/0.30.0/bin/dcss() [0x7463b7] /var/dcss/builds/dcss-0.30/0.30.0/bin/dcss(_Z16fill_status_infoiR11status_info+0xe3f) [0xca9b7f]: fill_status_info(int, status_info&) /var/dcss/builds/dcss-0.30/0.30.0/bin/dcss(_ZN14TilesFramework12_send_playerEb+0x1f54) [0xda8fa4]: TilesFramework::_send_player(bool) /var/dcss/builds/dcss-0.30/0.30.0/bin/dcss(_ZN14TilesFramework6redrawEv+0x9a) [0xdad53a]: TilesFramework::redraw() /var/dcss/builds/dcss-0.30/0.30.0/bin/dcss(_ZN14TilesFramework17update_input_modeE10mouse_modeb+0x198) [0xdad838]: TilesFramework::update_input_mode(mouse_mode, bool) /var/dcss/builds/dcss-0.30/0.30.0/bin/dcss(_ZN13mouse_controlC1E10mouse_mode+0x17) [0x9d7657]: mouse_control::mouse_control(mouse_mode) /var/dcss/builds/dcss-0.30/0.30.0/bin/dcss() [0xa6ed58] /var/dcss/builds/dcss-0.30/0.30.0/bin/dcss(_ZN14message_window4moreEbb+0x1ef) [0xa70c6f]: message_window::more(bool, bool) /var/dcss/builds/dcss-0.30/0.30.0/bin/dcss(_ZN14message_window8add_itemENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE11prefix_typeb+0x3d0) [0xa711b0]: message_window::add_item(std::__cxx11::basic_string, std::allocator >, prefix_type, bool) /var/dcss/builds/dcss-0.30/0.30.0/bin/dcss(_ZN13message_store10flush_prevEv+0x347) [0xa71767]: message_store::flush_prev() /var/dcss/builds/dcss-0.30/0.30.0/bin/dcss() [0xa6bf1a] /var/dcss/builds/dcss-0.30/0.30.0/bin/dcss(_Z16do_message_print16msg_channel_typeibbPKcP13__va_list_tag+0xda) [0xa6c62a]: do_message_print(msg_channel_type, int, bool, bool, char const*, __va_list_tag*) /var/dcss/builds/dcss-0.30/0.30.0/bin/dcss(_Z4mprf16msg_channel_typePKcz+0xb0) [0xa6cb30]: mprf(msg_channel_type, char const*, ...) /var/dcss/builds/dcss-0.30/0.30.0/bin/dcss() [0xb941d1] /var/dcss/builds/dcss-0.30/0.30.0/bin/dcss(_Z13player_reactsv+0x640) [0xb96340]: player_reacts() /var/dcss/builds/dcss-0.30/0.30.0/bin/dcss(_Z12world_reactsv+0x655) [0xdb72e5]: world_reacts() /var/dcss/builds/dcss-0.30/0.30.0/bin/dcss() [0xdb819c] /var/dcss/builds/dcss-0.30/0.30.0/bin/dcss() [0xdb8f65] /var/dcss/builds/dcss-0.30/0.30.0/bin/dcss(main+0x189) [0x6d9d59]: /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf0) [0x7f8f574d9840]: /var/dcss/builds/dcss-0.30/0.30.0/bin/dcss(_start+0x29) [0x6da819]: Trying to run gdb. GNU gdb (Ubuntu 8.2-0ubuntu1~16.04.1) 8.2 Copyright (C) 2018 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "x86_64-linux-gnu". Type "show configuration" for configuration details. For bug reporting instructions, please see: . Find the GDB manual and other documentation resources online at: . For help, type "help". Type "apropos word" to search for commands related to "word". [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1". 0x00007f8f57893f2a in __waitpid (pid=2202, stat_loc=stat_loc@entry=0x0, options=options@entry=0) at ../sysdeps/unix/sysv/linux/waitpid.c:29 #0 0x00007f8f57893f2a in __waitpid (pid=2202, stat_loc=stat_loc@entry=0x0, options=options@entry=0) at ../sysdeps/unix/sysv/linux/waitpid.c:29 resultvar = 18446744073709551104 sc_ret = #1 0x000000000077c945 in call_gdb (file=file@entry=0x7f8f5787e540 <_IO_2_1_stderr_>) at crash.cc:438 gdb = attach_cmd = "attach 30605\000\000\000\000\000\000\000" #2 0x000000000078657a in do_crash_dump () at dbg-asrt.cc:692 t = 1687307848 dir = "/var/dcss/gamedata/dcss/morgue/frystalian/" name = "/var/dcss/gamedata/dcss/morgue/frystalian/crash-frystalian-20230621-003728.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 = 0x7f8f5787e540 <_IO_2_1_stderr_> #3 0x000000000077cf30 in crash_signal_handler (sig_num=6) at crash.cc:198 No locals. #4 No locals. #5 0x00007f8f57894269 in raise (sig=6) at ../sysdeps/unix/sysv/linux/pt-raise.c:35 resultvar = 0 pid = #6 0x0000000000785d09 in _BreakStrToDebugger (mesg=mesg@entry=0x7ffd70010c80 "ASSERT((duration[DUR_MESMERISED] > 0) == !beholders.empty()) in 'behold.cc' at line 66 failed.", assert=true) at dbg-asrt.cc:818 No locals. #7 0x0000000000785eb1 in AssertFailed (expr=expr@entry=0xe34618 "(duration[DUR_MESMERISED] > 0) == !beholders.empty()", file=file@entry=0xdcacf2 "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' , "\260\022\001p\004\000\000\000\240\022\001p\375\177\000\000\000\000\377\377\377\377\377\377", '\000' , "\240ćW\217\177\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000d\000\000\000\000\000\000\000\240"... args = {{gp_offset = 14453228, fp_offset = 0, overflow_arg_area = 0x7ffd70010e08, reg_save_area = 0x1}} fileName = #8 0x000000000074638c in player::beheld (this=) at behold.cc:66 No locals. #9 0x00000000007463b7 in player::beheld (this=) at behold.cc:66 No locals. #10 0x0000000000ca9b7f in fill_status_info (status=status@entry=164, inf=...) at status.cc:245 found = false #11 0x0000000000da8fa4 in _update_statuses (c=...) at tileweb.cc:1013 status = 164 changed = false counter = inf = {light_colour = 0, light_text = "", short_text = "", long_text = ""} changed = counter = inf = status = #12 TilesFramework::_send_player (this=0x1246e20 , force_full=false) at tileweb.cc:1206 c = @0x12731a0: {_state_ever_synced = true, name = "frystalian", job_title = "the Conjurer", wizard = false, explore = false, species = "Purple Draconian", god = "Vehumet", under_penance = false, piety_rank = 0, form = 0 '\000', hp = 54, hp_max = 63, real_hp_max = 63, poison_survival = 54, mp = 5, mp_max = 14, dd_real_mp_max = 0, contam = 0, noise = -1, adjusted_noise = 222, armour_class = 6, evasion = 13, shield_class = 5, strength = 17 '\021', strength_max = 17 '\021', intel = 20 '\024', intel_max = 20 '\024', dex = 15 '\017', dex_max = 15 '\017', experience_level = 8, exp_progress = 11 '\v', gold = 388, zot_points = 0, elapsed_time = 44229, num_turns = 4405, lives = 0, deaths = 0, place = "Dungeon", depth = 6, position = {x = 14, y = -6}, status = std::vector of length 1, capacity 2 = {{light_colour = 4, light_text = "Mesm", short_text = "mesmerised", long_text = "You are mesmerised."}}, inv = {mData = {{base_type = OBJ_JEWELLERY, sub_type = 14 '\016', {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 = 3, unrand_idx = 3, subtype_rnd = 3, brand = 3, freshness = 3}, rnd = 9 '\t', quantity = 1, flags = 15, pos = {x = -1, y = -1}, link = 0, slot = 97, 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 = 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 = 69 'E', 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_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 = 36, unrand_idx = 36, subtype_rnd = 36, brand = 36, freshness = 36}, rnd = 135 '\207', quantity = 1, flags = 0, pos = {x = -1, y = -1}, link = 2, slot = 99, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_MISSILES, sub_type = 5 '\005', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 0, unrand_idx = 0, subtype_rnd = 0, brand = 0, freshness = 0}, rnd = 168 '\250', quantity = 78, 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_JEWELLERY, sub_type = 5 '\005', {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 = 116, unrand_idx = 116, subtype_rnd = 116, brand = 116, freshness = 116}, rnd = 68 'D', 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_MISSILES, sub_type = 0 '\000', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 3, unrand_idx = 3, subtype_rnd = 3, brand = 3, freshness = 3}, rnd = 188 '\274', quantity = 6, flags = 2, 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_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 = 57, unrand_idx = 57, subtype_rnd = 57, brand = 57, freshness = 57}, rnd = 141 '\215', quantity = 1, flags = 0, 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_WEAPONS, sub_type = 25 '\031', {plus = 1, mon_type = MONS_FRILLED_LIZARD, skill = SK_SHORT_BLADES, charges = 1, net_durability = 1, tithe_state = 1}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 7, unrand_idx = 7, subtype_rnd = 7, brand = 7, freshness = 7}, rnd = 159 '\237', quantity = 1, flags = 65551, 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 5 elements = {["item_tile"] = {type = SV_SHORT, flags = 0 '\000', val = {boolean = 113, byte = 113 'q', _short = 3185, _int = 3185, _float = 4.46313561e-42, _int64 = 3185, ptr = 0xc71}}, ["item_tile_name"] = {type = SV_STR, flags = 0 '\000', val = {boolean = false, byte = 0 '\000', _short = 29696, _int = 62419968, _float = 1.08411803e-36, _int64 = 62419968, ptr = 0x3b87400}}, ["name"] = {type = SV_STR, flags = 0 '\000', val = {boolean = 224, byte = -32 '\340', _short = -9504, _int = 63036128, _float = 1.13937717e-36, _int64 = 63036128, ptr = 0x3c1dae0}}, ["worn_tile"] = {type = SV_SHORT, flags = 0 '\000', val = {boolean = 115, byte = 115 's', _short = 7027, _int = 7027, _float = 9.84692431e-42, _int64 = 7027, ptr = 0x1b73}}, ["worn_tile_name"] = {type = SV_STR, flags = 0 '\000', val = {boolean = 240, byte = -16 '\360', _short = -21776, _int = 63220464, _float = 1.155909e-36, _int64 = 63220464, ptr = 0x3c4aaf0}}}, }}, {base_type = OBJ_WEAPONS, sub_type = 18 '\022', {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 = 8, slot = 105, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_POTIONS, sub_type = 4 '\004', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 21, unrand_idx = 21, subtype_rnd = 21, brand = 21, freshness = 21}, rnd = 253 '\375', 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_POTIONS, sub_type = 2 '\002', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 135, unrand_idx = 135, subtype_rnd = 135, brand = 135, freshness = 135}, rnd = 31 '\037', quantity = 1, flags = 15, 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_POTIONS, sub_type = 25 '\031', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 7, unrand_idx = 7, subtype_rnd = 7, brand = 7, freshness = 7}, rnd = 140 '\214', quantity = 3, flags = 15, pos = {x = -1, y = -1}, link = 11, slot = 108, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_WEAPONS, sub_type = 4 '\004', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 0, unrand_idx = 0, subtype_rnd = 0, brand = 0, freshness = 0}, rnd = 102 'f', 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_WANDS, sub_type = 0 '\000', {plus = 19, mon_type = MONS_QUOKKA, skill = SK_CONJURATIONS, charges = 19, net_durability = 19, tithe_state = 19}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 90, unrand_idx = 90, subtype_rnd = 90, brand = 90, freshness = 90}, rnd = 33 '!', quantity = 1, flags = 6, pos = {x = -1, y = -1}, link = 13, slot = 110, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_SCROLLS, sub_type = 28 '\034', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 361495, unrand_idx = 361495, subtype_rnd = 361495, brand = 361495, freshness = 361495}, rnd = 220 '\334', quantity = 1, flags = 0, pos = {x = -1, y = -1}, link = 14, slot = 111, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_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 = 208 '\320', 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_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 = 358489, unrand_idx = 358489, subtype_rnd = 358489, brand = 358489, freshness = 358489}, rnd = 173 '\255', quantity = 3, flags = 0, 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_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 = 338833, unrand_idx = 338833, subtype_rnd = 338833, brand = 338833, freshness = 338833}, rnd = 75 'K', quantity = 2, 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_WANDS, sub_type = 15 '\017', {plus = 12, mon_type = MONS_ANACONDA, skill = SK_DODGING, charges = 12, net_durability = 12, tithe_state = 12}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 181, unrand_idx = 181, subtype_rnd = 181, brand = 181, freshness = 181}, rnd = 4 '\004', quantity = 1, flags = 6, 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_SCROLLS, sub_type = 14 '\016', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 333391, unrand_idx = 333391, subtype_rnd = 333391, brand = 333391, freshness = 333391}, rnd = 68 'D', quantity = 2, flags = 2, 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_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 = 52, unrand_idx = 52, subtype_rnd = 52, brand = 52, freshness = 52}, rnd = 191 '\277', quantity = 1, flags = 0, 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_JEWELLERY, sub_type = 4 '\004', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 2, unrand_idx = 2, subtype_rnd = 2, brand = 2, freshness = 2}, rnd = 145 '\221', quantity = 1, flags = 15, pos = {x = -1, y = -1}, link = 21, slot = 118, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_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 = 364, unrand_idx = 364, subtype_rnd = 364, brand = 364, freshness = 364}, rnd = 104 'h', quantity = 1, flags = 15, pos = {x = -1, y = -1}, link = 22, slot = 119, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_STAVES, 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 = 28, unrand_idx = 28, subtype_rnd = 28, brand = 28, freshness = 28}, rnd = 139 '\213', quantity = 1, flags = 15, pos = {x = -1, y = -1}, link = 23, slot = 120, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_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 }}, equip = {mData = "\a\377\377\377\377\377\377\004\000\026\377\377\377\377\377\377\377\377\377"}, quiver_item = -1 '\377', quiver_desc = "Cast: Magic Dart", unarmed_attack = "Nothing wielded", unarmed_attack_colour = 7 '\a', quiver_available = true} spectator = god = "Vehumet" prank = max_max_hp = place = short_name = "Dungeon" pos = #13 0x0000000000dad53a in TilesFramework::redraw (this=0x1246e20 ) at tileweb.cc:2260 No locals. #14 0x0000000000dad838 in TilesFramework::update_input_mode (this=0x1246e20 , mode=mode@entry=MOUSE_MODE_MORE, force=force@entry=false) at tileweb.cc:944 prev_mode = #15 0x00000000009d7657 in mouse_control::mouse_control (this=0x7ffd70011a04, mode=MOUSE_MODE_MORE) at libutil.cc:492 No locals. #16 0x0000000000a6ed58 in readkey_more (user_forced=user_forced@entry=false) at message.cc:1888 keypress = 0 unwind_more = {val = @0x11e93e1, oldval = false} mc = {m_previous_mode = MOUSE_MODE_NORMAL, static ms_current_mode = MOUSE_MODE_NORMAL} #17 0x0000000000a70c6f in message_window::more (this=this@entry=0x11f30a0 , full=full@entry=true, user=user@entry=false) at message.cc:728 rng = {previous = rng::UI} last_row = 7 #18 0x0000000000a711b0 in message_window::make_space (n=1, this=0x11f30a0 ) at message.cc:479 space = 0 s = space = s = #19 message_window::add_item (this=this@entry=0x11f30a0 , text="(Press . to maintain the ray.)", first_col=first_col@entry=prefix_type::none, temporary=temporary@entry=false) at message.cc:630 line = {ops = std::vector of length 0, capacity 1576632 = { nl = @0x41bbe40: {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.)"}}}} #20 0x0000000000a71767 in message_store::store_msg (msg=..., this=0x11e9400 ) at message.cc:820 p = prefix_type::none dontsend = p = dontsend = #21 message_store::flush_prev (this=this@entry=0x11e9400 ) at message.cc:850 msg = {channel = MSGCH_PLAIN, param = 0, messages = std::vector of length 1, capacity 1 = {{text = "(Press . to maintain the ray.)", repeats = 1}}, turn = 4405, join = true} #22 0x0000000000a6bf1a in message_store::add (msg=..., this=0x11e9400 ) at message.cc:784 orig_full_text = "You break out of your daze." orig_full_text = #23 _mpr (text=..., channel=MSGCH_RECOVERY, param=, nojoin=, cap=) at message.cc:1593 _doing_c_message_hook = false rng = {previous = rng::GAMEPLAY} colour = col = "lightgreen" domore = do_flash_screen = false join = fs = {ops = std::vector of length 3, capacity 4 = {{type = FSOP_COLOUR, colour = 10, text = ""}, {type = FSOP_TEXT, colour = -1, text = "You break out of your daze."}, {type = FSOP_COLOUR, colour = 7, text = ""}}} msg = {channel = MSGCH_RECOVERY, param = 0, messages = std::vector of length 1, capacity 1 = {{text = "You break out of your daze.", repeats = 1}}, turn = 4405, join = true} #24 0x0000000000a6c62a in do_message_print (channel=MSGCH_RECOVERY, param=0, cap=, nojoin=, format=, argp=) at /usr/include/c++/9/bits/char_traits.h:342 ap = {{gp_offset = 16, fp_offset = 48, overflow_arg_area = 0x7ffd70011fe0, reg_save_area = 0x7ffd70011f20}} buff = "You break out of your daze.\000\375\177\000\000\310\320,\001\000\000\000\000đ\226\000\000\000\000\000\360\036\001p\375\177\000\000\264\316~\000\000\000\000\000\340\267\060\001\000\000\000\000\000\000\000\000\006\000\000\000ȷ0\001\000\000\000\000\070\036\001p\375\177\000\000`\036\001p\375\177\000\000\006\000\000\000\000\000\000\000Maggie\000\000\307\374~\000\000\000\000\000\200\036\001p\375\177\000\000\002\000\000\000\000\000\000\000, \000gie\000\000\350\267\060\001\000\000\000\000ȷ0\001\000\000\000\000\000\302\215\316\337\356\201\301ȷ0\001\000\000\000\000\340\036\001p\375\177\000\000ȷ0\001\000\000\000" len = #25 0x0000000000a6cb30 in mprf (channel=channel@entry=MSGCH_RECOVERY, format=format@entry=0xdc787f "%s") at message.cc:1307 argp = {{gp_offset = 24, fp_offset = 48, overflow_arg_area = 0x7ffd70011fe0, reg_save_area = 0x7ffd70011f20}} #26 0x0000000000b941d1 in _decrement_a_duration (dur=dur@entry=DUR_MESMERISED, delay=delay@entry=10, endmsg=0xdf59bb "You break out of your daze.", exploss=exploss@entry=0, expmsg=expmsg@entry=0x0, chan=chan@entry=MSGCH_RECOVERY) at player-reacts.cc:160 exppoint = old_dur = #27 0x0000000000b96340 in _decrement_simple_duration (delay=10, dur=DUR_MESMERISED) at player-reacts.cc:811 No locals. #28 _decrement_durations () at player-reacts.cc:811 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 = #29 player_reacts () at player-reacts.cc:1012 stealth = 98 #30 0x0000000000db72e5 in world_reacts () at main.cc:2575 No locals. #31 0x0000000000db819c in _input () at main.cc:1279 player_disabled = {was_disabled = false} #32 0x0000000000db8f65 in _launch_game () at main.cc:480 game_start = ccon = {cstate = false} #33 0x00000000006d9d59 in _launch_game_loop () at main.cc:385 game_ended = false game_ended = ge = fe = E = #34 main (argc=, argv=0x7ffd70012848) at main.cc:335 echo = {prev_state = {value = maybe_bool::mbool_t::maybe, static maybe = {value = maybe_bool::mbool_t::maybe, static maybe = , static t = {value = maybe_bool::mbool_t::t, static maybe = , static t = , static f = {value = maybe_bool::mbool_t::f, static maybe = , static t = , static f = }}, static f = }, static t = , static f = }} [Inferior 1 (process 30605) detached] Compilation info: <<<<<<<<<<< Compiled with GCC 9.4.0 Build platform: x86_64-linux-gnu Platform: x86_64-linux-gnu CFLAGS: -O2 -pipe -DUSE_TILE -DUSE_TILE_WEB -DEXPERIMENTAL_BRANCH="HEAD" -Wall -Wformat-security -Wundef -Wextra -Wno-missing-field-initializers -Wno-implicit-fallthrough -Wno-type-limits -Wno-uninitialized -Wno-array-bounds -Wno-format-zero-length -Wmissing-declarations -Wredundant-decls -Wno-parentheses -Wwrite-strings -Wshadow -pedantic -Wuninitialized -Iutil -I. -isystem /usr/include/lua5.1 -g -DWIZARD -DASSERTS -DCLUA_BINDINGS -DDGAMELAUNCH -DWEB_DIR_PATH="/web/" -D_GNU_SOURCE -isystem /usr/include/ncursesw LDFLAGS: -rdynamic -fuse-ld=gold -O2 >>>>>>>>>>> Place info: branch = 0, depth = 6 Level id: D:6 Level build method = , level layout type = narrow_caves, absdepth0 = 5 Level vaults: layout_layer_cave mainiacjoe_overflow_alcove_4 lemuel_coloured_pillars_altar uniq_maggie Markers: <<<<<<<<<<<<<<<<<<<<<< >>>>>>>>>>>>>>>>>>>>>> Messages: <<<<<<<<<<<<<<<<<<<<<< The searing ray misses the hobgoblin. The searing ray hits the hobgoblin. You kill the hobgoblin! The searing ray hits the goblin! You kill the goblin! The hobgoblin hits you. Without enough magic to sustain it, your searing ray dissipates. Robin throws the goblin at you! The goblin hits you but does no damage. A goblin comes into view. It is wielding a +0 dagger. Unknown command. You closely miss the hobgoblin. The hobgoblin is almost dead. The goblin closely misses you. The hobgoblin hits you but does no damage. The goblin misses you. Robin throws the goblin at you! A hobgoblin comes into view. The hobgoblin hits you. The goblin hits you but does no damage. The goblin misses you. The goblin hits you with a +0 dagger. The goblin hits you but does no damage. A goblin comes into view. It is wielding a +0 club. The goblin misses you. The goblin attacks as you move away! The goblin hits you with a +0 club. There is an open door here. The goblin attacks as you move away! The goblin barely misses you. There's a creature in the doorway! You closely miss the goblin. You tail-slap the goblin, but do no damage. You hit the goblin. The goblin is severely wounded. The goblin barely misses you. The goblin closely misses you. The goblin barely misses you. The goblin hits you with a +0 club. Robin throws the goblin at you! You aren't carrying any scrolls. Unknown command. Okay, then. Okay, then. You closely miss the goblin. A hobgoblin comes into view. The goblin closely misses you. The goblin hits you but does no damage. Robin roars a battlecry! The goblins go into a battle-frenzy! The goblin hits you but does no damage. The hobgoblin shouts! You closely miss the goblin. The hobgoblin shouts! The goblin hits you but does no damage. The goblin hits you with a +0 club. The goblin barely misses you. The goblin closely misses you. The goblin hits you with a +0 club. x2 Unknown command. You feel yourself speed up. The goblin closely misses you. The goblin hits you but does no damage. The goblin closely misses you. You aren't carrying any scrolls. Okay, then. Casting: Searing Ray (safe; 2% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Searing Ray (safe; 2% risk of failure) Press: ? - help, Shift-Dir - straight line, f - hobgoblin Aim: a hobgoblin (strong, 78% to hit) The searing ray hits the goblin! You kill the goblin! The searing ray hits the hobgoblin! You kill the hobgoblin! The searing ray hits the hobgoblin! You kill the hobgoblin! (Press . to maintain the ray.) The goblin hits you with a +0 club. There is an open door here. You see here a +0 club. The goblin hits you but does no damage. Robin throws the goblin at you! You barely miss the goblin. The goblin is severely wounded. The goblin hits you but does no damage. The goblin misses you. The goblin hits you but does no damage. You completely miss the goblin. The goblin is severely wounded. Robin says, "Duck!" The goblin hits you but does no damage. The goblin closely misses you. You barely miss the goblin. The goblin is severely wounded. The goblin misses you. The goblin barely misses you. You puncture the goblin! You kill the goblin! The goblin closely misses you. Robin throws the goblin at you! You hit the goblin. You kill the goblin! The goblin hits you with a +0 club. You completely miss the goblin. Your tail-slap misses the goblin. The goblin barely misses you. You miss the goblin. The goblin no longer looks unusually strong. The goblin hits you with a +0 club. Robin throws the goblin at you! You slash the goblin! You kill the goblin! The hobgoblin no longer looks unusually strong. You hit the hobgoblin. You tail-slap the hobgoblin, but do no damage. The hobgoblin is severely wounded. The hobgoblin no longer looks unusually strong. The hobgoblin hits you but does no damage. You barely miss the hobgoblin. You tail-slap the hobgoblin. You kill the hobgoblin! You puncture the goblin! You kill the goblin! You hit Robin but do no damage. Robin hits you with a +0 falchion. You hit Robin. Robin is poisoned. Robin is moderately wounded. You hit Robin. Robin is severely wounded. Robin hits you with a +0 falchion. * * * LOW HITPOINT WARNING * * * You hit Robin. Robin looks as sick as possible! Robin is almost dead. You kill Robin! You slash the hobgoblin! You kill the hobgoblin! Items here: )) [[. Okay, then. Things that are here: a +0 club; a goblin corpse Things that are here: a +0 club; a goblin corpse You see here a +0 dagger. Items here: )) [[. You see here a giant cockroach corpse. You see here a +0 spear. There is an open door here. Your extra speed is starting to run out. Things that are here: a +0 dagger; a +0 dagger; a goblin corpse Found a forked silver wand. You feel yourself slow down. Found a dagger. n - a wand of flame (19) Found a scroll labelled HOQEPRATAF. A hobgoblin comes into view. You see here a +0 dagger. You puncture the hobgoblin! You kill the hobgoblin! o - a scroll labelled HOQEPRATAF You open the door. Found a dark potion. There is an open door here. You start resting. Found a stone staircase leading up. Found a stone staircase leading down. p - a dark potion Magic restored. There is an open door here. There is an open door here. There is a stone staircase leading down here. Found a robe. HP restored. You see here a +0 robe. There is a stone staircase leading up here. There is an open door here. As you open the door, it creaks loudly! There is an open door here. There is an open door here. Found a robe. You open the door. There is an open door here. You open the door. There is an open door here. You see here a +0 robe. Key pressed, stopping travel. There is an open door here. A worm comes into view. Casting: Searing Ray (safe; 2% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Searing Ray (safe; 2% risk of failure) Press: ? - help, Shift-Dir - straight line, f - worm Aim: a worm (wandering, hasn't noticed you, 92% to hit) The searing ray hits the worm! The worm is heavily wounded. (Press . to maintain the ray.) The searing ray hits the worm! You kill the worm! Found a stone staircase leading down. There is an open door here. You open the door. You open the door. Found an escape hatch in the floor. There is an open door here. Found a stone staircase leading down. There is an escape hatch in the floor here. You open the door. There is an open door here. There is an open door here. There is an open door here. You open the door. There is an open door here. Found an escape hatch in the ceiling. Eustachio shouts! Casting: Searing Ray (safe; 2% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Searing Ray (safe; 2% risk of failure) Press: ? - help, Shift-Dir - straight line, f - Eustachio Aim: Eustachio, wielding a +0 rapier and wearing a +0 leather armour (69% to hit) The searing ray hits Eustachio! Eustachio is moderately wounded. (Press . to maintain the ray.) The searing ray hits Eustachio. Eustachio is moderately wounded. The searing ray hits Eustachio! Eustachio is heavily wounded. Eustachio mumbles some strange words. The searing ray hits Eustachio. Eustachio is severely wounded. You finish channelling your searing ray. You barely miss Eustachio. Your tail-slap misses Eustachio. Eustachio is severely wounded. Eustachio hits you with a +0 rapier. The bat closely misses you. Eustachio hits you but does no damage. Casting: Searing Ray (safe; 2% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. The spell is quite dangerous to miscast (36% risk of failure)! Continue anyway? You miscast Iskenderun's Mystic Blast. You are very lightly contaminated with residual magic. The air around you crackles with energy! The bat misses you. Eustachio mumbles some strange words. Eustachio blinks! You hit the bat. You kill the bat! The bat's corpse disappears in a puff of smoke! Eustachio gestures wildly while chanting. Eustachio blinks! Reach: h) +1 scythe (venom) Press: ? - help, Dir - move target, f/p - Eustachio Aim: Eustachio, wielding a +0 rapier and wearing a +0 leather armour (severely wounded, about 62% to evade your +1 scythe of venom) You reach to attack! You hit Eustachio. Eustachio is severely wounded. Eustachio mumbles some strange words. You puncture Eustachio! Eustachio is poisoned. Eustachio is almost dead. You kill Eustachio! The rat disappears in a puff of smoke! The bat disappears in a puff of smoke! Your Spellcasting skill increases to level 3! Things that are here: a +0 rapier; a +0 leather armour A hobgoblin comes into view. The hobgoblin shouts! Your magical contamination has completely faded away. The hobgoblin hits you. You closely miss the hobgoblin. The hobgoblin closely misses you. The hobgoblin barely misses you. You barely miss the hobgoblin. You tail-slap the hobgoblin. The hobgoblin is moderately wounded. The hobgoblin hits you but does no damage. You barely miss the hobgoblin. The hobgoblin is moderately wounded. The hobgoblin hits you but does no damage. The hobgoblin hits you. You barely miss the hobgoblin. The hobgoblin is moderately wounded. The hobgoblin hits you but does no damage. You hit the hobgoblin. The hobgoblin is poisoned. The hobgoblin is almost dead. You kill the hobgoblin! There is an open door here. A kobold comes into view. It is wielding a +4 dagger. The kobold shouts! Reach: h) +1 scythe (venom) Press: ? - help, Dir - move target, f - kobold Aim: a kobold, wielding a +4 dagger and quivering stones (about 57% to evade your +1 scythe of venom) You reach to attack! You hit the kobold. You kill the kobold! Found 9 gold pieces. d - 72 stones (gained 5) You see here a +4 dagger. You see here a +4 dagger. Found a radiant altar of Vehumet. You now have 252 gold pieces (gained 9). Found a scroll labelled KODEDIC OSSI. There is an open door here. q - a scroll labelled KODEDIC OSSI There is an open door here. There is a radiant altar of Vehumet here. You kneel at the altar of Vehumet. Vehumet welcomes you! There is an open door here. Found a bloodstained altar of Trog. There is a bloodstained altar of Trog here. You open the door. There is an open door here. Found a scroll labelled KODEDIC OSSI. q - 2 scrolls labelled KODEDIC OSSI (gained 1) There is an open door here. There is an open door here. There is an open door here. There is an open door here. There is an open door here. There is an open door here. You enter the shallow water. Moving in this stuff is going to be slow. There is an open door here. An adder comes into view. Casting: Iskenderun's Mystic Blast (quite dangerous; 32% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Magic Dart (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line, f - adder Aim: an adder (asleep, 100% to hit) The magic dart hits the adder! The adder is severely wounded. Casting: Magic Dart (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Searing Ray (safe; 2% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - adder Aim: an adder (severely wounded, 66% to hit) The searing ray hits the adder. You kill the adder! Vehumet accepts your kill. (Press . to maintain the ray.) There is a stone staircase leading down here. You start resting. Magic restored. You climb downwards. There is a stone staircase leading up here. Unknown command. Found a stone staircase leading down. Found 7 gold pieces. You open the door. Found a pitted scale mail. You now have 259 gold pieces (gained 7). You open the door. There is an open door here. You open the door. There is an open door here. You open the door. Found an iron altar of Okawaru. There is an open door here. There is an iron altar of Okawaru here. You open the door. There is an open door here. You open the door. A scorpion comes into view. Found 6 stones. There is an open door here. The helpless scorpion fails to defend itself. You hit the scorpion. The scorpion is poisoned. The scorpion is moderately wounded. The scorpion barely misses you. The scorpion misses you. You closely miss the scorpion. The scorpion is severely wounded. The scorpion stings you. The scorpion barely misses you. You closely miss the scorpion. You tail-slap the scorpion. You kill the scorpion! Vehumet accepts your kill. Your Fire Magic skill increases to level 1! Your Poison Magic skill increases to level 1! You have reached level 7! Your scales start taking on a rich purple colour. You learn Spellcasting much quicker. You learn Hexes much quicker. You learn Evocations quicker. You can breathe bolts of dispelling energy. You open the door. There is an open door here. d - 78 stones (gained 6) There is an open door here. You open the door. There is an open door here. You open the door. As you open the door, it creaks loudly! There is an open door here. You open the door. There is an open door here. You open the door. There is an open door here. As you open the door, it creaks loudly! There is an open door here. There is a stone staircase leading down here. Found an opulent altar of Gozag. Found a scroll labelled NUIROUGO YMEDE. Found 17 gold pieces. r - a scroll labelled NUIROUGO YMEDE You now have 276 gold pieces (gained 17). Found a book of the Senses. A sleepcap comes into view. 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 - sleepcap Aim: a sleepcap (100% to hit) The searing ray hits the sleepcap. The sleepcap is lightly damaged. (Press . to maintain the ray.) The searing ray hits the sleepcap! The sleepcap is heavily damaged. The searing ray hits the sleepcap. The sleepcap is heavily damaged. Casting: Searing Ray (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. The spell is quite dangerous to miscast (30% risk of failure)! Continue anyway? You erupt in a blast of force! The mystic blast hits the sleepcap! The sleepcap is almost destroyed. The sleepcap is knocked back by the mystic blast. Reach: h) +1 scythe (venom) Press: ? - help, Dir - move target, f/p - sleepcap Aim: a sleepcap (almost destroyed, about 2% to evade your +1 scythe of venom) You reach to attack! You slash the sleepcap! You destroy the sleepcap! Vehumet accepts your kill. Your Polearms skill increases to level 1! Your Stealth skill increases to level 3! Your Transmutations skill increases to level 1! Found a stone staircase leading up. You pick up a book of the Senses and begin reading... You add the spells Agony and Silence to your library. A quokka comes into view. Casting: Iskenderun's Mystic Blast (quite dangerous; 28% 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 - quokka Aim: a quokka (wandering, hasn't noticed you, 71% to hit) The searing ray hits the quokka. You kill the quokka! Vehumet accepts your kill. (Press . to maintain the ray.) Found a stone staircase leading down. Magic restored. Found 12 gold pieces. You now have 288 gold pieces (gained 12). Found an escape hatch in the ceiling. A gnoll comes into view. It is wielding a +0 flail. A gnoll comes into view. It is wielding a +0 flail. 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 flail (asleep, 100% to hit) You miscast Searing Ray. You are very lightly contaminated with residual magic. Nothing appears to happen. 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 - gnoll Aim: a gnoll, wielding a +0 flail (asleep, 100% to hit) The searing ray hits the gnoll. The gnoll is lightly wounded. (Press . to maintain the ray.) A gnoll comes into view. It is wielding a +0 spear. The searing ray hits the gnoll. The gnoll is heavily wounded. The searing ray hits the gnoll! You kill the gnoll! Vehumet accepts your kill. The searing ray hits the gnoll. The gnoll is heavily wounded. The gnoll shouts! The searing ray hits the gnoll. The gnoll is almost dead. You finish channelling your searing ray. Reach: h) +1 scythe (venom) Press: ? - help, Dir - move target, f - gnoll Aim: a gnoll, wielding a +0 spear (almost dead, about 44% to evade your +1 scythe of venom) You reach to attack! You closely miss the gnoll. The gnoll is almost dead. The gnoll hits you from afar with a +0 spear! The gnoll hits you from afar with a +0 spear. Reach: h) +1 scythe (venom) Press: ? - help, Dir - move target, f/p - gnoll Aim: a gnoll, wielding a +0 spear (almost dead, about 44% to evade your +1 scythe of venom) The gnoll is in the way. You slash the gnoll! The gnoll is poisoned. Your tail-slap misses the gnoll. The gnoll is almost dead. The gnoll hits you but does no damage. The gnoll closely misses you. Your magical contamination has completely faded away. Reach: h) +1 scythe (venom) Press: ? - help, Dir - move target, f - gnoll, p - gnoll Aim: a gnoll, wielding a +0 flail (almost dead, very poisoned, about 44% to evade your +1 scythe of venom) You hit the gnoll but do no damage. The gnoll looks as sick as possible! The gnoll is almost dead. You kill the gnoll! Vehumet accepts your kill. The gnoll misses you. x2 Reach: h) +1 scythe (venom) Press: ? - help, Dir - move target, f - gnoll Aim: a gnoll, wielding a +0 spear (almost dead, about 44% to evade your +1 scythe of venom) You reach to attack! You hit the gnoll. You kill the gnoll! Vehumet accepts your kill. Found a stone staircase leading up. Things that are here: a +0 flail; a gnoll corpse Things that are here: a +0 spear; a +0 flail; a gnoll corpse There is a stone staircase leading up here. Unknown command. Found 14 gold pieces and a sharpened brass wand. Found a scroll labelled NUIROUGO YMEDE. s - a wand of polymorph (12) r - 2 scrolls labelled NUIROUGO YMEDE (gained 1) You now have 302 gold pieces (gained 14). Found a stone staircase leading down. Found a robe. There is a stone staircase leading down here. You see here a +0 robe. Found a rapier. There is a stone staircase leading down here. Found a whip. Found an escape hatch in the floor. A hound comes into view. Found 10 gold pieces. 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. 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 - hound Aim: a hound (asleep, 100% to hit) The searing ray hits the hound. The hound is moderately wounded. The hound barks! (Press . to maintain the ray.) You hear a shout! The searing ray hits the hound. The hound is heavily wounded. The searing ray hits the hound! The hound is almost dead. The hound misses you. The hound bites you but does no damage. The searing ray misses the hound. You finish channelling your searing ray. The hound bites you but does no damage. The hound misses you. x2 You closely miss the hound. Your tail-slap misses the hound. The hound is almost dead. The hound closely misses you. x2 You slash the hound! You kill the hound! Vehumet accepts your kill. Found a scroll of magic mapping. Found a book of Spectacle. An ogre comes into view. It is wielding a +0 giant club. You see here a +0 whip. Aiming: Breathe Dispelling Energy (5% risk of failure) Press: ? - help, Shift-Dir - straight line, f - ogre Aim: an ogre, wielding a +0 giant club (78% to hit) You breathe a bolt of dispelling energy. The bolt of dispelling energy hits the ogre! The ogre is moderately wounded. 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 - ogre Aim: an ogre, wielding a +0 giant club (moderately wounded, 90% to hit) The searing ray hits the ogre! The ogre is severely wounded. (Press . to maintain the ray.) The searing ray hits the ogre. The ogre is almost dead. You hit the ogre. The ogre is almost dead. The ogre hits you but does no damage. You puncture the ogre! You kill the ogre! Vehumet accepts your kill. Your Hexes skill increases to level 1! Your Translocations skill increases to level 2! Things that are here: a +0 giant club; an ogre corpse You now have 312 gold pieces (gained 10). Okay, then. t - a scroll of magic mapping You pick up a book of Spectacle and begin reading... You add the spells Volatile Blastmotes and Starburst to your library. Okay, then. You have got your breath back. Found 17 gold pieces. A white imp comes into view. Found 13 gold pieces, a scroll labelled KODEDIC OSSI and a flail. A scorpion comes into view. The white imp shouts, "Flounder, thou paunchy idle-headed coxcomb!" You see here 17 gold pieces. Found 13 gold pieces. 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 - white imp Aim: a white imp (79% to hit) The searing ray hits the white imp. The white imp is moderately wounded. (Press . to maintain the ray.) The white imp gestures at you. The puff of frost hits you! The searing ray hits the white imp. The white imp is severely wounded. Reach: h) +1 scythe (venom) Press: ? - help, Dir - move target, f/p - white imp Aim: a white imp (severely wounded, about 48% to evade your +1 scythe of venom) You reach to attack! You slash the white imp! You kill the white imp! Vehumet accepts your kill. Reach: h) +1 scythe (venom) Press: ? - help, Dir - move target, f - scorpion Aim: a scorpion (about 48% to evade your +1 scythe of venom) You reach to attack! You closely miss the scorpion. Casting: Searing Ray (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. The spell is quite dangerous to miscast (26% risk of failure)! Continue anyway? You erupt in a blast of force! The mystic blast hits the scorpion. The scorpion is moderately wounded. The scorpion is knocked back by the mystic blast. Reach: h) +1 scythe (venom) Press: ? - help, Dir - move target, f/p - scorpion Aim: a scorpion (moderately wounded, about 48% to evade your +1 scythe of venom) You reach to attack! You hit the scorpion. The scorpion is heavily wounded. The scorpion stings you but does no damage. Reach: h) +1 scythe (venom) Press: ? - help, Dir - move target, f/p - scorpion Aim: a scorpion (heavily wounded, about 48% to evade your +1 scythe of venom) You hit the scorpion. The scorpion is poisoned. The scorpion is heavily wounded. The scorpion stings you. The scorpion barely misses you. Unknown command. Casting: Iskenderun's Mystic Blast (quite dangerous; 26% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. You miscast Ignite Poison. You are very lightly contaminated with residual magic. Nothing appears to happen. The scorpion barely misses you. Unknown command. You closely miss the scorpion. Your tail-slap misses the scorpion. The scorpion is almost dead. You kill the scorpion! Vehumet accepts your kill. Your Spellcasting skill increases to level 4! You see here a scorpion corpse. Your magical contamination has completely faded away. You now have 325 gold pieces (gained 13). q - 3 scrolls labelled KODEDIC OSSI (gained 1) You now have 338 gold pieces (gained 13). Okay, then. You see here a +0 flail. You see here a scorpion corpse. You now have 355 gold pieces (gained 17). You see here a scorpion corpse. You see here a +0 flail. Found 6 gold pieces. You now have 361 gold pieces (gained 6). A jelly comes into view. An iguana comes into view. The jelly quivers. Casting: Ignite Poison (dangerous; 26% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. The spell is quite dangerous to miscast (26% risk of failure)! Continue anyway? Okay, then. Casting: Iskenderun's Mystic Blast (quite dangerous; 26% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. The spell is quite dangerous to miscast (26% risk of failure)! Continue anyway? You miscast Iskenderun's Mystic Blast. You are very lightly contaminated with residual magic. You are blasted with magical energy! The jelly hits you but does no damage. Casting: Iskenderun's Mystic Blast (quite dangerous; 26% 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 - iguana Aim: an iguana (82% to hit) The searing ray hits the jelly! The jelly is heavily wounded. The searing ray hits the iguana! The iguana is heavily wounded. (Press . to maintain the ray.) The jelly barely misses you. The searing ray hits the jelly. The jelly is severely wounded. The searing ray hits the iguana. The iguana is heavily wounded. The jelly hits you but does no damage. You slash the jelly! You kill the jelly! Vehumet accepts your kill. The iguana bites you! The iguana bites you but does no damage. Your Dodging skill increases to level 3! You closely miss the iguana. The iguana is heavily wounded. The iguana bites you. You puncture the iguana! You kill the iguana! Vehumet accepts your kill. You see here an iguana corpse. Your magical contamination has completely faded away. An ice beast comes into view. You start resting. HP restored. Casting: Searing Ray (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. You can't see any susceptible monsters within range! (Use Z to cast anyway.) 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 - ice beast Aim: an ice beast (79% to hit) You miscast Searing Ray. You are very lightly contaminated with residual magic. Nothing appears to happen. Reach: h) +1 scythe (venom) Press: ? - help, Dir - move target, f/p - ice beast Aim: an ice beast (about 48% to evade your +1 scythe of venom) You reach to attack! You hit the ice beast. The ice beast is lightly wounded. The ice beast hits you but does no damage. You puncture the ice beast! The ice beast is moderately wounded. The ice beast hits you but does no damage. You hit the ice beast. The ice beast is poisoned. The ice beast is heavily wounded. The ice beast hits you. The ice beast freezes you. The ice beast closely misses you. You puncture the ice beast! The ice beast is almost dead. The ice beast hits you. The ice beast freezes you! You feel yourself slow down. You slash the ice beast! You kill the ice beast! Vehumet accepts your kill. You feel yourself speed up. Your magical contamination has completely faded away. Magic restored. Found a +6 ring of dexterity and a golden ring. u - a +6 ring of dexterity v - a ring of protection from cold You drop a +6 ring of dexterity. There is an escape hatch in the floor here. There is a stone staircase leading down here. A shadow imp comes into view. The shadow imp shouts! Casting: Searing Ray (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. You can't see any susceptible monsters within range! (Use Z to cast anyway.) 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 - shadow imp Aim: a shadow imp (77% to hit) The searing ray hits the shadow imp. The shadow imp is heavily wounded. (Press . to maintain the ray.) The searing ray hits the shadow imp! You kill the shadow imp! Vehumet accepts your kill. There is a stone staircase leading down here. You climb downwards. Found a book of Lightning and a trident. Found a stone staircase leading down. There is a stone staircase leading up here. You pick up a book of Lightning and begin reading... You add the spells Vhi's Electric Charge, Arcjolt and Plasma Beam to your library. You now have 378 gold pieces (gained 17). Okay, then. You see here a +0 trident. Found a fuming orange potion. Found 10 gold pieces. u - a fuming orange potion Found a lumpy pearl amulet. You now have 388 gold pieces (gained 10). An orc wizard and an orc come into view. Found a robe. You see here an amulet of reflection. w - an amulet of reflection You start putting on your amulet. You continue putting on your amulet of reflection. x2 The orc wizard shouts! You hear a shout! The orc wizard casts a spell at you. Keep equipping yourself? Uppercase [Y]es or [N]o only, please. Keep equipping yourself? You stop putting on your amulet. The puff of flame hits 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 - orc Aim: an orc, wielding a +0 mace and wearing a +0 chain mail (85% to hit) The searing ray hits the orc. You kill the orc! Vehumet accepts your kill. (Press . to maintain the ray.) An orc comes into view. It is wielding a +0 short sword. 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 - orc wizard Aim: an orc wizard, wielding a +0 dagger and wearing a +0 robe (74% to hit) The searing ray hits the orc wizard. The orc wizard is moderately wounded. (Press . to maintain the ray.) The searing ray misses the orc wizard. Reach: h) +1 scythe (venom) Press: ? - help, Dir - move target, f/p - orc wizard Aim: an orc wizard, wielding a +0 dagger and wearing a +0 robe (moderately wounded, about 57% to evade your +1 scythe of venom) You reach to attack! You barely miss the orc wizard. The orc wizard is moderately wounded. You miss the orc wizard. The orc wizard is moderately wounded. The orc closely misses you. The orc wizard hits you with a +0 dagger. Casting: Searing Ray (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. The spell is quite dangerous to miscast (22% risk of failure)! Continue anyway? You erupt in a blast of force! The mystic blast hits the orc wizard. The orc wizard is severely wounded. The orc wizard is knocked back by the mystic blast. The mystic blast hits the orc! You kill the orc! Vehumet accepts your kill. You hear a shout! You puncture the orc wizard! You kill the orc wizard! Vehumet accepts your kill. An orc comes into view. It is wielding a +0 hand axe. Your Fighting skill increases to level 3! Your Conjurations skill increases to level 6! Casting: Iskenderun's Mystic Blast (quite dangerous; 22% 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 - orc Aim: an orc, wielding a +0 hand axe (79% to hit) The searing ray misses the orc. (Press . to maintain the ray.) 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/p - orc Aim: an orc, wielding a +0 hand axe (79% to hit) The searing ray misses the orc. (Press . to maintain the ray.) The searing ray hits the orc! You kill the orc! Vehumet accepts your kill. Things that are here: a +0 short sword; a +0 leather armour; an orc corpse Found a stone staircase leading down. t - 2 scrolls of magic mapping (gained 1) Things that are here: a +0 hand axe; an orc corpse Things that are here: a +0 mace; a +0 chain mail Things that are here: a +0 dagger; a +0 robe; an orc corpse You start putting on your amulet. You continue putting on your amulet of reflection. x5 You finish putting on your amulet of reflection. You feel a shielding aura gather around you. w - an amulet of reflection (around neck) Found a thick glowing staff. You see here a staff of fire. x - a staff of fire Okay, then. Okay, then. Okay, then. Your +1 scythe of venom stops dripping with poison. x - a staff of fire (weapon) You see here a +0 trident. Magic restored. There is a stone staircase leading up here. 2 iguanas come into view. The iguana hisses angrily. The iguana moves out of view. 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 - iguana Aim: an iguana (82% to hit) The searing ray hits the iguana! The iguana is heavily wounded. (Press . to maintain the ray.) You hear an angry hiss. The searing ray hits the iguana. The iguana is severely wounded. The searing ray hits the iguana! You kill the iguana! Vehumet accepts your kill. The searing ray hits the iguana but does no damage. You finish channelling your searing ray. You hit the iguana but do no damage. The iguana bites you. You hit the iguana but do no damage. The iguana closely misses you. You closely miss the iguana. You tail-slap the iguana. The iguana is lightly wounded. The iguana misses you. x2 You hit the iguana but do no damage. You tail-slap the iguana. The iguana is lightly wounded. You block the iguana's attack. You hit the iguana but do no damage. Your tail-slap misses the iguana. The iguana is lightly wounded. The iguana barely misses you. You barely miss the iguana. The iguana is lightly wounded. The iguana bites you. You hit the iguana but do no damage. The iguana is lightly wounded. The iguana bites you. You barely miss the iguana. Your tail-slap misses the iguana. The iguana is lightly wounded. The iguana closely misses you. Your +1 scythe of venom begins to drip with poison! h - a +1 scythe of venom (weapon) The iguana bites you. You completely miss the iguana. The iguana is lightly wounded. You block the iguana's attack. You hit the iguana but do no damage. The iguana is poisoned. The iguana is lightly wounded. You block the iguana's attack. The iguana completely misses you. You puncture the iguana! The iguana is severely wounded. The iguana misses you. You hit the iguana. You kill the iguana! Vehumet accepts your kill. You have reached level 8! You feel stronger. Okay, then. You see here an iguana corpse. Found a staff of fire. Found 8 gold pieces. Found 3 stones and a potion of mutation. You see here a staff of fire. l - 3 potions of mutation (gained 1) An ice beast comes into view. Maggie the Vainglorious comes into view. She is wielding a +0 halberd. Okay, then. Casting: Searing Ray (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. You can't see any susceptible monsters within range! (Use Z to cast anyway.) 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 - ice beast Aim: an ice beast (79% to hit) The searing ray hits the ice beast. The ice beast is lightly wounded. (Press . to maintain the ray.) The searing ray hits the ice beast. The ice beast is moderately wounded. The searing ray hits the ice beast. The ice beast is moderately wounded. The ice beast misses you. The searing ray hits the ice beast. The ice beast is heavily wounded. You finish channelling your searing ray. The ice beast misses you. You barely miss the ice beast. You tail-slap the ice beast, but do no damage. The ice beast is heavily wounded. The ice beast hits you but does no damage. The ice beast barely misses you. You slash the ice beast! You kill the ice beast! Vehumet accepts your kill. Your Polearms skill increases to level 2! You start resting. Magic restored. Okay, then. Found a scroll of identify. 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 +0 halberd and wearing +0 steam dragon scales (asleep, 100% to hit) The searing ray hits Maggie! Maggie is lightly wounded. (Press . to maintain the ray.) Maggie gestures wildly while chanting. Maggie attempts to bespell you! You are mesmerised by Maggie! The searing ray hits Maggie. Maggie is lightly wounded. Maggie says, "Leave now, and tell all of Margery's mercy!" The searing ray hits Maggie! Maggie is moderately wounded. The searing ray hits Maggie. Maggie is moderately wounded. You finish channelling your searing ray. Maggie hits you from afar with a +0 halberd! You block Maggie's attack. Reach: h) +1 scythe (venom) Press: ? - help, Dir - move target, f/p - Maggie Aim: Maggie, wielding a +0 halberd and wearing +0 steam dragon scales (moderately wounded, mesmerising, about 46% to evade your +1 scythe of venom) You reach to attack! You hit Maggie but do no damage. Maggie is poisoned. Maggie is moderately wounded. Maggie says, "Leave now, and tell all of Margery's mercy!" Maggie hits you but does no damage. Maggie closely misses you. Reach: h) +1 scythe (venom) Press: ? - help, Dir - move target, f/p - Maggie Aim: Maggie, wielding a +0 halberd and wearing +0 steam dragon scales (moderately wounded, mesmerising, poisoned, about 46% to evade your +1 scythe of venom) Okay, then. Casting: Searing Ray (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. You ignite the poison in your surroundings! Maggie seems to burn from within! Maggie is heavily wounded. Maggie hits you but does no damage. Casting: Ignite Poison (dangerous; 22% 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 +0 halberd and wearing +0 steam dragon scales (heavily wounded, mesmerising, 79% to hit) The searing ray hits Maggie. Maggie is severely wounded. (Press . to maintain the ray.) >>>>>>>>>>>>>>>>>>>>>> Version history: Game started: 0.30.0 Game state: mouse_enabled: 0, waiting_for_command: 0, terminal_resized: 0 io_inited: 1, need_save: 1, saving_game: 0, updating_scores: 0: seen_hups: 0, map_stat_gen: 0, type: 1, arena_suspended: 0 prev_cmd = CMD_CAST_SPELL repeat_cmd = CMD_NO_CMD Player: {{{{{{{{{{{ Name: [frystalian] Species: Purple Draconian Job: Conjurer HP: 54/63; mods: 0/0 MP: 5/14; mod: 0 Stats: 17 (17) 20 (20) 15 (15) Position: (28, 51), god: Vehumet (6), turn_is_over: 1, banished: 0 Standing on/in/over feature: floor Skills (mode: manual) Name | can_currently_train | train | training | level | points | progress Fighting | X | 1 | 8 | 3 | 279 | 27/168 Short Blades | X | 0 | 0 | 0 | 0 | 0/50 Long Blades | X | 0 | 0 | 0 | 0 | 0/50 Axes | X | 0 | 0 | 0 | 13 | 13/50 Maces & Flails | X | 0 | 0 | 1 | 109 | 59/100 Polearms | X | 1 | 8 | 2 | 154 | 4/150 Staves | X | 0 | 0 | 0 | 0 | 0/50 Ranged Weapons | X | 0 | 0 | 0 | 0 | 0/59 Throwing | X | 0 | 0 | 0 | 0 | 0/59 Dodging | X | 1 | 8 | 3 | 406 | 50/238 Stealth | X | 1 | 8 | 3 | 408 | 108/200 Shields | X | 0 | 0 | 0 | 0 | 0/50 Unarmed Combat | X | 0 | 0 | 0 | 0 | 0/50 Spellcasting | X | 1 | 8 | 4 | 477 | 57/210 Conjurations | X | 2 | 16 | 6 | 1095 | 45/350 Hexes | X | 1 | 8 | 1 | 106 | 64/84 Summonings | X | 0 | 0 | 0 | 0 | 0/50 Necromancy | X | 0 | 0 | 0 | 0 | 0/50 Translocations | X | 1 | 8 | 2 | 213 | 63/150 Transmutations | X | 0 | 0 | 1 | 50 | 0/100 Fire Magic | X | 1 | 8 | 1 | 113 | 63/100 Ice Magic | X | 0 | 0 | 0 | 0 | 0/50 Air Magic | X | 1 | 8 | 0 | 21 | 21/50 Earth Magic | X | 0 | 0 | 0 | 0 | 0/50 Poison Magic | X | 0 | 0 | 1 | 54 | 4/100 Invocations | X | 0 | 0 | 0 | 0 | 0/42 Evocations | X | 1 | 8 | 0 | 14 | 14/42 Spell bugs: Durations: Attributes: #12: 388 #36: 1 #49: 433 Mutations: cold-blooded: 1 (innate) Inventory bugs: Equipment: eq slot #0, inv slot #7: +1 scythe of venom eq slot #7, inv slot #4: +6 ring of strength eq slot #8, inv slot #0: +6 ring of dexterity eq slot #9, inv slot #22: 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.