ASSERT((duration[DUR_MESMERISED] > 0) == !beholders.empty()) in 'behold.cc' at line 66 failed. Version: Dungeon Crawl Stone Soup 0.32.1-1-g848d7226f3 Platform: unix Bits: 64 Game mode: normal Tiles: online Seed: 16061960296280688291, deterministic pregen: 1 Command line: /usr/games/crawl-0.32 -name acidosis2 -rc /dgldir/rcfiles/crawl-0.32/acidosis2.rc -macro /dgldir/rcfiles/crawl-0.32/acidosis2.macro -morgue /dgldir/morgue/acidosis2/ -webtiles-socket /crawl-master/webserver/sockets/acidosis2:2024-11-13.01:12:22.sock -await-connection RC options: restart_after_game = false Crash caused by signal #6: Aborted Obtained 31 stack frames. /usr/games/crawl-0.32(_Z17write_stack_traceP8_IO_FILE+0x3e) [0x5f6504da08de]: write_stack_trace(_IO_FILE*) /usr/games/crawl-0.32(_Z13do_crash_dumpv+0x43a) [0x5f6504daea2a]: do_crash_dump() /usr/games/crawl-0.32(_Z20crash_signal_handleri+0x1fa) [0x5f6504da0dba]: crash_signal_handler(int) /lib/x86_64-linux-gnu/libc.so.6(+0x45320) [0x7f2203058320]: /lib/x86_64-linux-gnu/libc.so.6(pthread_kill+0x11c) [0x7f22030b1b1c]: /lib/x86_64-linux-gnu/libc.so.6(gsignal+0x1e) [0x7f220305826e]: /usr/games/crawl-0.32(+0x4a5d4d) [0x5f6504dadd4d]: /usr/games/crawl-0.32(_Z12AssertFailedPKcS0_iS0_z+0x1c7) [0x5f6504dae307]: AssertFailed(char const*, char const*, int, char const*, ...) /usr/games/crawl-0.32(+0x45a832) [0x5f6504d62832]: /usr/games/crawl-0.32(+0x45aa9b) [0x5f6504d62a9b]: /usr/games/crawl-0.32(_Z16fill_status_infoiR11status_info+0x1069) [0x5f65053b0819]: fill_status_info(int, status_info&) /usr/games/crawl-0.32(_ZN14TilesFramework12_send_playerEb+0x1df3) [0x5f65054f4393]: TilesFramework::_send_player(bool) /usr/games/crawl-0.32(_ZN14TilesFramework6redrawEv+0x72) [0x5f65054f8122]: TilesFramework::redraw() /usr/games/crawl-0.32(_ZN14TilesFramework17update_input_modeE10mouse_modeb+0x178) [0x5f65054f83f8]: TilesFramework::update_input_mode(mouse_mode, bool) /usr/games/crawl-0.32(_ZN13mouse_controlC1E10mouse_mode+0x1d) [0x5f650506027d]: mouse_control::mouse_control(mouse_mode) /usr/games/crawl-0.32(+0x7f7003) [0x5f65050ff003]: /usr/games/crawl-0.32(_ZN14message_window4moreEbb+0x208) [0x5f6505100628]: message_window::more(bool, bool) /usr/games/crawl-0.32(_ZN14message_window8add_itemENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE11prefix_typeb+0x3cb) [0x5f6505100bfb]: message_window::add_item(std::__cxx11::basic_string, std::allocator >, prefix_type, bool) /usr/games/crawl-0.32(_ZN13message_store10flush_prevEv+0x3fd) [0x5f6505101a4d]: message_store::flush_prev() /usr/games/crawl-0.32(+0x7f35e6) [0x5f65050fb5e6]: /usr/games/crawl-0.32(_Z16do_message_print16msg_channel_typeibbPKcP13__va_list_tag+0xd6) [0x5f65050fbeb6]: do_message_print(msg_channel_type, int, bool, bool, char const*, __va_list_tag*) /usr/games/crawl-0.32(_Z4mprf16msg_channel_typePKcz+0xb1) [0x5f65050fc441]: mprf(msg_channel_type, char const*, ...) /usr/games/crawl-0.32(+0x95c405) [0x5f6505264405]: /usr/games/crawl-0.32(_Z13player_reactsv+0x71f) [0x5f650526614f]: player_reacts() /usr/games/crawl-0.32(_Z12world_reactsv+0x7b5) [0x5f65055086b5]: world_reacts() /usr/games/crawl-0.32(+0xc023a6) [0x5f650550a3a6]: /usr/games/crawl-0.32(+0xc030a5) [0x5f650550b0a5]: /usr/games/crawl-0.32(main+0x1f7) [0x5f6504cda6a7]: /lib/x86_64-linux-gnu/libc.so.6(+0x2a1ca) [0x7f220303d1ca]: /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0x8b) [0x7f220303d28b]: /usr/games/crawl-0.32(_start+0x25) [0x5f6504cdb0c5]: Trying to run gdb. GNU gdb (Ubuntu 15.0.50.20240403-0ubuntu1) 15.0.50.20240403-git Copyright (C) 2024 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". 0x00007f22031237a7 in __GI___wait4 (pid=1859457, stat_loc=0x0, options=0, usage=0x0) at ../sysdeps/unix/sysv/linux/wait4.c:30 #0 0x00007f22031237a7 in __GI___wait4 (pid=1859457, stat_loc=0x0, options=0, usage=0x0) at ../sysdeps/unix/sysv/linux/wait4.c:30 sc_ret = -512 sc_ret = #1 0x00005f6504da0f8c in call_gdb (file=0x7f22032174e0 <_IO_2_1_stderr_>) at crash.cc:438 gdb = attach_cmd = "attach 1825145\000\000\000\000\000" #2 0x00005f6504daea48 in do_crash_dump () at dbg-asrt.cc:692 t = 1731460740 dir = "/dgldir/morgue/acidosis2/" name = "/dgldir/morgue/acidosis2/crash-acidosis2-20241113-011900.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 = 0x7f22032174e0 <_IO_2_1_stderr_> #3 0x00005f6504da0dba in crash_signal_handler (sig_num=6) at crash.cc:198 No locals. #4 No locals. #5 __pthread_kill_implementation (no_tid=0, signo=6, threadid=) at ./nptl/pthread_kill.c:44 tid = ret = 0 pd = old_mask = {__val = {8589934594}} ret = pd = old_mask = ret = tid = ret = resultvar = resultvar = __arg3 = __arg2 = __arg1 = _a3 = _a2 = _a1 = __futex = resultvar = __arg3 = __arg2 = __arg1 = _a3 = _a2 = _a1 = __futex = __private = __oldval = #6 __pthread_kill_internal (signo=6, threadid=) at ./nptl/pthread_kill.c:78 No locals. #7 __GI___pthread_kill (threadid=, signo=signo@entry=6) at ./nptl/pthread_kill.c:89 No locals. #8 0x00007f220305826e in __GI_raise (sig=6) at ../sysdeps/posix/raise.c:26 ret = #9 0x00005f6504dadd4d in _BreakStrToDebugger (mesg=mesg@entry=0x7ffe4918fe30 "ASSERT((duration[DUR_MESMERISED] > 0) == !beholders.empty()) in 'behold.cc' at line 66 failed.", assert=true) at dbg-asrt.cc:818 No locals. #10 0x00005f6504dae307 in AssertFailed (expr=expr@entry=0x5f6505590c30 "(duration[DUR_MESMERISED] > 0) == !beholders.empty()", file=file@entry=0x5f650551fc4b "behold.cc", line=line@entry=66, text=text@entry=0x0) at dbg-asrt.cc:856 mesg = "ASSERT((duration[DUR_MESMERISED] > 0) == !beholders.empty()) in 'behold.cc' at line 66 failed.\0004\002\000\000\000\002\000\000\000\320\376\030I\376\177\000\000\271\322Q\005e_\000\000\271\322Q\005e_", '\000' , "\265n\026y\354\0234\220\377\030I\376\177\000\000\000\377\030I\376\177\000\000\271\322Q\005e_\000\000\344\f\031I\376\177", '\000' , "\n\031I\376\177\000\000\300\377\030I\376\177\000\000"... args = {{gp_offset = 50839804, fp_offset = 32546, overflow_arg_area = 0x0, reg_save_area = 0x200000002}} fileName = #11 0x00005f6504d62832 in player::beheld (this=) at behold.cc:66 No locals. #12 0x00005f6504d62a9b in player::beheld (this=) at behold.cc:65 No locals. #13 0x00005f65053b0819 in fill_status_info (status=status@entry=192, inf=...) at status.cc:312 found = false #14 0x00005f65054f4393 in _update_statuses (c=...) at tileweb.cc:1009 status = 192 changed = false counter = inf = {light_colour = 0, light_text = "", short_text = "", long_text = ""} changed = counter = inf = status = #15 TilesFramework::_send_player (this=this@entry=0x5f6505a04e20 , force_full=, force_full@entry=false) at tileweb.cc:1202 c = @0x5f6505a31198: {_state_ever_synced = true, name = "acidosis2", job_title = "the Destroyer", wizard = false, explore = false, species = "Deep Orc", god = "Beogh", under_penance = false, piety_rank = 2, form = 0 '\000', hp = 51, hp_max = 51, real_hp_max = 51, poison_survival = 51, mp = 0, mp_max = 23, dd_real_mp_max = 0, contam = 0, noise = -1, adjusted_noise = 277, armour_class = 11, evasion = 11, shield_class = 0, strength = 12 '\f', strength_max = 12 '\f', intel = 26 '\032', intel_max = 26 '\032', dex = 13 '\r', dex_max = 13 '\r', experience_level = 9, exp_progress = 5 '\005', gold = 334, zot_points = 0, elapsed_time = 61400, num_turns = 6128, lives = 0, deaths = 0, place = "Dungeon", depth = 7, position = {x = 40, y = -13}, status = std::vector of length 2, capacity 4 = {{light_colour = 4, light_text = "Mesm", short_text = "mesmerised", long_text = "You are mesmerised."}, {light_colour = 8, light_text = "Contam", short_text = "very slightly contaminated", long_text = "You are very lightly contaminated with residual magic."}}, inv = {mData = {{base_type = OBJ_ARMOUR, sub_type = 0 '\000', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 0, unrand_idx = 0, subtype_rnd = 0, brand = 0, freshness = 0}, rnd = 161 '\241', quantity = 1, flags = 15, pos = {x = -1, y = -1}, link = 0, slot = 97, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = -102, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_POTIONS, sub_type = 20 '\024', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 255, unrand_idx = 255, subtype_rnd = 255, brand = 255, freshness = 255}, rnd = 41 ')', quantity = 1, flags = 15, pos = {x = -1, y = -1}, link = 1, slot = 98, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = -102, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_SCROLLS, sub_type = 28 '\034', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 360583, unrand_idx = 360583, subtype_rnd = 360583, brand = 360583, freshness = 360583}, rnd = 173 '\255', quantity = 1, flags = 0, pos = {x = -1, y = -1}, link = 2, slot = 99, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_SCROLLS, sub_type = 28 '\034', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 327757, unrand_idx = 327757, subtype_rnd = 327757, brand = 327757, freshness = 327757}, rnd = 234 '\352', quantity = 1, flags = 0, pos = {x = -1, y = -1}, link = 3, slot = 100, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_SCROLLS, sub_type = 28 '\034', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 348464, unrand_idx = 348464, subtype_rnd = 348464, brand = 348464, freshness = 348464}, rnd = 69 'E', quantity = 2, flags = 0, 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_SCROLLS, sub_type = 28 '\034', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 363840, unrand_idx = 363840, subtype_rnd = 363840, brand = 363840, freshness = 363840}, rnd = 142 '\216', quantity = 1, flags = 0, pos = {x = -1, y = -1}, link = 5, slot = 102, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_SCROLLS, sub_type = 28 '\034', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 348273, unrand_idx = 348273, subtype_rnd = 348273, brand = 348273, freshness = 348273}, rnd = 45 '-', quantity = 2, flags = 0, pos = {x = -1, y = -1}, link = 6, slot = 103, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_SCROLLS, sub_type = 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 = 333419, unrand_idx = 333419, subtype_rnd = 333419, brand = 333419, freshness = 333419}, rnd = 74 'J', quantity = 5, flags = 2, pos = {x = -1, y = -1}, link = 7, slot = 104, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_ARMOUR, sub_type = 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 = 144 '\220', quantity = 1, flags = 15, pos = {x = -1, y = -1}, link = 8, slot = 105, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_SCROLLS, sub_type = 28 '\034', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 356939, unrand_idx = 356939, subtype_rnd = 356939, brand = 356939, freshness = 356939}, rnd = 71 'G', quantity = 4, flags = 0, pos = {x = -1, y = -1}, link = 9, slot = 106, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_POTIONS, sub_type = 32 ' ', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 35, unrand_idx = 35, subtype_rnd = 35, brand = 35, freshness = 35}, rnd = 71 'G', quantity = 1, flags = 0, pos = {x = -1, y = -1}, link = 10, slot = 107, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_SCROLLS, sub_type = 28 '\034', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 328489, unrand_idx = 328489, subtype_rnd = 328489, brand = 328489, freshness = 328489}, rnd = 52 '4', quantity = 3, flags = 0, pos = {x = -1, y = -1}, link = 11, slot = 108, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_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 = 112, unrand_idx = 112, subtype_rnd = 112, brand = 112, freshness = 112}, rnd = 59 ';', quantity = 1, flags = 15, pos = {x = -1, y = -1}, link = 12, slot = 109, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_POTIONS, sub_type = 32 ' ', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 15, unrand_idx = 15, subtype_rnd = 15, brand = 15, freshness = 15}, rnd = 76 'L', quantity = 1, flags = 0, pos = {x = -1, y = -1}, link = 13, slot = 110, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_POTIONS, sub_type = 32 ' ', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 9, unrand_idx = 9, subtype_rnd = 9, brand = 9, freshness = 9}, rnd = 94 '^', quantity = 3, flags = 0, pos = {x = -1, y = -1}, link = 14, slot = 111, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_SCROLLS, sub_type = 28 '\034', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 329246, unrand_idx = 329246, subtype_rnd = 329246, brand = 329246, freshness = 329246}, rnd = 208 '\320', quantity = 2, flags = 0, pos = {x = -1, y = -1}, link = 15, slot = 112, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_SCROLLS, sub_type = 28 '\034', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 349316, unrand_idx = 349316, subtype_rnd = 349316, brand = 349316, freshness = 349316}, rnd = 229 '\345', quantity = 1, flags = 0, pos = {x = -1, y = -1}, link = 16, slot = 113, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_WANDS, sub_type = 19 '\023', {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 = 169, unrand_idx = 169, subtype_rnd = 169, brand = 169, freshness = 169}, rnd = 10 '\n', quantity = 1, flags = 6, pos = {x = -1, y = -1}, link = 17, slot = 114, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_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 = 84 'T', quantity = 1, flags = 131087, pos = {x = -1, y = -1}, link = 18, slot = 115, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_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 = 15, unrand_idx = 15, subtype_rnd = 15, brand = 15, freshness = 15}, rnd = 22 '\026', quantity = 1, flags = 15, pos = {x = -1, y = -1}, link = 19, slot = 116, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_POTIONS, sub_type = 32 ' ', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 7, unrand_idx = 7, subtype_rnd = 7, brand = 7, freshness = 7}, rnd = 216 '\330', quantity = 1, flags = 0, pos = {x = -1, y = -1}, link = 20, slot = 117, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_POTIONS, sub_type = 32 ' ', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 19, unrand_idx = 19, subtype_rnd = 19, brand = 19, freshness = 19}, rnd = 224 '\340', quantity = 1, flags = 0, pos = {x = -1, y = -1}, link = 21, slot = 118, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_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 = 116, unrand_idx = 116, subtype_rnd = 116, brand = 116, freshness = 116}, rnd = 88 'X', quantity = 1, flags = 15, pos = {x = -1, y = -1}, link = 22, slot = 119, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_ARMOUR, sub_type = 10 '\n', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 0, unrand_idx = 0, subtype_rnd = 0, brand = 0, freshness = 0}, rnd = 104 'h', quantity = 1, flags = 15, pos = {x = -1, y = -1}, link = 23, slot = 120, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_JEWELLERY, sub_type = 38 '&', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 21, unrand_idx = 21, subtype_rnd = 21, brand = 21, freshness = 21}, rnd = 254 '\376', quantity = 1, flags = 15, pos = {x = -1, y = -1}, link = 24, slot = 121, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_WANDS, sub_type = 17 '\021', {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 = 41, unrand_idx = 41, subtype_rnd = 41, brand = 41, freshness = 41}, rnd = 82 'R', quantity = 1, flags = 6, pos = {x = -1, y = -1}, link = 25, slot = 122, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_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 = 149 '\225', quantity = 3, flags = 15, pos = {x = -1, y = -1}, link = 26, slot = 65, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_SCROLLS, sub_type = 28 '\034', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 338711, unrand_idx = 338711, subtype_rnd = 338711, brand = 338711, freshness = 338711}, rnd = 210 '\322', quantity = 1, flags = 0, pos = {x = -1, y = -1}, link = 27, slot = 66, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_JEWELLERY, 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 = 12, unrand_idx = 12, subtype_rnd = 12, brand = 12, freshness = 12}, rnd = 24 '\030', quantity = 1, flags = 15, pos = {x = -1, y = -1}, link = 28, slot = 67, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_JEWELLERY, sub_type = 44 ',', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 243, unrand_idx = 243, subtype_rnd = 243, brand = 243, freshness = 243}, rnd = 19 '\023', quantity = 1, flags = 15, pos = {x = -1, y = -1}, link = 29, slot = 68, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_POTIONS, sub_type = 32 ' ', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 21, unrand_idx = 21, subtype_rnd = 21, brand = 21, freshness = 21}, rnd = 169 '\251', quantity = 1, flags = 0, pos = {x = -1, y = -1}, link = 30, slot = 69, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_WEAPONS, sub_type = 24 '\030', {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 = 9, unrand_idx = 9, subtype_rnd = 9, brand = 9, freshness = 9}, rnd = 95 '_', quantity = 1, flags = 131087, pos = {x = -1, y = -1}, link = 31, slot = 70, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_WANDS, sub_type = 16 '\020', {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 = 101, unrand_idx = 101, subtype_rnd = 101, brand = 101, freshness = 101}, rnd = 42 '*', quantity = 1, flags = 6, pos = {x = -1, y = -1}, link = 32, slot = 71, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_POTIONS, sub_type = 32 ' ', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 197, unrand_idx = 197, subtype_rnd = 197, brand = 197, freshness = 197}, rnd = 124 '|', quantity = 1, flags = 0, pos = {x = -1, y = -1}, link = 33, slot = 72, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_UNASSIGNED, sub_type = 0 '\000', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 0, unrand_idx = 0, subtype_rnd = 0, brand = 0, freshness = 0}, rnd = 1 '\001', quantity = 0, flags = 0, pos = {x = 0, y = 0}, link = 27000, slot = 0, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_UNASSIGNED, sub_type = 0 '\000', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 0, unrand_idx = 0, subtype_rnd = 0, brand = 0, freshness = 0}, rnd = 1 '\001', quantity = 0, flags = 0, pos = {x = 0, y = 0}, link = 27000, slot = 0, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_UNASSIGNED, sub_type = 0 '\000', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 0, unrand_idx = 0, subtype_rnd = 0, brand = 0, freshness = 0}, rnd = 1 '\001', quantity = 0, flags = 0, pos = {x = 0, y = 0}, link = 27000, slot = 0, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_UNASSIGNED, sub_type = 0 '\000', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 0, unrand_idx = 0, subtype_rnd = 0, brand = 0, freshness = 0}, rnd = 1 '\001', quantity = 0, flags = 0, pos = {x = 0, y = 0}, link = 27000, slot = 0, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_UNASSIGNED, sub_type = 0 '\000', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 0, unrand_idx = 0, subtype_rnd = 0, brand = 0, freshness = 0}, rnd = 1 '\001', quantity = 0, flags = 0, pos = {x = 0, y = 0}, link = 27000, slot = 0, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_UNASSIGNED, sub_type = 0 '\000', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 0, unrand_idx = 0, subtype_rnd = 0, brand = 0, freshness = 0}, rnd = 1 '\001', quantity = 0, flags = 0, pos = {x = 0, y = 0}, link = 27000, slot = 0, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_UNASSIGNED, sub_type = 0 '\000', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 0, unrand_idx = 0, subtype_rnd = 0, brand = 0, freshness = 0}, rnd = 1 '\001', quantity = 0, flags = 0, pos = {x = 0, y = 0}, link = 27000, slot = 0, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_UNASSIGNED, sub_type = 0 '\000', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 0, unrand_idx = 0, subtype_rnd = 0, brand = 0, freshness = 0}, rnd = 1 '\001', quantity = 0, flags = 0, pos = {x = 0, y = 0}, link = 27000, slot = 0, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_UNASSIGNED, sub_type = 0 '\000', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 0, unrand_idx = 0, subtype_rnd = 0, brand = 0, freshness = 0}, rnd = 1 '\001', quantity = 0, flags = 0, pos = {x = 0, y = 0}, link = 27000, slot = 0, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_UNASSIGNED, sub_type = 0 '\000', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 0, unrand_idx = 0, subtype_rnd = 0, brand = 0, freshness = 0}, rnd = 1 '\001', quantity = 0, flags = 0, pos = {x = 0, y = 0}, link = 27000, slot = 0, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_UNASSIGNED, sub_type = 0 '\000', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 0, unrand_idx = 0, subtype_rnd = 0, brand = 0, freshness = 0}, rnd = 1 '\001', quantity = 0, flags = 0, pos = {x = 0, y = 0}, link = 27000, slot = 0, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_UNASSIGNED, sub_type = 0 '\000', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 0, unrand_idx = 0, subtype_rnd = 0, brand = 0, freshness = 0}, rnd = 1 '\001', quantity = 0, flags = 0, pos = {x = 0, y = 0}, link = 27000, slot = 0, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_UNASSIGNED, sub_type = 0 '\000', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 0, unrand_idx = 0, subtype_rnd = 0, brand = 0, freshness = 0}, rnd = 1 '\001', quantity = 0, flags = 0, pos = {x = 0, y = 0}, link = 27000, slot = 0, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_UNASSIGNED, sub_type = 0 '\000', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 0, unrand_idx = 0, subtype_rnd = 0, brand = 0, freshness = 0}, rnd = 1 '\001', quantity = 0, flags = 0, pos = {x = 0, y = 0}, link = 27000, slot = 0, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_UNASSIGNED, sub_type = 0 '\000', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 0, unrand_idx = 0, subtype_rnd = 0, brand = 0, freshness = 0}, rnd = 1 '\001', quantity = 0, flags = 0, pos = {x = 0, y = 0}, link = 27000, slot = 0, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_UNASSIGNED, sub_type = 0 '\000', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 0, unrand_idx = 0, subtype_rnd = 0, brand = 0, freshness = 0}, rnd = 1 '\001', quantity = 0, flags = 0, pos = {x = 0, y = 0}, link = 27000, slot = 0, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_UNASSIGNED, sub_type = 0 '\000', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 0, unrand_idx = 0, subtype_rnd = 0, brand = 0, freshness = 0}, rnd = 1 '\001', quantity = 0, flags = 0, pos = {x = 0, y = 0}, link = 27000, slot = 0, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_UNASSIGNED, sub_type = 0 '\000', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 0, unrand_idx = 0, subtype_rnd = 0, brand = 0, freshness = 0}, rnd = 1 '\001', quantity = 0, flags = 0, pos = {x = 0, y = 0}, link = 27000, slot = 0, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}}}, inv_uselessness = {mData = {false }}, equip = {mData = "\377\377\b\027\022\377\000\023\026\f", '\377' }, offhand_weapon = false, quiver_item = -1 '\377', quiver_desc = "Cast: Magic Dart", unarmed_attack = "Nothing wielded", unarmed_attack_colour = 7 '\a', quiver_available = true} spectator = false god = "Beogh" prank = max_max_hp = place = short_name = "Dungeon" pos = #16 0x00005f65054f8122 in TilesFramework::redraw (this=this@entry=0x5f6505a04e20 ) at tileweb.cc:2209 No locals. #17 0x00005f65054f83f8 in TilesFramework::update_input_mode (this=0x5f6505a04e20 , mode=mode@entry=MOUSE_MODE_MORE, force=force@entry=false) at tileweb.cc:947 prev_mode = #18 0x00005f650506027d in mouse_control::mouse_control (this=this@entry=0x7ffe49190ce4, mode=mode@entry=MOUSE_MODE_MORE) at libutil.cc:492 No locals. #19 0x00005f65050ff003 in readkey_more (user_forced=user_forced@entry=false) at message.cc:1890 keypress = 0 unwind_more = {val = @0x5f65059a4a41, oldval = false} mc = {m_previous_mode = 32766} #20 0x00005f6505100628 in message_window::more (this=this@entry=0x5f65059ae700 , full=full@entry=true, user=user@entry=false) at message.cc:729 rng = {previous = rng::UI} last_row = 7 #21 0x00005f6505100bfb in message_window::make_space (n=1, this=0x5f65059ae700 ) at message.cc:480 space = s = space = s = #22 message_window::add_item (this=this@entry=0x5f65059ae700 , text="(Press . to maintain the ray.)", first_col=first_col@entry=prefix_type::none, temporary=temporary@entry=false) at message.cc:631 line = {ops = std::vector of length 2622187030956, capacity 3518253119988 = { nl = @0x5f65081c21c0: {ops = std::vector of length 6, capacity 8 = {{type = FSOP_COLOUR, colour = 7, text = ""}, {type = FSOP_TEXT, colour = -1, text = "(Press "}, {type = FSOP_COLOUR, colour = 15, text = ""}, {type = FSOP_TEXT, colour = -1, text = "."}, {type = FSOP_COLOUR, colour = 7, text = ""}, {type = FSOP_TEXT, colour = -1, text = " to maintain the ray.)"}}} __for_range = std::vector of length 1, capacity 1 = {{ops = std::vector of length 6, capacity 8 = {{type = FSOP_COLOUR, colour = 7, text = ""}, {type = FSOP_TEXT, colour = -1, text = "(Press "}, {type = FSOP_COLOUR, colour = 15, text = ""}, {type = FSOP_TEXT, colour = -1, text = "."}, {type = FSOP_COLOUR, colour = 7, text = ""}, {type = FSOP_TEXT, colour = -1, text = " to maintain the ray.)"}}}} __for_begin = __for_end = newlines = std::vector of length 1, capacity 1 = {{ops = std::vector of length 6, capacity 8 = {{type = FSOP_COLOUR, colour = 7, text = ""}, {type = FSOP_TEXT, colour = -1, text = "(Press "}, {type = FSOP_COLOUR, colour = 15, text = ""}, {type = FSOP_TEXT, colour = -1, text = "."}, {type = FSOP_COLOUR, colour = 7, text = ""}, {type = FSOP_TEXT, colour = -1, text = " to maintain the ray.)"}}}} #23 0x00005f6505101a4d in message_store::store_msg (msg=..., this=0x5f65059a4a60 ) at message.cc:821 p = prefix_type::none dontsend = p = dontsend = #24 message_store::flush_prev (this=0x5f65059a4a60 ) at message.cc:851 msg = {channel = MSGCH_PLAIN, param = 0, messages = std::vector of length 1, capacity 1 = {{text = "(Press . to maintain the ray.)", repeats = 1}}, turn = 6128, join = true} #25 0x00005f65050fb5e6 in message_store::add (msg=..., this=0x5f65059a4a60 ) at message.cc:785 orig_full_text = "You break out of your daze." orig_full_text = #26 _mpr (text="You break out of your daze.", channel=channel@entry=MSGCH_RECOVERY, param=, param@entry=0, nojoin=nojoin@entry=false, cap=, cap@entry=true) at message.cc:1595 _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 = 6128, join = true} #27 0x00005f65050fbeb6 in do_message_print (channel=, param=0, cap=, nojoin=, format=, argp=) at /usr/include/c++/13/bits/basic_string.tcc:242 Compilation info: <<<<<<<<<<< Compiled with GCC 13.2.0 Build platform: x86_64-linux-gnu Platform: x86_64-linux-gnu CFLAGS: -O2 -pipe -DUSE_TILE -DUSE_TILE_WEB -Wall -Wformat-security -Wundef -Wextra -Wno-missing-field-initializers -Wno-implicit-fallthrough -Wno-type-limits -Wno-uninitialized -Wno-array-bounds -Wno-format-zero-length -Wmissing-declarations -Wredundant-decls -Wno-parentheses -Wwrite-strings -Wshadow -pedantic -Wuninitialized -Iutil -I. -isystem /usr/include/lua5.1 -g -DWIZARD -DASSERTS -DREGEX_PCRE -DCLUA_BINDINGS -DDGAMELAUNCH -DSAVE_DIR_PATH="/crawl-master/crawl-0.32/saves" -DDATA_DIR_PATH="/crawl-master/crawl-0.32/data/" -DWEB_DIR_PATH="/crawl-master/crawl-0.32/data/web/" -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 LDFLAGS: -rdynamic -fuse-ld=gold -O2 >>>>>>>>>>> Place info: branch = 0, depth = 7 Level id: D:7 Level build method = , level layout type = corridors, absdepth0 = 6 Level vaults: layout_loops_ring nemelex_spade_bored_becter uniq_crazy_yiuf_cottage uniq_maggie uniq_jeremiah Markers: <<<<<<<<<<<<<<<<<<<<<< >>>>>>>>>>>>>>>>>>>>>> Messages: <<<<<<<<<<<<<<<<<<<<<< An adder is nearby! Casting: Magic Dart (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Magic Dart (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - adder Aim: an adder (moderately wounded, 100% to hit) The magic dart hits the adder. The adder is almost dead. A gnoll comes into view. It is wielding a +0 club. Casting: Magic Dart (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Magic Dart (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - adder Aim: an adder (almost dead, 100% to hit) The magic dart hits the adder. You kill the adder! Beogh accepts your kill. Casting: Magic Dart (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Magic Dart (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line, f - gnoll Aim: a gnoll, wielding a +0 club (100% to hit) The magic dart hits the gnoll! The gnoll is heavily wounded. Casting: Magic Dart (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Magic Dart (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - gnoll Aim: a gnoll, wielding a +0 club (heavily wounded, 100% to hit) The magic dart hits the gnoll. The gnoll is severely wounded. Casting: Magic Dart (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Magic Dart (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - gnoll Aim: a gnoll, wielding a +0 club (severely wounded, 100% to hit) The magic dart hits the gnoll. The gnoll is almost dead. Casting: Magic Dart (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Magic Dart (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - gnoll Aim: a gnoll, wielding a +0 club (almost dead, 100% to hit) The magic dart hits the gnoll but does no damage. The gnoll is almost dead. Casting: Magic Dart (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Magic Dart (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - gnoll Aim: a gnoll, wielding a +0 club (almost dead, 100% to hit) The magic dart hits the gnoll. You kill the gnoll! Beogh accepts your kill. A gnoll comes into view. It is wielding a +0 flail. Casting: Magic Dart (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Magic Dart (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line, f - gnoll Aim: a gnoll, wielding a +0 flail (wandering, hasn't noticed you, 100% to hit) The magic dart hits the gnoll. The gnoll is moderately wounded. A gnoll is nearby! Casting: Magic Dart (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Magic Dart (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - gnoll Aim: a gnoll, wielding a +0 flail (moderately wounded, 100% to hit) The magic dart hits the gnoll. The gnoll is severely wounded. Casting: Magic Dart (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Magic Dart (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - gnoll Aim: a gnoll, wielding a +0 flail (severely wounded, 100% to hit) The magic dart hits the gnoll. You kill the gnoll! Beogh accepts your kill. A gnoll bouda comes into view. It is wielding a +0 whip. Casting: Magic Dart (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Magic Dart (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line, f - gnoll bouda Aim: a gnoll bouda, wielding a +0 whip and wearing a +0 leather armour (wandering, hasn't noticed you, 100% to hit) The magic dart hits the gnoll bouda. The gnoll bouda is lightly wounded. The gnoll bouda gazes fiercely through you! You feel your attacks grow feeble. You hear a shout! Casting: Magic Dart (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Magic Dart (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - gnoll bouda Aim: a gnoll bouda, wielding a +0 whip and wearing a +0 leather armour (lightly wounded, 100% to hit) The magic dart hits the gnoll bouda but does no damage. The gnoll bouda is lightly wounded. A gnoll bouda is nearby! Casting: Magic Dart (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Magic Dart (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - gnoll bouda Aim: a gnoll bouda, wielding a +0 whip and wearing a +0 leather armour (lightly wounded, 100% to hit) The magic dart hits the gnoll bouda. The gnoll bouda is lightly wounded. Casting: Magic Dart (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Magic Dart (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - gnoll bouda Aim: a gnoll bouda, wielding a +0 whip and wearing a +0 leather armour (lightly wounded, 100% to hit) The magic dart hits the gnoll bouda but does no damage. The gnoll bouda is lightly wounded. Your attacks no longer feel as feeble. A gnoll bouda is nearby! Casting: Magic Dart (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Magic Dart (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - gnoll bouda Aim: a gnoll bouda, wielding a +0 whip and wearing a +0 leather armour (lightly wounded, 100% to hit) The magic dart hits the gnoll bouda. The gnoll bouda is heavily wounded. The gnoll bouda barks out a call to the hunt! A gnoll bouda is nearby! Casting: Magic Dart (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Magic Dart (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - gnoll bouda Aim: a gnoll bouda, wielding a +0 whip and wearing a +0 leather armour (heavily wounded, 100% to hit) The magic dart hits the gnoll bouda but does no damage. The gnoll bouda is heavily wounded. A gnoll comes into view. It is wielding a +1 heavy flail. Unknown command. There are monsters nearby! Casting: Magic Dart (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Magic Dart (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - gnoll bouda Aim: a gnoll bouda, wielding a +0 whip and wearing a +0 leather armour (heavily wounded, 100% to hit) The magic dart hits the gnoll bouda. The gnoll bouda is severely wounded. The gnoll shouts! A gnoll comes into view. It is wielding a +0 whip. Casting: Magic Dart (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Searing Ray (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - gnoll bouda Aim: a gnoll bouda, wielding a +0 whip and wearing a +0 leather armour (severely wounded, 85% to hit) The searing ray hits the gnoll bouda. The gnoll bouda is almost dead. (Press . to maintain the ray.) The gnoll bouda utters an invocation to its god. The gnoll bouda is healed somewhat. The searing ray hits the gnoll bouda! You kill the gnoll bouda! Beogh accepts your kill. Beogh appreciates your killing of a heretic priest. The searing ray hits the gnoll! The gnoll is heavily wounded. The searing ray hits the gnoll. The gnoll is almost dead. Casting: Searing Ray (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Restarting spell: Searing Ray (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line, f - gnoll Aim: a gnoll, wielding a +1 heavy flail (almost dead, covering ground quickly, 85% to hit) The searing ray hits the gnoll. You kill the gnoll! Beogh accepts your kill. (Press . to maintain the ray.) The gnoll closely misses you. The searing ray misses the gnoll. The gnoll barely misses you. Casting: Searing Ray (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Restarting spell: Searing Ray (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line, f - gnoll Aim: a gnoll, wielding a +0 whip (covering ground quickly, 85% to hit) The searing ray hits the gnoll! The gnoll is almost dead. (Press . to maintain the ray.) The gnoll hits you with a +0 whip. The searing ray hits the gnoll! You kill the gnoll! Beogh accepts your kill. Your Spellcasting skill increases to level 7! Unknown command. HP restored. Magic restored. Items here: ))) [ †. There is an entrance to Zentobbe's Weapon Emporium here. Unknown command. Unknown command. Found Paluadai's Book Shoppe. Found a leather armour. Found two stone staircases leading down. There is an entrance to Paluadai's Book Shoppe here. A scorpion comes into view. A scorpion is nearby! Casting: Searing Ray (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Magic Dart (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line, f - scorpion Aim: a scorpion (asleep, 100% to hit) The magic dart hits the scorpion. The scorpion is lightly wounded. A scorpion is nearby! Casting: Magic Dart (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Magic Dart (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - scorpion Aim: a scorpion (lightly wounded, 100% to hit) The magic dart hits the scorpion. The scorpion is moderately wounded. Casting: Magic Dart (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Magic Dart (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - scorpion Aim: a scorpion (moderately wounded, 100% to hit) The magic dart hits the scorpion. The scorpion is moderately wounded. A scorpion is nearby! Casting: Magic Dart (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Magic Dart (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - scorpion Aim: a scorpion (moderately wounded, 100% to hit) The magic dart hits the scorpion but does no damage. The scorpion is moderately wounded. The scorpion stings you but does no damage. Casting: Magic Dart (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Magic Dart (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - scorpion Aim: a scorpion (moderately wounded, 100% to hit) The magic dart hits the scorpion. The scorpion is heavily wounded. The scorpion stings you. Casting: Magic Dart (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Searing Ray (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - scorpion Aim: a scorpion (heavily wounded, 83% to hit) The searing ray hits the scorpion! You kill the scorpion! Beogh accepts your kill. (Press . to maintain the ray.) An adder comes into view. The adder moves out of view. An adder is nearby! An adder is nearby! Casting: Searing Ray (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Magic Dart (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line, f - adder Aim: an adder (wandering, hasn't noticed you, 100% to hit) The magic dart hits the adder. The adder is moderately wounded. The adder hisses angrily. Casting: Magic Dart (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Magic Dart (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - adder Aim: an adder (moderately wounded, 100% to hit) The magic dart hits the adder. The adder is heavily wounded. Casting: Magic Dart (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Magic Dart (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - adder Aim: an adder (heavily wounded, 100% to hit) The magic dart hits the adder. The adder is almost dead. The adder barely misses you. Casting: Magic Dart (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Magic Dart (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - adder Aim: an adder (almost dead, 100% to hit) The magic dart hits the adder. You kill the adder! Beogh accepts your kill. You see here a scorpion corpse. A bullfrog comes into view. Unknown command. A bullfrog is nearby! A bullfrog is nearby! Casting: Magic Dart (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Magic Dart (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line, f - bullfrog Aim: a bullfrog (asleep, 100% to hit) The magic dart hits the bullfrog. The bullfrog is lightly wounded. The bullfrog gives a loud, deep croak! You hear an angry hiss. An iguana comes into view. The bullfrog attacks as it pursues you! The bullfrog completely misses you. The bullfrog closely misses you. The bullfrog attacks as it pursues you! The bullfrog barely misses you. Casting: Magic Dart (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Searing Ray (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - bullfrog Aim: a bullfrog (lightly wounded, 79% to hit) The searing ray hits the bullfrog! The bullfrog is heavily wounded. (Press . to maintain the ray.) The bullfrog hits you but does no damage. The bullfrog hits you. The searing ray hits the bullfrog. The bullfrog is severely wounded. The bullfrog barely misses you. The searing ray hits the bullfrog! You kill the bullfrog! Beogh accepts your kill. Unknown command. Casting: Searing Ray (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. You can't see any susceptible monsters within range! (Use Z to cast anyway.) You see here a bullfrog corpse. An iguana is nearby! An iguana is nearby! An iguana is nearby! Casting: Searing Ray (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Magic Dart (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line, f - iguana Aim: an iguana (wandering, hasn't noticed you, 100% to hit) The magic dart hits the iguana but does no damage. Casting: Magic Dart (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Magic Dart (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - iguana Aim: an iguana (100% to hit) The magic dart hits the iguana but does no damage. Casting: Magic Dart (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Magic Dart (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - iguana Aim: an iguana (100% to hit) The magic dart hits the iguana. The iguana is moderately wounded. Casting: Magic Dart (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Searing Ray (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - iguana Aim: an iguana (moderately wounded, 85% to hit) The searing ray hits the iguana! The iguana is almost dead. (Press . to maintain the ray.) Unknown command. The searing ray hits the iguana. You kill the iguana! Beogh accepts your kill. You start resting. Magic restored. l - 2 scrolls labelled UNITIO LE TIE (gained 1) Found a flail. The orc falls on its knees before you. It asks, "Are you our saviour?" An orc comes into view. It is wielding a +0 club. l - 3 scrolls labelled UNITIO LE TIE (gained 1) Blorkula the Orcula comes into view. He is wielding a +0 scimitar. Blorkula the Orcula shouts! You hear an angry hiss. x2 An iguana comes into view. Blorkula the Orcula casts a spell. Blorkula the Orcula seems to speed up. Casting: Searing Ray (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Magic Dart (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line, f - iguana Aim: an iguana (100% to hit) The magic dart hits the iguana. The iguana is lightly wounded. Casting: Magic Dart (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. You don't know that spell. Okay, then. Casting: Magic Dart (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Okay, then. Unknown command. Casting: Magic Dart (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Searing Ray (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - iguana Aim: an iguana (lightly wounded, 85% to hit) The searing ray hits the iguana. The iguana is moderately wounded. (Press . to maintain the ray.) The iguana bites you. The searing ray misses the iguana. The iguana bites you. The iguana misses you. Blorkula the Orcula points at you and mumbles some strange words. The puff of frost hits you. Casting: Searing Ray (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Searing Ray (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line, f - Blorkula the Orcula, p - iguana Aim: Blorkula the Orcula, wielding a +0 scimitar and wearing a +0 robe (fast, 85% to hit) The searing ray hits the iguana. The iguana is heavily wounded. The searing ray hits Blorkula the Orcula! Blorkula the Orcula is moderately damaged. (Press . to maintain the ray.) The iguana barely misses you. The searing ray hits the iguana! The iguana is almost dead. The searing ray hits Blorkula the Orcula! Blorkula the Orcula is heavily damaged. The iguana bites you but does no damage. The searing ray hits the iguana! You kill the iguana! Beogh accepts your kill. The searing ray hits Blorkula the Orcula. Blorkula the Orcula is severely damaged. Blorkula the Orcula gestures at you while chanting. The zap hits you! The searing ray hits Blorkula the Orcula! Blorkula the Orcula is almost destroyed. You finish channelling your searing ray. Blorkula the Orcula barely misses you. Blorkula the Orcula completely misses you. Blorkula the Orcula points at you and mumbles some strange words. The puff of flame hits you. Blorkula the Orcula barely misses you. Blorkula the Orcula closely misses you. Casting: Searing Ray (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Okay, then. Casting: Iskenderun's Mystic Blast (quite dangerous; 10% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Searing Ray (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - Blorkula the Orcula Aim: Blorkula the Orcula, wielding a +0 scimitar and wearing a +0 robe (almost destroyed, fast, 85% to hit) The searing ray hits Blorkula the Orcula! Blorkula the Orcula avoids the killing blow by scattering into a rainbow of bats! The searing ray hits the vampire bat. The vampire bat is moderately damaged. (Press . to maintain the ray.) Unknown command. The vampire bat completely misses you. x2; The vampire bat misses you. The vampire bat completely misses you. Unknown command. Casting: Searing Ray (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. You erupt in a blast of force! The mystic blast hits the vampire bat! The vampire bat is severely damaged. The vampire bat is knocked back by the mystic blast. The vampire bat slams into the rock wall. The vampire bat is almost destroyed. The mystic blast hits the vampire bat. The vampire bat is moderately damaged. The vampire bat is knocked back by the mystic blast. The mystic blast hits the vampire bat. The vampire bat is moderately damaged. The vampire bat is knocked back by the mystic blast. The vampire bat slams into the rock wall. The vampire bat is severely damaged. The mystic blast hits the vampire bat! You destroy the vampire bat! That felt strangely unrewarding. You hear an angry hiss. The vampire bat bites you but does no damage. x2 Unknown command. The vampire bat completely misses you. The vampire bat closely misses you. x2 The vampire bat completely misses you. Casting: Iskenderun's Mystic Blast (quite dangerous; 10% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. You erupt in a blast of force! The mystic blast hits the vampire bat. The vampire bat is almost destroyed. The vampire bat is knocked back by the mystic blast. The vampire bat slams into the rock wall. You destroy the vampire bat! That felt strangely unrewarding. The mystic blast hits the vampire bat! You destroy the vampire bat! That felt strangely unrewarding. The mystic blast hits the vampire bat! The vampire bat is almost destroyed. The vampire bat is knocked back by the mystic blast. Casting: Iskenderun's Mystic Blast (quite dangerous; 10% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Searing Ray (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line, f - vampire bat Aim: a vampire bat (almost destroyed, 74% to hit) The searing ray hits the vampire bat! You destroy Blorkula the Orcula! Beogh accepts your kill. (Press . to maintain the ray.) Your Fighting skill increases to level 3! You start resting. An adder comes into view. An adder is nearby! Casting: Searing Ray (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Magic Dart (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line, f - adder Aim: an adder (100% to hit) The magic dart hits the adder. The adder is heavily wounded. Casting: Magic Dart (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Searing Ray (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - adder Aim: an adder (heavily wounded, 72% to hit) The searing ray hits the adder. You kill the adder! Beogh accepts your kill. (Press . to maintain the ray.) You start resting. HP restored. You start resting. Magic restored. Found a serpent talisman. You now have 232 gold pieces (gained 9). j - 4 scrolls labelled GETHRA WEKHO (gained 1) There is a stone staircase leading up here. There is a stone staircase leading down here. There is a stone staircase leading down here. Things that are here: a +0 flail; a gnoll skeleton Found a buckler. An orc wizard comes into view. It is wielding a +0 short sword. Casting: Searing Ray (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Magic Dart (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line, f - orc wizard Aim: an orc wizard, wielding a +0 short sword and wearing a +0 robe (wandering, hasn't noticed you, 100% to hit) The magic dart hits the orc wizard. The orc wizard is lightly wounded. The orc wizard shouts! Casting: Magic Dart (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Magic Dart (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - orc wizard Aim: an orc wizard, wielding a +0 short sword and wearing a +0 robe (lightly wounded, 100% to hit) The magic dart hits the orc wizard! The orc wizard is heavily wounded. Unknown command. Casting: Magic Dart (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Magic Dart (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - orc wizard Aim: an orc wizard, wielding a +0 short sword and wearing a +0 robe (heavily wounded, 100% to hit) The magic dart hits the orc wizard! You kill the orc wizard! Beogh accepts your kill. Your Conjurations skill increases to level 10! Casting: Magic Dart (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. You can't see any susceptible monsters within range! (Use Z to cast anyway.) Unknown command. An orc comes into view. It is wielding a +0 hand axe. An orc is nearby! An orc is nearby! Casting: Magic Dart (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Magic Dart (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line, f - orc Aim: an orc, wielding a +0 hand axe and wearing a +0 leather armour (wandering, hasn't noticed you, 100% to hit) The magic dart hits the orc. The orc is moderately wounded. Unknown command. Unknown command. Casting: Magic Dart (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Magic Dart (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - orc Aim: an orc, wielding a +0 hand axe and wearing a +0 leather armour (moderately wounded, 100% to hit) The magic dart hits the orc but does no damage. The orc is moderately wounded. Casting: Magic Dart (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Magic Dart (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - orc Aim: an orc, wielding a +0 hand axe and wearing a +0 leather armour (moderately wounded, 100% to hit) The magic dart hits the orc but does no damage. The orc is moderately wounded. Unknown command. An orc is nearby! Casting: Magic Dart (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Magic Dart (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - orc Aim: an orc, wielding a +0 hand axe and wearing a +0 leather armour (moderately wounded, 100% to hit) The magic dart hits the orc. The orc is severely wounded. Casting: Magic Dart (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Magic Dart (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - orc Aim: an orc, wielding a +0 hand axe and wearing a +0 leather armour (severely wounded, 100% to hit) The magic dart hits the orc. You kill the orc! Beogh accepts your kill. Unknown command. An orc comes into view. It is wielding a +0 hand axe. The orc stares at you in amazement and kneels. It shouts, "acidosis2 is one of us!" Things that are here: a +0 hand axe; a +0 leather armour You see here a bullfrog skeleton. You open the door. A steam dragon comes into view. Casting: Magic Dart (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Magic Dart (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line, f - steam dragon Aim: a steam dragon (100% to hit) The magic dart hits the steam dragon but does no damage. Casting: Magic Dart (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Searing Ray (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - steam dragon Aim: a steam dragon (83% to hit) The searing ray hits the steam dragon. The steam dragon is lightly wounded. (Press . to maintain the ray.) Unknown command. The searing ray hits the steam dragon. The steam dragon is moderately wounded. The steam dragon misses you. The steam dragon claws you. The searing ray hits the steam dragon! The steam dragon is heavily wounded. The steam dragon completely misses you. The steam dragon misses you. Casting: Searing Ray (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. You erupt in a blast of force! The mystic blast hits the steam dragon! The steam dragon is almost dead. The steam dragon is knocked back by the mystic blast. Casting: Iskenderun's Mystic Blast (quite dangerous; 9% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. You erupt in a blast of force! The mystic blast hits the steam dragon. The steam dragon is almost dead. The steam dragon is knocked back by the mystic blast. Casting: Iskenderun's Mystic Blast (quite dangerous; 9% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Searing Ray (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - steam dragon Aim: a steam dragon (almost dead, 83% to hit) The searing ray hits the steam dragon. You kill the steam dragon! Beogh accepts your kill. (Press . to maintain the ray.) Your Spellcasting skill increases to level 8! You start resting. HP restored. Magic restored. There is an open door, spattered with blood here. You see here a steam dragon corpse. There is an open door, spattered with blood here. p - 2 scrolls labelled VOYLUS OPE (gained 1) Found a +0 hand axe. Found an escape hatch in the ceiling. Found a mace. Found a runed translucent door. Things that are here: a +0 hand axe; a +0 leather armour You see here a +0 buckler. You open the door. There is an open door here. The orc stares at you in amazement and kneels. 2 orcs come into view. An orc is nearby! An orc is nearby! Casting: Searing Ray (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. You can't see any susceptible monsters within range! (Use Z to cast anyway.) An orc warrior comes into view. It is wielding a +0 halberd. The orc warrior shouts! You swap places. An orc comes into view. It is wielding a +0 trident. The orc falls on its knees before you. An orc comes into view. It is wielding a +0 club. Found 18 gold pieces. The orc shouts! x2 The orc barely misses the orc. Casting: Searing Ray (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Searing Ray (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line, f - orc Aim: an orc, wielding a +0 club (83% to hit) The searing ray hits the orc! You kill the orc! Beogh accepts your kill. The searing ray hits the orc warrior. The orc warrior is lightly wounded. (Press . to maintain the ray.) The orc hits the orc with a +0 club. The searing ray hits the orc warrior but does no damage. The orc warrior is lightly wounded. The searing ray hits the orc warrior. The orc warrior is lightly wounded. The searing ray hits the orc. You kill the orc! Beogh accepts your kill. The orc warrior closely misses you. Casting: Searing Ray (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. You erupt in a blast of force! The mystic blast hits the orc warrior. The orc warrior is moderately wounded. The orc warrior is knocked back by the mystic blast. The orc hits the orc warrior but does no damage. Unknown command. Casting: Iskenderun's Mystic Blast (quite dangerous; 8% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Searing Ray (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line, f - orc warrior Aim: an orc warrior, wielding a +0 halberd and wearing a +0 plate armour (moderately wounded, 83% to hit) The searing ray hits the orc warrior! The orc warrior is heavily wounded. (Press . to maintain the ray.) The searing ray hits the orc warrior but does no damage. The orc warrior is heavily wounded. The searing ray hits the orc warrior. The orc warrior is heavily wounded. The orc warrior hits you from afar with a +0 halberd. The orc hits the orc warrior but does no damage. The searing ray hits the orc warrior! You kill the orc warrior! Beogh accepts your kill. You finish channelling your searing ray. Unknown command. You start resting. HP restored. Magic restored. You swap places. Things that are here: a +0 halberd; a +0 plate armour; an orc corpse Things that are here: a +0 club; an orc corpse You see here a +0 trident. You now have 250 gold pieces (gained 18). You see here a +0 trident. Things that are here: a +0 club; an orc corpse Things that are here: a +0 halberd; a +0 plate armour; an orc corpse There is an open door here. Found a stone staircase leading down. There is an open door here. You open the door. There is an open door here. Duvessa and an orc come into view. Duvessa is wielding a +0 short sword of venom. Found a hide-covered altar of Uskayaw. Duvessa shouts! The orc shouts! You hear a shout! You hear a croak. Dowan, Brother of Duvessa comes into view. He is wielding a +0 dagger. There are monsters nearby! A centaur comes into view. There is an open door here. Duvessa says, "When magic and the sword combine, nothing stands against them." Duvessa says, "When magic and the sword combine, nothing stands against them." A centaur opens the door. There is a stone staircase leading down here. You climb downwards. There is a stone staircase leading up here. A howler monkey comes into view. Found a hand axe. Casting: Searing Ray (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Magic Dart (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line, f - howler monkey Aim: a howler monkey (asleep, 100% to hit) The magic dart hits the howler monkey! The howler monkey is moderately wounded. A howler monkey is nearby! A howler monkey is nearby! Casting: Magic Dart (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Magic Dart (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - howler monkey Aim: a howler monkey (moderately wounded, 100% to hit) The magic dart hits the howler monkey. The howler monkey is heavily wounded. The howler monkey hoots and howls with incredible vigour! You hear a howl! Casting: Magic Dart (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Magic Dart (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - howler monkey Aim: a howler monkey (heavily wounded, catching its breath, 100% to hit) The magic dart hits the howler monkey. The howler monkey is severely wounded. A howler monkey comes into view. Unknown command. Casting: Magic Dart (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Magic Dart (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - howler monkey Aim: a howler monkey (severely wounded, catching its breath, 100% to hit) The magic dart hits the howler monkey. The howler monkey is severely wounded. Unknown command. Casting: Magic Dart (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Magic Dart (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - howler monkey Aim: a howler monkey (severely wounded, catching its breath, 100% to hit) The magic dart hits the howler monkey. The howler monkey is almost dead. Unknown command. Casting: Magic Dart (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Magic Dart (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - howler monkey Aim: a howler monkey (almost dead, catching its breath, 100% to hit) The magic dart hits the howler monkey. You kill the howler monkey! Beogh accepts your kill. A howler monkey comes into view. The howler monkey completely misses you. Casting: Magic Dart (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Searing Ray (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line, f - howler monkey Aim: a howler monkey (81% to hit) The searing ray hits the howler monkey! The howler monkey is heavily wounded. (Press . to maintain the ray.) The howler monkey howls! The howler monkey barely misses you. The searing ray hits the howler monkey! You kill the howler monkey! Beogh accepts your kill. The howler monkey hoots and howls with incredible vigour! You hear a shout! x2 The searing ray hits the howler monkey! The howler monkey is severely wounded. The searing ray misses the howler monkey. You finish channelling your searing ray. Casting: Searing Ray (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Searing Ray (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line, f - howler monkey Aim: a howler monkey (severely wounded, catching its breath, 81% to hit) The searing ray hits the howler monkey! You kill the howler monkey! Beogh accepts your kill. (Press . to maintain the ray.) You start resting. Jeremiah, Barachi Dreamer comes into view. They are wielding a +2 trident of draining and wearing an orb of guile. Jeremiah is nearby! Jeremiah is nearby! Jeremiah is nearby! There is a stone staircase leading up here. You start resting. Magic restored. Okay, then. Jeremiah is nearby! Casting: Searing Ray (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. You erupt in a blast of force! The mystic blast hits Jeremiah! Jeremiah is moderately wounded. Jeremiah shouts! Jeremiah is knocked back by the mystic blast. Unknown command. Casting: Iskenderun's Mystic Blast (dangerous; 6% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Searing Ray (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line, f - Jeremiah Aim: Jeremiah, wielding a +2 trident of draining, wearing a +0 robe and wearing an orb of guile (moderately wounded, 79% to hit) The searing ray misses the butterfly. The searing ray hits Jeremiah! Jeremiah is heavily wounded. (Press . to maintain the ray.) Jeremiah hops! The searing ray misses the butterfly. The searing ray hits the butterfly! You kill the butterfly! The butterfly disappears in a burst of colours! Jeremiah is nearby! Jeremiah is nearby! You start resting. Jeremiah is nearby! Casting: Searing Ray (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Searing Ray (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - Jeremiah Aim: Jeremiah, wielding a +2 trident of draining, wearing a +0 robe and wearing an orb of guile (heavily wounded, 79% to hit) The searing ray hits Jeremiah. Jeremiah is heavily wounded. (Press . to maintain the ray.) The searing ray hits Jeremiah! Jeremiah is almost dead. Jeremiah barely misses you. The searing ray misses the butterfly. The searing ray misses Jeremiah. Jeremiah hits you from afar with a +2 trident of draining. You feel drained. Casting: Searing Ray (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Restarting spell: Searing Ray (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - Jeremiah Aim: Jeremiah, wielding a +2 trident of draining, wearing a +0 robe and wearing an orb of guile (almost dead, 79% to hit) The searing ray hits the butterfly! You kill the butterfly! The butterfly disappears in a burst of colours! The searing ray hits Jeremiah. You kill Jeremiah! Beogh accepts your kill. You can now smite your foes. Your teeth grow more tusk-like, and your ears lengthen. Beogh appreciates your killing of a heretic priest. The butterfly disappears in a burst of colours! (Press . to maintain the ray.) Your life force feels restored. You have reached level 9! Your experience leads to an increase in your attributes! Your base attributes are Str 6, Int 24, Dex 13. Increase (S)trength, (I)ntelligence, or (D)exterity? You feel clever. x2 Items here: ) [[ †. F - a +2 trident of draining You start resting. Magic restored. You now have 267 gold pieces (gained 17). You now have 281 gold pieces (gained 14). Found 4 stones. Found a stone staircase leading up. You now have 297 gold pieces (gained 16). You now have 314 gold pieces (gained 17). Key pressed, stopping explore. Casting: Searing Ray (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. You can't see any susceptible monsters within range! (Use Z to cast anyway.) Key pressed, stopping explore. Casting: Searing Ray (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. You can't see any susceptible monsters within range! (Use Z to cast anyway.) G - a wand of charming (8) You now have 334 gold pieces (gained 20). H - a sedimented white potion Casting: Searing Ray (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. You can't see any susceptible monsters within range! (Use Z to cast anyway.) Maggie the Vainglorious comes into view. She is wielding a +2 halberd of distortion and carrying a wand of polymorph. Maggie shouts! Maggie gestures wildly while chanting. Maggie attempts to bespell you! You are mesmerised by Maggie! Casting: Searing Ray (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Fulminant Prism (dangerous; 6% risk of failure) Press: ? - help, Dir - move target You conjure a prism of explosive energy! A fulminant prism comes into view. You cannot move away from Maggie! Your fulminant prism crackles loudly. Maggie casts a spell. Maggie draws you further into her thrall. Your fulminant prism explodes! The blast of energy engulfs Maggie!! Maggie is moderately wounded. You hear a shout! x2 Unknown command. Casting: Fulminant Prism (dangerous; 6% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Fulminant Prism (dangerous; 6% risk of failure) Press: ? - help, Dir - move target You conjure a prism of explosive energy! A fulminant prism comes into view. Maggie zaps a wand. You easily resist. Maggie shouts, "Leave me alone!" Maggie zaps a wand. You easily resist. Your fulminant prism crackles loudly. Your fulminant prism explodes! The blast of energy engulfs Maggie!! Maggie is heavily wounded. You hear an angry hiss. You hear a shout! x2 Casting: Fulminant Prism (dangerous; 6% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Fulminant Prism (dangerous; 6% risk of failure) Press: ? - help, Dir - move target You conjure a prism of explosive energy! A fulminant prism comes into view. Your fulminant prism crackles loudly. Casting: Fulminant Prism (dangerous; 6% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. You miscast Iskenderun's Mystic Blast. You are very lightly contaminated with residual magic. Nothing appears to happen. Maggie closely misses you. Your fulminant prism explodes! The blast of energy engulfs Maggie! Maggie is severely wounded. You hear a shout! x2 Unknown command. Casting: Iskenderun's Mystic Blast (dangerous; 4% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. You erupt in a blast of force! The mystic blast hits Maggie! Maggie is almost dead. Maggie is knocked back by the mystic blast. Maggie slams into the rock wall. Unknown command. Casting: Iskenderun's Mystic Blast (dangerous; 4% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Fulminant Prism (dangerous; 6% risk of failure) Press: ? - help, Dir - move target You conjure a prism of explosive energy! A fulminant prism comes into view. Maggie hits your fulminant prism with a +2 halberd of distortion! Space warps around your fulminant prism. Your fulminant prism detonates feebly. Casting: Fulminant Prism (dangerous; 6% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Searing Ray (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line, f - Maggie Aim: Maggie, wielding a +2 halberd of distortion, wearing +0 swamp dragon scales and carrying a wand of polymorph (almost dead, mesmerising, 85% to hit) The searing ray hits Maggie but does no damage. Maggie is almost dead. (Press . to maintain the ray.) >>>>>>>>>>>>>>>>>>>>>> Version history: Game started: 0.32.1-1-g848d7226f3 Game state: mouse_enabled: 0, waiting_for_command: 0, terminal_resized: 0 io_inited: 1, need_save: 1, saving_game: 0, updating_scores: 0: seen_hups: 0, map_stat_gen: 0, type: 1, arena_suspended: 0 prev_cmd = CMD_CAST_SPELL repeat_cmd = CMD_NO_CMD Player: {{{{{{{{{{{ Name: [acidosis2] Species: Deep Elf Job: Conjurer HP: 51/51; mods: 0/0 MP: 0/23; mod: 0 Stats: 12 (12) 26 (26) 13 (13) Position: (50, 30), god: Beogh (14), turn_is_over: 1, banished: 0 Standing on/in/over feature: floor Skills (mode: auto) Name | can_currently_train | train | training | level | points | progress Fighting | X | 2 | 17 | 3 | 584 | 160/283 Short Blades | X | 1 | 0 | 0 | 0 | 0/50 Long Blades | X | 1 | 0 | 0 | 0 | 0/59 Axes | X | 1 | 0 | 0 | 0 | 0/70 Maces & Flails | X | 1 | 0 | 0 | 0 | 0/84 Polearms | X | 1 | 0 | 0 | 0 | 0/84 Staves | X | 1 | 0 | 0 | 0 | 0/50 Ranged Weapons | X | 1 | 0 | 0 | 0 | 0/29 Throwing | X | 1 | 0 | 0 | 0 | 0/50 Armour | X | 0 | 0 | 0 | 0 | 0/70 Dodging | X | 0 | 0 | 2 | 151 | 45/106 Stealth | X | 0 | 0 | 2 | 127 | 38/89 Shields | X | 1 | 0 | 0 | 0 | 0/70 Unarmed Combat | X | 0 | 0 | 0 | 0 | 0/70 Spellcasting | X | 1 | 30 | 8 | 1272 | 202/267 Conjurations | X | 2 | 46 | 10 | 2728 | 395/505 Hexes | X | 1 | 0 | 0 | 0 | 0/29 Summonings | X | 1 | 0 | 0 | 0 | 0/42 Necromancy | X | 1 | 0 | 0 | 0 | 0/35 Translocations | X | 1 | 3 | 0 | 37 | 37/42 Fire Magic | X | 1 | 0 | 0 | 0 | 0/42 Ice Magic | X | 1 | 0 | 0 | 0 | 0/42 Air Magic | X | 1 | 0 | 0 | 0 | 0/42 Earth Magic | X | 1 | 0 | 0 | 0 | 0/42 Alchemy | X | 1 | 4 | 0 | 0 | 0/42 Invocations | X | 1 | 0 | 0 | 0 | 0/42 Evocations | X | 1 | 0 | 0 | 0 | 0/42 Shapeshifting | X | 1 | 0 | 0 | 0 | 0/50 Spell bugs: Durations: Attributes: #12: 360 #13: 26 #34: 1 #36: 1 #49: 370 Mutations: magic regeneration: 1 (innate) Inventory bugs: Equipment: eq slot #2, inv slot #8: +0 helmet eq slot #3, inv slot #23: +0 pair of gloves eq slot #4, inv slot #18: +2 pair of boots eq slot #6, inv slot #0: +0 robe eq slot #7, inv slot #19: +6 ring of strength eq slot #8, inv slot #22: +4 ring of protection eq slot #9, inv slot #12: amulet of the acrobat }}}}}}}}}}} Webtiles message buffer: {"msg":"player" Webtiles JSON stack: start: 0 end: 15 type: } Screenshot: .#### #.# ..... ... #... ... #..# #.# #.@###.# #..##.# #..#.# ##...# #@.## ##..# ..###...## #........# ..##.....# .#######..## ............##### #.#######........ #.# ####..###### clua stack: dlua stack: Lua persistent data: <<<<<<<<<<<<<<<<<<<<<< >>>>>>>>>>>>>>>>>>>>>> Lua marker contents: <<<<<<<<<<<<<<<<<<<<<< >>>>>>>>>>>>>>>>>>>>>> ASSERT((duration[DUR_MESMERISED] > 0) == !beholders.empty()) in 'behold.cc' at line 66 failed. Recursive crash.