ASSERT((duration[DUR_MESMERISED] > 0) == !beholders.empty()) in 'behold.cc' at line 66 failed. Version: Dungeon Crawl Stone Soup 0.31-a0-1370-gf52a5a9 Platform: unix Bits: 64 Game mode: normal Tiles: online Seed: 16931559161640233005, deterministic pregen: 1 Command line: /var/dcss/builds/dcss-trunk/latest/bin/dcss -name arrowsters -rc /var/dcss/gamedata/dcss-trunk/rc-files/arrowsters.rc -macro /var/dcss/gamedata/dcss-trunk/rc-files/arrowsters.macro -morgue /var/dcss/gamedata/dcss/morgue/arrowsters/ -extra-opt-first travel_delay=20 -extra-opt-first rest_delay=0 -dir /var/dcss/gamedata/dcss-trunk/save/ -webtiles-socket /var/dcss/sockets/arrowsters:2023-12-23.11:28:40.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) [0x78e458]: write_stack_trace(_IO_FILE*) /var/dcss/builds/dcss-trunk/latest/bin/dcss(_Z13do_crash_dumpv+0x3de) [0x797f3e]: do_crash_dump() /var/dcss/builds/dcss-trunk/latest/bin/dcss(_Z20crash_signal_handleri+0x1f0) [0x78e8c0]: crash_signal_handler(int) /lib/x86_64-linux-gnu/libc.so.6(+0x354c0) [0x7f48846984c0]: /lib/x86_64-linux-gnu/libpthread.so.0(raise+0x29) [0x7f4884a3e269]: /var/dcss/builds/dcss-trunk/latest/bin/dcss() [0x7976e9] /var/dcss/builds/dcss-trunk/latest/bin/dcss() [0x797891] /var/dcss/builds/dcss-trunk/latest/bin/dcss() [0x756fec] /var/dcss/builds/dcss-trunk/latest/bin/dcss() [0x757017] /var/dcss/builds/dcss-trunk/latest/bin/dcss(_Z16fill_status_infoiR11status_info+0x14b0) [0xcd3e50]: fill_status_info(int, status_info&) /var/dcss/builds/dcss-trunk/latest/bin/dcss(_ZN14TilesFramework12_send_playerEb+0x216b) [0xdd82fb]: TilesFramework::_send_player(bool) /var/dcss/builds/dcss-trunk/latest/bin/dcss(_ZN14TilesFramework6redrawEv+0x9a) [0xddc84a]: TilesFramework::redraw() /var/dcss/builds/dcss-trunk/latest/bin/dcss(_ZN14TilesFramework17update_input_modeE10mouse_modeb+0x198) [0xddcb48]: TilesFramework::update_input_mode(mouse_mode, bool) /var/dcss/builds/dcss-trunk/latest/bin/dcss(_ZN13mouse_controlC1E10mouse_mode+0x17) [0x9f53e7]: mouse_control::mouse_control(mouse_mode) /var/dcss/builds/dcss-trunk/latest/bin/dcss() [0xa8e588] /var/dcss/builds/dcss-trunk/latest/bin/dcss(_ZN14message_window4moreEbb+0x1ef) [0xa9049f]: message_window::more(bool, bool) /var/dcss/builds/dcss-trunk/latest/bin/dcss(_ZN14message_window8add_itemENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE11prefix_typeb+0x3d0) [0xa909e0]: 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) [0xa90f97]: message_store::flush_prev() /var/dcss/builds/dcss-trunk/latest/bin/dcss() [0xa8b74a] /var/dcss/builds/dcss-trunk/latest/bin/dcss(_Z16do_message_print16msg_channel_typeibbPKcP13__va_list_tag+0xda) [0xa8be5a]: 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) [0xa8c360]: mprf(msg_channel_type, char const*, ...) /var/dcss/builds/dcss-trunk/latest/bin/dcss() [0xbb8fe1] /var/dcss/builds/dcss-trunk/latest/bin/dcss(_Z13player_reactsv+0x7fe) [0xbbb36e]: player_reacts() /var/dcss/builds/dcss-trunk/latest/bin/dcss(_Z12world_reactsv+0x6d5) [0xde6735]: world_reacts() /var/dcss/builds/dcss-trunk/latest/bin/dcss() [0xde763e] /var/dcss/builds/dcss-trunk/latest/bin/dcss() [0xde842d] /var/dcss/builds/dcss-trunk/latest/bin/dcss(main+0x18c) [0x6e6fcc]: /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf0) [0x7f4884683840]: /var/dcss/builds/dcss-trunk/latest/bin/dcss(_start+0x29) [0x6e7aa9]: 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". 0x00007f4884a3df2a in __waitpid (pid=30702, stat_loc=stat_loc@entry=0x0, options=options@entry=0) at ../sysdeps/unix/sysv/linux/waitpid.c:29 #0 0x00007f4884a3df2a in __waitpid (pid=30702, stat_loc=stat_loc@entry=0x0, options=options@entry=0) at ../sysdeps/unix/sysv/linux/waitpid.c:29 resultvar = 18446744073709551104 sc_ret = #1 0x000000000078e2d5 in call_gdb (file=file@entry=0x7f4884a28540 <_IO_2_1_stderr_>) at crash.cc:438 gdb = attach_cmd = "attach 30338\000\000\000\000\000\000\000" #2 0x0000000000797f5a in do_crash_dump () at dbg-asrt.cc:692 t = 1703332333 dir = "/var/dcss/gamedata/dcss/morgue/arrowsters/" name = "/var/dcss/gamedata/dcss/morgue/arrowsters/crash-arrowsters-20231223-115213.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 = 0x7f4884a28540 <_IO_2_1_stderr_> #3 0x000000000078e8c0 in crash_signal_handler (sig_num=6) at crash.cc:198 No locals. #4 No locals. #5 0x00007f4884a3e269 in raise (sig=6) at ../sysdeps/unix/sysv/linux/pt-raise.c:35 resultvar = 0 pid = #6 0x00000000007976e9 in _BreakStrToDebugger (mesg=mesg@entry=0x7ffdc8503020 "ASSERT((duration[DUR_MESMERISED] > 0) == !beholders.empty()) in 'behold.cc' at line 66 failed.", assert=true) at dbg-asrt.cc:818 No locals. #7 0x0000000000797891 in AssertFailed (expr=expr@entry=0xe655b0 "(duration[DUR_MESMERISED] > 0) == !beholders.empty()", file=file@entry=0xdfa47b "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' , "\377\377\377\377\377\377\000\000\000\000\000\000\000\000pJb\003\000\000\000\000\240d\242\204H\177\000\000\377\377\377\377\377\377\377\377", '\000' ... args = {{gp_offset = 14647382, fp_offset = 0, overflow_arg_area = 0x7ffdc85031a8, reg_save_area = 0x1}} fileName = #8 0x0000000000756fec in player::beheld (this=) at behold.cc:66 No locals. #9 0x0000000000757017 in player::beheld (this=) at behold.cc:66 No locals. #10 0x0000000000cd3e50 in fill_status_info (status=status@entry=174, inf=...) at status.cc:250 found = false #11 0x0000000000dd82fb in _update_statuses (c=...) at tileweb.cc:1013 status = 174 changed = false counter = inf = {light_colour = 0, light_text = "", short_text = "", long_text = ""} changed = counter = inf = status = #12 TilesFramework::_send_player (this=0x1286f60 , force_full=false) at tileweb.cc:1206 c = @0x12b32e0: {_state_ever_synced = true, name = "arrowsters", job_title = "the Zephyrmancer", wizard = false, explore = false, species = "Human", god = "Sif Muna", under_penance = false, piety_rank = 1, form = 0 '\000', hp = 51, hp_max = 69, real_hp_max = 75, poison_survival = 51, mp = 2, mp_max = 22, dd_real_mp_max = 0, contam = 0, noise = -1, adjusted_noise = 111, armour_class = 7, evasion = 13, shield_class = 0, strength = 14 '\016', strength_max = 14 '\016', intel = 20 '\024', intel_max = 20 '\024', dex = 14 '\016', dex_max = 14 '\016', experience_level = 10, exp_progress = 80 'P', gold = 451, zot_points = 0, elapsed_time = 114311, num_turns = 11423, lives = 0, deaths = 0, place = "Dungeon", depth = 9, position = {x = 50, y = -7}, status = std::vector of length 2, capacity 2 = {{light_colour = 4, light_text = "Mesm", short_text = "mesmerised", long_text = "You are mesmerised."}, {light_colour = 14, light_text = "Drain", short_text = "drained", long_text = "Your life force is drained."}}, 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 = 179 '\263', 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_SCROLLS, sub_type = 15 '\017', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 350812, unrand_idx = 350812, subtype_rnd = 350812, brand = 350812, freshness = 350812}, rnd = 36 '$', quantity = 1, flags = 2, pos = {x = -1, y = -1}, link = 1, slot = 98, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "!r", 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 = 338982, unrand_idx = 338982, subtype_rnd = 338982, brand = 338982, freshness = 338982}, rnd = 45 '-', quantity = 2, flags = 0, pos = {x = -1, y = -1}, link = 2, slot = 99, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_SCROLLS, sub_type = 22 '\026', {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 = 346681, unrand_idx = 346681, subtype_rnd = 346681, brand = 346681, freshness = 346681}, rnd = 82 'R', quantity = 5, flags = 2, pos = {x = -1, y = -1}, link = 3, slot = 100, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_SCROLLS, sub_type = 1 '\001', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 348966, unrand_idx = 348966, subtype_rnd = 348966, brand = 348966, freshness = 348966}, rnd = 191 '\277', quantity = 2, flags = 2, pos = {x = -1, y = -1}, link = 4, slot = 101, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "!r", 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 = 77, unrand_idx = 77, subtype_rnd = 77, brand = 77, freshness = 77}, rnd = 107 'k', quantity = 2, flags = 0, pos = {x = -1, y = -1}, link = 5, slot = 102, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_POTIONS, sub_type = 32 ' ', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 117, unrand_idx = 117, subtype_rnd = 117, brand = 117, freshness = 117}, rnd = 105 'i', quantity = 1, flags = 0, pos = {x = -1, y = -1}, link = 6, slot = 103, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_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 = 339546, unrand_idx = 339546, subtype_rnd = 339546, brand = 339546, freshness = 339546}, rnd = 23 '\027', quantity = 1, flags = 0, pos = {x = -1, y = -1}, link = 7, slot = 104, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_STAVES, sub_type = 10 '\n', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 31, unrand_idx = 31, subtype_rnd = 31, brand = 31, freshness = 31}, rnd = 134 '\206', 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_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 = 341641, unrand_idx = 341641, subtype_rnd = 341641, brand = 341641, freshness = 341641}, rnd = 226 '\342', quantity = 1, flags = 0, pos = {x = -1, y = -1}, link = 9, slot = 106, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_POTIONS, sub_type = 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 = 154, unrand_idx = 154, subtype_rnd = 154, brand = 154, freshness = 154}, rnd = 25 '\031', 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_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 = 28, unrand_idx = 28, subtype_rnd = 28, brand = 28, freshness = 28}, rnd = 251 '\373', quantity = 1, 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_ARMOUR, sub_type = 6 '\006', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 0, unrand_idx = 0, subtype_rnd = 0, brand = 0, freshness = 0}, rnd = 181 '\265', quantity = 1, flags = 15, pos = {x = -1, y = -1}, link = 12, slot = 109, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_POTIONS, sub_type = 32 ' ', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 104, unrand_idx = 104, subtype_rnd = 104, brand = 104, freshness = 104}, rnd = 57 '9', quantity = 6, 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_JEWELLERY, sub_type = 37 '%', {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 = 211, unrand_idx = 211, subtype_rnd = 211, brand = 211, freshness = 211}, rnd = 136 '\210', quantity = 1, flags = 15, 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_ARMOUR, sub_type = 8 '\b', {plus = 2, mon_type = MONS_LEOPARD_GECKO, skill = SK_LONG_BLADES, charges = 2, net_durability = 2, tithe_state = 2}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 0, unrand_idx = 0, subtype_rnd = 0, brand = 0, freshness = 0}, rnd = 117 'u', quantity = 1, flags = 131087, 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_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 = 65, unrand_idx = 65, subtype_rnd = 65, brand = 65, freshness = 65}, rnd = 97 'a', quantity = 1, flags = 0, pos = {x = -1, y = -1}, link = 16, slot = 113, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_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 = 145, unrand_idx = 145, subtype_rnd = 145, brand = 145, freshness = 145}, rnd = 225 '\341', quantity = 1, 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 = 332915, unrand_idx = 332915, subtype_rnd = 332915, brand = 332915, freshness = 332915}, rnd = 204 '\314', quantity = 1, flags = 0, pos = {x = -1, y = -1}, link = 18, slot = 115, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_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 = 25, unrand_idx = 25, subtype_rnd = 25, brand = 25, freshness = 25}, rnd = 210 '\322', quantity = 2, flags = 0, pos = {x = -1, y = -1}, link = 19, slot = 116, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_WEAPONS, sub_type = 3 '\003', {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 = 193 '\301', quantity = 1, flags = 4111, 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 4 elements = {["artefact_appearance"] = {type = SV_STR, flags = 0 '\000', val = {boolean = 48, byte = 48 '0', _short = -16848, _int = 67026480, _float = 1.49724432e-36, _int64 = 67026480, ptr = 0x3febe30}}, ["artefact_known_props"] = {type = SV_VEC, flags = 0 '\000', val = {boolean = 16, byte = 16 '\020', _short = -9968, _int = 66967824, _float = 1.49198386e-36, _int64 = 66967824, ptr = 0x3fdd910}}, ["artefact_name"] = {type = SV_STR, flags = 0 '\000', val = {boolean = 64, byte = 64 '@', _short = -5568, _int = 67365440, _float = 1.55065383e-36, _int64 = 67365440, ptr = 0x403ea40}}, ["artefact_props"] = {type = SV_VEC, flags = 0 '\000', val = {boolean = false, byte = 0 '\000', _short = 17664, _int = 68044032, _float = 1.6723703e-36, _int64 = 68044032, ptr = 0x40e4500}}}, }}, {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 = 365173, unrand_idx = 365173, subtype_rnd = 365173, brand = 365173, freshness = 365173}, rnd = 237 '\355', 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_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 = 361788, unrand_idx = 361788, subtype_rnd = 361788, brand = 361788, freshness = 361788}, rnd = 6 '\006', quantity = 1, flags = 0, 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 = 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 = 360232, unrand_idx = 360232, subtype_rnd = 360232, brand = 360232, freshness = 360232}, rnd = 82 'R', quantity = 1, flags = 0, 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 = 11 '\v', {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 = 181 '\265', quantity = 1, flags = 15, pos = {x = -1, y = -1}, link = 24, slot = 121, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_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 = 61, unrand_idx = 61, subtype_rnd = 61, brand = 61, freshness = 61}, rnd = 220 '\334', quantity = 1, flags = 0, 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_ARMOUR, 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 = 0, unrand_idx = 0, subtype_rnd = 0, brand = 0, freshness = 0}, rnd = 186 '\272', 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 = 365886, unrand_idx = 365886, subtype_rnd = 365886, brand = 365886, freshness = 365886}, rnd = 223 '\337', quantity = 1, 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_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 = 330832, unrand_idx = 330832, subtype_rnd = 330832, brand = 330832, freshness = 330832}, rnd = 97 'a', quantity = 1, flags = 0, 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 = 346237, unrand_idx = 346237, subtype_rnd = 346237, brand = 346237, freshness = 346237}, rnd = 2 '\002', 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_JEWELLERY, 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 = 1, unrand_idx = 1, subtype_rnd = 1, brand = 1, freshness = 1}, rnd = 184 '\270', quantity = 1, flags = 15, 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_WEAPONS, sub_type = 10 '\n', {plus = 1, mon_type = MONS_FRILLED_LIZARD, skill = SK_SHORT_BLADES, charges = 1, net_durability = 1, tithe_state = 1}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 7, unrand_idx = 7, subtype_rnd = 7, brand = 7, freshness = 7}, rnd = 195 '\303', quantity = 1, flags = 131087, 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_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 = 348728, unrand_idx = 348728, subtype_rnd = 348728, brand = 348728, freshness = 348728}, rnd = 165 '\245', quantity = 1, flags = 0, 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_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 = 153, unrand_idx = 153, subtype_rnd = 153, brand = 153, freshness = 153}, rnd = 172 '\254', quantity = 1, flags = 2, pos = {x = -1, y = -1}, link = 33, slot = 72, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "!q", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_WANDS, sub_type = 22 '\026', {plus = 10, mon_type = MONS_WATER_MOCCASIN, skill = SK_THROWING, charges = 10, net_durability = 10, tithe_state = 10}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 4, unrand_idx = 4, subtype_rnd = 4, brand = 4, freshness = 4}, rnd = 254 '\376', quantity = 1, flags = 15, pos = {x = -1, y = -1}, link = 34, slot = 73, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_WANDS, sub_type = 24 '\030', {plus = 10, mon_type = MONS_WATER_MOCCASIN, skill = SK_THROWING, charges = 10, net_durability = 10, tithe_state = 10}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 107, unrand_idx = 107, subtype_rnd = 107, brand = 107, freshness = 107}, rnd = 203 '\313', quantity = 1, flags = 6, pos = {x = -1, y = -1}, link = 35, slot = 74, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_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 = "\024\f\017\377\030\377\032\021\377\016\377\377\377\377\377\377\377\377\377"}, quiver_item = -1 '\377', quiver_desc = "Cast: Shock", 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 0x0000000000ddc84a in TilesFramework::redraw (this=0x1286f60 ) at tileweb.cc:2236 No locals. #14 0x0000000000ddcb48 in TilesFramework::update_input_mode (this=0x1286f60 , mode=mode@entry=MOUSE_MODE_MORE, force=force@entry=false) at tileweb.cc:944 prev_mode = #15 0x00000000009f53e7 in mouse_control::mouse_control (this=0x7ffdc8503db4, mode=MOUSE_MODE_MORE) at libutil.cc:492 No locals. #16 0x0000000000a8e588 in readkey_more (user_forced=user_forced@entry=false) at message.cc:1888 keypress = 0 unwind_more = {val = @0x1228381, oldval = false} mc = {m_previous_mode = MOUSE_MODE_NORMAL, static ms_current_mode = MOUSE_MODE_NORMAL} #17 0x0000000000a9049f in message_window::more (this=this@entry=0x1232040 , full=full@entry=true, user=user@entry=false) at message.cc:728 rng = {previous = rng::UI} last_row = 7 #18 0x0000000000a909e0 in message_window::make_space (n=1, this=0x1232040 ) at message.cc:479 space = 0 s = space = s = #19 message_window::add_item (this=this@entry=0x1232040 , text="* * * LOW MAGIC WARNING * * *", first_col=first_col@entry=prefix_type::none, temporary=temporary@entry=false) at message.cc:630 line = {ops = std::vector of length 0, capacity 1655821 = { nl = @0x3c7be70: {ops = std::vector of length 3, capacity 4 = {{type = FSOP_COLOUR, colour = 11, text = ""}, {type = FSOP_TEXT, colour = -1, text = "* * * LOW MAGIC WARNING * * *"}, {type = FSOP_COLOUR, colour = 7, text = ""}}} __for_range = std::vector of length 1, capacity 1 = {{ops = std::vector of length 3, capacity 4 = {{type = FSOP_COLOUR, colour = 11, text = ""}, {type = FSOP_TEXT, colour = -1, text = "* * * LOW MAGIC WARNING * * *"}, {type = FSOP_COLOUR, colour = 7, text = ""}}}} __for_begin = __for_end = newlines = std::vector of length 1, capacity 1 = {{ops = std::vector of length 3, capacity 4 = {{type = FSOP_COLOUR, colour = 11, text = ""}, {type = FSOP_TEXT, colour = -1, text = "* * * LOW MAGIC WARNING * * *"}, {type = FSOP_COLOUR, colour = 7, text = ""}}}} #20 0x0000000000a90f97 in message_store::store_msg (msg=..., this=0x12283a0 ) at message.cc:820 p = prefix_type::none dontsend = p = dontsend = #21 message_store::flush_prev (this=this@entry=0x12283a0 ) at message.cc:850 msg = {channel = MSGCH_DANGER, param = 0, messages = std::vector of length 1, capacity 1 = {{text = "* * * LOW MAGIC WARNING * * *", repeats = 1}}, turn = 11423, join = true} #22 0x0000000000a8b74a in message_store::add (msg=..., this=0x12283a0 ) at message.cc:784 orig_full_text = "You break out of your daze." orig_full_text = #23 _mpr (text=..., channel=MSGCH_RECOVERY, param=, nojoin=, cap=) at message.cc:1593 _doing_c_message_hook = false rng = {previous = rng::GAMEPLAY} colour = col = "lightgreen" domore = do_flash_screen = false join = fs = {ops = std::vector of length 3, capacity 4 = {{type = FSOP_COLOUR, colour = 10, text = ""}, {type = FSOP_TEXT, colour = -1, text = "You break out of your daze."}, {type = FSOP_COLOUR, colour = 7, text = ""}}} msg = {channel = MSGCH_RECOVERY, param = 0, messages = std::vector of length 1, capacity 1 = {{text = "You break out of your daze.", repeats = 1}}, turn = 11423, join = true} #24 0x0000000000a8be5a 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 = 0x7ffdc8504390, reg_save_area = 0x7ffdc85042d0}} buff = "You break out of your daze.\000\375\177\000\000H\332\060\001\000\000\000\000\264R\230\000\000\000\000\000\240BP\310\375\177\000\000\204.\200\000\000\000\000\000\260BP\310\375\177\000\000\000\000\000\000\t\000\000\000\310\301\064\001\000\000\000\000\350AP\310\375\177\000\000\020BP\310\375\177\000\000\006\000\000\000\000\000\000\000Maggie\000\000\025\250\315\000\000\000\000\000\060BP\310\375\177\000\000\320\027-\001\000\000\000\000; \000\004\000\000\000\000\025\250\315\000\000\000\000\000\240BP\310\375\177\000\000\320\027-\001\000\000\000\000\001\242X\003\000\000\000\000\320\027-\001\000\000\000\000\300BP\310\375\177\000" len = #25 0x0000000000a8c360 in mprf (channel=channel@entry=MSGCH_RECOVERY, format=format@entry=0xdf6e33 "%s") at message.cc:1307 argp = {{gp_offset = 24, fp_offset = 48, overflow_arg_area = 0x7ffdc8504390, reg_save_area = 0x7ffdc85042d0}} #26 0x0000000000bb8fe1 in _decrement_a_duration (dur=dur@entry=DUR_MESMERISED, delay=delay@entry=10, endmsg=0xe25d74 "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 0x0000000000bbb36e in _decrement_simple_duration (delay=10, dur=DUR_MESMERISED) at player-reacts.cc:853 No locals. #28 _decrement_durations () at player-reacts.cc:853 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:1064 stealth = #30 0x0000000000de6735 in world_reacts () at main.cc:2601 No locals. #31 0x0000000000de763e in _input () at main.cc:1291 player_disabled = {was_disabled = false} #32 0x0000000000de842d in _launch_game () at main.cc:486 game_start = ccon = {cstate = false} #33 0x00000000006e6fcc in _launch_game_loop () at main.cc:385 game_ended = false game_ended = ge = fe = E = #34 main (argc=, argv=0x7ffdc8504c08) at main.cc:335 echo = {prev_state = {value = maybe_bool::mbool_t::maybe, static maybe = {value = maybe_bool::mbool_t::maybe, static maybe = , static t = {value = maybe_bool::mbool_t::t, static maybe = , static t = , static f = {value = maybe_bool::mbool_t::f, static maybe = , static t = , static f = }}, static f = }, static t = , static f = }} [Inferior 1 (process 30338) 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 = 9 Level id: D:9 Level build method = , level layout type = rooms, absdepth0 = 8 Level vaults: layout_basic uniq_maggie Markers: <<<<<<<<<<<<<<<<<<<<<< >>>>>>>>>>>>>>>>>>>>>> Messages: <<<<<<<<<<<<<<<<<<<<<< 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 misses the kobold brigand. The zap hits the kobold but does no damage. You feel sick. Taken [2] Damage! You left [69]HP Unknown command. 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, p - kobold brigand The zap hits the kobold brigand. The kobold brigand is heavily wounded. The zap hits the kobold brigand. The kobold brigand is severely wounded. You feel sick. Taken [2] Damage! You left [67]HP Unknown command. 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 Okay, then. You feel sick. You feel sick. Taken [1] Damage! You left [66]HP 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 kobold brigand. The kobold brigand is severely wounded. The zap misses the kobold. The zap hits the kobold. The kobold is heavily wounded. The zap hits the kobold brigand. The kobold brigand is severely wounded. You feel sick. Taken [1] Damage! You left [65]HP Unknown command. 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 The zap hits the kobold. The kobold is severely wounded. The zap hits the kobold. You kill the kobold! Sif Muna accepts your kill. You feel sick. The kobold brigand hits you but does no damage. Unknown command. Unknown command. Casting: Shock (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Airstrike (dangerous; 1% risk of failure) Press: ? - help, Dir - move target, f - kobold brigand Aim: a kobold brigand, wielding a +0 short sword and quivering poisoned darts (severely wounded, empty space bonus: 7/8) The air twists around and strikes the kobold brigand!! You kill the kobold brigand! Sif Muna accepts your kill. You feel sick. Taken [1] Damage! You left [64]HP Unknown command. You feel sick. You are no longer poisoned. Things that are here: a +0 short sword; 8 poisoned darts Things that are here: a +0 whip; a stone You see here a +2 whip of venom. Things that are here: a +0 short sword; 2 stones; a kobold corpse Things that are here: a +0 short sword; 5 poisoned darts Things that are here: a +0 short sword; 3 stones; a kobold corpse A gnoll comes into view. It is wielding a +0 spear. A gnoll is nearby! A gnoll is nearby! Casting: Airstrike (dangerous; 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 - gnoll Aim: a gnoll, wielding a +0 spear (wandering, hasn't noticed you, 77% to hit) The zap hits the gnoll! The gnoll is heavily wounded. The gnoll shouts! You hear a shout! x4 Unknown command. Casting: Shock (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Airstrike (dangerous; 1% risk of failure) Press: ? - help, Dir - move target, f/p - gnoll Aim: a gnoll, wielding a +0 spear (heavily wounded, empty space bonus: 3/8) The air twists around and strikes the gnoll!! You kill the gnoll! Sif Muna accepts your kill. You hear a shout! x2 Unknown command. A gnoll comes into view. It is wielding a +0 spear. A gnoll is nearby! A gnoll is nearby! Casting: Airstrike (dangerous; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Airstrike (dangerous; 1% risk of failure) Press: ? - help, Dir - move target, f - gnoll Aim: a gnoll, wielding a +0 spear (wandering, hasn't noticed you, empty space bonus: 3/8) The air twists around and strikes the gnoll!! You kill the gnoll! Sif Muna accepts your kill. Unknown command. Casting: Airstrike (dangerous; 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.) Joseph, a Mercenary comes into view. He is wielding a +0 quarterstaff of speed and carrying a wand of light. Casting: Airstrike (dangerous; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Airstrike (dangerous; 1% risk of failure) Press: ? - help, Dir - move target, f - Joseph Aim: Joseph, wielding a +0 quarterstaff of speed, wearing a +0 ring mail and carrying a wand of light (empty space bonus: 3/8) The air twists around and strikes Joseph!! Joseph is moderately wounded. * * * LOW MAGIC WARNING * * * Joseph unwields a +0 quarterstaff of speed. Joseph wields a +2 sling of flaming. It bursts into flame! Joseph shoots a sling bullet. The sling bullet closely misses you. Unknown command. Unknown command. Things that are here: a +0 short sword; 3 stones; a kobold corpse Things that are here: a +0 short sword; 5 poisoned darts Joseph shoots a sling bullet. The sling bullet completely misses you. Things that are here: a +0 short sword; 2 stones; a kobold corpse You see here a +2 whip of venom. Things that are here: a +0 whip; a stone Joseph shoots a sling bullet. The sling bullet completely misses you. Unknown command. Casting: Airstrike (dangerous; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Airstrike (dangerous; 1% risk of failure) Press: ? - help, Dir - move target, f/p - Joseph Aim: Joseph, wielding a +2 sling of flaming, wearing a +0 ring mail and carrying a wand of light (moderately wounded, empty space bonus: 8/8) The air twists around and strikes Joseph! Joseph is heavily wounded. Joseph shoots a sling bullet. The sling bullet hits you! The sling bullet burns you. Taken [15] Damage! You left [59]HP Unknown command. Casting: Airstrike (dangerous; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Airstrike (dangerous; 1% risk of failure) Press: ? - help, Dir - move target, f/p - Joseph Aim: Joseph, wielding a +2 sling of flaming, wearing a +0 ring mail and carrying a wand of light (heavily wounded, empty space bonus: 8/8) The air twists around and strikes Joseph!! You kill Joseph! Sif Muna accepts your kill. * * * LOW MAGIC WARNING * * * Unknown command. Casting: Airstrike (dangerous; 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. I - a wand of light (10) Things that are here: a +2 sling of flaming; a +0 quarterstaff of speed; a +0 ring mail This spell is impossible to cast! You start memorising the spell. You continue memorising. x7 You finish memorising. Spell assigned to 'b'. Okay, then. Things that are here: a +0 whip; a stone You see here a +2 whip of venom. Things that are here: a +0 short sword; 2 stones; a kobold corpse Things that are here: a +0 short sword; 5 poisoned darts Things that are here: a +0 short sword; 3 stones; a kobold corpse A gnoll bouda comes into view. It is wielding a +0 whip. A gnoll bouda is nearby! A gnoll comes into view. It is wielding a +0 whip. The gnoll shouts! Casting: Airstrike (dangerous; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Airstrike (dangerous; 1% risk of failure) Press: ? - help, Dir - move target, f - gnoll bouda Aim: a gnoll bouda, wielding a +0 whip and wearing a +0 robe (wandering, hasn't noticed you, empty space bonus: 7/8) The air twists around and strikes the gnoll bouda! The gnoll bouda shouts! The gnoll bouda is almost dead. You hear a shout! The gnoll bouda barks out a call to the hunt! The gnoll picks up the pace! You hear a shout! Unknown command. Casting: Airstrike (dangerous; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Airstrike (dangerous; 1% risk of failure) Press: ? - help, Dir - move target, f/p - gnoll bouda Aim: a gnoll bouda, wielding a +0 whip and wearing a +0 robe (almost dead, empty space bonus: 8/8) The air twists around and strikes the gnoll bouda! You kill the gnoll bouda! Sif Muna accepts your kill. A gnoll comes into view. It is wielding a +0 whip. A gnoll comes into view. It is wielding a +0 halberd. Your Armour skill increases to level 3! Casting: Airstrike (dangerous; 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 - gnoll Aim: a gnoll, wielding a +0 halberd (wandering, covering ground quickly, hasn't noticed you, 77% to hit) The zap hits the gnoll! The gnoll is severely wounded. The gnoll shouts! 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 - gnoll Aim: a gnoll, wielding a +0 halberd (severely wounded, covering ground quickly, 77% to hit) The zap hits the gnoll. You kill the gnoll! Sif Muna accepts your kill. 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 - gnoll Aim: a gnoll, wielding a +0 whip (covering ground quickly, 77% to hit) The zap misses the gnoll. The zap hits the gnoll! The gnoll is severely wounded. The gnoll misses you. Unknown command. 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 - gnoll Aim: a gnoll, wielding a +0 whip (severely wounded, covering ground quickly, 77% to hit) The zap hits the gnoll. The gnoll is moderately wounded. The zap hits the gnoll. You kill the gnoll! Sif Muna accepts your kill. * * * LOW MAGIC WARNING * * * The gnoll closely misses you. Unknown command. Unknown command. 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 The zap hits the gnoll. The gnoll is heavily wounded. The zap misses the gnoll. * * * LOW MAGIC WARNING * * * The gnoll barely 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 The zap hits the gnoll. The gnoll is heavily wounded. The zap hits the gnoll. The gnoll is almost dead. * * * LOW MAGIC WARNING * * * The gnoll hits you but does no damage. Unknown command. 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 The zap hits the gnoll! You kill the gnoll! Sif Muna accepts your kill. * * * LOW MAGIC WARNING * * * Unknown command. Unknown command. You see here a +0 whip. There is an open door here. Found a scroll of vulnerability. Things that are here: a +0 halberd; a gnoll corpse An orc comes into view. It is wielding a +0 trident. Things that are here: a +0 whip; a +0 robe 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. d - 5 scrolls of vulnerability (gained 1) The orc 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 - orc Aim: an orc, wielding a +0 trident and wearing a +0 chain mail (81% to hit) The zap hits the orc. The orc is heavily wounded. Unknown command. 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 - orc Aim: an orc, wielding a +0 trident and wearing a +0 chain mail (heavily wounded, 81% to hit) The zap misses the orc. The orc closely misses you. You hear a shout! Unknown command. 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 - orc Aim: an orc, wielding a +0 trident and wearing a +0 chain mail (heavily wounded, 81% to hit) The zap misses the orc. The orc misses you. Unknown command. 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 - orc Aim: an orc, wielding a +0 trident and wearing a +0 chain mail (heavily wounded, 81% to hit) The zap misses the orc. The orc closely misses you. You hear a shout! Unknown command. Unknown command. The orc misses you. You hear a shout! You hit the orc but do no damage. The orc is heavily wounded. The orc hits you but does no damage. You hit the orc but do no damage. The orc is heavily wounded. The orc closely misses you. The orc hits you but does no damage. You hit the orc but do no damage. The orc is heavily wounded. The orc barely misses you. You sock the orc! You burn the orc. You kill the orc! Sif Muna accepts your kill. An orc comes into view. It is wielding a +0 dagger. Things that are here: a +0 trident; a +0 chain mail; an orc corpse An ice beast and 2 orc wizards come into view. Found a stormy altar of Qazlal. 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. The orc is almost dead. The zap misses the orc wizard. The orc hits you but does no damage. Unknown command. Unknown command. 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 - orc wizard Aim: an orc wizard, wielding a +0 dagger and wearing a +0 robe (67% to hit) The zap hits the orc. You kill the orc! Sif Muna accepts your kill. The zap hits the orc wizard! The orc wizard is heavily wounded. The zap misses the orc wizard. x2 The orc wizard casts a spell at you. You easily resist. 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 - orc wizard Aim: an orc wizard, wielding a +0 dagger and wearing a +0 robe (heavily wounded, 67% to hit) Okay, then. Things that are here: 11 gold pieces; a +0 dagger; a +0 leather armour 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 - orc wizard Aim: an orc wizard, wielding a +0 dagger and wearing a +0 robe (heavily wounded, 67% to hit) Okay, then. 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, p - orc wizard The zap hits the orc wizard but does no damage. The orc wizard is heavily wounded. The zap hits the orc wizard. The orc wizard is moderately wounded. The zap misses the orc wizard. x2 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 The zap hits the orc wizard. The orc wizard is heavily wounded. The zap hits the ice beast. The ice beast is lightly wounded. The zap hits the ice beast! The ice beast is heavily wounded. The orc wizard mumbles some strange words. The orc wizard flickers and vanishes! Deactivating autopickup; reactivate with Ctrl-A. 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 misses the orc wizard. The zap hits something. The zap misses the orc wizard. The orc wizard barely misses you. Unknown command. 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 The zap hits the orc wizard. The orc wizard is severely wounded. The zap hits the ice beast. The ice beast is heavily wounded. The zap misses the ice beast. The zap hits the orc wizard! You kill the orc wizard! Sif Muna accepts your kill. Something hits you but does no damage. 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 The zap hits the ice beast. The ice beast is severely wounded. The zap hits the ice beast. The ice beast is almost dead. You hear some strange, mumbled words. You are confused. The ice beast closely misses you. Unknown command. You're too confused to cast spells. You're too confused to cast spells. Unknown command. You bump into the stone wall. You hear some strange, mumbled words. A magic dart appears from out of thin air! The magic dart hits you! The ice beast closely misses you. Taken [7] Damage! You left [67]HP Things that are here: a +0 trident; a +0 chain mail; an orc corpse Unknown command. You bump into the stone wall. Something hits you but does no damage. You bump into the stone wall. The ice beast hits you but does no damage. You hear some strange, mumbled words. You are more confused. Unknown command. The ice beast attacks as it pursues you! The ice beast misses you. You bump into the rock wall. The ice beast hits you but does no damage. You bump into the stone wall. The ice beast closely misses you. You're too confused to move! The ice beast barely misses you. You hit the ice beast but do no damage. The ice beast is almost dead. The ice beast hits you. The ice beast freezes you! The ice beast misses you. Taken [13] Damage! You left [56]HP You bump into the stone wall. The ice beast hits you but does no damage. Unknown command. You hit the ice beast but do no damage. The ice beast is almost dead. The ice beast hits you. The ice beast freezes you. * * * LOW HITPOINT WARNING * * * Taken [9] Damage! You left [48]HP The ice beast attacks as it pursues you! The ice beast misses you. You bump into the stone wall. The ice beast closely misses you. You bump into the rock wall. You feel less confused. The ice beast hits you. * * * LOW HITPOINT WARNING * * * The ice beast freezes you. * * * LOW HITPOINT WARNING * * * Taken [6] Damage! You left [43]HP Unknown command. You hit the ice beast. You melt the ice beast. You kill the ice beast! Sif Muna accepts your kill. A magic dart appears from out of thin air! The magic dart hits you. * * * LOW HITPOINT WARNING * * * Your Stealth skill increases to level 4! Taken [1] Damage! You left [42]HP You closely miss something. Something hits you but does no damage. Unknown command. You hit something. You burn something. Something hits you. * * * LOW HITPOINT WARNING * * * Something hits you. * * * LOW HITPOINT WARNING * * * Taken [2] Damage! You left [40]HP You miss something. Something barely misses you. You hit something but do no damage. Your punch misses something. Something hits you but does no damage. You barely miss something. You hear some strange, mumbled words. A puff of flame appears from out of thin air! The puff of flame hits you but does no damage. Something hits you. * * * LOW HITPOINT WARNING * * * Taken [3] Damage! You left [37]HP You miss something. Something hits you but does no damage. You barely miss something. Something hits you. * * * LOW HITPOINT WARNING * * * Something barely misses you. Taken [2] Damage! You left [35]HP You barely miss something. Something hits you. * * * LOW HITPOINT WARNING * * * Taken [3] Damage! You left [32]HP You barely miss something. Something hits you but does no damage. You closely miss something. Something hits you but does no damage. You hear some strange, mumbled words. A magic dart appears from out of thin air! The magic dart hits you. * * * LOW HITPOINT WARNING * * * Taken [4] Damage! You left [29]HP 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 Something hits you but does no damage. Unknown command. 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 Something hits you. * * * LOW HITPOINT WARNING * * * 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 An orc wizard appears from thin air! Reactivating autopickup. The orc wizard barely misses you. Unknown command. 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 - orc wizard Aim: an orc wizard, wielding a +0 dagger and wearing a +0 robe (almost dead, 67% to hit) The zap hits the orc wizard. You kill the orc wizard! Sif Muna accepts your kill. Unknown command. Things that are here: a +0 dagger; a +0 robe; an orc corpse Things that are here: a +0 trident; a +0 chain mail; an orc corpse You now have 438 gold pieces (gained 11). Items here: )) [[. Things that are here: a +0 trident; a +0 chain mail; an orc corpse Things that are here: a +0 dagger; a +0 robe; an orc corpse You open the door. There is an open door here. Found a stone staircase leading down. There is a stone staircase leading down here. Found an escape hatch in the floor. There is an open door here. A howler monkey comes into view. A howler monkey is nearby! A howler monkey is nearby! A howler monkey is nearby! A howler monkey 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 - howler monkey Aim: a howler monkey (asleep, 100% to hit) The zap hits the howler monkey! The howler monkey is heavily wounded. The howler monkey hoots and howls with incredible vigour! 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 - howler monkey Aim: a howler monkey (heavily wounded, catching its breath, 71% to hit) The zap hits the howler monkey. The howler monkey is severely wounded. Unknown command. 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 - howler monkey Aim: a howler monkey (severely wounded, catching its breath, 71% to hit) The zap hits the howler monkey. The howler monkey is almost dead. Unknown command. 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 - howler monkey Aim: a howler monkey (almost dead, catching its breath, 71% to hit) The zap hits the howler monkey. The howler monkey is almost dead. Unknown command. 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 - howler monkey Aim: a howler monkey (almost dead, 71% to hit) The zap hits the howler monkey. You kill the howler monkey! Sif Muna accepts your kill. Your Spellcasting skill increases to level 8! c - 2 scrolls labelled WIDGHY QUREWYHUTHO (gained 1) Found a stone staircase leading up. There is a stone staircase leading down here. A centaur and a bullfrog come into view. Found a book of Dreams. There are monsters nearby! There are monsters nearby! There are monsters nearby! Casting: Shock (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Airstrike (dangerous; 1% risk of failure) Press: ? - help, Dir - move target, f - centaur Aim: a centaur (asleep, empty space bonus: 8/8) The air twists around and strikes the centaur!! You kill the centaur! Sif Muna accepts your kill. The bullfrog gives a loud, deep croak! The bullfrog swells and bulges. Unknown command. Casting: Airstrike (dangerous; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Airstrike (dangerous; 1% risk of failure) Press: ? - help, Dir - move target, f - bullfrog Aim: a bullfrog (empty space bonus: 5/8) The air twists around and strikes the bullfrog! The bullfrog is severely wounded. Unknown command. Casting: Airstrike (dangerous; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Airstrike (dangerous; 1% risk of failure) Press: ? - help, Dir - move target, f/p - bullfrog Aim: a bullfrog (severely wounded, empty space bonus: 6/8) The air twists around and strikes the bullfrog!! You kill the bullfrog! Sif Muna accepts your kill. * * * LOW MAGIC WARNING * * * Your Conjurations skill increases to level 3! You pick up a book of Dreams and begin reading... You add the spells Ensorcelled Hibernation, Fugue of the Fallen and Anguish to your library. Okay, then. You now have 451 gold pieces (gained 13). J - a wand of roots (10) You open the door. There is an open door here. You see here a +0 dagger. Things that are here: a +0 dagger; a +0 robe Things that are here: a +0 dagger; a +0 robe Things that are here: a +0 giant club; a +0 giant spiked club v - 2 scrolls labelled ZEUMINI JUTHRE (gained 1) Done exploring. Done exploring. Done exploring. Done exploring. Done exploring. Done exploring. Search for what [Enter for "."]? . Done exploring. Done exploring. Done exploring. There is a stone staircase leading up here. There is a stone staircase leading down here. Search for what [Enter for "."]? . You climb downwards. Found a trident. There is a stone staircase leading up here. You see here a +0 trident. Found a stone staircase leading down. Found a book of Conjurations. Found a stone staircase leading up. Found a longbow. A troll comes into view. Found a trident. The troll shouts! Casting: Airstrike (dangerous; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Airstrike (dangerous; 1% risk of failure) Press: ? - help, Dir - move target, f - troll Aim: a troll (empty space bonus: 8/8) The air twists around and strikes the troll!! The troll is heavily wounded. Unknown command. Casting: Airstrike (dangerous; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Airstrike (dangerous; 1% risk of failure) Press: ? - help, Dir - move target, f/p - troll Aim: a troll (heavily wounded, empty space bonus: 8/8) The air twists around and strikes the troll!! You kill the troll! Sif Muna accepts your kill. The troll leather armour is intact enough to wear. Casting: Airstrike (dangerous; 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.) Things that are here: a +0 troll leather armour; a troll corpse You see here a +0 longbow. Found a trident. Found an escape hatch in the floor. There is an escape hatch in the floor here. 2 orcs come into view. The orc shouts! You hear a shout! The orc shouts! The orc moves out of view. An orc wizard comes into view. It is wielding a +0 dagger. There are monsters nearby! There are monsters nearby! Casting: Airstrike (dangerous; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Airstrike (dangerous; 1% risk of failure) Press: ? - help, Dir - move target, f - orc Aim: an orc, wielding a +0 club and wearing a +0 ring mail (empty space bonus: 5/8) The air twists around and strikes the orc. The orc is almost dead. Unknown command. Casting: Airstrike (dangerous; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Airstrike (dangerous; 1% risk of failure) Press: ? - help, Dir - move target, f/p - orc Aim: an orc, wielding a +0 club and wearing a +0 ring mail (almost dead, empty space bonus: 5/8) The air twists around and strikes the orc! You kill the orc! Sif Muna accepts your kill. Unknown command. Casting: Airstrike (dangerous; 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 - orc Aim: an orc, wielding a +0 dagger (74% to hit) Okay, then. Found a stone staircase leading down. Things that are here: a +0 club; a +0 ring mail; an orc corpse 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 - orc wizard Aim: an orc wizard, wielding a +0 dagger and wearing a +0 robe (67% to hit) The zap hits the orc! You kill the orc! Sif Muna accepts your kill. The zap hits the orc wizard. The orc wizard is moderately wounded. The orc wizard points at you and mumbles some strange words. The magic dart hits you! Taken [8] Damage! You left [67]HP 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 - orc wizard Aim: an orc wizard, wielding a +0 dagger and wearing a +0 robe (moderately wounded, 67% to hit) The zap hits the orc wizard. The orc wizard is heavily wounded. The orc wizard gestures wildly while chanting. The orc wizard flickers and vanishes! Deactivating autopickup; reactivate with Ctrl-A. 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. 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 something. Unknown command. 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 The zap hits something. Unknown command. Unknown command. Casting: Shock (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. You don't know that spell. 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. Something hits you but does no damage. You barely miss something. Something hits you but does no damage. You closely miss something. You hear some strange, mumbled words. Something tries to affect you, but you resist. You closely miss something. Something hits you but does no damage. x2 You closely miss something. Something hits you but does no damage. You barely miss something. Something barely misses you. Something hits you but does no damage. You sock something! You burn something. Sif Muna accepts your kill. Reactivating autopickup. You feel a bit more experienced. Things that are here: a +0 dagger; a +0 robe HP restored. Magic restored. Things that are here: a +0 club; a +0 ring mail; an orc corpse Things that are here: a +0 dagger; an orc corpse Found an escape hatch in the ceiling. There is an escape hatch in the ceiling here. Found a stone staircase leading down. There is a stone staircase leading down here. Maggie the Vainglorious comes into view. She is wielding a +0 scimitar of draining. Maggie is nearby! Maggie is nearby! Maggie is nearby! Casting: Shock (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Airstrike (dangerous; 1% risk of failure) Press: ? - help, Dir - move target, f - Maggie Aim: Maggie, wielding a +0 scimitar of draining and wearing +0 steam dragon scales (asleep, empty space bonus: 2/8) The air twists around and strikes Maggie. Maggie shouts! Maggie is lightly wounded. Unknown command. Casting: Airstrike (dangerous; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Airstrike (dangerous; 1% risk of failure) Press: ? - help, Dir - move target, f/p - Maggie Aim: Maggie, wielding a +0 scimitar of draining and wearing +0 steam dragon scales (lightly wounded, empty space bonus: 3/8) The air twists around and strikes Maggie! Maggie is moderately wounded. Unknown command. Unknown command. Casting: Airstrike (dangerous; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Airstrike (dangerous; 1% risk of failure) Press: ? - help, Dir - move target, f/p - Maggie Aim: Maggie, wielding a +0 scimitar of draining and wearing +0 steam dragon scales (moderately wounded, empty space bonus: 2/8) The air twists around and strikes Maggie. Maggie is moderately wounded. * * * LOW MAGIC WARNING * * * Maggie gestures wildly while chanting. Maggie attempts to bespell you! You are mesmerised by Maggie! Unknown command. Unknown command. Casting: Airstrike (dangerous; 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 of draining and wearing +0 steam dragon scales (moderately wounded, mesmerising, 74% to hit) Okay, then. You cannot move away from Maggie! You cannot move away from Maggie! You cannot move away from 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 - Maggie Aim: Maggie, wielding a +0 scimitar of draining and wearing +0 steam dragon scales (moderately wounded, mesmerising, 74% to hit) The zap misses Maggie. * * * LOW MAGIC WARNING * * * Unknown command. Unknown command. 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 - Maggie Aim: Maggie, wielding a +0 scimitar of draining and wearing +0 steam dragon scales (moderately wounded, mesmerising, 74% to hit) The zap hits Maggie! Maggie is heavily wounded. * * * LOW MAGIC WARNING * * * Unknown command. 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 - Maggie Aim: Maggie, wielding a +0 scimitar of draining and wearing +0 steam dragon scales (heavily wounded, mesmerising, 74% to hit) The zap hits Maggie but does no damage. Maggie is heavily wounded. * * * LOW MAGIC WARNING * * * Maggie says, "Fear not. I will immortalize you in the tale of my first kill." Unknown command. 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 - Maggie Aim: Maggie, wielding a +0 scimitar of draining and wearing +0 steam dragon scales (heavily wounded, mesmerising, 74% to hit) The zap misses Maggie. * * * LOW MAGIC WARNING * * * Unknown command. Unknown command. 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 - Maggie Aim: Maggie, wielding a +0 scimitar of draining and wearing +0 steam dragon scales (heavily wounded, mesmerising, 74% to hit) The zap hits Maggie. Maggie is heavily wounded. * * * LOW MAGIC WARNING * * * Maggie hits you with a +0 scimitar of draining! You feel drained. Taken [11] Damage! You left [64]HP Unknown command. Unknown command. Unknown command. 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 - Maggie Aim: Maggie, wielding a +0 scimitar of draining and wearing +0 steam dragon scales (heavily wounded, mesmerising, 74% to hit) The zap hits Maggie. Maggie is heavily wounded. * * * LOW MAGIC WARNING * * * Maggie hits you with a +0 scimitar of draining. You feel drained. Taken [6] Damage! You left [58]HP Unknown command. 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 - Maggie Aim: Maggie, wielding a +0 scimitar of draining and wearing +0 steam dragon scales (heavily wounded, mesmerising, 74% to hit) The zap hits Maggie. Maggie is severely wounded. * * * LOW MAGIC WARNING * * * Maggie closely misses you. Unknown command. Unknown command. You cannot move away from 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 - Maggie Aim: Maggie, wielding a +0 scimitar of draining and wearing +0 steam dragon scales (severely wounded, mesmerising, 74% to hit) The zap misses Maggie. * * * LOW MAGIC WARNING * * * Maggie hits you with a +0 scimitar of draining! You feel drained. Taken [7] Damage! You left [51]HP Unknown command. 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 - Maggie Aim: Maggie, wielding a +0 scimitar of draining and wearing +0 steam dragon scales (severely wounded, mesmerising, 74% to hit) The zap hits Maggie but does no damage. Maggie is severely wounded. * * * LOW MAGIC WARNING * * * Maggie barely misses you. Unknown command. 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 - Maggie Aim: Maggie, wielding a +0 scimitar of draining and wearing +0 steam dragon scales (severely wounded, mesmerising, 74% to hit) The zap hits Maggie. Maggie is severely wounded. * * * LOW MAGIC WARNING * * * >>>>>>>>>>>>>>>>>>>>>> Version history: Game started: 0.31-a0-1370-gf52a5a9 Game state: mouse_enabled: 0, waiting_for_command: 0, terminal_resized: 0 io_inited: 1, need_save: 1, saving_game: 0, updating_scores: 0: seen_hups: 0, map_stat_gen: 0, type: 1, arena_suspended: 0 prev_cmd = CMD_CAST_SPELL repeat_cmd = CMD_NO_CMD Player: {{{{{{{{{{{ Name: [arrowsters] Species: Human Job: Air Elementalist HP: 51/69; mods: -6/0 MP: 2/22; mod: 0 Stats: 14 (14) 20 (20) 14 (14) Position: (60, 20), god: Sif Muna (9), turn_is_over: 1, banished: 0 Standing on/in/over feature: floor Skills (mode: manual) Name | can_currently_train | train | training | level | points | progress Fighting | X | 2 | 20 | 5 | 948 | 198/300 Short Blades | X | 0 | 0 | 0 | 0 | 0/50 Long Blades | X | 0 | 0 | 0 | 0 | 0/50 Axes | X | 0 | 0 | 0 | 0 | 0/50 Maces & Flails | X | 0 | 0 | 0 | 0 | 0/50 Polearms | X | 0 | 0 | 0 | 0 | 0/50 Staves | X | 0 | 0 | 0 | 0 | 0/50 Ranged Weapons | X | 0 | 0 | 0 | 0 | 0/50 Throwing | X | 0 | 0 | 0 | 0 | 0/50 Armour | X | 1 | 10 | 3 | 343 | 43/200 Dodging | X | 1 | 10 | 3 | 476 | 176/200 Stealth | X | 1 | 10 | 4 | 453 | 33/210 Shields | X | 0 | 0 | 0 | 0 | 0/50 Unarmed Combat | X | 0 | 0 | 0 | 0 | 0/50 Spellcasting | X | 2 | 20 | 8 | 2191 | 51/535 Conjurations | X | 2 | 20 | 3 | 339 | 39/200 Hexes | X | 0 | 0 | 0 | 0 | 0/50 Summonings | X | 0 | 0 | 0 | 0 | 0/50 Necromancy | X | 0 | 0 | 0 | 0 | 0/50 Translocations | X | 0 | 0 | 0 | 0 | 0/50 Fire Magic | X | 0 | 0 | 0 | 0 | 0/50 Ice Magic | X | 0 | 0 | 0 | 0 | 0/50 Air Magic | X | 1 | 10 | 10 | 3116 | 341/600 Earth Magic | X | 0 | 0 | 0 | 0 | 0/50 Alchemy | X | 0 | 0 | 0 | 0 | 0/50 Invocations | X | 0 | 0 | 0 | 0 | 0/42 Evocations | X | 0 | 0 | 0 | 0 | 0/50 Shapeshifting | X | 0 | 0 | 0 | 0 | 0/59 Spell bugs: Durations: Attributes: #12: 451 #23: 11310 #24: -727142064 #49: 515 Mutations: explore regen: 1 (innate) Inventory bugs: Equipment: eq slot #0, inv slot #20: +1 mace "Apeasan" {flame, rCorr} eq slot #1, inv slot #12: +0 cloak eq slot #2, inv slot #15: +2 hat eq slot #4, inv slot #24: +0 pair of boots eq slot #6, inv slot #26: +0 leather armour eq slot #7, inv slot #17: +6 ring of strength eq slot #9, inv slot #14: amulet of the acrobat }}}}}}}}}}} Webtiles message buffer: {"msg":"player" Webtiles JSON stack: start: 0 end: 15 type: } Screenshot: ################## .......>..@@...... #######.#########. #.# ##.# ##..# .#######..## .........## .######.## #.# clua stack: dlua stack: Lua persistent data: <<<<<<<<<<<<<<<<<<<<<< >>>>>>>>>>>>>>>>>>>>>> Lua marker contents: <<<<<<<<<<<<<<<<<<<<<< >>>>>>>>>>>>>>>>>>>>>> ASSERT((duration[DUR_MESMERISED] > 0) == !beholders.empty()) in 'behold.cc' at line 66 failed. Recursive crash.