ASSERT((duration[DUR_MESMERISED] > 0) == !beholders.empty()) in 'behold.cc' at line 66 failed. Version: Dungeon Crawl Stone Soup 0.32-a0-931-g5a2cda0 Platform: unix Bits: 64 Game mode: normal Tiles: online Seed: 12969710108339318542, deterministic pregen: 1 Command line: /var/dcss/builds/dcss-trunk/latest/bin/dcss -name Girthnturf -rc /var/dcss/gamedata/dcss-trunk/rc-files/Girthnturf.rc -macro /var/dcss/gamedata/dcss-trunk/rc-files/Girthnturf.macro -morgue /var/dcss/gamedata/dcss/morgue/Girthnturf/ -extra-opt-first travel_delay=20 -extra-opt-first rest_delay=0 -dir /var/dcss/gamedata/dcss-trunk/save/ -webtiles-socket /var/dcss/sockets/Girthnturf:2024-04-13.06:43:15.sock -await-connection RC options: restart_after_game = false Crash caused by signal #6: Aborted Obtained 29 stack frames. /var/dcss/builds/dcss-trunk/latest/bin/dcss(_Z17write_stack_traceP8_IO_FILE+0x38) [0x7b2378]: write_stack_trace(_IO_FILE*) /var/dcss/builds/dcss-trunk/latest/bin/dcss(_Z13do_crash_dumpv+0x3de) [0x7bc06e]: do_crash_dump() /var/dcss/builds/dcss-trunk/latest/bin/dcss(_Z20crash_signal_handleri+0x1f0) [0x7b27e0]: crash_signal_handler(int) /lib/x86_64-linux-gnu/libc.so.6(+0x354c0) [0x7fb55195e4c0]: /lib/x86_64-linux-gnu/libpthread.so.0(raise+0x29) [0x7fb551d04269]: /var/dcss/builds/dcss-trunk/latest/bin/dcss() [0x7bb819] /var/dcss/builds/dcss-trunk/latest/bin/dcss() [0x7bb9c1] /var/dcss/builds/dcss-trunk/latest/bin/dcss() [0x779c8c] /var/dcss/builds/dcss-trunk/latest/bin/dcss() [0x779cb7] /var/dcss/builds/dcss-trunk/latest/bin/dcss(_Z16fill_status_infoiR11status_info+0x1984) [0xd126c4]: fill_status_info(int, status_info&) /var/dcss/builds/dcss-trunk/latest/bin/dcss(_ZN14TilesFramework12_send_playerEb+0x21db) [0xe25bdb]: TilesFramework::_send_player(bool) /var/dcss/builds/dcss-trunk/latest/bin/dcss(_ZN14TilesFramework6redrawEv+0x9a) [0xe2a1aa]: TilesFramework::redraw() /var/dcss/builds/dcss-trunk/latest/bin/dcss(_ZN14TilesFramework17update_input_modeE10mouse_modeb+0x198) [0xe2a4a8]: TilesFramework::update_input_mode(mouse_mode, bool) /var/dcss/builds/dcss-trunk/latest/bin/dcss(_ZN13mouse_controlC1E10mouse_mode+0x17) [0xa273b7]: mouse_control::mouse_control(mouse_mode) /var/dcss/builds/dcss-trunk/latest/bin/dcss() [0xac1348] /var/dcss/builds/dcss-trunk/latest/bin/dcss(_ZN14message_window4moreEbb+0x1ef) [0xac325f]: message_window::more(bool, bool) /var/dcss/builds/dcss-trunk/latest/bin/dcss(_ZN14message_window8add_itemENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE11prefix_typeb+0x3d0) [0xac37a0]: message_window::add_item(std::__cxx11::basic_string, std::allocator >, prefix_type, bool) /var/dcss/builds/dcss-trunk/latest/bin/dcss(_ZN13message_store10flush_prevEv+0x347) [0xac3d57]: message_store::flush_prev() /var/dcss/builds/dcss-trunk/latest/bin/dcss() [0xabe51a] /var/dcss/builds/dcss-trunk/latest/bin/dcss(_Z16do_message_print16msg_channel_typeibbPKcP13__va_list_tag+0xda) [0xabec2a]: do_message_print(msg_channel_type, int, bool, bool, char const*, __va_list_tag*) /var/dcss/builds/dcss-trunk/latest/bin/dcss(_Z4mprf16msg_channel_typePKcz+0xb0) [0xabf130]: mprf(msg_channel_type, char const*, ...) /var/dcss/builds/dcss-trunk/latest/bin/dcss() [0xbf02e1] /var/dcss/builds/dcss-trunk/latest/bin/dcss(_Z13player_reactsv+0x7a0) [0xbf28a0]: player_reacts() /var/dcss/builds/dcss-trunk/latest/bin/dcss(_Z12world_reactsv+0x6d5) [0xe33e15]: world_reacts() /var/dcss/builds/dcss-trunk/latest/bin/dcss() [0xe34d23] /var/dcss/builds/dcss-trunk/latest/bin/dcss() [0xe35b1d] /var/dcss/builds/dcss-trunk/latest/bin/dcss(main+0x18c) [0x705ccc]: /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf0) [0x7fb551949840]: /var/dcss/builds/dcss-trunk/latest/bin/dcss(_start+0x29) [0x7067e9]: 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". 0x00007fb551d03f2a in __waitpid (pid=29640, stat_loc=stat_loc@entry=0x0, options=options@entry=0) at ../sysdeps/unix/sysv/linux/waitpid.c:29 #0 0x00007fb551d03f2a in __waitpid (pid=29640, stat_loc=stat_loc@entry=0x0, options=options@entry=0) at ../sysdeps/unix/sysv/linux/waitpid.c:29 resultvar = 18446744073709551104 sc_ret = #1 0x00000000007b21f5 in call_gdb (file=file@entry=0x7fb551cee540 <_IO_2_1_stderr_>) at crash.cc:438 gdb = attach_cmd = "attach 28924\000\000\000\000\000\000\000" #2 0x00000000007bc08a in do_crash_dump () at dbg-asrt.cc:692 t = 1712992545 dir = "/var/dcss/gamedata/dcss/morgue/Girthnturf/" name = "/var/dcss/gamedata/dcss/morgue/Girthnturf/crash-Girthnturf-20240413-071545.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 = 0x7fb551cee540 <_IO_2_1_stderr_> #3 0x00000000007b27e0 in crash_signal_handler (sig_num=6) at crash.cc:198 No locals. #4 No locals. #5 0x00007fb551d04269 in raise (sig=6) at ../sysdeps/unix/sysv/linux/pt-raise.c:35 resultvar = 0 pid = #6 0x00000000007bb819 in _BreakStrToDebugger (mesg=mesg@entry=0x7ffe909f74f0 "ASSERT((duration[DUR_MESMERISED] > 0) == !beholders.empty()) in 'behold.cc' at line 66 failed.", assert=true) at dbg-asrt.cc:818 No locals. #7 0x00000000007bb9c1 in AssertFailed (expr=expr@entry=0xeb4da8 "(duration[DUR_MESMERISED] > 0) == !beholders.empty()", file=file@entry=0xe47d35 "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' , "\004\000\000\000 \000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\000\000\000\000\000\000\000\000`\216\346\001\000\000\000\000\240\304\316Q\265\177\000\000\377\377\377\377\377\377\377\377", '\000' ... args = {{gp_offset = 14964571, fp_offset = 0, overflow_arg_area = 0x7ffe909f7678, reg_save_area = 0x1}} fileName = #8 0x0000000000779c8c in player::beheld (this=) at behold.cc:66 No locals. #9 0x0000000000779cb7 in player::beheld (this=) at behold.cc:66 No locals. #10 0x0000000000d126c4 in fill_status_info (status=status@entry=183, inf=...) at status.cc:303 found = false #11 0x0000000000e25bdb in _update_statuses (c=...) at tileweb.cc:1013 status = 183 changed = false counter = inf = {light_colour = 0, light_text = "", short_text = "", long_text = ""} changed = counter = inf = status = #12 TilesFramework::_send_player (this=0x12eb860 , force_full=false) at tileweb.cc:1206 c = @0x1317be0: {_state_ever_synced = true, name = "Girthnturf", job_title = "the Destroyer", wizard = false, explore = false, species = "Demonspawn", god = "Sif Muna", under_penance = false, piety_rank = 4, form = 0 '\000', hp = 44, hp_max = 59, real_hp_max = 59, poison_survival = 44, mp = 9, mp_max = 20, dd_real_mp_max = 0, contam = 0, noise = -1, adjusted_noise = 0, armour_class = 11, evasion = 11, shield_class = 0, strength = 10 '\n', strength_max = 10 '\n', intel = 26 '\032', intel_max = 26 '\032', dex = 12 '\f', dex_max = 12 '\f', experience_level = 9, exp_progress = 18 '\022', gold = 393, zot_points = 0, elapsed_time = 87424, num_turns = 8742, lives = 0, deaths = 0, place = "Dungeon", depth = 7, position = {x = 20, y = 40}, 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 = 2 '\002', 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 = 20 '\024', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 255, unrand_idx = 255, subtype_rnd = 255, brand = 255, freshness = 255}, rnd = 248 '\370', quantity = 2, flags = 15, pos = {x = -1, y = -1}, link = 1, slot = 98, 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_SCROLLS, 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 = 363867, unrand_idx = 363867, subtype_rnd = 363867, brand = 363867, freshness = 363867}, rnd = 127 '\177', quantity = 5, 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_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 = 73, unrand_idx = 73, subtype_rnd = 73, brand = 73, freshness = 73}, rnd = 190 '\276', quantity = 2, flags = 0, 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 = 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 = 15, unrand_idx = 15, subtype_rnd = 15, brand = 15, freshness = 15}, rnd = 88 'X', 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_WEAPONS, sub_type = 12 '\f', {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 = 7, unrand_idx = 7, subtype_rnd = 7, brand = 7, freshness = 7}, rnd = 218 '\332', quantity = 1, flags = 65551, 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 = 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 = 356677, unrand_idx = 356677, subtype_rnd = 356677, brand = 356677, freshness = 356677}, rnd = 148 '\224', quantity = 7, flags = 2, pos = {x = -1, y = -1}, link = 6, slot = 103, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_POTIONS, sub_type = 0 '\000', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 101, unrand_idx = 101, subtype_rnd = 101, brand = 101, freshness = 101}, rnd = 10 '\n', quantity = 6, 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_ARMOUR, sub_type = 6 '\006', {plus = 1, mon_type = MONS_FRILLED_LIZARD, skill = SK_SHORT_BLADES, charges = 1, net_durability = 1, tithe_state = 1}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 0, unrand_idx = 0, subtype_rnd = 0, brand = 0, freshness = 0}, rnd = 33 '!', 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 = 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 = 104, unrand_idx = 104, subtype_rnd = 104, brand = 104, freshness = 104}, rnd = 62 '>', quantity = 3, 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_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 = 360530, unrand_idx = 360530, subtype_rnd = 360530, brand = 360530, freshness = 360530}, rnd = 210 '\322', quantity = 1, flags = 0, pos = {x = -1, y = -1}, link = 10, slot = 107, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_SCROLLS, sub_type = 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 = 348162, unrand_idx = 348162, subtype_rnd = 348162, brand = 348162, freshness = 348162}, rnd = 243 '\363', quantity = 3, flags = 0, 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_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 = 332107, unrand_idx = 332107, subtype_rnd = 332107, brand = 332107, freshness = 332107}, rnd = 157 '\235', quantity = 5, flags = 0, pos = {x = -1, y = -1}, link = 12, slot = 109, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_SCROLLS, sub_type = 28 '\034', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 350208, unrand_idx = 350208, subtype_rnd = 350208, brand = 350208, freshness = 350208}, rnd = 105 'i', quantity = 1, flags = 0, pos = {x = -1, y = -1}, link = 13, slot = 110, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_SCROLLS, sub_type = 28 '\034', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 365938, unrand_idx = 365938, subtype_rnd = 365938, brand = 365938, freshness = 365938}, rnd = 231 '\347', quantity = 2, 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 = 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 = 63, unrand_idx = 63, subtype_rnd = 63, brand = 63, freshness = 63}, rnd = 134 '\206', quantity = 3, flags = 2, 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_JEWELLERY, sub_type = 47 '/', {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 = 6, unrand_idx = 6, subtype_rnd = 6, brand = 6, freshness = 6}, rnd = 254 '\376', quantity = 1, flags = 15, pos = {x = -1, y = -1}, link = 16, slot = 113, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_POTIONS, sub_type = 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 = 153, unrand_idx = 153, subtype_rnd = 153, brand = 153, freshness = 153}, rnd = 146 '\222', quantity = 2, flags = 15, pos = {x = -1, y = -1}, link = 17, slot = 114, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_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 = 352880, unrand_idx = 352880, subtype_rnd = 352880, brand = 352880, freshness = 352880}, rnd = 190 '\276', quantity = 2, flags = 0, pos = {x = -1, y = -1}, link = 18, slot = 115, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_SCROLLS, sub_type = 23 '\027', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 330117, unrand_idx = 330117, subtype_rnd = 330117, brand = 330117, freshness = 330117}, rnd = 172 '\254', quantity = 1, 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 = 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 = 6, unrand_idx = 6, subtype_rnd = 6, brand = 6, freshness = 6}, rnd = 78 'N', quantity = 2, flags = 15, 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_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 = 327961, unrand_idx = 327961, subtype_rnd = 327961, brand = 327961, freshness = 327961}, rnd = 241 '\361', quantity = 2, 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_JEWELLERY, sub_type = 1 '\001', {plus = 4, mon_type = MONS_KOMODO_DRAGON, skill = SK_MACES_FLAILS, charges = 4, net_durability = 4, tithe_state = 4}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 25, unrand_idx = 25, subtype_rnd = 25, brand = 25, freshness = 25}, rnd = 211 '\323', 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_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 = 337932, unrand_idx = 337932, subtype_rnd = 337932, brand = 337932, freshness = 337932}, rnd = 76 'L', quantity = 1, flags = 2, 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_ARMOUR, 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 = 251 '\373', quantity = 1, flags = 15, pos = {x = -1, y = -1}, link = 24, slot = 121, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "Pargi", 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 = 27, unrand_idx = 27, subtype_rnd = 27, brand = 27, freshness = 27}, rnd = 87 'W', quantity = 2, flags = 2, pos = {x = -1, y = -1}, link = 25, slot = 122, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_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 = 1, unrand_idx = 1, subtype_rnd = 1, brand = 1, freshness = 1}, rnd = 220 '\334', quantity = 1, flags = 15, pos = {x = -1, y = -1}, link = 26, slot = 65, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_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 = 360080, unrand_idx = 360080, subtype_rnd = 360080, brand = 360080, freshness = 360080}, rnd = 111 'o', quantity = 4, flags = 0, pos = {x = -1, y = -1}, link = 27, slot = 66, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_JEWELLERY, sub_type = 15 '\017', {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 = 252, unrand_idx = 252, subtype_rnd = 252, brand = 252, freshness = 252}, rnd = 8 '\b', quantity = 1, flags = 15, pos = {x = -1, y = -1}, link = 28, slot = 67, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_SCROLLS, sub_type = 28 '\034', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 331115, unrand_idx = 331115, subtype_rnd = 331115, brand = 331115, freshness = 331115}, rnd = 24 '\030', quantity = 1, flags = 0, pos = {x = -1, y = -1}, link = 29, slot = 68, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_POTIONS, sub_type = 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 = 42, unrand_idx = 42, subtype_rnd = 42, brand = 42, freshness = 42}, rnd = 98 'b', quantity = 3, flags = 0, pos = {x = -1, y = -1}, link = 30, slot = 69, 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 = 331911, unrand_idx = 331911, subtype_rnd = 331911, brand = 331911, freshness = 331911}, rnd = 44 ',', quantity = 1, flags = 0, pos = {x = -1, y = -1}, link = 31, slot = 70, 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 = 154, unrand_idx = 154, subtype_rnd = 154, brand = 154, freshness = 154}, rnd = 122 'z', quantity = 1, flags = 15, pos = {x = -1, y = -1}, link = 32, slot = 71, 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 = 44 ',', {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 = 35, unrand_idx = 35, subtype_rnd = 35, brand = 35, freshness = 35}, rnd = 145 '\221', quantity = 1, flags = 15, pos = {x = -1, y = -1}, link = 33, slot = 72, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_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 = "\005\b\377\377\377\377\030\026\034\020", '\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 = god = "Sif Muna" prank = max_max_hp = place = short_name = "Dungeon" pos = #13 0x0000000000e2a1aa in TilesFramework::redraw (this=0x12eb860 ) at tileweb.cc:2203 No locals. #14 0x0000000000e2a4a8 in TilesFramework::update_input_mode (this=0x12eb860 , mode=mode@entry=MOUSE_MODE_MORE, force=force@entry=false) at tileweb.cc:944 prev_mode = #15 0x0000000000a273b7 in mouse_control::mouse_control (this=0x7ffe909f8284, mode=MOUSE_MODE_MORE) at libutil.cc:492 No locals. #16 0x0000000000ac1348 in readkey_more (user_forced=user_forced@entry=false) at message.cc:1889 keypress = 0 unwind_more = {val = @0x128bf81, oldval = false} mc = {m_previous_mode = MOUSE_MODE_NORMAL, static ms_current_mode = MOUSE_MODE_NORMAL} #17 0x0000000000ac325f in message_window::more (this=this@entry=0x1295c40 , full=full@entry=true, user=user@entry=false) at message.cc:728 rng = {previous = rng::UI} last_row = 7 #18 0x0000000000ac37a0 in message_window::make_space (n=1, this=0x1295c40 ) at message.cc:479 space = 0 s = space = s = #19 message_window::add_item (this=this@entry=0x1295c40 , 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 1072461 = { nl = @0x330c770: {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 0x0000000000ac3d57 in message_store::store_msg (msg=..., this=0x128bfa0 ) at message.cc:820 p = prefix_type::none dontsend = p = dontsend = #21 message_store::flush_prev (this=this@entry=0x128bfa0 ) 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 = 8742, join = true} #22 0x0000000000abe51a in message_store::add (msg=..., this=0x128bfa0 ) at message.cc:784 orig_full_text = "You break out of your daze." orig_full_text = #23 _mpr (text=..., channel=MSGCH_RECOVERY, param=, nojoin=, cap=) at message.cc:1594 _doing_c_message_hook = false rng = {previous = rng::GAMEPLAY} colour = col = "lightgreen" domore = do_flash_screen = false join = fs = {ops = std::vector of length 3, capacity 4 = {{type = FSOP_COLOUR, colour = 10, text = ""}, {type = FSOP_TEXT, colour = -1, text = "You break out of your daze."}, {type = FSOP_COLOUR, colour = 7, text = ""}}} msg = {channel = MSGCH_RECOVERY, param = 0, messages = std::vector of length 1, capacity 1 = {{text = "You break out of your daze.", repeats = 1}}, turn = 8742, join = true} #24 0x0000000000abec2a 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 = 0x7ffe909f8860, reg_save_area = 0x7ffe909f87a0}} buff = "You break out of your daze.\000\376\177\000\000\250:7\001\000\000\000\000\024d\233\000\000\000\000\000p\207\237\220\376\177\000\000\064\211\202\000\000\000\000\000\070';\001\000\000\000\000\000\000\000\000\a\000\000\000 ';\001\000\000\000\000\270\206\237\220\376\177\000\000\340\206\237\220\376\177\000\000\006\000\000\000\000\000\000\000Maggie\000\000G\267\202\000\000\000\000\000\000\207\237\220\376\177\000\000\002\000\000\000\000\000\000\000, \000gie\000\000@';\001\000\000\000\000 ';\001\000\000\000\000\000*\273\037N\201R\213 ';\001\000\000\000\000`\207\237\220\376\177\000\000 ';\001\000\000\000" len = #25 0x0000000000abf130 in mprf (channel=channel@entry=MSGCH_RECOVERY, format=format@entry=0xe4445c "%s") at message.cc:1308 argp = {{gp_offset = 24, fp_offset = 48, overflow_arg_area = 0x7ffe909f8860, reg_save_area = 0x7ffe909f87a0}} #26 0x0000000000bf02e1 in _decrement_a_duration (dur=dur@entry=DUR_MESMERISED, delay=delay@entry=10, endmsg=0xe7425a "You break out of your daze.", exploss=exploss@entry=0, expmsg=expmsg@entry=0x0, chan=chan@entry=MSGCH_RECOVERY) at player-reacts.cc:161 exppoint = old_dur = #27 0x0000000000bf28a0 in _decrement_simple_duration (delay=10, dur=DUR_MESMERISED) at player-reacts.cc:893 No locals. #28 _decrement_durations () at player-reacts.cc:893 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:1105 stealth = #30 0x0000000000e33e15 in world_reacts () at main.cc:2594 No locals. #31 0x0000000000e34d23 in _input () at main.cc:1295 player_disabled = {was_disabled = false} #32 0x0000000000e35b1d in _launch_game () at main.cc:487 game_start = ccon = {cstate = false} #33 0x0000000000705ccc in _launch_game_loop () at main.cc:386 game_ended = false game_ended = ge = fe = E = #34 main (argc=, argv=0x7ffe909f90d8) at main.cc:336 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 28924) 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 -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 -DWEB_DIR_PATH="/web/" -D_GNU_SOURCE -isystem /usr/include/ncursesw LDFLAGS: -rdynamic -fuse-ld=gold -O2 >>>>>>>>>>> Place info: branch = 0, depth = 7 Level id: D:7 Level build method = octa_room [oblique 19, floor], level layout type = rooms, absdepth0 = 6 Level vaults: layout_basic fedhas_altar_fruit_tree nicolae_ossuary_entry_giza uniq_maggie Markers: <<<<<<<<<<<<<<<<<<<<<< >>>>>>>>>>>>>>>>>>>>>> Messages: <<<<<<<<<<<<<<<<<<<<<< Casting: Magic Dart (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.) Unknown command. Casting: Magic Dart (safe; 1% 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/p - gnoll zombie Aim: a gnoll zombie (moderately damaged, 100% to hit) The magic dart hits the gnoll zombie! The gnoll zombie is almost destroyed. Casting: Magic Dart (safe; 1% 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/p - gnoll zombie Aim: a gnoll zombie (almost destroyed, 100% to hit) The magic dart hits the gnoll zombie. You destroy the gnoll zombie! Sif Muna accepts your kill. You start resting. Magic restored. You reach down and open the door. A weeping skull and a burial acolyte come into view. The burial acolyte shouts! Found a scroll of identify and a scroll labelled AGHYST GURGH. Casting: Magic Dart (safe; 1% 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 - weeping skull Aim: a weeping skull (excruciating misery, 100% to hit) The magic dart hits the weeping skull but does no damage. The weeping skull 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 - weeping skull Aim: a weeping skull (excruciating misery, 98% to hit) The searing ray hits the weeping skull. The weeping skull is lightly damaged. The searing ray hits the burial acolyte! The burial acolyte is heavily wounded. (Press . to maintain the ray.) The weeping skull begs for proper burials for the Dungeon's restless dead. The weeping skull is struck by your spines. The weeping skull touches you but does no damage. The searing ray hits the weeping skull. The weeping skull is moderately damaged. The searing ray hits the burial acolyte! The burial acolyte is almost dead. The weeping skull touches you. The searing ray hits the weeping skull! The weeping skull is severely damaged. The searing ray hits the burial acolyte. You kill the burial acolyte! Sif Muna accepts your kill. The weeping skull barely misses you. Your Conjurations skill increases to level 8! The searing ray hits the weeping skull. The weeping skull is almost destroyed. You finish channelling your searing ray. The weeping skull releases gushing sobs. The wave of grief passes through you. Casting: Searing Ray (safe; 1% 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/p - weeping skull Aim: a weeping skull (almost destroyed, 100% to hit) The magic dart hits the weeping skull but does no damage. The weeping skull is almost destroyed. The weeping skull barely misses you. You hit the weeping skull. You tail-slap the weeping skull, but do no damage. The weeping skull is almost destroyed. The weeping skull touches you. You feel drained. Casting: Magic Dart (safe; 1% 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/p - weeping skull Aim: a weeping skull (almost destroyed, 100% to hit) The magic dart hits the weeping skull but does no damage. The weeping skull is almost destroyed. The weeping skull is struck by your spines. You destroy the weeping skull! Sif Muna accepts your kill. Your life force feels restored. Your Short Blades skill increases to level 1! Your Armour skill increases to level 2! There is an open door here. g - 4 scrolls of identify (gained 1) Things that are here: a +0 dagger; a +0 robe; a human corpse m - 5 scrolls labelled AGHYST GURGH (gained 1) Things that are here: a +0 dagger; a +0 robe; a human corpse There is an open door here. A hound zombie comes into view. You reach down and open the gate. Found three items. Casting: Magic Dart (safe; 1% 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 - hound zombie Aim: a hound zombie (100% to hit) The magic dart hits the hound zombie. The hound zombie is lightly damaged. Casting: Magic Dart (safe; 1% 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/p - hound zombie Aim: a hound zombie (lightly damaged, 100% to hit) The magic dart hits the hound zombie. The hound zombie is lightly damaged. Casting: Magic Dart (safe; 1% 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/p - hound zombie Aim: a hound zombie (lightly damaged, 100% to hit) The magic dart hits the hound zombie! The hound zombie is heavily damaged. Casting: Magic Dart (safe; 1% 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/p - hound zombie Aim: a hound zombie (heavily damaged, 100% to hit) The magic dart hits the hound zombie. The hound zombie is severely damaged. The hound zombie closely misses you. Casting: Magic Dart (safe; 1% 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/p - hound zombie Aim: a hound zombie (severely damaged, 100% to hit) The magic dart hits the hound zombie. The hound zombie is almost destroyed. The hound zombie closely misses you. The hound zombie barely misses you. Casting: Magic Dart (safe; 1% 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/p - hound zombie Aim: a hound zombie (almost destroyed, 100% to hit) The magic dart hits the hound zombie. You destroy the hound zombie! Sif Muna accepts your kill. Your Fighting skill increases to level 1! You start resting. A hound zombie comes into view. There is an open gate here. You see here a scroll of identify. You see here a potion of haste. Casting: Magic Dart (safe; 1% 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 - hound zombie Aim: a hound zombie (100% to hit) The magic dart hits the hound zombie! The hound zombie is moderately damaged. Casting: Magic Dart (safe; 1% 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/p - hound zombie Aim: a hound zombie (moderately damaged, 100% to hit) The magic dart hits the hound zombie. The hound zombie is severely damaged. Casting: Magic Dart (safe; 1% 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/p - hound zombie Aim: a hound zombie (severely damaged, 100% to hit) The magic dart hits the hound zombie. The hound zombie is almost destroyed. You closely miss the hound zombie. The hound zombie is almost destroyed. The hound zombie is struck by your spines. You destroy the hound zombie! Sif Muna accepts your kill. z - 2 potions of haste (gained 1) B - 2 scrolls labelled ROEPSE LUBBI (gained 1) g - 5 scrolls of identify (gained 1) You start resting. Magic restored. There is an open gate here. A gnoll zombie comes into view. Casting: Magic Dart (safe; 1% 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 - gnoll zombie Aim: a gnoll zombie (dormant, 100% to hit) The magic dart hits the gnoll zombie. The gnoll zombie is lightly damaged. Casting: Magic Dart (safe; 1% 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/p - gnoll zombie Aim: a gnoll zombie (lightly damaged, 100% to hit) The magic dart hits the gnoll zombie. The gnoll zombie is lightly damaged. Casting: Magic Dart (safe; 1% 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/p - gnoll zombie Aim: a gnoll zombie (lightly damaged, 100% to hit) The magic dart hits the gnoll zombie. The gnoll zombie is heavily damaged. The gnoll zombie hits you but does no damage. Casting: Magic Dart (safe; 1% 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/p - gnoll zombie Aim: a gnoll zombie (heavily damaged, 100% to hit) The magic dart hits the gnoll zombie. The gnoll zombie is severely damaged. Casting: Magic Dart (safe; 1% 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/p - gnoll zombie Aim: a gnoll zombie (severely damaged, 100% to hit) The magic dart hits the gnoll zombie. You destroy the gnoll zombie! Sif Muna accepts your kill. You start resting. An orc zombie comes into view. Casting: Magic Dart (safe; 1% 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 - orc zombie Aim: an orc zombie (wandering, hasn't noticed you, 100% to hit) The magic dart hits the orc zombie. The orc zombie is severely damaged. Casting: Magic Dart (safe; 1% 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/p - orc zombie Aim: an orc zombie (severely damaged, 100% to hit) The magic dart hits the orc zombie. You destroy the orc zombie! Sif Muna accepts your kill. You start resting. Magic restored. You reach down and open the door. A gnoll zombie and a mummy come into view. Found a scroll labelled ROEPSE LUBBI. 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 - gnoll zombie Aim: a gnoll zombie (96% to hit) The searing ray hits the mummy. The mummy is lightly damaged. The searing ray hits the gnoll zombie. The gnoll zombie is moderately damaged. (Press . to maintain the ray.) The searing ray hits the mummy! The mummy is heavily damaged. The searing ray hits the gnoll zombie! You destroy the gnoll zombie! Sif Muna accepts your kill. The mummy hits you but does no damage. The searing ray hits the mummy. The mummy is almost destroyed. The searing ray hits the mummy! You destroy the mummy! Sif Muna accepts your kill. You finish channelling your searing ray. There is an open door here. B - 3 scrolls labelled ROEPSE LUBBI (gained 1) There is an open door here. You start resting. Magic restored. You reach down and open the gate. Found a large opal ring, a potion of magic and a scroll labelled NIXTUNL UKAN. There is an open gate here. C - a +6 ring of intelligence b - 2 potions of magic (gained 1) D - a scroll labelled NIXTUNL UKAN You're wearing all the rings you can. Remove which one? (? for menu, Esc to cancel) < or w - a +4 ring of protection; > or e - a ring of flight You remove your ring of flight. You float gracefully downwards. You feel clever. C - a +6 ring of intelligence (right hand) This spell is dangerous to cast! Okay, then. Okay, then. There is an open gate here. You open the large door. You open the large door. 2 centaur zombies come 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 - centaur zombie Aim: a centaur zombie (100% to hit) Okay, then. The centaur zombie attacks as it pursues you! The centaur zombie is struck by your spines. The centaur zombie hits you. The centaur zombie kicks you but does no damage. The centaur zombie is struck by your spines. The centaur zombie barely misses you. The centaur zombie closely misses you. You hit the centaur zombie. You tail-slap the centaur zombie. The centaur zombie is heavily damaged. The centaur zombie hits you but does no damage. The centaur zombie kicks 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: Magic Dart (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line, f - centaur zombie Aim: a centaur zombie (heavily damaged, 100% to hit) The magic dart hits the centaur zombie. The centaur zombie is heavily damaged. The centaur zombie is struck by your spines. The centaur zombie hits you but does no damage. The centaur zombie kicks you. The centaur zombie barely misses you. x2 Casting: Magic Dart (safe; 1% 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, p - centaur zombie The magic dart hits the centaur zombie! The centaur zombie is severely damaged. The centaur zombie is struck by your spines. The centaur zombie hits you but does no damage. The centaur zombie kicks you but does no damage. The centaur zombie hits you. The centaur zombie kicks you but does no damage. The centaur zombie hits you but does no damage. The centaur zombie kicks you but does no damage. Casting: Magic Dart (safe; 1% 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 The magic dart hits the centaur zombie. The centaur zombie is almost destroyed. The centaur zombie completely misses you. The centaur zombie barely misses you. The centaur zombie is struck by your spines. The centaur zombie barely misses you. The centaur zombie kicks you. The centaur zombie hits you but does no damage. The centaur zombie closely misses you. Casting: Magic Dart (safe; 1% 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 The magic dart hits the centaur zombie. You destroy the centaur zombie! Sif Muna accepts your kill. The centaur zombie is struck by your spines. The centaur zombie closely misses you. The centaur zombie kicks you but does no damage. Your Spellcasting skill increases to level 7! Casting: Magic Dart (safe; 1% 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 The centaur zombie barely misses you. The centaur zombie kicks you. The centaur zombie is struck by your spines. The centaur zombie misses you. The centaur zombie kicks you but does no damage. Casting: Magic Dart (safe; 1% 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 The centaur zombie is struck by your spines. The centaur zombie hits you but does no damage. The centaur zombie kicks you but does no damage. Casting: Magic Dart (safe; 1% 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 - centaur zombie Aim: a centaur zombie (severely damaged, 100% to hit) The magic dart hits the centaur zombie! The centaur zombie is almost destroyed. The centaur zombie hits you but does no damage. The centaur zombie kicks you but does no damage. Casting: Magic Dart (safe; 1% 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/p - centaur zombie Aim: a centaur zombie (almost destroyed, 100% to hit) The magic dart hits the centaur zombie. You destroy the centaur zombie! Sif Muna accepts your kill. You start resting. Magic restored. You open the large door. You open the large door. A mummy and a hound zombie come into view. Found 2 bubbling dark potions. Casting: Magic Dart (safe; 1% 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 - hound zombie Aim: a hound zombie (dormant, 100% to hit) The magic dart hits the hound zombie! The hound zombie is moderately damaged. Casting: Magic Dart (safe; 1% 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/p - hound zombie Aim: a hound zombie (moderately damaged, 100% to hit) The magic dart hits the hound zombie! The hound zombie is heavily damaged. The hound zombie is struck by your spines. The hound zombie closely misses you. The mummy misses you. The hound zombie is struck by your spines. The hound zombie misses you. Casting: Magic Dart (safe; 1% 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/p - hound zombie Aim: a hound zombie (severely damaged, 100% to hit) The magic dart hits the hound zombie. The hound zombie is severely damaged. The hound zombie is struck by your spines. You destroy the hound zombie! Sif Muna accepts your kill. Casting: Magic Dart (safe; 1% 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 - mummy Aim: a mummy (100% to hit) The magic dart hits the mummy. The mummy is lightly damaged. The mummy hits you. Casting: Magic Dart (safe; 1% 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/p - mummy Aim: a mummy (lightly damaged, 100% to hit) The magic dart hits the mummy. The mummy is moderately damaged. Casting: Magic Dart (safe; 1% 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/p - mummy Aim: a mummy (moderately damaged, 100% to hit) The magic dart hits the mummy! The mummy is severely damaged. The mummy is struck by your spines. You destroy the mummy! Sif Muna accepts your kill. Casting: Magic Dart (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.) There is a large open door here. E - 2 bubbling dark potions There is a large open door here. You start resting. Magic restored. You open the large door. You open the large door. Found 33 gold pieces. There is a large open door here. You now have 260 gold pieces (gained 21). You now have 272 gold pieces (gained 12). There is a large open door here. You open the large door. There is a large open door here. h - 6 potions of curing (gained 1) g - 6 scrolls of identify (gained 1) There is a large open door here. You open the large door. There is a large open door here. h - 7 potions of curing (gained 1) d - 2 fizzy cyan potions (gained 1) There is a large open door here. As you open the large door, it creaks loudly! You open the large door. There is a large open door here. You now have 285 gold pieces (gained 13). You now have 302 gold pieces (gained 17). There is a large open door here. Done exploring. Done exploring. Sorry, you can't auto-travel out of here. You can't go down here! Sorry, you can't auto-travel out of here. There is an open gate here. The weeping skull gives a chilling moan. There is an empty arch of ancient stone here. The weeping skull gives a chilling moan. x2 There is a gate leading back out of this place here. Welcome back to the Dungeon! There is a collapsed entrance here. There is an open door here. You pick up a book of Unlife and begin reading... You add the spells Animate Dead, Borgnjor's Vile Clutch and Death Channel to your library. This spell is quite dangerous to cast! You start memorising the spell. You continue memorising. x4 You finish memorising. Spell assigned to 'e'. You start memorising the spell. You continue memorising. You finish memorising. Spell assigned to 'f'. Adjust (i)tems, (s)pells, or (a)bilities? Adjust which spell? f - Shock Adjust to which letter? a - Shock; f - Magic Dart Found a stone staircase leading down. You now have 317 gold pieces (gained 15). Found 6 poisoned darts. You now have 333 gold pieces (gained 16). s - 2 scrolls labelled SECUYT MUIHOE (gained 1) F - a scroll labelled HOSUOL ZORPHOMP A jelly comes into view. Casting: Magic Dart (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Shock (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line, f - jelly Aim: a jelly (asleep, 100% to hit) The zap hits the jelly. The jelly is lightly wounded. The jelly quivers. Casting: Shock (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Shock (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - jelly Aim: a jelly (lightly wounded, 100% to hit) The zap hits the jelly. The jelly is heavily wounded. Casting: Shock (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Shock (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - jelly Aim: a jelly (heavily wounded, 100% to hit) The zap hits the jelly. The jelly is heavily wounded. Casting: Shock (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Shock (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - jelly Aim: a jelly (heavily wounded, 100% to hit) The zap hits the jelly! The jelly is almost dead. Casting: Shock (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Shock (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - jelly Aim: a jelly (almost dead, 100% to hit) The zap hits the jelly. You kill the jelly! Sif Muna accepts your kill. Magic restored. G - a +6 ring of strength You open the door. An orc zombie comes into view. Casting: Shock (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Shock (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line The zap hits the orc zombie! The orc zombie is almost destroyed. The zap hits the orc zombie. You destroy the orc zombie! Sif Muna accepts your kill. You now have 342 gold pieces (gained 9). H - an amulet of guardian spirit Found 2 javelins. A bombardier beetle is nearby! Casting: Shock (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Shock (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line, f - bombardier beetle Aim: a bombardier beetle (wandering, hasn't noticed you, 84% to hit) The zap misses the bombardier beetle. Unknown command. Casting: Shock (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Shock (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - bombardier beetle Aim: a bombardier beetle (84% to hit) The zap hits the bombardier beetle. The bombardier beetle is lightly wounded. Casting: Shock (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Shock (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - bombardier beetle Aim: a bombardier beetle (lightly wounded, 84% to hit) The zap hits the bombardier beetle. The bombardier beetle is heavily wounded. Casting: Shock (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Shock (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - bombardier beetle Aim: a bombardier beetle (heavily wounded, 84% to hit) The zap hits the bombardier beetle! The bombardier beetle is almost dead. The bombardier beetle sprays incendiary fluid at you. The burning spray misses you. Casting: Shock (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Shock (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - bombardier beetle Aim: a bombardier beetle (almost dead, 84% to hit) You miscast Shock. You are very lightly contaminated with residual magic. Nothing appears to happen. Casting: Shock (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Shock (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - bombardier beetle Aim: a bombardier beetle (almost dead, 84% to hit) The zap misses the bombardier beetle. Casting: Shock (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Shock (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - bombardier beetle Aim: a bombardier beetle (almost dead, 84% to hit) The zap hits the bombardier beetle. You kill the bombardier beetle! Sif Muna accepts your kill. You have reached level 9! Your experience leads to an increase in your attributes! Your base attributes are Str 10, Int 18, Dex 12. Increase (S)trength, (I)ntelligence, or (D)exterity? You feel clever. x2 Unknown command. Your magical contamination has completely faded away. E - 3 bubbling dark potions (gained 1) A sky beast comes into view. Casting: Shock (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: Shock (safe; 1% 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 - sky beast Aim: a sky beast (asleep, 100% to hit) The magic dart hits the sky beast but does no damage. Casting: Magic Dart (safe; 1% 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/p - sky beast Aim: a sky beast (100% to hit) The magic dart hits the sky beast but does no damage. Casting: Magic Dart (safe; 1% 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/p - sky beast Aim: a sky beast (100% to hit) The magic dart hits the sky beast. The sky beast is lightly wounded. Casting: Magic Dart (safe; 1% 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/p - sky beast Aim: a sky beast (lightly wounded, 100% to hit) The magic dart hits the sky beast! The sky beast is moderately wounded. Casting: Magic Dart (safe; 1% 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/p - sky beast Aim: a sky beast (moderately wounded, 100% to hit) The magic dart hits the sky beast. The sky beast is heavily wounded. The sky beast flickers out of sight! Deactivating autopickup; reactivate with Ctrl-A. Casting: Magic Dart (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: 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 (Press . to maintain the ray.) The searing ray hits something. Reactivating autopickup. A sky beast appears from thin air! The sky beast hits you but does no damage. The searing ray misses the sky beast. The sky beast is struck by your spines. The sky beast closely misses you. The searing ray hits the sky beast! You kill the sky beast! Sif Muna accepts your kill. You finish channelling your searing ray. You start resting. Magic restored. Found an escape hatch in the ceiling. You now have 356 gold pieces (gained 14). Found a stone staircase leading down. Found an escape hatch in the floor. There is a stone staircase leading down here. There is an escape hatch in the floor here. You open the door. A goblin zombie comes into view. Casting: Searing Ray (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Shock (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line The zap hits the goblin zombie. The goblin zombie is severely damaged. The zap hits the goblin zombie. You destroy the goblin zombie! Sif Muna accepts your kill. Found a stone staircase leading up. 2 ufetubi come into view. The ufetubus shouts! Casting: Shock (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Shock (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line, f - ufetubus Aim: an ufetubus (wandering, hasn't noticed you, 57% to hit) The zap hits the ufetubus but does no damage. The ufetubus shouts! The zap hits the ufetubus! The ufetubus is almost dead. Casting: Shock (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Shock (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - ufetubus Aim: an ufetubus (57% to hit) The zap misses the ufetubus. The zap hits the ufetubus. You kill the ufetubus! Sif Muna accepts your kill. Casting: Shock (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Shock (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - ufetubus Aim: an ufetubus (57% to hit) The zap hits the ufetubus. The ufetubus is moderately wounded. The ufetubus slips past you! The ufetubus is struck by your spines. The ufetubus barely misses you. The ufetubus hits you but does no damage. The ufetubus is struck by your spines. The ufetubus closely misses you. The ufetubus misses you. Unknown command. Casting: Shock (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Shock (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - ufetubus Aim: an ufetubus (severely wounded, 57% to hit) The zap misses the ufetubus. The ufetubus is struck by your spines. You kill the ufetubus! Sif Muna accepts your kill. g - 7 scrolls of identify (gained 1) You now have 368 gold pieces (gained 12). There is a stone staircase leading down here. You open the door. B - 4 scrolls labelled ROEPSE LUBBI (gained 1) Found a scale mail. v - 2 scrolls labelled DACHUN TIUXTAI (gained 1) You see here a +0 scale mail. You now have 383 gold pieces (gained 15). You now have 393 gold pieces (gained 10). A centaur comes into view. Found a flail. Casting: Shock (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Shock (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line, f - centaur Aim: a centaur (asleep, 100% to hit) The zap hits the centaur but does no damage. The centaur shouts! You hear an angry hiss. The centaur wields a +0 shortbow. The centaur shoots an arrow. The arrow closely misses you. Casting: Shock (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Shock (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - centaur Aim: a centaur, wielding a +0 shortbow (84% to hit) The zap hits the centaur. The centaur is lightly wounded. A bullfrog comes into view. The centaur shoots an arrow. The arrow hits you but does no damage. Casting: Shock (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Shock (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - centaur Aim: a centaur, wielding a +0 shortbow (lightly wounded, 84% to hit) The zap hits the centaur. The centaur is moderately wounded. The zap misses the bullfrog. The bullfrog gives a loud, deep croak! The centaur shoots an arrow. The arrow hits you. Unknown command. Unknown command. Unknown command. Unknown command. The centaur shoots an arrow. The arrow closely misses you. Casting: Shock (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. You don't know that spell. Unknown command. Casting: Shock (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Shock (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line, f - bullfrog Aim: a bullfrog (67% to hit) The zap hits the bullfrog. The bullfrog is lightly wounded. An iguana comes into view. Casting: Shock (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Shock (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - bullfrog Aim: a bullfrog (lightly wounded, 67% to hit) The zap hits the bullfrog! The bullfrog is heavily wounded. The iguana hisses angrily. Casting: Shock (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Shock (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - bullfrog Aim: a bullfrog (heavily wounded, 67% to hit) The zap hits the bullfrog! The bullfrog is almost dead. The zap hits the centaur. The centaur is heavily wounded. The bullfrog is struck by your spines. You kill the bullfrog! Sif Muna accepts your kill. Casting: Shock (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Shock (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line, f - centaur Aim: a centaur, wielding a +0 shortbow (heavily wounded, 84% to hit) The zap hits the centaur. The centaur is severely wounded. The zap hits the iguana but does no damage. The centaur unwields a +0 shortbow. The centaur is struck by your spines. The centaur hits you. The centaur barely misses you. Casting: Shock (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Shock (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - centaur Aim: a centaur (almost dead, 84% to hit) The zap hits the centaur. The centaur is almost dead. The zap hits the iguana. The iguana is heavily wounded. The centaur is struck by your spines. The centaur closely misses you. The centaur kicks you but does no damage. Casting: Shock (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Shock (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - centaur Aim: a centaur (almost dead, 84% to hit) The zap misses the centaur. The zap hits the iguana. The iguana is heavily wounded. The centaur closely misses you. x2; The centaur hits you. The centaur closely misses you. Casting: Shock (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Shock (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - centaur Aim: a centaur (almost dead, 84% to hit) The zap hits the centaur. You kill the centaur! Sif Muna accepts your kill. The zap hits the iguana. The iguana is almost dead. Casting: Shock (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Shock (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line, f - iguana Aim: an iguana (almost dead, 77% to hit) The zap hits the iguana. The iguana is almost dead. The iguana is struck by your spines. You kill the iguana! Sif Muna accepts your kill. Things that are here: a +0 shortbow; a bullfrog corpse You start resting. Magic restored. Found a blossoming altar of Fedhas. Things that are here: a +0 shortbow; a bullfrog corpse You see here a +0 scale mail. A kobold comes into view. It is wielding a +0 whip. Casting: Shock (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Shock (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line, f - kobold Aim: a kobold, wielding a +0 whip (asleep, 100% to hit) The zap hits the kobold! You kill the kobold! Sif Muna accepts your kill. A kobold comes into view. It is wielding a +0 dagger. Casting: Shock (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Shock (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line, f - kobold Aim: a kobold, wielding a +0 dagger and quivering stones (wandering, hasn't noticed you, 67% to hit) The zap hits the kobold. You kill the kobold! Sif Muna accepts your kill. A kobold comes into view. It is wielding a +0 dagger. Casting: Shock (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Shock (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line, f - kobold Aim: a kobold, wielding a +0 dagger (asleep, 100% to hit) The zap hits the kobold. You kill the kobold! Sif Muna accepts your kill. You hear a shout! A kobold brigand comes into view. It is wielding a +0 short sword and quivering poisoned darts. Casting: Shock (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Shock (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line, f - kobold brigand Aim: a kobold brigand, wielding a +0 short sword and quivering poisoned darts (67% to hit) The zap hits the kobold brigand. The kobold brigand is lightly wounded. The kobold brigand throws a poisoned dart. The poisoned dart closely misses you. Casting: Shock (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Shock (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - kobold brigand Aim: a kobold brigand, wielding a +0 short sword and quivering poisoned darts (lightly wounded, 67% to hit) The zap hits the kobold brigand. The kobold brigand is moderately wounded. The kobold brigand throws a poisoned dart. The poisoned dart closely misses you. Casting: Shock (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Shock (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - kobold brigand Aim: a kobold brigand, wielding a +0 short sword and quivering poisoned darts (moderately wounded, 67% to hit) The zap hits the kobold brigand. The kobold brigand is moderately wounded. Casting: Shock (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Shock (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - kobold brigand Aim: a kobold brigand, wielding a +0 short sword and quivering poisoned darts (moderately wounded, 67% to hit) The zap hits the kobold brigand! The kobold brigand is heavily wounded. Maggie the Vainglorious comes into view. She is wielding a +0 scimitar. The kobold brigand throws a poisoned dart. The poisoned dart closely misses you. Casting: Shock (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Shock (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - kobold brigand Aim: a kobold brigand, wielding a +0 short sword and quivering poisoned darts (heavily wounded, 67% to hit) The zap hits the kobold brigand. The kobold brigand is severely wounded. The zap hits Maggie! Maggie is lightly wounded. Maggie gestures wildly while chanting. Maggie attempts to bespell you! You are mesmerised by Maggie! Casting: Shock (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Shock (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - kobold brigand Aim: a kobold brigand, wielding a +0 short sword and quivering poisoned darts (severely wounded, 67% to hit) The zap hits the kobold brigand. The kobold brigand is almost dead. The zap hits Maggie. Maggie is moderately wounded. Maggie says, "Leave now, and tell all of Maggie's mercy!" The kobold brigand throws a poisoned dart. The poisoned dart hits you! You are poisoned. Casting: Shock (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Shock (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - kobold brigand Aim: a kobold brigand, wielding a +0 short sword and quivering poisoned darts (almost dead, 67% to hit) The zap hits the kobold brigand. You kill the kobold brigand! Sif Muna accepts your kill. The zap hits Maggie! Maggie is heavily wounded. You feel very sick. Casting: Shock (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Shock (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line, f - Maggie Aim: Maggie, wielding a +0 scimitar and wearing +1 steam dragon scales (heavily wounded, mesmerising, 74% to hit) The zap hits Maggie! Maggie is heavily wounded. You feel sick. Maggie casts a spell at you. The bolt of fire hits you! Casting: Shock (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Shock (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - Maggie Aim: Maggie, wielding a +0 scimitar and wearing +1 steam dragon scales (heavily wounded, mesmerising, 74% to hit) The zap misses Maggie. You feel sick. Maggie casts a spell at you. The bolt of fire hits you! Casting: Shock (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.) Unknown command. You feel better. Casting: Shock (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 +0 scimitar and wearing +1 steam dragon scales (heavily wounded, mesmerising, 83% to hit) The searing ray hits Maggie. Maggie is severely wounded. (Press . to maintain the ray.) >>>>>>>>>>>>>>>>>>>>>> Version history: Game started: 0.32-a0-931-g5a2cda0 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: [Girthnturf] Species: Demonspawn Job: Conjurer HP: 44/59; mods: 0/0 MP: 9/20; mod: 0 Stats: 10 (10) 26 (26) 12 (12) Position: (48, 61), god: Sif Muna (9), turn_is_over: 1, banished: 0 Standing on/in/over feature: floor Skills (mode: auto) Name | can_currently_train | train | training | level | points | progress Fighting | X | 1 | 2 | 1 | 79 | 29/100 Short Blades | X | 1 | 0 | 1 | 95 | 36/119 Long Blades | X | 1 | 0 | 0 | 0 | 0/59 Axes | X | 1 | 0 | 0 | 0 | 0/59 Maces & Flails | X | 1 | 0 | 0 | 0 | 0/59 Polearms | X | 1 | 0 | 0 | 0 | 0/59 Staves | X | 1 | 0 | 0 | 0 | 0/59 Ranged Weapons | X | 1 | 0 | 0 | 0 | 0/59 Throwing | X | 1 | 0 | 0 | 0 | 0/59 Armour | X | 1 | 8 | 2 | 220 | 42/178 Dodging | X | 1 | 6 | 3 | 454 | 98/238 Stealth | X | 1 | 6 | 3 | 370 | 70/200 Shields | X | 1 | 0 | 0 | 0 | 0/59 Unarmed Combat | X | 1 | 0 | 0 | 0 | 0/59 Spellcasting | X | 1 | 37 | 7 | 1838 | 174/476 Conjurations | X | 1 | 25 | 8 | 1963 | 163/450 Hexes | X | 1 | 0 | 0 | 0 | 0/50 Summonings | X | 1 | 0 | 1 | 102 | 52/100 Necromancy | X | 1 | 0 | 0 | 0 | 0/42 Translocations | X | 1 | 0 | 0 | 0 | 0/59 Fire Magic | X | 1 | 0 | 0 | 0 | 0/59 Ice Magic | X | 1 | 0 | 0 | 0 | 0/59 Air Magic | X | 1 | 16 | 0 | 38 | 38/59 Earth Magic | X | 1 | 0 | 0 | 0 | 0/59 Alchemy | X | 1 | 0 | 0 | 0 | 0/50 Invocations | X | 1 | 0 | 0 | 0 | 0/29 Evocations | X | 1 | 0 | 0 | 0 | 0/50 Shapeshifting | X | 1 | 0 | 0 | 0 | 0/70 Spell bugs: Durations: Attributes: #12: 453 #13: 60 #23: 8166 #24: -750475303 #36: 1 #49: 453 Mutations: thin metallic scales: 1 (innate) ignite blood: 1 (innate) spiny: 1 (innate) weakness stinger: 1 (innate) Inventory bugs: Equipment: eq slot #0, inv slot #5: +2 short sword of venom eq slot #1, inv slot #8: +1 cloak eq slot #6, inv slot #24: +0 troll leather armour {Pargi} eq slot #7, inv slot #22: +4 ring of protection eq slot #8, inv slot #28: +6 ring of intelligence eq slot #9, inv slot #16: amulet of regeneration }}}}}}}}}}} Webtiles message buffer: {"msg":"player" Webtiles JSON stack: start: 0 end: 15 type: } Screenshot: .# #.....# ## #.....# ####### ######################## ................@.@.).). ######################## clua stack: dlua stack: Lua persistent data: <<<<<<<<<<<<<<<<<<<<<< nemelex_gamble_triggered: false nemelex_gamble_announced: false >>>>>>>>>>>>>>>>>>>>>> Lua marker contents: <<<<<<<<<<<<<<<<<<<<<< >>>>>>>>>>>>>>>>>>>>>> ASSERT((duration[DUR_MESMERISED] > 0) == !beholders.empty()) in 'behold.cc' at line 66 failed. Recursive crash.