ASSERT((duration[DUR_MESMERISED] > 0) == !beholders.empty()) in 'behold.cc' at line 66 failed. Version: Dungeon Crawl Stone Soup 0.33-a0-854-g9c2e5f8391 Platform: unix Bits: 64 Game mode: normal Tiles: online Seed: 17393177261102518745, deterministic pregen: 1 Command line: /usr/games/crawl-git-9c2e5f8391 -name Azoth -rc /dgldir/rcfiles/crawl-git/Azoth.rc -macro /dgldir/rcfiles/crawl-git/Azoth.macro -morgue /dgldir/morgue/Azoth/ -webtiles-socket /crawl-master/webserver/sockets/Azoth:2025-02-12.16:24:59.sock -await-connection RC options: restart_after_game = false Crash caused by signal #6: Aborted Obtained 29 stack frames. /usr/games/crawl-git-9c2e5f8391(_Z17write_stack_traceP8_IO_FILE+0x3f) [0x563e6974d84f]: write_stack_trace(_IO_FILE*) /usr/games/crawl-git-9c2e5f8391(_Z13do_crash_dumpv+0x404) [0x563e69757be4]: do_crash_dump() /usr/games/crawl-git-9c2e5f8391(_Z20crash_signal_handleri+0x1fa) [0x563e6974dcda]: crash_signal_handler(int) /lib/x86_64-linux-gnu/libc.so.6(+0x46210) [0x7f0e9273b210]: /lib/x86_64-linux-gnu/libpthread.so.0(raise+0xcb) [0x7f0e928fc24b]: /usr/games/crawl-git-9c2e5f8391(+0x4c833d) [0x563e6975733d]: /usr/games/crawl-git-9c2e5f8391(+0x4c84f5) [0x563e697574f5]: /usr/games/crawl-git-9c2e5f8391(+0x483322) [0x563e69712322]: /usr/games/crawl-git-9c2e5f8391(+0x48335b) [0x563e6971235b]: /usr/games/crawl-git-9c2e5f8391(_Z16fill_status_infoiR11status_info+0x19f2) [0x563e69d2dd12]: fill_status_info(int, status_info&) /usr/games/crawl-git-9c2e5f8391(_ZN14TilesFramework12_send_playerEb+0x217a) [0x563e69e63aba]: TilesFramework::_send_player(bool) /usr/games/crawl-git-9c2e5f8391(_ZN14TilesFramework6redrawEv+0xa6) [0x563e69e65096]: TilesFramework::redraw() /usr/games/crawl-git-9c2e5f8391(_ZN14TilesFramework17update_input_modeE10mouse_modeb+0x1a8) [0x563e69e65348]: TilesFramework::update_input_mode(mouse_mode, bool) /usr/games/crawl-git-9c2e5f8391(_ZN13mouse_controlC1E10mouse_mode+0x1d) [0x563e699f21fd]: mouse_control::mouse_control(mouse_mode) /usr/games/crawl-git-9c2e5f8391(+0x8069f3) [0x563e69a959f3]: /usr/games/crawl-git-9c2e5f8391(_ZN14message_window4moreEbb+0x204) [0x563e69a97a74]: message_window::more(bool, bool) /usr/games/crawl-git-9c2e5f8391(_ZN14message_window8add_itemENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE11prefix_typeb+0x3d0) [0x563e69a98000]: message_window::add_item(std::__cxx11::basic_string, std::allocator >, prefix_type, bool) /usr/games/crawl-git-9c2e5f8391(_ZN13message_store10flush_prevEv+0x34a) [0x563e69a985ba]: message_store::flush_prev() /usr/games/crawl-git-9c2e5f8391(+0x80357c) [0x563e69a9257c]: /usr/games/crawl-git-9c2e5f8391(_Z16do_message_print16msg_channel_typeibbPKcP13__va_list_tag+0xe9) [0x563e69a92d59]: do_message_print(msg_channel_type, int, bool, bool, char const*, __va_list_tag*) /usr/games/crawl-git-9c2e5f8391(_Z4mprf16msg_channel_typePKcz+0xb4) [0x563e69a93274]: mprf(msg_channel_type, char const*, ...) /usr/games/crawl-git-9c2e5f8391(+0x95eade) [0x563e69bedade]: /usr/games/crawl-git-9c2e5f8391(_Z13player_reactsv+0x770) [0x563e69bf00d0]: player_reacts() /usr/games/crawl-git-9c2e5f8391(_Z12world_reactsv+0x705) [0x563e69e6f535]: world_reacts() /usr/games/crawl-git-9c2e5f8391(+0xbe18d5) [0x563e69e708d5]: /usr/games/crawl-git-9c2e5f8391(+0xbe2345) [0x563e69e71345]: /usr/games/crawl-git-9c2e5f8391(main+0x1ab) [0x563e6969358b]: /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf3) [0x7f0e9271c0b3]: /usr/games/crawl-git-9c2e5f8391(_start+0x2e) [0x563e6969417e]: Trying to run gdb. GNU gdb (Ubuntu 9.1-0ubuntu1) 9.1 Copyright (C) 2020 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". 0x00007f0e927dac2a in __GI___wait4 (pid=3811767, stat_loc=stat_loc@entry=0x0, options=options@entry=0, usage=usage@entry=0x0) at ../sysdeps/unix/sysv/linux/wait4.c:27 #0 0x00007f0e927dac2a in __GI___wait4 (pid=3811767, stat_loc=stat_loc@entry=0x0, options=options@entry=0, usage=usage@entry=0x0) at ../sysdeps/unix/sysv/linux/wait4.c:27 resultvar = 18446744073709551104 sc_ret = #1 0x00007f0e927dabeb in __GI___waitpid (pid=, stat_loc=stat_loc@entry=0x0, options=options@entry=0) at waitpid.c:38 No locals. #2 0x0000563e6974d6b5 in call_gdb (file=file@entry=0x7f0e928e15c0 <_IO_2_1_stderr_>) at crash.cc:438 gdb = attach_cmd = "attach 3795956\000\000\000\000\000" #3 0x0000563e69757c02 in do_crash_dump () at dbg-asrt.cc:673 t = 1739382542 dir = "/dgldir/morgue/Azoth/" name = "/dgldir/morgue/Azoth/crash-Azoth-20250212-174902.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 = 0x7f0e928e15c0 <_IO_2_1_stderr_> #4 0x0000563e6974dcda in crash_signal_handler (sig_num=6) at crash.cc:198 No locals. #5 No locals. #6 raise (sig=) at ../sysdeps/unix/sysv/linux/raise.c:50 set = {__val = {0, 94826064790720, 140733966177488, 94826065263352, 66, 140733966180056, 0, 139700564287523, 206158430240, 140733966177440, 140733966177248, 11804408445877865472, 94826068396400, 139700567403561, 94826068396384, 140733966177488}} pid = tid = ret = #7 0x0000563e6975733d in _BreakStrToDebugger (mesg=mesg@entry=0x7fff2e0fd4d0 "ASSERT((duration[DUR_MESMERISED] > 0) == !beholders.empty()) in 'behold.cc' at line 66 failed.", assert=true) at dbg-asrt.cc:799 No locals. #8 0x0000563e697574f5 in AssertFailed (expr=expr@entry=0x563e69ef7af8 "(duration[DUR_MESMERISED] > 0) == !beholders.empty()", file=file@entry=0x563e69e844c0 "behold.cc", line=line@entry=66, text=text@entry=0x0) at dbg-asrt.cc:837 mesg = "ASSERT((duration[DUR_MESMERISED] > 0) == !beholders.empty()) in 'behold.cc' at line 66 failed.\000\000\217\336\017.\377\177", '\000' , " \000\000\000\000\000\000\000\240\033\216\222\016\177\000\000\000\000\377\377\377\377\377\377\000\000\000\000\000\000\000\000\200\301\061\203>V\000\000\240!\216\222\016\177\000\000\377\377\377\377\377\377\377\377"... args = {{gp_offset = 772789488, fp_offset = 32767, overflow_arg_area = 0x563e69e81b6d, reg_save_area = 0x7fff2e0fd678}} fileName = #9 0x0000563e69712322 in player::beheld (this=) at behold.cc:66 No locals. #10 0x0000563e6971235b in player::beheld (this=) at /usr/include/c++/9/bits/stl_iterator.h:803 No locals. #11 0x0000563e69d2dd12 in fill_status_info (status=status@entry=201, inf=...) at status.cc:318 found = false #12 0x0000563e69e63aba in _update_statuses (c=...) at tileweb.cc:1009 status = 201 changed = false counter = inf = {light_colour = 0, light_text = "", short_text = "", long_text = ""} changed = counter = inf = status = #13 TilesFramework::_send_player (this=0x563e6a34a400 , force_full=false) at tileweb.cc:1197 c = @0x563e6a376778: {_state_ever_synced = true, name = "Azoth", job_title = "the Impaler", wizard = false, explore = false, species = "Formicid", god = "the Shining One", under_penance = true, piety_rank = 6, form = 0 '\000', hp = 87, hp_max = 151, real_hp_max = 151, poison_survival = 87, mp = 25, mp_max = 25, dd_real_mp_max = 0, contam = 0, noise = -1, adjusted_noise = 80, armour_class = 32, evasion = 9, shield_class = 19, strength = 39 '\'', intel = 6 '\006', dex = 13 '\r', experience_level = 18, exp_progress = 51 '3', gold = 1635, zot_points = 0, elapsed_time = 339158, num_turns = 34448, lives = 0, deaths = 0, place = "Shoals", depth = 4, position = {x = 0, y = 0}, status = std::vector of length 2, capacity 8 = {{light_colour = 15, light_text = "Fly", short_text = "flying", long_text = "You are flying."}, {light_colour = 4, light_text = "Mesm", short_text = "mesmerised", long_text = "You are mesmerised."}}, inv = {mData = {{base_type = OBJ_MISSILES, sub_type = 9 '\t', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 0, unrand_idx = 0, subtype_rnd = 0, brand = 0, freshness = 0}, rnd = 236 '\354', quantity = 11, flags = 536871424, pos = {x = -1, y = -1}, link = 0, slot = 97, orig_place = {branch = BRANCH_DUNGEON, depth = 14}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_ARMOUR, sub_type = 13 '\r', {plus = 1, mon_type = MONS_FRILLED_LIZARD, skill = SK_SHORT_BLADES, charges = 1, net_durability = 1, tithe_state = 1}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 0, unrand_idx = 0, subtype_rnd = 0, brand = 0, freshness = 0}, rnd = 238 '\356', quantity = 1, flags = 536871425, pos = {x = -1, y = -1}, link = 1, slot = 98, orig_place = {branch = BRANCH_SHOALS, depth = 2}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_WANDS, sub_type = 0 '\000', {plus = 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 = 10, unrand_idx = 10, subtype_rnd = 10, brand = 10, freshness = 10}, rnd = 33 '!', quantity = 1, flags = 536871425, pos = {x = -1, y = -1}, link = 2, slot = 99, orig_place = {branch = BRANCH_GAUNTLET, 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 = 3 '\003', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 351807, unrand_idx = 351807, subtype_rnd = 351807, brand = 351807, freshness = 351807}, rnd = 150 '\226', quantity = 1, flags = 536871425, pos = {x = -1, y = -1}, link = 3, slot = 100, orig_place = {branch = BRANCH_DUNGEON, depth = 13}, 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 = 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 = 139 '\213', quantity = 1, flags = 537002497, pos = {x = -1, y = -1}, link = 4, slot = 101, orig_place = {branch = BRANCH_DUNGEON, depth = 1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_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 = 231, unrand_idx = 231, subtype_rnd = 231, brand = 231, freshness = 231}, rnd = 134 '\206', quantity = 1, flags = 536871425, 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_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 = 202, unrand_idx = 202, subtype_rnd = 202, brand = 202, freshness = 202}, rnd = 124 '|', quantity = 1, flags = 536871425, pos = {x = -1, y = -1}, link = 6, slot = 103, orig_place = {branch = BRANCH_SHOALS, depth = 2}, orig_monnum = 237, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 1 element = {["dropper_mid"] = {type = SV_INT, flags = 0 '\000', val = {boolean = 45, byte = 45 '-', _short = 2093, _int = 2093, _float = 2.93291769e-42, _int64 = 2093, ptr = 0x82d}}}, }}, {base_type = OBJ_ARMOUR, sub_type = 10 '\n', {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 = 87 'W', quantity = 1, flags = 537133569, pos = {x = -1, y = -1}, link = 7, slot = 104, orig_place = {branch = BRANCH_DUNGEON, depth = 6}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_SCROLLS, sub_type = 0 '\000', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 337489, unrand_idx = 337489, subtype_rnd = 337489, brand = 337489, freshness = 337489}, rnd = 47 '/', quantity = 5, flags = 536871424, pos = {x = -1, y = -1}, link = 8, slot = 105, orig_place = {branch = BRANCH_DUNGEON, depth = 14}, 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 = 12 '\f', {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 = 329989, unrand_idx = 329989, subtype_rnd = 329989, brand = 329989, freshness = 329989}, rnd = 130 '\202', quantity = 1, flags = 536871425, pos = {x = -1, y = -1}, link = 9, slot = 106, orig_place = {branch = BRANCH_DUNGEON, depth = 2}, 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 = 12 '\f', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 7, unrand_idx = 7, subtype_rnd = 7, brand = 7, freshness = 7}, rnd = 164 '\244', quantity = 2, flags = 536871424, pos = {x = -1, y = -1}, link = 10, slot = 107, orig_place = {branch = BRANCH_SHOALS, depth = 2}, 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 = 27 '\033', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 332387, unrand_idx = 332387, subtype_rnd = 332387, brand = 332387, freshness = 332387}, rnd = 11 '\v', quantity = 2, flags = 536871425, pos = {x = -1, y = -1}, link = 11, slot = 108, orig_place = {branch = BRANCH_DUNGEON, depth = 3}, 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 = 5 '\005', {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 = 4, unrand_idx = 4, subtype_rnd = 4, brand = 4, freshness = 4}, rnd = 106 'j', quantity = 1, flags = 537002497, pos = {x = -1, y = -1}, link = 12, slot = 109, orig_place = {branch = BRANCH_ORC, depth = 2}, orig_monnum = 191, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 1 element = {["dropper_mid"] = {type = SV_INT, flags = 0 '\000', val = {boolean = 189, byte = -67 '\275', _short = 1469, _int = 1469, _float = 2.05850744e-42, _int64 = 1469, ptr = 0x5bd}}}, }}, {base_type = OBJ_JEWELLERY, sub_type = 1 '\001', {plus = 4, mon_type = MONS_KOMODO_DRAGON, skill = SK_MACES_FLAILS, charges = 4, net_durability = 4, tithe_state = 4}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 24, unrand_idx = 24, subtype_rnd = 24, brand = 24, freshness = 24}, rnd = 32 ' ', quantity = 1, flags = 536871425, pos = {x = -1, y = -1}, link = 13, slot = 110, orig_place = {branch = BRANCH_DUNGEON, depth = 2}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_SCROLLS, sub_type = 14 '\016', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 335146, unrand_idx = 335146, subtype_rnd = 335146, brand = 335146, freshness = 335146}, rnd = 195 '\303', quantity = 1, flags = 536871424, pos = {x = -1, y = -1}, link = 14, slot = 111, orig_place = {branch = BRANCH_SHOALS, depth = 2}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_JEWELLERY, sub_type = 46 '.', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 180, unrand_idx = 180, subtype_rnd = 180, brand = 180, freshness = 180}, rnd = 162 '\242', quantity = 1, flags = 939528705, pos = {x = -1, y = -1}, link = 15, slot = 112, orig_place = {branch = BRANCH_DUNGEON, depth = 15}, orig_monnum = -103, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 3 elements = {["artefact_appearance"] = {type = SV_STR, flags = 0 '\000', val = {boolean = 32, byte = 32 ' ', _short = 23072, _int = -2042930656, _float = -3.52370044e-35, _int64 = 94826539997728, ptr = 0x563e863b5a20}}, ["artefact_name"] = {type = SV_STR, flags = 0 '\000', val = {boolean = 224, byte = -32 '\340', _short = 25056, _int = -1998757408, _float = -1.3323964e-33, _int64 = 94826584170976, ptr = 0x563e88dd61e0}}, ["artefact_props"] = {type = SV_VEC, flags = 0 '\000', val = {boolean = 16, byte = 16 '\020', _short = 28432, _int = -1941803248, _float = -1.4978638e-31, _int64 = 94826641125136, ptr = 0x563e8c426f10}}}, }}, {base_type = OBJ_POTIONS, sub_type = 26 '\032', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 119, unrand_idx = 119, subtype_rnd = 119, brand = 119, freshness = 119}, rnd = 234 '\352', quantity = 3, flags = 536871425, pos = {x = -1, y = -1}, link = 16, slot = 113, orig_place = {branch = BRANCH_DUNGEON, depth = 2}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_MISSILES, sub_type = 0 '\000', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 3, unrand_idx = 3, subtype_rnd = 3, brand = 3, freshness = 3}, rnd = 12 '\f', quantity = 31, flags = 536871424, pos = {x = -1, y = -1}, link = 17, slot = 114, orig_place = {branch = BRANCH_DUNGEON, depth = 2}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_MISSILES, sub_type = 0 '\000', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 17, unrand_idx = 17, subtype_rnd = 17, brand = 17, freshness = 17}, rnd = 73 'I', quantity = 1, flags = 536871424, pos = {x = -1, y = -1}, link = 18, slot = 115, orig_place = {branch = BRANCH_DUNGEON, depth = 3}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_POTIONS, sub_type = 1 '\001', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 5, unrand_idx = 5, subtype_rnd = 5, brand = 5, freshness = 5}, rnd = 242 '\362', quantity = 4, flags = 536871425, pos = {x = -1, y = -1}, link = 19, slot = 116, orig_place = {branch = BRANCH_DUNGEON, depth = 4}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_ARMOUR, sub_type = 6 '\006', {plus = 1, mon_type = MONS_FRILLED_LIZARD, skill = SK_SHORT_BLADES, charges = 1, net_durability = 1, tithe_state = 1}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 0, unrand_idx = 0, subtype_rnd = 0, brand = 0, freshness = 0}, rnd = 148 '\224', quantity = 1, flags = 536871425, pos = {x = -1, y = -1}, link = 20, slot = 117, orig_place = {branch = BRANCH_DUNGEON, depth = 4}, orig_monnum = 477, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 1 element = {["dropper_mid"] = {type = SV_INT, flags = 0 '\000', val = {boolean = 111, byte = 111 'o', _short = 111, _int = 111, _float = 1.5554413e-43, _int64 = 111, ptr = 0x6f}}}, }}, {base_type = OBJ_POTIONS, sub_type = 13 '\r', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 22, unrand_idx = 22, subtype_rnd = 22, brand = 22, freshness = 22}, rnd = 142 '\216', quantity = 1, flags = 536871425, pos = {x = -1, y = -1}, link = 21, slot = 118, orig_place = {branch = BRANCH_DUNGEON, depth = 9}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_POTIONS, sub_type = 5 '\005', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 11, unrand_idx = 11, subtype_rnd = 11, brand = 11, freshness = 11}, rnd = 242 '\362', quantity = 5, flags = 536871425, pos = {x = -1, y = -1}, link = 22, slot = 119, orig_place = {branch = BRANCH_DUNGEON, depth = 4}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_POTIONS, sub_type = 0 '\000', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 96, unrand_idx = 96, subtype_rnd = 96, brand = 96, freshness = 96}, rnd = 101 'e', quantity = 11, flags = 536871425, pos = {x = -1, y = -1}, link = 23, slot = 120, orig_place = {branch = BRANCH_DUNGEON, depth = 4}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_WANDS, sub_type = 11 '\v', {plus = 4, mon_type = MONS_KOMODO_DRAGON, skill = SK_MACES_FLAILS, charges = 4, net_durability = 4, tithe_state = 4}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 133, unrand_idx = 133, subtype_rnd = 133, brand = 133, freshness = 133}, rnd = 110 'n', quantity = 1, flags = 536871425, pos = {x = -1, y = -1}, link = 24, slot = 121, orig_place = {branch = BRANCH_LAIR, depth = 5}, 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 = 19 '\023', {plus = 7, mon_type = MONS_FIRE_BAT, skill = SK_SLINGS, charges = 7, net_durability = 7, tithe_state = 7}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 168, unrand_idx = 168, subtype_rnd = 168, brand = 168, freshness = 168}, rnd = 151 '\227', quantity = 1, flags = 536871425, pos = {x = -1, y = -1}, link = 25, slot = 122, orig_place = {branch = BRANCH_LAIR, depth = 1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_JEWELLERY, sub_type = 18 '\022', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 337, unrand_idx = 337, subtype_rnd = 337, brand = 337, freshness = 337}, rnd = 32 ' ', quantity = 1, flags = 939528705, pos = {x = -1, y = -1}, link = 26, slot = 65, orig_place = {branch = BRANCH_DUNGEON, depth = 14}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 3 elements = {["artefact_appearance"] = {type = SV_STR, flags = 0 '\000', val = {boolean = 64, byte = 64 '@', _short = 1600, _int = -2081618368, _float = -1.3931043e-36, _int64 = 94826501310016, ptr = 0x563e83ed0640}}, ["artefact_name"] = {type = SV_STR, flags = 0 '\000', val = {boolean = 16, byte = 16 '\020', _short = -19696, _int = -2041859312, _float = -3.83116109e-35, _int64 = 94826541069072, ptr = 0x563e864bb310}}, ["artefact_props"] = {type = SV_VEC, flags = 0 '\000', val = {boolean = 176, byte = -80 '\260', _short = -32336, _int = -2046000720, _float = -2.64263528e-35, _int64 = 94826536927664, ptr = 0x563e860c81b0}}}, }}, {base_type = OBJ_SCROLLS, sub_type = 18 '\022', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 356212, unrand_idx = 356212, subtype_rnd = 356212, brand = 356212, freshness = 356212}, rnd = 164 '\244', quantity = 1, flags = 536871424, pos = {x = -1, y = -1}, link = 27, slot = 66, orig_place = {branch = BRANCH_DUNGEON, depth = 14}, 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 = 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 = 364347, unrand_idx = 364347, subtype_rnd = 364347, brand = 364347, freshness = 364347}, rnd = 17 '\021', quantity = 3, flags = 536871424, pos = {x = -1, y = -1}, link = 28, slot = 67, orig_place = {branch = BRANCH_GAUNTLET, depth = 1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_MISSILES, sub_type = 0 '\000', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 18, unrand_idx = 18, subtype_rnd = 18, brand = 18, freshness = 18}, rnd = 241 '\361', quantity = 4, flags = 536871424, pos = {x = -1, y = -1}, link = 29, slot = 68, orig_place = {branch = BRANCH_DUNGEON, depth = 5}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_SCROLLS, sub_type = 15 '\017', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 340567, unrand_idx = 340567, subtype_rnd = 340567, brand = 340567, freshness = 340567}, rnd = 108 'l', quantity = 7, flags = 536871424, pos = {x = -1, y = -1}, link = 30, slot = 69, orig_place = {branch = BRANCH_DUNGEON, depth = 8}, 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 = 5 '\005', {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 = 3, unrand_idx = 3, subtype_rnd = 3, brand = 3, freshness = 3}, rnd = 51 '3', quantity = 1, flags = 536936961, pos = {x = -1, y = -1}, link = 31, slot = 70, orig_place = {branch = BRANCH_ORC, depth = 2}, orig_monnum = 197, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 1 element = {["dropper_mid"] = {type = SV_INT, flags = 0 '\000', val = {boolean = 168, byte = -88 '\250', _short = 1448, _int = 1448, _float = 2.02908018e-42, _int64 = 1448, ptr = 0x5a8}}}, }}, {base_type = OBJ_POTIONS, sub_type = 3 '\003', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 16, unrand_idx = 16, subtype_rnd = 16, brand = 16, freshness = 16}, rnd = 27 '\033', quantity = 2, flags = 939524608, pos = {x = -1, y = -1}, link = 32, slot = 71, orig_place = {branch = BRANCH_ORC, depth = 2}, orig_monnum = -103, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_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 = 23, unrand_idx = 23, subtype_rnd = 23, brand = 23, freshness = 23}, rnd = 195 '\303', quantity = 1, flags = 939528705, pos = {x = -1, y = -1}, link = 33, slot = 72, orig_place = {branch = BRANCH_GAUNTLET, depth = 1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 3 elements = {["artefact_appearance"] = {type = SV_STR, flags = 0 '\000', val = {boolean = 32, byte = 32 ' ', _short = -32224, _int = -2002681312, _float = -9.72042727e-34, _int64 = 94826580247072, ptr = 0x563e88a18220}}, ["artefact_name"] = {type = SV_STR, flags = 0 '\000', val = {boolean = false, byte = 0 '\000', _short = -11776, _int = -2001415680, _float = -1.08827267e-33, _int64 = 94826581512704, ptr = 0x563e88b4d200}}, ["artefact_props"] = {type = SV_VEC, flags = 0 '\000', val = {boolean = 64, byte = 64 '@', _short = 14144, _int = -1940244672, _float = -1.68107353e-31, _int64 = 94826642683712, ptr = 0x563e8c5a3740}}}, }}, {base_type = OBJ_WANDS, sub_type = 16 '\020', {plus = 14, mon_type = MONS_RAT, skill = SK_STABBING, charges = 14, net_durability = 14, tithe_state = 14}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 43, unrand_idx = 43, subtype_rnd = 43, brand = 43, freshness = 43}, rnd = 106 'j', quantity = 1, flags = 536871425, pos = {x = -1, y = -1}, link = 34, slot = 73, orig_place = {branch = BRANCH_DUNGEON, depth = 10}, 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 = 12 '\f', {plus = 13, mon_type = MONS_SEA_SNAKE, skill = SK_STEALTH, charges = 13, net_durability = 13, tithe_state = 13}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 58, unrand_idx = 58, subtype_rnd = 58, brand = 58, freshness = 58}, rnd = 7 '\a', quantity = 1, flags = 536871424, pos = {x = -1, y = -1}, link = 35, slot = 74, orig_place = {branch = BRANCH_SHOALS, 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 = 12 '\f', {plus = 2, mon_type = MONS_LEOPARD_GECKO, skill = SK_LONG_BLADES, charges = 2, net_durability = 2, tithe_state = 2}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 13, unrand_idx = 13, subtype_rnd = 13, brand = 13, freshness = 13}, rnd = 63 '?', quantity = 1, flags = 537133569, pos = {x = -1, y = -1}, link = 36, slot = 75, orig_place = {branch = BRANCH_GAUNTLET, depth = 1}, orig_monnum = 546, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 1 element = {["dropper_mid"] = {type = SV_INT, flags = 0 '\000', val = {boolean = 184, byte = -72 '\270', _short = 440, _int = 440, _float = 6.16571324e-43, _int64 = 440, ptr = 0x1b8}}}, }}, {base_type = OBJ_JEWELLERY, 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 = 222, unrand_idx = 222, subtype_rnd = 222, brand = 222, freshness = 222}, rnd = 91 '[', quantity = 1, flags = 939528705, pos = {x = -1, y = -1}, link = 37, slot = 76, orig_place = {branch = BRANCH_ORC, depth = 2}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 3 elements = {["artefact_appearance"] = {type = SV_STR, flags = 0 '\000', val = {boolean = 32, byte = 32 ' ', _short = 11040, _int = -1958925536, _float = -3.64325196e-32, _int64 = 94826624002848, ptr = 0x563e8b3d2b20}}, ["artefact_name"] = {type = SV_STR, flags = 0 '\000', val = {boolean = 176, byte = -80 '\260', _short = -11088, _int = -2024483664, _float = -1.60116106e-34, _int64 = 94826558444720, ptr = 0x563e8754d4b0}}, ["artefact_props"] = {type = SV_VEC, flags = 0 '\000', val = {boolean = 192, byte = -64 '\300', _short = 16832, _int = -1949417024, _float = -7.94472433e-32, _int64 = 94826633511360, ptr = 0x563e8bce41c0}}}, }}, {base_type = OBJ_MISSILES, sub_type = 4 '\004', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 11, unrand_idx = 11, subtype_rnd = 11, brand = 11, freshness = 11}, rnd = 165 '\245', quantity = 9, flags = 536936960, pos = {x = -1, y = -1}, link = 38, slot = 77, orig_place = {branch = BRANCH_GAUNTLET, depth = 1}, orig_monnum = 230, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 1 element = {["dropper_mid"] = {type = SV_INT, flags = 0 '\000', val = {boolean = 178, byte = -78 '\262', _short = 434, _int = 434, _float = 6.08163534e-43, _int64 = 434, ptr = 0x1b2}}}, }}, {base_type = OBJ_MISCELLANY, sub_type = 24 '\030', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 0, unrand_idx = 0, subtype_rnd = 0, brand = 0, freshness = 0}, rnd = 51 '3', quantity = 1, flags = 536871424, pos = {x = -1, y = -1}, link = 39, slot = 78, orig_place = {branch = BRANCH_GAUNTLET, 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 = 24 '\030', {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 = 362607, unrand_idx = 362607, subtype_rnd = 362607, brand = 362607, freshness = 362607}, rnd = 230 '\346', quantity = 3, flags = 536871424, pos = {x = -1, y = -1}, link = 40, slot = 79, orig_place = {branch = BRANCH_GAUNTLET, depth = 1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_SCROLLS, sub_type = 26 '\032', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 329483, unrand_idx = 329483, subtype_rnd = 329483, brand = 329483, freshness = 329483}, rnd = 67 'C', quantity = 2, flags = 536871424, pos = {x = -1, y = -1}, link = 41, slot = 80, orig_place = {branch = BRANCH_GAUNTLET, depth = 1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_JEWELLERY, sub_type = 4 '\004', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 22, unrand_idx = 22, subtype_rnd = 22, brand = 22, freshness = 22}, rnd = 4 '\004', quantity = 1, flags = 536871425, pos = {x = -1, y = -1}, link = 42, slot = 81, orig_place = {branch = BRANCH_GAUNTLET, 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 = 51, unrand_idx = 51, subtype_rnd = 51, brand = 51, freshness = 51}, rnd = 108 'l', quantity = 1, flags = 536871425, pos = {x = -1, y = -1}, link = 43, slot = 82, orig_place = {branch = BRANCH_DUNGEON, depth = 14}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_POTIONS, sub_type = 9 '\t', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 6, unrand_idx = 6, subtype_rnd = 6, brand = 6, freshness = 6}, rnd = 119 'w', quantity = 4, flags = 536871425, pos = {x = -1, y = -1}, link = 44, slot = 83, orig_place = {branch = BRANCH_DUNGEON, depth = 11}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_WANDS, sub_type = 15 '\017', {plus = 16, mon_type = MONS_RIVER_RAT, skill = SK_TRAPS, charges = 16, net_durability = 16, tithe_state = 16}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 148, unrand_idx = 148, subtype_rnd = 148, brand = 148, freshness = 148}, rnd = 249 '\371', quantity = 1, flags = 536871425, pos = {x = -1, y = -1}, link = 45, slot = 84, orig_place = {branch = BRANCH_DUNGEON, depth = 12}, 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 = 355221, unrand_idx = 355221, subtype_rnd = 355221, brand = 355221, freshness = 355221}, rnd = 214 '\326', quantity = 1, flags = 536871424, pos = {x = -1, y = -1}, link = 46, slot = 85, orig_place = {branch = BRANCH_LAIR, depth = 2}, 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_MISCELLANY, 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 = 0, unrand_idx = 0, subtype_rnd = 0, brand = 0, freshness = 0}, rnd = 125 '}', quantity = 1, flags = 536871424, pos = {x = -1, y = -1}, link = 47, slot = 86, orig_place = {branch = BRANCH_ORC, depth = 2}, 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 = 10 '\n', {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 = 28, unrand_idx = 28, subtype_rnd = 28, brand = 28, freshness = 28}, rnd = 244 '\364', quantity = 1, flags = 537002497, pos = {x = -1, y = -1}, link = 48, slot = 87, orig_place = {branch = BRANCH_LAIR, depth = 4}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_MISSILES, sub_type = 8 '\b', {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 = 153 '\231', quantity = 3, flags = 536871424, pos = {x = -1, y = -1}, link = 49, slot = 88, orig_place = {branch = BRANCH_LAIR, depth = 5}, 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 = 52 '4', {plus = 8, mon_type = MONS_BALL_PYTHON, skill = SK_RANGED_WEAPONS, charges = 8, net_durability = 8, tithe_state = 8}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 3, unrand_idx = 3, subtype_rnd = 3, brand = 3, freshness = 3}, rnd = 216 '\330', quantity = 1, flags = 671154689, pos = {x = -1, y = -1}, link = 50, slot = 89, orig_place = {branch = BRANCH_SHOALS, depth = 1}, orig_monnum = -2, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 2 elements = {["dropper_mid"] = {type = SV_INT, flags = 0 '\000', val = {boolean = 49, byte = 49 '1', _short = 2097, _int = 2097, _float = 2.93852288e-42, _int64 = 2097, ptr = 0x831}}, ["forced_item_colour"] = {type = SV_INT, flags = 0 '\000', val = {boolean = 14, byte = 14 '\016', _short = 14, _int = 14, _float = 1.96181785e-44, _int64 = 14, ptr = 0xe}}}, }}, {base_type = OBJ_MISCELLANY, sub_type = 21 '\025', {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 = 243 '\363', quantity = 1, flags = 536871424, pos = {x = -1, y = -1}, link = 51, slot = 90, orig_place = {branch = BRANCH_LAIR, depth = 5}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}}}, inv_uselessness = {mData = {false, false, false, false, false, false, false, false, true, false , true, false , true, true, false, false, true, false, false, false, true, false, false, false, false}}, offhand_weapon = false, quiver_item = 0 '\000', quiver_desc = "Throw: 11 boomerangs", unarmed_attack = "Nothing wielded", unarmed_attack_colour = 7 '\a', quiver_available = true, weapon_index = 50 '2', offhand_index = -1 '\377'} spectator = god = "the Shining One" prank = max_max_hp = place = short_name = "Shoals" pos = weapon = offhand = #14 0x0000563e69e65096 in TilesFramework::redraw (this=0x563e6a34a400 ) at tileweb.cc:2204 No locals. #15 0x0000563e69e65348 in TilesFramework::update_input_mode (this=0x563e6a34a400 , mode=mode@entry=MOUSE_MODE_MORE, force=force@entry=false) at tileweb.cc:947 prev_mode = #16 0x0000563e699f21fd in mouse_control::mouse_control (this=0x7fff2e0fe2d4, mode=MOUSE_MODE_MORE) at libutil.cc:492 No locals. #17 0x0000563e69a959f3 in readkey_more (user_forced=user_forced@entry=false) at message.cc:1891 keypress = 0 unwind_more = {val = @0x563e6a2e5fa1, oldval = false} mc = {m_previous_mode = 22078, static ms_current_mode = MOUSE_MODE_NORMAL} #18 0x0000563e69a97a74 in message_window::more (this=this@entry=0x563e6a2efc60 , full=full@entry=true, user=user@entry=false) at message.cc:729 rng = {previous = rng::UI} last_row = 7 #19 0x0000563e69a98000 in message_window::make_space (n=1, this=0x563e6a2efc60 ) at message.cc:480 space = 0 s = space = s = #20 message_window::add_item (this=this@entry=0x563e6a2efc60 , text="You feel magically purged.", first_col=first_col@entry=prefix_type::none, temporary=temporary@entry=false) at message.cc:631 line = {ops = std::vector of length 0, capacity 2370665980280 = { nl = @0x563e8c77f860: {ops = std::vector of length 2, capacity 2 = {{type = FSOP_COLOUR, colour = 7, text = ""}, {type = FSOP_TEXT, colour = -1, text = "You feel magically purged."}}} __for_range = std::vector of length 1, capacity 1 = {{ops = std::vector of length 2, capacity 2 = {{type = FSOP_COLOUR, colour = 7, text = ""}, {type = FSOP_TEXT, colour = -1, text = "You feel magically purged."}}}} __for_begin = __for_end = newlines = std::vector of length 1, capacity 1 = {{ops = std::vector of length 2, capacity 2 = {{type = FSOP_COLOUR, colour = 7, text = ""}, {type = FSOP_TEXT, colour = -1, text = "You feel magically purged."}}}} #21 0x0000563e69a985ba in message_store::store_msg (msg=..., this=0x563e6a2e5fc0 ) at message.cc:821 p = prefix_type::none dontsend = p = dontsend = #22 message_store::flush_prev (this=this@entry=0x563e6a2e5fc0 ) at message.cc:851 msg = {channel = MSGCH_PLAIN, param = 0, messages = std::vector of length 1, capacity 1 = {{text = "You feel magically purged.", repeats = 1}}, turn = 34448, join = true} #23 0x0000563e69a9257c in message_store::add (msg=..., this=0x563e6a2e5fc0 ) at message.cc:785 orig_full_text = "You break out of your daze." orig_full_text = #24 _mpr (text=..., channel=MSGCH_RECOVERY, param=, nojoin=, cap=) at message.cc:1596 _doing_c_message_hook = false rng = {previous = rng::GAMEPLAY} colour = col = "lightgreen" domore = do_flash_screen = false join = 255 fs = {ops = std::vector of length 3, capacity 4 = {{type = FSOP_COLOUR, colour = 10, text = ""}, {type = FSOP_TEXT, colour = -1, text = "You break out of your daze."}, {type = FSOP_COLOUR, colour = 7, text = ""}}} msg = {channel = MSGCH_RECOVERY, param = 0, messages = std::vector of length 1, capacity 1 = {{text = "You break out of your daze.", repeats = 1}}, turn = 34448, join = true} #25 0x0000563e69a92d59 in do_message_print (channel=MSGCH_RECOVERY, param=0, cap=, nojoin=, format=, argp=) at /usr/include/c++/9/bits/basic_string.h:267 ap = {{gp_offset = 16, fp_offset = 48, overflow_arg_area = 0x7fff2e0fe8e0, reg_save_area = 0x7fff2e0fe820}} buff = "You break out of your daze.\000\000\000\000\000", '\001' , "\000\000\001\001\001\001\001\001\001\001\001\001", '\000' , '\001' , "\000\000", '\001' , '\000' , '\001' len = #26 0x0000563e69a93274 in mprf (channel=channel@entry=MSGCH_RECOVERY, format=format@entry=0x563e69e80ed1 "%s") at message.cc:1310 argp = {{gp_offset = 24, fp_offset = 48, overflow_arg_area = 0x7fff2e0fe8e0, reg_save_area = 0x7fff2e0fe820}} #27 0x0000563e69bedade in _decrement_a_duration (dur=, delay=10, endmsg=0x563e69eb1bd9 "You break out of your daze.", exploss=, expmsg=0x0, chan=MSGCH_RECOVERY) at player-reacts.cc:166 exppoint = 0 old_dur = #28 0x0000563e69bf00d0 in _decrement_simple_duration (delay=10, dur=DUR_MESMERISED) at player-reacts.cc:905 No locals. #29 _decrement_durations () at player-reacts.cc:905 i = 4 delay = 10 melted = pbd_str = sanguine_armour_is_valid = delay = melted = pbd_str = sanguine_armour_is_valid = near_ghost = mi = old_recite = new_recite = i = #30 player_reacts () at player-reacts.cc:1111 stealth = #31 0x0000563e69e6f535 in world_reacts () at main.cc:2616 No locals. #32 0x0000563e69e708d5 in _input () at main.cc:1304 player_disabled = {was_disabled = false} #33 0x0000563e69e71345 in _launch_game () at main.cc:493 game_start = ccon = {cstate = false} #34 0x0000563e6969358b in _launch_game_loop () at main.cc:392 game_ended = false game_ended = ge = fe = #35 main (argc=, argv=0x7fff2e0ff208) at main.cc:342 echo = {prev_state = {value = maybe_bool::mbool_t::maybe, static maybe = {value = maybe_bool::mbool_t::maybe, static maybe = , static t = {value = maybe_bool::mbool_t::t, static maybe = , static t = , static f = {value = maybe_bool::mbool_t::f, static maybe = , static t = , static f = }}, static f = }, static t = , static f = }} [Inferior 1 (process 3795956) 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 -DSAVE_DIR_PATH="/crawl-master/crawl-git-9c2e5f8391/saves" -DSHARED_DIR_PATH="/crawl-master/crawl-git/saves" -DDATA_DIR_PATH="/crawl-master/crawl-git-9c2e5f8391/data/" -DWEB_DIR_PATH="/crawl-master/crawl-git-9c2e5f8391/data/web/" -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 LDFLAGS: -rdynamic -fuse-ld=gold -O2 >>>>>>>>>>> Place info: branch = 7, depth = 4 Level id: Shoals:4 Level build method = random_map_for_place [depth 4], level layout type = shoals, absdepth0 = 18 Level vaults: shoals_end_grunt_ice layout_shoals shoals_iceberg_rune shoals_iceberg_rune shoals_iceberg shoals_iceberg shoals_iceberg shoals_iceberg serial_shops nicolae_shop_temple_entry_statues_fountains lemuel_altar_in_water nicolae_shoals_shepherds uniq_polyphemus Markers: <<<<<<<<<<<<<<<<<<<<<< >>>>>>>>>>>>>>>>>>>>>> Messages: <<<<<<<<<<<<<<<<<<<<<< Unknown command. Activating: Cleansing Flame (10% risk of failure) Press: ? - help, Dir - look around, f - activate The golden flame engulfs the merfolk!! You kill the merfolk! You hear a splash. The golden flame engulfs the merfolk siren. The merfolk siren is lightly wounded. The golden flame engulfs the merfolk impaler!! The merfolk impaler is severely wounded. The golden flame engulfs Ilsuiw!! Ilsuiw is almost dead. You block the merfolk impaler's attack. Ilsuiw hits you but does no damage. You block the merfolk impaler's attack. The merfolk siren chants its luring song. Throw: 15 boomerangs Press: ? - help, Q - select action, ( or ) - cycle Shift-Dir - straight line Aim: Ilsuiw, wielding a +1 trident of freezing and wearing a +0 robe (almost dead, slightly transparent, haloed, 57% to hit) You throw a boomerang. The boomerang hits Ilsuiw and shatters for extra damage!! Ilsuiw is almost dead. The merfolk impaler barely misses you. Ilsuiw hits you but does no damage. You block the merfolk siren's attack. You block the merfolk impaler's attack. Throw: 14 boomerangs Press: ? - help, Q - select action, ( or ) - cycle Shift-Dir - straight line Aim: Ilsuiw, wielding a +1 trident of freezing and wearing a +0 robe (almost dead, slightly transparent, haloed, 57% to hit) You throw a boomerang. The boomerang hits Ilsuiw!! The tide is released from Ilsuiw's call. You kill Ilsuiw! You block the merfolk impaler's attack. The merfolk siren chants its luring song. Your Fighting skill increases to level 16! Throw: 14 boomerangs Press: ? - help, Q - select action, ( or ) - cycle Shift-Dir - straight line Aim: a merfolk impaler, wielding a +0 trident and wearing a +0 robe (severely wounded, haloed, 59% to hit) You throw a boomerang. The boomerang hits the merfolk impaler!! You kill the merfolk impaler! The merfolk siren chants its luring song. Throw: 14 boomerangs Press: ? - help, Q - select action, ( or ) - cycle Shift-Dir - straight line Aim: a merfolk siren, wielding a +0 spear (lightly wounded, mesmerising, haloed, 77% to hit) You throw a boomerang. The boomerang closely misses the merfolk siren. The merfolk siren hits you but does no damage. The merfolk siren chants its luring song. You impale the merfolk siren!! The merfolk siren is almost dead. You barely miss the merfolk siren. The merfolk siren is almost dead. The merfolk siren chants its luring song. You puncture the merfolk siren! You are no longer entranced. You kill the merfolk siren! Items here: )) [ ††. You start resting. Magic restored. You start resting. HP restored. You start waiting. Done waiting. Things that are here: a +0 trident; a +0 robe Things that are here: a +1 trident of freezing; a +0 robe; a +0 rapier i - 5 scrolls of identify (gained 1) There is a shaft here. Found a stone staircase leading up. Found a chain mail. S - 4 potions of enlightenment (gained 1) A merfolk comes into view. It is wielding a +2 trident of flaming. The merfolk shouts! The merfolk hits you but does no damage. You reach to attack! You impale the merfolk!! The merfolk is moderately wounded. You block the merfolk's attack. You reach to attack! You skewer the merfolk like a kebab!!! You kill the merfolk! You hear a splash. No target in view! No target in view! No target in view! No target in view! No target in view! No target in view! No target in view! No target in view! No target in view! No target in view! Magic restored. Things that are here: a +2 trident of flaming; a merfolk corpse You now have 1635 gold pieces (gained 27). Found a stone staircase leading down. Found 2 stones. Found 5 stones. Found a stone staircase leading up. A merfolk comes into view. It is wielding a +0 trident. A merfolk is nearby! A merfolk is nearby! A water nymph comes into view. The water nymph shouts! You block the merfolk's attack. You reach to attack! You impale the merfolk!! The merfolk is heavily wounded. You reach to attack! You barely miss the merfolk. The merfolk is heavily wounded. You block the merfolk's attack. The water nymph flows with the water. You reach to attack! You puncture the merfolk! The merfolk is severely wounded. The merfolk hits you but does no damage. You reach to attack! You impale the merfolk!! You kill the merfolk! You reach to attack! You puncture the water nymph! The water nymph is moderately wounded. You perforate the water nymph like a sieve!!! You kill the water nymph! No target in view! No target in view! No target in view! No target in view! x - 11 potions of curing (gained 1) You see here 5 stones. A snapping turtle comes into view. The snapping turtle hisses angrily. A snapping turtle is nearby! A snapping turtle is nearby! You reach to attack! You impale the snapping turtle!! The snapping turtle is moderately wounded. You reach to attack! You impale the snapping turtle!! The snapping turtle is severely wounded. You block the snapping turtle's attack. You reach to attack! You puncture the snapping turtle! The snapping turtle is almost dead. You reach to attack! You hit the snapping turtle but do no damage. The snapping turtle is almost dead. The snapping turtle bites you from afar. You reach to attack! You hit the snapping turtle but do no damage. The snapping turtle is almost dead. You reach to attack! You hit the snapping turtle. You kill the snapping turtle! HP restored. Key pressed, stopping explore. You see here a +0 trident. You see here a +0 trident. Things that are here: a +2 trident of venom; a +0 robe Found a robe. You pick up a book of Metalworking and begin reading... You add the spells Nazja's Percussive Tempering and Forge Phalanx Beetle to your library. Found a robe. A snapping turtle comes into view. A snapping turtle is nearby! You reach to attack! You hit the snapping turtle. The snapping turtle is lightly wounded. You reach to attack! You skewer the snapping turtle like a kebab!!! The snapping turtle is severely wounded. The snapping turtle bites you from afar! You reach to attack! You skewer the snapping turtle like a kebab!!! You kill the snapping turtle! No target in view! J - a wand of iceblast (13) (gained 8 charges) Found a stone staircase leading down. Found a stone staircase leading down. You see here a +0 chain mail. Done exploring. Done exploring. Done exploring. Done exploring. Okay, then. Okay, then. There is a stone staircase leading down here. You fly downwards. Beware, you cannot shaft yourself on this level. There is a stone staircase leading up here. You start waiting. A snapping turtle comes into view. The snapping turtle hisses angrily. A manticore comes into view. You reach to attack! You stick the snapping turtle like a pincushion!!! The snapping turtle is severely wounded. You hear a shout! x2 You block the snapping turtle's attack. You reach to attack! You hit the snapping turtle. The snapping turtle is severely wounded. The manticore flicks its tail. You block the volley of spikes... and reflect it back! The volley of spikes skewers the manticore! You reach to attack! You completely miss the snapping turtle. The snapping turtle is severely wounded. You block the snapping turtle's attack. You reach to attack! You puncture the snapping turtle! The snapping turtle is almost dead. You reach to attack! You puncture the snapping turtle! You kill the snapping turtle! You reach to attack! You barely miss the manticore. The manticore is moderately wounded. You reach to attack! You puncture the manticore! The manticore is heavily wounded. The manticore flicks its tail. You block the volley of spikes... and reflect it back! The volley of spikes skewers the manticore! You reach to attack! You barely miss the manticore. The manticore is severely wounded. The manticore flicks its tail. The volley of spikes skewers you but does no damage. You reach to attack! You impale the manticore!! You kill the manticore! No target in view! You start resting. A merfolk javelineer comes into view. It is wielding a +6 spear of distortion. You throw a boomerang. The boomerang hits the merfolk javelineer but does no damage. The merfolk javelineer throws a javelin. The javelin pierces through you!! You throw a boomerang. The boomerang hits the merfolk javelineer! The merfolk javelineer is lightly wounded. The merfolk javelineer throws a javelin. The javelin pierces through you but does no damage. You throw a boomerang. The boomerang hits the merfolk javelineer. The merfolk javelineer is lightly wounded. The merfolk javelineer throws a javelin. The javelin pierces through you!! You throw a boomerang. The boomerang hits the merfolk javelineer and shatters for extra damage. The merfolk javelineer is moderately wounded. The merfolk javelineer throws a javelin. The javelin pierces through you but does no damage. You throw a boomerang. The boomerang hits the merfolk javelineer and shatters for extra damage. The merfolk javelineer is moderately wounded. The merfolk javelineer throws a javelin. The javelin closely misses you. You throw a boomerang. The boomerang closely misses the merfolk javelineer. The merfolk javelineer throws a javelin. The javelin pierces through you but does no damage. You throw a boomerang. The boomerang barely misses the merfolk javelineer. A merfolk aquamancer comes into view. It is wielding a +3 vampiric rapier. The merfolk javelineer throws a javelin. The javelin pierces through you! Your corrosive artefact corrodes you! You throw a boomerang. The boomerang hits the merfolk javelineer! The merfolk javelineer is heavily wounded. The merfolk javelineer throws a javelin. The javelin pierces through you! You throw a boomerang. The boomerang hits the merfolk aquamancer!! The merfolk aquamancer is moderately wounded. A merfolk javelineer comes into view. It is wielding a +0 antimagic spear. The merfolk javelineer throws a javelin. The javelin pierces through you! You are too injured to fight recklessly! Unknown command. The merfolk javelineer throws a javelin. The javelin pierces through you! You fly upwards. There is a stone staircase leading down here. Unknown command. You start resting. You are no longer corroded. You start resting. Magic restored. You start resting. HP restored. You fly downwards. Beware, you cannot shaft yourself on this level. The merfolk javelineer throws a javelin. The javelin pierces through you. The merfolk javelineer throws a javelin. The javelin pierces through you. The merfolk javelineer throws a javelin. The javelin pierces through you! There is a stone staircase leading up, spattered with blood here. The merfolk javelineer throws a javelin. The javelin pierces through you but does no damage. The merfolk javelineer throws a javelin. The javelin pierces through you but does no damage. The merfolk aquamancer casts a spell at you. The torrent of water hits you!! You stop ascending the stairs. You are knocked back by the torrent of water. The wave splashes down. You hear an angry hiss. You hear a shout! You hear an angry hiss. You hear a shout! You hear an angry hiss. You hear a shout! x5 You hear an angry hiss. You hear a shout! You hear an angry hiss. You hear a bellow! The merfolk javelineer throws a javelin. The javelin pierces through you! The merfolk javelineer throws a javelin. The javelin pierces through you but does no damage. The merfolk aquamancer casts a spell at you. You block the shard of ice... and reflect it back! The shard of ice hits the merfolk aquamancer!!! There is a stone staircase leading up, spattered with blood here. The merfolk javelineer throws a javelin. The javelin pierces through you. The merfolk aquamancer casts a spell at you. The shard of ice hits you!! You partially resist. The merfolk javelineer throws a javelin. The javelin pierces through you! You fly upwards. There is a stone staircase leading down here. You start resting. You start resting. HP restored. You start waiting. Done waiting. You see here 5 stones. There is a stone staircase leading down here. You fly downwards. Beware, you cannot shaft yourself on this level. Polyphemus shouts, "Attack, my pets! Attack!" The catoblepas bellows! The death yak bellows! You hear a shout! x2 There is a stone staircase leading up here. A merfolk avatar comes into view. The death yak barely misses you. Polyphemus throws the catoblepas at you! The manticore barely misses you. The manticore claws you but does no damage. You block the manticore's attack. You fly upwards. There is a stone staircase leading down here. You impale the death yak!! The death yak is heavily wounded. You hit the death yak. The death yak is heavily wounded. The death yak gores you! The manticore bites you but does no damage. The manticore claws you but does no damage. You block the manticore's attack. You puncture the death yak! The death yak is severely wounded. Unknown command. You hit the death yak. The death yak is severely wounded. You block the death yak's attack. You block the manticore's attack. The manticore claws you but does no damage. x2 You puncture the death yak! The death yak is almost dead. You block the death yak's attack. The manticore bites you but does no damage. The manticore claws you but does no damage. The manticore barely misses you. You puncture the death yak! You kill the death yak! You impale the manticore!! The manticore is heavily wounded. The manticore bites you but does no damage. You block the manticore's attack. The manticore claws you but does no damage. You impale the manticore!! The manticore is severely wounded. You block the manticore's attack. x3 You impale the manticore!! You kill the manticore! You start resting. HP restored. You start resting. Magic restored. You fly downwards. Beware, you cannot shaft yourself on this level. Level annotation: Polyphemus The death yak bellows! There is a stone staircase leading up here. A merfolk javelineer comes into view. It is wielding a +4 spear of venom and quivering silver javelins. The merfolk javelineer shouts! You hear a shout! The death yak gores you. Polyphemus roars, "Attack, my pets! Attack!" You fly upwards. There is a stone staircase leading down, spattered with blood here. You impale the death yak!! The death yak is heavily wounded. You block the death yak's attack. You puncture the death yak! The death yak is heavily wounded. You completely miss the death yak. The death yak is heavily wounded. The death yak gores you but does no damage. You impale the death yak!! The death yak is almost dead. You block the death yak's attack. You completely miss the death yak. The death yak is severely wounded. You puncture the death yak! The death yak is almost dead. The death yak gores you but does no damage. You puncture the death yak! You kill the death yak! You start resting. Magic restored. You start waiting. Done waiting. You fly downwards. Beware, you cannot shaft yourself on this level. Level annotation: Polyphemus The merfolk javelineer throws a javelin. The javelin closely misses you. The merfolk avatar chants a haunting song. You resist. The merfolk javelineer throws a silver javelin. The silver javelin barely misses you. The merfolk javelineer throws a javelin. The javelin pierces through you. There is a stone staircase leading up, spattered with blood here. You reach to attack! You skewer Polyphemus like a kebab!!! Polyphemus is moderately wounded. You hear an angry hiss. The merfolk javelineer throws a silver javelin. The silver javelin pierces through you. The merfolk javelineer throws a javelin. The javelin pierces through you! You reach to attack! You impale Polyphemus!! Polyphemus is heavily wounded. The merfolk javelineer throws a silver javelin. The silver javelin pierces through you but does no damage. You block Polyphemus's attack. Polyphemus hits you. The merfolk javelineer throws a silver javelin. The silver javelin pierces through you but does no damage. You fly upwards. There is a stone staircase leading down, spattered with blood here. Unknown command. You hit Polyphemus but do no damage. Polyphemus is heavily wounded. You puncture Polyphemus! Polyphemus is severely wounded. You block Polyphemus's attack. Polyphemus hits you! You impale Polyphemus!! Polyphemus is severely wounded. Polyphemus closely misses you. You block Polyphemus's attack. You impale Polyphemus!! You kill Polyphemus! You see here 12 large rocks. You start resting. Magic restored. There is a stone staircase leading down, spattered with blood here. You start resting. HP restored. You fly downwards. Beware, you cannot shaft yourself on this level. The merfolk javelineer throws a javelin. The javelin pierces through you but does no damage. The merfolk javelineer throws a silver javelin. The silver javelin pierces through you! The merfolk javelineer throws a javelin. The javelin pierces through you. There is a stone staircase leading up, spattered with blood here. You throw a boomerang. The boomerang hits the merfolk avatar!! The merfolk avatar is moderately wounded. The merfolk javelineer throws a silver javelin. The silver javelin pierces through you but does no damage. Your corrosive artefact corrodes you! The merfolk javelineer throws a javelin. The javelin pierces through you! You throw a boomerang. The boomerang hits the merfolk avatar! The merfolk avatar is moderately wounded. The merfolk javelineer throws a silver javelin. The silver javelin barely misses you. The merfolk javelineer throws a javelin. The javelin pierces through you but does no damage. You throw a boomerang. The boomerang hits the merfolk avatar. The merfolk avatar is heavily wounded. The merfolk javelineer throws a silver javelin. The silver javelin pierces through you. The merfolk javelineer throws a javelin. The javelin pierces through you!! You throw a boomerang. The boomerang hits the merfolk avatar but does no damage. The merfolk avatar is heavily wounded. The merfolk avatar chants a haunting song. You easily resist. The merfolk javelineer throws a silver javelin. The silver javelin pierces through you. The merfolk javelineer throws a javelin. The javelin pierces through you! Unknown command. You throw a boomerang. The boomerang hits the merfolk avatar!! The merfolk avatar is severely wounded. A merfolk comes into view. It is wielding a +0 trident. The merfolk javelineer throws a silver javelin. The silver javelin pierces through you!! The merfolk javelineer throws a javelin. The javelin pierces through you but does no damage. You are too injured to fight recklessly! Throw: 12 boomerangs Press: ? - help, Q - select action, ( or ) - cycle Shift-Dir - straight line Aim: a merfolk avatar (severely wounded, haloed, 77% to hit) You throw a boomerang. The boomerang hits the merfolk avatar! The merfolk avatar is severely wounded. The merfolk javelineer throws a silver javelin. The silver javelin pierces through you but does no damage. The merfolk javelineer throws a javelin. The javelin pierces through you! Unknown command. Throw: 12 boomerangs Press: ? - help, Q - select action, ( or ) - cycle Shift-Dir - straight line Aim: a merfolk avatar (severely wounded, haloed, 77% to hit) You throw a boomerang. The boomerang hits the merfolk avatar!! The merfolk avatar is almost dead. The merfolk javelineer throws a silver javelin. The silver javelin pierces through you! * * * LOW HITPOINT WARNING * * * x2 Unknown command. The merfolk javelineer throws a javelin. The javelin closely misses you. The catoblepas breathes a plume of calcifying dust at you. The blast of calcifying dust hits you. * * * LOW HITPOINT WARNING * * * The merfolk javelineer throws a silver javelin. The silver javelin pierces through you but does no damage. * * * LOW HITPOINT WARNING * * * You fly upwards. There is a stone staircase leading down, spattered with blood here. You start resting. You are no longer corroded. You start resting. HP restored. You start waiting. Done waiting. You see here 12 large rocks. There is a stone staircase leading down here. You fly downwards. Beware, you cannot shaft yourself on this level. The dream sheep bleats! You hear a shout! You hear a bleat! The dream sheep ruffles its wool and motes of dream dust sparkle, to no effect. You hear a shout! There is a stone staircase leading up here. You throw a boomerang. The boomerang hits the dream sheep! The dream sheep is severely wounded. A cyclops comes into view. You throw a boomerang. The boomerang hits the dream sheep! You kill the dream sheep! You throw a boomerang. The boomerang hits the cyclops!! The cyclops is heavily wounded. A dream sheep comes into view. x2 You throw a boomerang. The dream sheep bleats! x2 The boomerang hits the cyclops but does no damage. The cyclops is heavily wounded. You hear a shout! A centaur comes into view. The dream sheep shake their wool and sparkle. You feel drowsy... You fall asleep. The centaur shouts! You hear a bleat! The centaur wields a +0 shortbow. The centaur shoots an arrow. The arrow hits you but does no damage. A dream sheep comes into view. The cyclops throws a large rock. The large rock hits you!! You wake up. You hear a shout! You hear an angry hiss. You throw a boomerang. The boomerang hits the cyclops. The cyclops is heavily wounded. A snapping turtle comes into view. You throw a boomerang. The snapping turtle hisses angrily. The boomerang hits the cyclops and shatters for extra damage!! The cyclops is almost dead. The cyclops throws a large rock. The large rock hits you!! You throw a boomerang. The boomerang hits the cyclops but does no damage. The cyclops is almost dead. The cyclops throws a large rock. The large rock hits you but does no damage. You throw a boomerang. The boomerang hits the dream sheep. The dream sheep is lightly wounded. You throw a boomerang. The boomerang hits the dream sheep. The dream sheep is moderately wounded. The centaur shoots an arrow. The arrow hits you! The centaur shoots an arrow. You block the arrow with an invisible shield... and reflect it back! The arrow hits the centaur. You throw a boomerang. The boomerang barely misses the dream sheep. The centaur shoots an arrow. You block the arrow with an invisible shield... and reflect it back! The arrow hits the centaur! You throw a boomerang. The boomerang hits the dream sheep!! You kill the dream sheep! The dream sheep shake their wool and sparkle. You feel drowsy... You fall asleep. The centaur shoots an arrow. The arrow hits you but does no damage. The centaur shoots an arrow. The arrow hits you but does no damage. The snapping turtle bites you from afar!!! You wake up. * * * LOW HITPOINT WARNING * * * The centaur shoots an arrow. You block the arrow with an invisible shield... and reflect it back! The arrow hits the centaur! You kill the centaur! You hear a splash. You hear a shout! x3 The snapping turtle bites you but does no damage. You fly upwards. There is a stone staircase leading down here. You start resting. You start resting. HP restored. You start waiting. Done waiting. You start waiting. Done waiting. There is a stone staircase leading up here. You see here a +0 trident. There is a stone staircase leading down here. You fly downwards. Beware, you cannot shaft yourself on this level. The sea snake hisses angrily. You block the sea snake's attack. The manticore flicks its tail. The volley of spikes skewers you but does no damage. You block the sea snake's attack. There is a stone staircase leading up here. You block the merfolk's attack. You block the sea snake's attack. The manticore flicks its tail. You block the volley of spikes... and reflect it back! The volley of spikes skewers the manticore! You fly upwards. There is a stone staircase leading down here. You spit the sea snake like a pig!!! The sea snake is heavily wounded. The sea snake bites you but does no damage. You barely miss the sea snake. The sea snake is heavily wounded. The sea snake bites you but does no damage. You spit the sea snake like a pig!!! You kill the sea snake! You start resting. Magic restored. There is a stone staircase leading down here. You fly downwards. Beware, you cannot shaft yourself on this level. The manticore flicks its tail. You block the volley of spikes... and reflect it back! The volley of spikes skewers the manticore. There is a stone staircase leading up here. Unknown command. Throw: 11 boomerangs Press: ? - help, Q - select action, ( or ) - cycle Shift-Dir - straight line Aim: a manticore (moderately wounded, skewered by barbs, haloed, 92% to hit) You throw a boomerang. The boomerang hits the manticore!! The manticore is severely wounded. Unknown command. Throw: 11 boomerangs Press: ? - help, Q - select action, ( or ) - cycle Shift-Dir - straight line Aim: a manticore (severely wounded, skewered by barbs, haloed, 92% to hit) You throw a boomerang. The boomerang hits the manticore. The manticore is severely wounded. Unknown command. Throw: 11 boomerangs Press: ? - help, Q - select action, ( or ) - cycle Shift-Dir - straight line Aim: a manticore (almost dead, skewered by barbs, haloed, 92% to hit) You throw a boomerang. The boomerang hits the manticore. The manticore is almost dead. A sea snake comes into view. The merfolk hits you from afar with a +0 trident! Throw: 11 boomerangs Press: ? - help, Q - select action, ( or ) - cycle Shift-Dir - straight line Aim: a manticore (almost dead, skewered by barbs, haloed, 92% to hit) You throw a boomerang. The sea snake hisses angrily. The boomerang hits the manticore! You kill the manticore! The merfolk aquamancer shouts! You block the merfolk's attack. You block the sea snake's attack. You block the merfolk's attack. There is a stone staircase leading up, spattered with blood here. You can't go down here! The sea snake misses you. The merfolk barely misses you. The sea snake bites you but does no damage. You fly upwards. There is a stone staircase leading down here. You impale the merfolk!! The merfolk is heavily wounded. You puncture the merfolk! The merfolk is severely wounded. You block the merfolk's attack. You block the sea snake's attack. You barely miss the merfolk. The merfolk is severely wounded. You block the sea snake's attack. You block the merfolk's attack. You impale the merfolk!! You kill the merfolk! You impale the sea snake!! The sea snake is moderately wounded. The sea snake bites you. You completely miss the sea snake. The sea snake is moderately wounded. The sea snake bites you but does no damage. You impale the sea snake!! The sea snake is severely wounded. You block the sea snake's attack. You puncture the sea snake! The sea snake is almost dead. You block the sea snake's attack. You impale the sea snake!! You kill the sea snake! You start resting. HP restored. You fly downwards. Beware, you cannot shaft yourself on this level. There is a stone staircase leading up, spattered with blood here. You start resting. Magic restored. You start waiting. You sense a monster nearby. You start waiting. A snapping turtle comes into view. A snapping turtle is nearby! You throw a boomerang. The snapping turtle hisses angrily. The boomerang hits the snapping turtle! The snapping turtle is moderately wounded. You throw a boomerang. The boomerang hits the snapping turtle but does no damage. The snapping turtle is moderately wounded. You throw a boomerang. The boomerang hits the snapping turtle but does no damage. The snapping turtle is moderately wounded. The merfolk javelineer throws a javelin. The javelin pierces through you. You throw a boomerang. The boomerang hits the snapping turtle but does no damage. The snapping turtle is moderately wounded. The merfolk javelineer throws a javelin. The javelin pierces through you. A merfolk aquamancer comes into view. It is wielding a +0 rapier of venom. You throw a boomerang. The merfolk aquamancer shouts! The boomerang hits the snapping turtle but does no damage. The snapping turtle is moderately wounded. The merfolk aquamancer gestures wildly while chanting. The merfolk aquamancer blinks! The merfolk javelineer throws a javelin. The javelin completely misses you. The merfolk aquamancer casts a spell. The merfolk aquamancer blinks! A merfolk comes into view. It is wielding a +0 trident. You reach to attack! The merfolk shouts! You impale the snapping turtle!! The snapping turtle is severely wounded. The snapping turtle bites you but does no damage. The merfolk javelineer throws a javelin. The javelin pierces through you but does no damage. The merfolk aquamancer gestures at you while chanting. You block the shard of ice... and reflect it back! The shard of ice hits the merfolk aquamancer! You reach to attack! You impale the snapping turtle!! You kill the snapping turtle! The merfolk aquamancer gestures at you while chanting. The ball of steam misses you. The merfolk javelineer throws a javelin. The javelin pierces through you but does no damage. Unknown command. A manticore comes into view. The merfolk javelineer throws a javelin. The javelin barely misses you. There is a stone staircase leading up, spattered with blood here. You throw a boomerang. The boomerang hits the merfolk! The merfolk is moderately wounded. The merfolk javelineer throws a javelin. The javelin pierces through you! You throw a boomerang. The boomerang hits the merfolk aquamancer!! The merfolk aquamancer is severely wounded. The merfolk javelineer throws a javelin. The javelin pierces through you. You throw a boomerang. The boomerang hits the merfolk aquamancer!! You kill the merfolk aquamancer! The merfolk aquamancer gestures at you while chanting. You block the torrent of water... and reflect it back! The torrent of water hits the merfolk aquamancer!! The merfolk aquamancer is knocked back by the torrent of water. The wave splashes down. The merfolk javelineer throws a javelin. The javelin pierces through you but does no damage. You block the merfolk's attack. You hear a shout! You hear an angry hiss. You hear a bellow! You hear a shout! x2 You throw a boomerang. The boomerang hits the merfolk. The merfolk is moderately wounded. A wind drake comes into view. The merfolk javelineer throws a javelin. The javelin pierces through you! You block the merfolk's attack. You throw a boomerang. The boomerang barely misses the merfolk. The wind drake hisses angrily. The boomerang hits the manticore!! The manticore is heavily wounded. The wind drake flaps its wings at you. The open air twists around violently and strikes you. The merfolk javelineer throws a javelin. The javelin misses you. You block the merfolk's attack. The manticore flicks its tail. The volley of spikes skewers you! Barbed spikes become lodged in your body. The merfolk javelineer throws a javelin. The javelin pierces through you! The barbed spikes dig painfully into your body as you move. Your corrosive artefact corrodes you! The merfolk aquamancer points at you and mumbles some strange words. The shard of ice hits you!! You partially resist. You block the merfolk's attack. There is a stone staircase leading up, spattered with blood here. Unknown command. Magic restored. The manticore flicks its tail. You block the volley of spikes... and reflect it back! The volley of spikes skewers the merfolk! The merfolk javelineer throws a javelin. The javelin pierces through you! The javelin pierces through the merfolk!! You block the merfolk's attack. The barbed spikes dig painfully into your body as you move. You fly upwards. There is a stone staircase leading down here. Unknown command. You closely miss the merfolk. The merfolk is almost dead. You spit the merfolk like a pig!!! You kill the merfolk! You start resting. You carefully extract the barbed spikes from your body. You start resting. Magic restored. You start resting. You are no longer corroded. You start resting. HP restored. You start waiting. Done waiting. You fly downwards. Beware, you cannot shaft yourself on this level. The merfolk javelineer throws a javelin. The javelin pierces through you but does no damage. The javelin is repelled. You block the manticore's attack. The manticore claws you but does no damage. x2 The wind drake exhales a fierce blast of wind! You are knocked back by the gust of wind. A merfolk siren comes into view. It is wielding a +0 spear. The manticore is knocked back by the gust of wind. The merfolk javelineer throws a javelin. The javelin pierces through you but does no damage. The merfolk siren shouts! The merfolk siren chants a haunting song. You resist. The merfolk javelineer throws a javelin. The javelin barely misses you. The merfolk siren chants a haunting song. You resist. The wind drake exhales a fierce blast of wind! The merfolk javelineer is knocked back by the gust of wind. You are knocked back by the gust of wind. The manticore flicks its tail. You block the volley of spikes... and reflect it back! The volley of spikes skewers the manticore! You hear a bellow! The merfolk siren chants a haunting song. You resist with almost no effort. The merfolk javelineer throws a javelin. The javelin pierces through you. The javelin pierces through the manticore!! You block the wind drake's attack. You hear a bellow! The merfolk siren chants a haunting song. You resist with almost no effort. You block the manticore's attack. x3 The merfolk javelineer throws a javelin. The javelin closely misses you. The javelin pierces through the manticore! The wind drake closely misses you. A merfolk javelineer comes into view. It is wielding a +0 vampiric spear and quivering silver javelins. The manticore misses you. The manticore claws you but does no damage. You block the manticore's attack. The wind drake exhales a fierce blast of wind! You are knocked back by the gust of wind. The merfolk javelineer throws a silver javelin. The silver javelin pierces through you! The merfolk javelineer throws a javelin. The javelin pierces through you! The merfolk siren chants a haunting song. You are mesmerised by the merfolk siren! The wind drake bites you but does no damage. The merfolk javelineer throws a silver javelin. The silver javelin pierces through you! There is a stone staircase leading up, spattered with blood here. You cannot move away from the merfolk siren! Unknown command. Read: 3 scrolls of butterflies Press: ? - help, Q - select action, ( or ) - cycle Dir - look around, f - activate As you read the scroll of butterflies, it crumbles to dust. You hear the flapping of tiny wings. The merfolk is knocked back by the sudden gust. The manticore is knocked back by the sudden gust. The wind drake is knocked back by the sudden gust. The merfolk javelineer hits your butterfly with a +6 spear of distortion. Your butterfly dies! Your butterfly disappears in a burst of colours! The merfolk siren chants its luring song. The wind drake barely misses your butterfly. You hear an eerie melody. The manticore bites your butterfly!! Your butterfly dies! Your butterfly disappears in a burst of colours! The merfolk siren chants its luring song. A manticore comes into view. The merfolk javelineer throws a silver javelin. The silver javelin pierces through you but does no damage. The silver javelin barely misses your butterfly. Unknown command. The wind drake closely misses your butterfly. The merfolk javelineer hits your butterfly with a +6 spear of distortion! Your butterfly dies! Your butterfly disappears in a burst of colours! You hear an eerie melody. The manticore bites your butterfly!! Your butterfly dies! Your butterfly disappears in a burst of colours! The merfolk siren chants its luring song. Throw: 11 boomerangs Press: ? - help, Q - select action, ( or ) - cycle Shift-Dir - straight line Aim: a wind drake (repelling missiles, ally target, haloed, 25% to hit) You throw a boomerang. The boomerang hits your butterfly. You kill your butterfly! Your butterfly disappears in a burst of colours! You feel very guilty. "You will pay for your transgression, mortal!" Your divine halo fades away. The wind drake flaps its wings at you. The air twists around and strikes you. You hear an eerie melody. The merfolk javelineer throws a silver javelin. The silver javelin pierces through you! The silver javelin pierces through your butterfly!! Your butterfly dies! Your butterfly disappears in a burst of colours! The merfolk closely misses your butterfly. The wind drake exhales a fierce blast of wind! Your butterfly is knocked back by the gust of wind. Your butterfly collides with your butterfly! Your butterfly dies! Your butterfly disappears in a burst of colours! Your butterfly dies! Your butterfly disappears in a burst of colours! Your butterfly is knocked back by the gust of wind. x2 Your butterfly collides with your butterfly! Your butterfly dies! Your butterfly disappears in a burst of colours! Your butterfly dies! Your butterfly disappears in a burst of colours! Your butterfly is knocked back by the gust of wind. Your butterfly slams into the ice covered rock wall! Your butterfly dies! Your butterfly disappears in a burst of colours! Your butterfly is knocked back by the gust of wind. Your butterfly collides with the manticore! The manticore is moderately wounded. Your butterfly dies! Your butterfly disappears in a burst of colours! Your butterfly is knocked back by the gust of wind. Your butterfly collides with your butterfly! Your butterfly dies! Your butterfly disappears in a burst of colours! Your butterfly dies! Your butterfly disappears in a burst of colours! Your butterfly is knocked back by the gust of wind. x5 You are knocked back by the gust of wind. Your butterfly is knocked back by the gust of wind. Your butterfly collides with your butterfly! Your butterfly dies! Your butterfly disappears in a burst of colours! Your butterfly dies! Your butterfly disappears in a burst of colours! Your butterfly is knocked back by the gust of wind. x2 Your butterfly collides with you. Your butterfly dies! Your butterfly disappears in a burst of colours! Your butterfly is knocked back by the gust of wind. The merfolk siren barely misses your butterfly. The merfolk javelineer throws a javelin. The javelin pierces through you but does no damage. The manticore bites your butterfly!! Your butterfly dies! Your butterfly disappears in a burst of colours! The merfolk javelineer throws a silver javelin. The silver javelin pierces through you but does no damage. The silver javelin pierces through your butterfly! Your butterfly dies! Your butterfly disappears in a burst of colours! The silver javelin closely misses your butterfly. The manticore flicks its tail. You block the volley of spikes... and reflect it back! The volley of spikes skewers the manticore. The merfolk completely misses your butterfly. The merfolk siren chants its luring song. There is a stone staircase leading up, spattered with blood here. Your magical effects are unravelling. You feel magically purged. >>>>>>>>>>>>>>>>>>>>>> Version history: Game started: 0.33-a0-854-g9c2e5f8391 Game state: mouse_enabled: 0, waiting_for_command: 0, terminal_resized: 0 io_inited: 1, need_save: 1, saving_game: 0, updating_scores: 0: seen_hups: 1, map_stat_gen: 0, type: 1, arena_suspended: 0 prev_cmd = CMD_NO_CMD repeat_cmd = CMD_NO_CMD Player: {{{{{{{{{{{ Name: [Azoth] Species: Formicid Job: Fighter HP: 87/151; mods: 0/0 MP: 25/25; mod: 0 Stats: 39 6 13 Position: (23, 20), god: the Shining One (2), turn_is_over: 1, banished: 0 Standing on/in/over feature: stone staircase leading up Skills (mode: auto) Name | can_currently_train | train | training | level | points | progress Fighting | X | 1 | 15 | 16 | 6375 | 69/883 Short Blades | X | 1 | 0 | 0 | 0 | 0/50 Long Blades | X | 1 | 0 | 0 | 0 | 0/50 Axes | X | 1 | 0 | 0 | 0 | 0/50 Maces & Flails | X | 1 | 0 | 0 | 0 | 0/50 Polearms | X | 1 | 13 | 18 | 10255 | 580/1225 Staves | X | 1 | 0 | 0 | 0 | 0/50 Ranged Weapons | X | 1 | 0 | 0 | 0 | 0/50 Throwing | X | 1 | 33 | 7 | 1656 | 256/400 Armour | X | 1 | 16 | 14 | 5446 | 716/756 Dodging | X | 1 | 0 | 4 | 702 | 108/297 Stealth | X | 1 | 0 | 3 | 197 | 19/119 Shields | X | 1 | 23 | 16 | 4702 | 243/624 Unarmed Combat | X | 1 | 0 | 0 | 0 | 0/50 Spellcasting | X | 1 | 0 | 0 | 0 | 0/50 Conjurations | X | 1 | 0 | 0 | 0 | 0/59 Hexes | X | 1 | 0 | 0 | 0 | 0/35 Summonings | X | 1 | 0 | 0 | 0 | 0/50 Necromancy | X | 1 | 0 | 0 | 0 | 0/50 Translocations | X | 1 | 0 | 0 | 0 | 0/35 Forgecraft | X | 1 | 0 | 0 | 0 | 0/50 Fire Magic | X | 1 | 0 | 0 | 0 | 0/50 Ice Magic | X | 1 | 0 | 0 | 0 | 0/50 Air Magic | X | 1 | 0 | 0 | 0 | 0/70 Earth Magic | X | 1 | 0 | 0 | 0 | 0/35 Alchemy | X | 1 | 0 | 0 | 0 | 0/29 Invocations | X | 1 | 0 | 9 | 1851 | 261/372 Evocations | X | 1 | 0 | 3 | 351 | 99/168 Shapeshifting | X | 1 | 0 | 0 | 0 | 0/50 Spell bugs: Durations: Attributes: #12: 2562 #13: 927 #22: 1 #46: 306 #49: 2440 Mutations: antennae: 3 (innate) four strong arms: 1 (innate) Inventory bugs: Equipment: eq slot #10, inv slot #15: amulet of Activism {Reflect rPois SH+5} eq slot #5, inv slot #7: +2 pair of gloves eq slot #9, inv slot #26: ring of Trepidation {Fly rF+ rC+ Str+2} eq slot #6, inv slot #4: +2 pair of boots eq slot #3, inv slot #12: +2 plate armour of poison resistance eq slot #2, inv slot #1: +1 kite shield eq slot #9, inv slot #33: ring of Egalitarianism {*Corrode rElec Str+9 Int-3} eq slot #8, inv slot #20: +1 cloak eq slot #5, inv slot #48: +2 pair of gloves of infusion eq slot #1, inv slot #50: +8 trishula of holy wrath }}}}}}}}}}} Webtiles message buffer: {"msg":"player" Webtiles JSON stack: start: 0 end: 15 type: } Screenshot: ........# ........## ........~## .......H.~## ## #~........b###~##.. #................. #...bb.....~...... #.b..[....~~~..... #..b.÷.@bmbb~~.... #.~.b...k.b~~~~... #.b.b.b÷b.~~~~~~.. ..~~..bbHbmb~~≈≈~.. .~~bm..b.b.~~≈≈≈~.. .~~~~......~Ym≈~..# .~~~~~~b...~~~~~≈.. .~~~~~~~~.~~~~~≈~.. .~~~~.......~~~~~~. clua stack: dlua stack: Lua persistent data: <<<<<<<<<<<<<<<<<<<<<< ice_cave_hard: true >>>>>>>>>>>>>>>>>>>>>> Lua marker contents: <<<<<<<<<<<<<<<<<<<<<< >>>>>>>>>>>>>>>>>>>>>> ASSERT((duration[DUR_MESMERISED] > 0) == !beholders.empty()) in 'behold.cc' at line 66 failed. Recursive crash.