ASSERT((duration[DUR_MESMERISED] > 0) == !beholders.empty()) in 'behold.cc' at line 66 failed. Version: Dungeon Crawl Stone Soup 0.30.0 Platform: unix Bits: 64 Game mode: normal Tiles: online Seed: 11173497151750840392, deterministic pregen: 1 Command line: /var/dcss/builds/dcss-0.30/0.30.0/bin/dcss -name LeafLetters -rc /var/dcss/gamedata/dcss-0.30/rc-files/LeafLetters.rc -macro /var/dcss/gamedata/dcss-0.30/rc-files/LeafLetters.macro -morgue /var/dcss/gamedata/dcss/morgue/LeafLetters/ -extra-opt-first travel_delay=20 -extra-opt-first rest_delay=0 -dir /var/dcss/gamedata/dcss-0.30/save/ -webtiles-socket /var/dcss/sockets/LeafLetters:2023-11-21.23:45:26.sock -await-connection RC options: restart_after_game = false Crash caused by signal #6: Aborted Obtained 29 stack frames. /var/dcss/builds/dcss-0.30/0.30.0/bin/dcss(_Z17write_stack_traceP8_IO_FILE+0x38) [0x77cac8]: write_stack_trace(_IO_FILE*) /var/dcss/builds/dcss-0.30/0.30.0/bin/dcss(_Z13do_crash_dumpv+0x3de) [0x78655e]: do_crash_dump() /var/dcss/builds/dcss-0.30/0.30.0/bin/dcss(_Z20crash_signal_handleri+0x1f0) [0x77cf30]: crash_signal_handler(int) /lib/x86_64-linux-gnu/libc.so.6(+0x354c0) [0x7f25e35854c0]: /lib/x86_64-linux-gnu/libpthread.so.0(raise+0x29) [0x7f25e392b269]: /var/dcss/builds/dcss-0.30/0.30.0/bin/dcss() [0x785d09] /var/dcss/builds/dcss-0.30/0.30.0/bin/dcss() [0x785eb1] /var/dcss/builds/dcss-0.30/0.30.0/bin/dcss() [0x74638c] /var/dcss/builds/dcss-0.30/0.30.0/bin/dcss() [0x7463b7] /var/dcss/builds/dcss-0.30/0.30.0/bin/dcss(_Z16fill_status_infoiR11status_info+0xe3f) [0xca9b7f]: fill_status_info(int, status_info&) /var/dcss/builds/dcss-0.30/0.30.0/bin/dcss(_ZN14TilesFramework12_send_playerEb+0x1f54) [0xda8fa4]: TilesFramework::_send_player(bool) /var/dcss/builds/dcss-0.30/0.30.0/bin/dcss(_ZN14TilesFramework6redrawEv+0x9a) [0xdad53a]: TilesFramework::redraw() /var/dcss/builds/dcss-0.30/0.30.0/bin/dcss(_ZN14TilesFramework17update_input_modeE10mouse_modeb+0x198) [0xdad838]: TilesFramework::update_input_mode(mouse_mode, bool) /var/dcss/builds/dcss-0.30/0.30.0/bin/dcss(_ZN13mouse_controlC1E10mouse_mode+0x17) [0x9d7657]: mouse_control::mouse_control(mouse_mode) /var/dcss/builds/dcss-0.30/0.30.0/bin/dcss() [0xa6ed58] /var/dcss/builds/dcss-0.30/0.30.0/bin/dcss(_ZN14message_window4moreEbb+0x1ef) [0xa70c6f]: message_window::more(bool, bool) /var/dcss/builds/dcss-0.30/0.30.0/bin/dcss(_ZN14message_window8add_itemENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE11prefix_typeb+0x3d0) [0xa711b0]: message_window::add_item(std::__cxx11::basic_string, std::allocator >, prefix_type, bool) /var/dcss/builds/dcss-0.30/0.30.0/bin/dcss(_ZN13message_store10flush_prevEv+0x347) [0xa71767]: message_store::flush_prev() /var/dcss/builds/dcss-0.30/0.30.0/bin/dcss() [0xa6bf1a] /var/dcss/builds/dcss-0.30/0.30.0/bin/dcss(_Z16do_message_print16msg_channel_typeibbPKcP13__va_list_tag+0xda) [0xa6c62a]: do_message_print(msg_channel_type, int, bool, bool, char const*, __va_list_tag*) /var/dcss/builds/dcss-0.30/0.30.0/bin/dcss(_Z4mprf16msg_channel_typePKcz+0xb0) [0xa6cb30]: mprf(msg_channel_type, char const*, ...) /var/dcss/builds/dcss-0.30/0.30.0/bin/dcss() [0xb941d1] /var/dcss/builds/dcss-0.30/0.30.0/bin/dcss(_Z13player_reactsv+0x640) [0xb96340]: player_reacts() /var/dcss/builds/dcss-0.30/0.30.0/bin/dcss(_Z12world_reactsv+0x655) [0xdb72e5]: world_reacts() /var/dcss/builds/dcss-0.30/0.30.0/bin/dcss() [0xdb819c] /var/dcss/builds/dcss-0.30/0.30.0/bin/dcss() [0xdb8f65] /var/dcss/builds/dcss-0.30/0.30.0/bin/dcss(main+0x189) [0x6d9d59]: /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf0) [0x7f25e3570840]: /var/dcss/builds/dcss-0.30/0.30.0/bin/dcss(_start+0x29) [0x6da819]: Trying to run gdb. GNU gdb (Ubuntu 8.2-0ubuntu1~16.04.1) 8.2 Copyright (C) 2018 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "x86_64-linux-gnu". Type "show configuration" for configuration details. For bug reporting instructions, please see: . Find the GDB manual and other documentation resources online at: . For help, type "help". Type "apropos word" to search for commands related to "word". [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1". 0x00007f25e392af2a in __waitpid (pid=5878, stat_loc=stat_loc@entry=0x0, options=options@entry=0) at ../sysdeps/unix/sysv/linux/waitpid.c:29 #0 0x00007f25e392af2a in __waitpid (pid=5878, stat_loc=stat_loc@entry=0x0, options=options@entry=0) at ../sysdeps/unix/sysv/linux/waitpid.c:29 resultvar = 18446744073709551104 sc_ret = #1 0x000000000077c945 in call_gdb (file=file@entry=0x7f25e3915540 <_IO_2_1_stderr_>) at crash.cc:438 gdb = attach_cmd = "attach 4689\000\000\000\000\000\000\000\000" #2 0x000000000078657a in do_crash_dump () at dbg-asrt.cc:692 t = 1700610714 dir = "/var/dcss/gamedata/dcss/morgue/LeafLetters/" name = "/var/dcss/gamedata/dcss/morgue/LeafLetters/crash-LeafLetters-20231121-235154.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 = 0x7f25e3915540 <_IO_2_1_stderr_> #3 0x000000000077cf30 in crash_signal_handler (sig_num=6) at crash.cc:198 No locals. #4 No locals. #5 0x00007f25e392b269 in raise (sig=6) at ../sysdeps/unix/sysv/linux/pt-raise.c:35 resultvar = 0 pid = #6 0x0000000000785d09 in _BreakStrToDebugger (mesg=mesg@entry=0x7fff25a4e470 "ASSERT((duration[DUR_MESMERISED] > 0) == !beholders.empty()) in 'behold.cc' at line 66 failed.", assert=true) at dbg-asrt.cc:818 No locals. #7 0x0000000000785eb1 in AssertFailed (expr=expr@entry=0xe34618 "(duration[DUR_MESMERISED] > 0) == !beholders.empty()", file=file@entry=0xdcacf2 "behold.cc", line=line@entry=66, text=text@entry=0x0) at dbg-asrt.cc:856 mesg = "ASSERT((duration[DUR_MESMERISED] > 0) == !beholders.empty()) in 'behold.cc' at line 66 failed.", '\000' , "\240\352\244%\004\000\000\000\220\352\244%\377\177\000\000\000\000\377\377\377\377\377\377", '\000' , "\240\064\221\343%\177\000\000\377\377\377\377\377\377\377\377\000\000\000\000\000\000\000\000d\000\000\000\000\000\000\000"... args = {{gp_offset = 14453228, fp_offset = 0, overflow_arg_area = 0x7fff25a4e5f8, reg_save_area = 0x1}} fileName = #8 0x000000000074638c in player::beheld (this=) at behold.cc:66 No locals. #9 0x00000000007463b7 in player::beheld (this=) at behold.cc:66 No locals. #10 0x0000000000ca9b7f in fill_status_info (status=status@entry=164, inf=...) at status.cc:245 found = false #11 0x0000000000da8fa4 in _update_statuses (c=...) at tileweb.cc:1013 status = 164 changed = false counter = inf = {light_colour = 0, light_text = "", short_text = "", long_text = ""} changed = counter = inf = status = #12 TilesFramework::_send_player (this=0x1246e20 , force_full=false) at tileweb.cc:1206 c = @0x12731a0: {_state_ever_synced = true, name = "LeafLetters", job_title = "the Scorcher", wizard = false, explore = false, species = "Hill Orc", god = "Ignis", under_penance = false, piety_rank = 1, form = 0 '\000', hp = 132, hp_max = 132, real_hp_max = 132, poison_survival = 132, mp = 14, mp_max = 27, dd_real_mp_max = 0, contam = 0, noise = -1, adjusted_noise = 728, armour_class = 19, evasion = 19, shield_class = 0, strength = 23 '\027', strength_max = 23 '\027', intel = 17 '\021', intel_max = 17 '\021', dex = 5 '\005', dex_max = 5 '\005', experience_level = 15, exp_progress = 47 '/', gold = 1565, zot_points = 0, elapsed_time = 221265, num_turns = 22470, lives = 0, deaths = 0, place = "Lair", depth = 5, position = {x = -22, y = 38}, status = std::vector of length 5, capacity 8 = {{light_colour = 4, light_text = "Corr (-4)", short_text = "corroded", long_text = "You are corroded."}, {light_colour = 14, light_text = "-Blink", short_text = "on blink cooldown", long_text = "You are unable to blink."}, {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."}, {light_colour = 9, light_text = "Water", short_text = "", long_text = ""}}, inv = {mData = {{base_type = OBJ_WEAPONS, sub_type = 18 '\022', {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 = 0, unrand_idx = 0, subtype_rnd = 0, brand = 0, freshness = 0}, rnd = 92 '\\', quantity = 1, flags = 4111, pos = {x = -1, y = -1}, link = 0, slot = 97, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 4 elements = {["artefact_appearance"] = {type = SV_STR, flags = 0 '\000', val = {boolean = 96, byte = 96 '`', _short = -9632, _int = 38001248, _float = 1.4389008e-37, _int64 = 38001248, ptr = 0x243da60}}, ["artefact_known_props"] = {type = SV_VEC, flags = 0 '\000', val = {boolean = 48, byte = 48 '0', _short = 24368, _int = 33513264, _float = 9.38087934e-38, _int64 = 33513264, ptr = 0x1ff5f30}}, ["artefact_name"] = {type = SV_STR, flags = 0 '\000', val = {boolean = 64, byte = 64 '@', _short = -8128, _int = 38002752, _float = 1.4390694e-37, _int64 = 38002752, ptr = 0x243e040}}, ["artefact_props"] = {type = SV_VEC, flags = 0 '\000', val = {boolean = 16, byte = 16 '\020', _short = 1808, _int = 38012688, _float = 1.44018326e-37, _int64 = 38012688, ptr = 0x2440710}}}, }}, {base_type = OBJ_WEAPONS, sub_type = 30 '\036', {plus = 11, mon_type = MONS_BLACK_MAMBA, skill = SK_ARMOUR, charges = 11, net_durability = 11, tithe_state = 11}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 0, unrand_idx = 0, subtype_rnd = 0, brand = 0, freshness = 0}, rnd = 62 '>', quantity = 1, flags = 4111, pos = {x = -1, y = -1}, link = 1, slot = 98, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 4 elements = {["artefact_appearance"] = {type = SV_STR, flags = 0 '\000', val = {boolean = 32, byte = 32 ' ', _short = 7456, _int = 37887264, _float = 1.42612275e-37, _int64 = 37887264, ptr = 0x2421d20}}, ["artefact_known_props"] = {type = SV_VEC, flags = 0 '\000', val = {boolean = 80, byte = 80 'P', _short = -21680, _int = 37923664, _float = 1.43020333e-37, _int64 = 37923664, ptr = 0x242ab50}}, ["artefact_name"] = {type = SV_STR, flags = 0 '\000', val = {boolean = 16, byte = 16 '\020', _short = -15344, _int = 37995536, _float = 1.43826046e-37, _int64 = 37995536, ptr = 0x243c410}}, ["artefact_props"] = {type = SV_VEC, flags = 0 '\000', val = {boolean = 32, byte = 32 ' ', _short = -22240, _int = 37923104, _float = 1.43014055e-37, _int64 = 37923104, ptr = 0x242a920}}}, }}, {base_type = OBJ_ARMOUR, sub_type = 0 '\000', {plus = 1, mon_type = MONS_FRILLED_LIZARD, skill = SK_SHORT_BLADES, charges = 1, net_durability = 1, tithe_state = 1}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 17, unrand_idx = 17, subtype_rnd = 17, brand = 17, freshness = 17}, rnd = 60 '<', quantity = 1, flags = 65551, 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_STAVES, sub_type = 2 '\002', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 18, unrand_idx = 18, subtype_rnd = 18, brand = 18, freshness = 18}, rnd = 55 '7', quantity = 1, flags = 15, 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 = 6 '\006', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 359544, unrand_idx = 359544, subtype_rnd = 359544, brand = 359544, freshness = 359544}, rnd = 59 ';', quantity = 7, flags = 15, pos = {x = -1, y = -1}, link = 4, slot = 101, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_POTIONS, sub_type = 1 '\001', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 22, unrand_idx = 22, subtype_rnd = 22, brand = 22, freshness = 22}, rnd = 50 '2', quantity = 4, flags = 15, pos = {x = -1, y = -1}, link = 5, slot = 102, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_POTIONS, sub_type = 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 = 236, unrand_idx = 236, subtype_rnd = 236, brand = 236, freshness = 236}, rnd = 56 '8', quantity = 7, flags = 15, pos = {x = -1, y = -1}, link = 6, slot = 103, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_POTIONS, sub_type = 25 '\031', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 18, unrand_idx = 18, subtype_rnd = 18, brand = 18, freshness = 18}, rnd = 96 '`', quantity = 4, flags = 15, pos = {x = -1, y = -1}, link = 7, slot = 104, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_POTIONS, sub_type = 9 '\t', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 6, unrand_idx = 6, subtype_rnd = 6, brand = 6, freshness = 6}, rnd = 219 '\333', quantity = 5, 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 = 358977, unrand_idx = 358977, subtype_rnd = 358977, brand = 358977, freshness = 358977}, rnd = 190 '\276', quantity = 1, flags = 0, pos = {x = -1, y = -1}, link = 9, slot = 106, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_MISCELLANY, sub_type = 21 '\025', {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 = 68 'D', quantity = 1, flags = 2, 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 = 361617, unrand_idx = 361617, subtype_rnd = 361617, brand = 361617, freshness = 361617}, rnd = 112 'p', quantity = 2, flags = 0, pos = {x = -1, y = -1}, link = 11, slot = 108, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_SCROLLS, sub_type = 28 '\034', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 343611, unrand_idx = 343611, subtype_rnd = 343611, brand = 343611, freshness = 343611}, rnd = 170 '\252', quantity = 2, flags = 0, pos = {x = -1, y = -1}, link = 12, slot = 109, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_SCROLLS, sub_type = 28 '\034', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 334688, unrand_idx = 334688, subtype_rnd = 334688, brand = 334688, freshness = 334688}, rnd = 194 '\302', 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_WANDS, sub_type = 24 '\030', {plus = 17, mon_type = MONS_HELL_RAT, skill = SK_UNARMED_COMBAT, charges = 17, net_durability = 17, tithe_state = 17}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 177, unrand_idx = 177, subtype_rnd = 177, brand = 177, freshness = 177}, rnd = 123 '{', quantity = 1, flags = 6, 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 = 351822, unrand_idx = 351822, subtype_rnd = 351822, brand = 351822, freshness = 351822}, rnd = 133 '\205', quantity = 3, 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_JEWELLERY, sub_type = 21 '\025', {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 = 103, unrand_idx = 103, subtype_rnd = 103, brand = 103, freshness = 103}, rnd = 60 '<', quantity = 1, flags = 15, pos = {x = -1, y = -1}, link = 16, slot = 113, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_JEWELLERY, sub_type = 11 '\v', {plus = 5, mon_type = MONS_BASILISK, skill = SK_POLEARMS, charges = 5, net_durability = 5, tithe_state = 5}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 58, unrand_idx = 58, subtype_rnd = 58, brand = 58, freshness = 58}, rnd = 180 '\264', quantity = 1, flags = 15, pos = {x = -1, y = -1}, link = 17, slot = 114, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_JEWELLERY, sub_type = 3 '\003', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 225, unrand_idx = 225, subtype_rnd = 225, brand = 225, freshness = 225}, rnd = 19 '\023', quantity = 1, flags = 15, pos = {x = -1, y = -1}, link = 18, slot = 115, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_SCROLLS, sub_type = 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 = 357735, unrand_idx = 357735, subtype_rnd = 357735, brand = 357735, freshness = 357735}, rnd = 28 '\034', quantity = 3, flags = 0, pos = {x = -1, y = -1}, link = 19, slot = 116, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_SCROLLS, sub_type = 1 '\001', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 346882, unrand_idx = 346882, subtype_rnd = 346882, brand = 346882, freshness = 346882}, rnd = 122 'z', quantity = 4, flags = 2, 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 = 180, unrand_idx = 180, subtype_rnd = 180, brand = 180, freshness = 180}, rnd = 91 '[', 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_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 = 11, unrand_idx = 11, subtype_rnd = 11, brand = 11, freshness = 11}, rnd = 83 'S', quantity = 1, flags = 0, pos = {x = -1, y = -1}, link = 22, slot = 119, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_SCROLLS, sub_type = 28 '\034', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 343102, unrand_idx = 343102, subtype_rnd = 343102, brand = 343102, freshness = 343102}, rnd = 245 '\365', quantity = 3, flags = 0, pos = {x = -1, y = -1}, link = 23, slot = 120, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_JEWELLERY, sub_type = 11 '\v', {plus = 5, mon_type = MONS_BASILISK, skill = SK_POLEARMS, charges = 5, net_durability = 5, tithe_state = 5}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 58, unrand_idx = 58, subtype_rnd = 58, brand = 58, freshness = 58}, rnd = 155 '\233', 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_ARMOUR, 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 = 0, unrand_idx = 0, subtype_rnd = 0, brand = 0, freshness = 0}, rnd = 18 '\022', quantity = 1, flags = 15, 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_POTIONS, sub_type = 13 '\r', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 74, unrand_idx = 74, subtype_rnd = 74, brand = 74, freshness = 74}, rnd = 254 '\376', quantity = 4, 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_JEWELLERY, sub_type = 47 '/', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 263, unrand_idx = 263, subtype_rnd = 263, brand = 263, freshness = 263}, rnd = 247 '\367', quantity = 1, flags = 15, 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_WANDS, sub_type = 0 '\000', {plus = 38, mon_type = MONS_SHEEP, skill = SK_WEAPON, charges = 38, net_durability = 38, tithe_state = 38}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 11, unrand_idx = 11, subtype_rnd = 11, brand = 11, freshness = 11}, rnd = 185 '\271', quantity = 1, flags = 6, pos = {x = -1, y = -1}, link = 28, slot = 67, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_SCROLLS, sub_type = 28 '\034', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 330844, unrand_idx = 330844, subtype_rnd = 330844, brand = 330844, freshness = 330844}, rnd = 96 '`', quantity = 4, flags = 0, pos = {x = -1, y = -1}, link = 29, slot = 68, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_ARMOUR, sub_type = 9 '\t', {plus = 1, mon_type = MONS_FRILLED_LIZARD, skill = SK_SHORT_BLADES, charges = 1, net_durability = 1, tithe_state = 1}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 5, unrand_idx = 5, subtype_rnd = 5, brand = 5, freshness = 5}, rnd = 24 '\030', quantity = 1, flags = 262159, 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_POTIONS, sub_type = 5 '\005', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 164, unrand_idx = 164, subtype_rnd = 164, brand = 164, freshness = 164}, rnd = 87 'W', quantity = 1, flags = 15, 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_POTIONS, sub_type = 3 '\003', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 17, unrand_idx = 17, subtype_rnd = 17, brand = 17, freshness = 17}, rnd = 72 'H', quantity = 3, flags = 15, pos = {x = -1, y = -1}, link = 32, slot = 71, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_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 = 357242, unrand_idx = 357242, subtype_rnd = 357242, brand = 357242, freshness = 357242}, rnd = 143 '\217', 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_WANDS, sub_type = 6 '\006', {plus = 18, mon_type = MONS_LABORATORY_RAT, skill = SK_SPELLCASTING, charges = 18, net_durability = 18, tithe_state = 18}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 132, unrand_idx = 132, subtype_rnd = 132, brand = 132, freshness = 132}, rnd = 199 '\307', quantity = 1, flags = 6, pos = {x = -1, y = -1}, link = 34, slot = 73, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_ARMOUR, sub_type = 12 '\f', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 0, unrand_idx = 0, subtype_rnd = 0, brand = 0, freshness = 0}, rnd = 30 '\036', quantity = 1, flags = 15, pos = {x = -1, y = -1}, link = 35, slot = 74, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_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 = 334091, unrand_idx = 334091, subtype_rnd = 334091, brand = 334091, freshness = 334091}, rnd = 150 '\226', quantity = 1, flags = 0, pos = {x = -1, y = -1}, link = 36, slot = 75, 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 = 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 = 265, unrand_idx = 265, subtype_rnd = 265, brand = 265, freshness = 265}, rnd = 199 '\307', quantity = 1, flags = 15, pos = {x = -1, y = -1}, link = 37, slot = 76, 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 = 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 = 120 'x', quantity = 1, flags = 4111, pos = {x = -1, y = -1}, link = 38, slot = 77, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 4 elements = {["artefact_appearance"] = {type = SV_STR, flags = 0 '\000', val = {boolean = 208, byte = -48 '\320', _short = 16592, _int = 38420688, _float = 1.48592165e-37, _int64 = 38420688, ptr = 0x24a40d0}}, ["artefact_known_props"] = {type = SV_VEC, flags = 0 '\000', val = {boolean = 144, byte = -112 '\220', _short = 16784, _int = 38420880, _float = 1.48594317e-37, _int64 = 38420880, ptr = 0x24a4190}}, ["artefact_name"] = {type = SV_STR, flags = 0 '\000', val = {boolean = 144, byte = -112 '\220', _short = 16272, _int = 38420368, _float = 1.48588577e-37, _int64 = 38420368, ptr = 0x24a3f90}}, ["artefact_props"] = {type = SV_VEC, flags = 0 '\000', val = {boolean = 32, byte = 32 ' ', _short = 16416, _int = 38420512, _float = 1.48590192e-37, _int64 = 38420512, ptr = 0x24a4020}}}, }}, {base_type = OBJ_JEWELLERY, sub_type = 15 '\017', {plus = 6, mon_type = MONS_BAT, skill = SK_STAVES, charges = 6, net_durability = 6, tithe_state = 6}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 284, unrand_idx = 284, subtype_rnd = 284, brand = 284, freshness = 284}, rnd = 220 '\334', quantity = 1, flags = 15, pos = {x = -1, y = -1}, link = 39, slot = 78, 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 = 22 '\026', {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 = 46, unrand_idx = 46, subtype_rnd = 46, brand = 46, freshness = 46}, rnd = 113 'q', quantity = 1, flags = 6, pos = {x = -1, y = -1}, link = 40, slot = 79, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_WANDS, sub_type = 15 '\017', {plus = 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 = 44 ',', quantity = 1, flags = 6, pos = {x = -1, y = -1}, link = 41, slot = 80, 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_MISCELLANY, sub_type = 9 '\t', {plus = 3, mon_type = MONS_IGUANA, skill = SK_AXES, charges = 3, net_durability = 3, tithe_state = 3}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 0, unrand_idx = 0, subtype_rnd = 0, brand = 0, freshness = 0}, rnd = 72 'H', quantity = 1, flags = 2, pos = {x = -1, y = -1}, link = 42, slot = 81, 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 = 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 = 265, unrand_idx = 265, subtype_rnd = 265, brand = 265, freshness = 265}, rnd = 15 '\017', quantity = 1, flags = 2, pos = {x = -1, y = -1}, link = 43, slot = 82, 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 = 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 = 21, unrand_idx = 21, subtype_rnd = 21, brand = 21, freshness = 21}, rnd = 47 '/', quantity = 1, flags = 65551, pos = {x = -1, y = -1}, link = 44, slot = 83, 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_MISCELLANY, sub_type = 24 '\030', {plus = 1, mon_type = MONS_FRILLED_LIZARD, skill = SK_SHORT_BLADES, charges = 1, net_durability = 1, tithe_state = 1}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 0, unrand_idx = 0, subtype_rnd = 0, brand = 0, freshness = 0}, rnd = 138 '\212', quantity = 1, flags = 2, pos = {x = -1, y = -1}, link = 45, slot = 84, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_STAVES, sub_type = 7 '\a', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 29, unrand_idx = 29, subtype_rnd = 29, brand = 29, freshness = 29}, rnd = 27 '\033', quantity = 1, flags = 15, pos = {x = -1, y = -1}, link = 46, slot = 85, 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 = 19 '\023', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 101, unrand_idx = 101, subtype_rnd = 101, brand = 101, freshness = 101}, rnd = 142 '\216', quantity = 1, flags = 15, pos = {x = -1, y = -1}, link = 47, slot = 86, 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 = 219, unrand_idx = 219, subtype_rnd = 219, brand = 219, freshness = 219}, rnd = 73 'I', quantity = 1, flags = 0, pos = {x = -1, y = -1}, link = 48, slot = 87, 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 = 92, unrand_idx = 92, subtype_rnd = 92, brand = 92, freshness = 92}, rnd = 123 '{', quantity = 1, flags = 0, pos = {x = -1, y = -1}, link = 49, slot = 88, 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 = 121, unrand_idx = 121, subtype_rnd = 121, brand = 121, freshness = 121}, rnd = 97 'a', quantity = 1, flags = 0, pos = {x = -1, y = -1}, link = 50, slot = 89, 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 = 137 '\211', quantity = 1, flags = 131087, pos = {x = -1, y = -1}, link = 51, slot = 90, 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, false, false, false, true, true, true, false, false, false, true, false }}, equip = {mData = "\000\377&,3\377\031\030\021\033\377\377\377\377\377\377\377\377\377"}, quiver_item = -1 '\377', quiver_desc = "Cast: Scorch", unarmed_attack = "Nothing wielded", unarmed_attack_colour = 7 '\a', quiver_available = true} spectator = god = "Ignis" prank = max_max_hp = place = short_name = "Lair" pos = #13 0x0000000000dad53a in TilesFramework::redraw (this=0x1246e20 ) at tileweb.cc:2260 No locals. #14 0x0000000000dad838 in TilesFramework::update_input_mode (this=0x1246e20 , mode=mode@entry=MOUSE_MODE_MORE, force=force@entry=false) at tileweb.cc:944 prev_mode = #15 0x00000000009d7657 in mouse_control::mouse_control (this=0x7fff25a4f1f4, mode=MOUSE_MODE_MORE) at libutil.cc:492 No locals. #16 0x0000000000a6ed58 in readkey_more (user_forced=user_forced@entry=false) at message.cc:1888 keypress = 0 unwind_more = {val = @0x11e93e1, oldval = false} mc = {m_previous_mode = MOUSE_MODE_NORMAL, static ms_current_mode = MOUSE_MODE_NORMAL} #17 0x0000000000a70c6f in message_window::more (this=this@entry=0x11f30a0 , full=full@entry=true, user=user@entry=false) at message.cc:728 rng = {previous = rng::UI} last_row = 7 #18 0x0000000000a711b0 in message_window::make_space (n=1, this=0x11f30a0 ) at message.cc:479 space = 0 s = space = s = #19 message_window::add_item (this=this@entry=0x11f30a0 , text="The obsidian statue is moderately damaged.", first_col=first_col@entry=prefix_type::none, temporary=temporary@entry=false) at message.cc:630 line = {ops = std::vector of length -1, capacity 837730 = { nl = @0x1df9840: {ops = std::vector of length 3, capacity 4 = {{type = FSOP_COLOUR, colour = 14, text = ""}, {type = FSOP_TEXT, colour = -1, text = "The obsidian statue is moderately damaged."}, {type = FSOP_COLOUR, colour = 7, text = ""}}} __for_range = std::vector of length 1, capacity 1 = {{ops = std::vector of length 3, capacity 4 = {{type = FSOP_COLOUR, colour = 14, text = ""}, {type = FSOP_TEXT, colour = -1, text = "The obsidian statue is moderately damaged."}, {type = FSOP_COLOUR, colour = 7, text = ""}}}} __for_begin = __for_end = newlines = std::vector of length 1, capacity 1 = {{ops = std::vector of length 3, capacity 4 = {{type = FSOP_COLOUR, colour = 14, text = ""}, {type = FSOP_TEXT, colour = -1, text = "The obsidian statue is moderately damaged."}, {type = FSOP_COLOUR, colour = 7, text = ""}}}} #20 0x0000000000a71767 in message_store::store_msg (msg=..., this=0x11e9400 ) at message.cc:820 p = prefix_type::none dontsend = p = dontsend = #21 message_store::flush_prev (this=this@entry=0x11e9400 ) at message.cc:850 msg = {channel = MSGCH_MONSTER_DAMAGE, param = 2, messages = std::vector of length 1, capacity 1 = {{text = "The obsidian statue is moderately damaged.", repeats = 1}}, turn = 22470, join = false} #22 0x0000000000a6bf1a in message_store::add (msg=..., this=0x11e9400 ) at message.cc:784 orig_full_text = "You break out of your daze." orig_full_text = #23 _mpr (text=..., channel=MSGCH_RECOVERY, param=, nojoin=, cap=) at message.cc:1593 _doing_c_message_hook = false rng = {previous = rng::GAMEPLAY} colour = col = "lightgreen" domore = do_flash_screen = false join = fs = {ops = std::vector of length 3, capacity 4 = {{type = FSOP_COLOUR, colour = 10, text = ""}, {type = FSOP_TEXT, colour = -1, text = "You break out of your daze."}, {type = FSOP_COLOUR, colour = 7, text = ""}}} msg = {channel = MSGCH_RECOVERY, param = 0, messages = std::vector of length 1, capacity 1 = {{text = "You break out of your daze.", repeats = 1}}, turn = 22470, join = true} #24 0x0000000000a6c62a in do_message_print (channel=MSGCH_RECOVERY, param=0, cap=, nojoin=, format=, argp=) at /usr/include/c++/9/bits/char_traits.h:342 ap = {{gp_offset = 16, fp_offset = 48, overflow_arg_area = 0x7fff25a4f7d0, reg_save_area = 0x7fff25a4f710}} buff = "You break out of your daze.\000\024\000\000\000\000\000\000\000\b\000\000\000\000\357\277\262\244\371g\340\200(1\001\000\000\000\000\001\000\000\000\000\000\000\000\220\367\244%\377\177\000\000\240\367\244%\377\177", '\000' , "\364(\001", '\000' , "e\005p\000\000\000\000\000`\366\244%\377\177\000\000\070\347\272\000\000\000\000\000original\350\027)\001", '\000' , "U\a\313", '\000' , "\350\027)\001", '\000' , "\350\027)\001\000\000\000\000\000\367\244%\377\177\000" len = #25 0x0000000000a6cb30 in mprf (channel=channel@entry=MSGCH_RECOVERY, format=format@entry=0xdc787f "%s") at message.cc:1307 argp = {{gp_offset = 24, fp_offset = 48, overflow_arg_area = 0x7fff25a4f7d0, reg_save_area = 0x7fff25a4f710}} #26 0x0000000000b941d1 in _decrement_a_duration (dur=dur@entry=DUR_MESMERISED, delay=delay@entry=10, endmsg=0xdf59bb "You break out of your daze.", exploss=exploss@entry=0, expmsg=expmsg@entry=0x0, chan=chan@entry=MSGCH_RECOVERY) at player-reacts.cc:160 exppoint = old_dur = #27 0x0000000000b96340 in _decrement_simple_duration (delay=10, dur=DUR_MESMERISED) at player-reacts.cc:811 No locals. #28 _decrement_durations () at player-reacts.cc:811 i = 4 delay = 10 melted = pbd_str = sanguine_armour_is_valid = delay = melted = pbd_str = sanguine_armour_is_valid = i = s = near_ghost = mi = old_recite = new_recite = i = #29 player_reacts () at player-reacts.cc:1012 stealth = 0 #30 0x0000000000db72e5 in world_reacts () at main.cc:2575 No locals. #31 0x0000000000db819c in _input () at main.cc:1279 player_disabled = {was_disabled = false} #32 0x0000000000db8f65 in _launch_game () at main.cc:480 game_start = ccon = {cstate = false} #33 0x00000000006d9d59 in _launch_game_loop () at main.cc:385 game_ended = false game_ended = ge = fe = E = #34 main (argc=, argv=0x7fff25a50038) at main.cc:335 echo = {prev_state = {value = maybe_bool::mbool_t::maybe, static maybe = {value = maybe_bool::mbool_t::maybe, static maybe = , static t = {value = maybe_bool::mbool_t::t, static maybe = , static t = , static f = {value = maybe_bool::mbool_t::f, static maybe = , static t = , static f = }}, static f = }, static t = , static f = }} [Inferior 1 (process 4689) detached] Compilation info: <<<<<<<<<<< Compiled with GCC 9.4.0 Build platform: x86_64-linux-gnu Platform: x86_64-linux-gnu CFLAGS: -O2 -pipe -DUSE_TILE -DUSE_TILE_WEB -DEXPERIMENTAL_BRANCH="HEAD" -Wall -Wformat-security -Wundef -Wextra -Wno-missing-field-initializers -Wno-implicit-fallthrough -Wno-type-limits -Wno-uninitialized -Wno-array-bounds -Wno-format-zero-length -Wmissing-declarations -Wredundant-decls -Wno-parentheses -Wwrite-strings -Wshadow -pedantic -Wuninitialized -Iutil -I. -isystem /usr/include/lua5.1 -g -DWIZARD -DASSERTS -DCLUA_BINDINGS -DDGAMELAUNCH -DWEB_DIR_PATH="/web/" -D_GNU_SOURCE -isystem /usr/include/ncursesw LDFLAGS: -rdynamic -fuse-ld=gold -O2 >>>>>>>>>>> Place info: branch = 5, depth = 5 Level id: Lair:5 Level build method = random_map_for_place, level layout type = city, absdepth0 = 14 Level vaults: due_jungle_book layout_regular_city slime_entry_2 dreamdust_wasp_nest lemuel_fruit_tree grunt_megastairs_3 Markers: <<<<<<<<<<<<<<<<<<<<<< Marker #0, type 9 at (4, 57): Terrain change marker (33->32, 43) Marker #1, type 9 at (4, 58): Terrain change marker (33->32, 50) Marker #2, type 9 at (4, 59): Terrain change marker (33->32, 17) Marker #3, type 9 at (5, 58): Terrain change marker (33->32, 51) Marker #4, type 9 at (5, 59): Terrain change marker (33->32, 31) Marker #5, type 9 at (5, 60): Terrain change marker (33->32, 45) Marker #6, type 9 at (6, 59): Terrain change marker (33->32, 53) >>>>>>>>>>>>>>>>>>>>>> Messages: <<<<<<<<<<<<<<<<<<<<<< Your Ranged Weapons skill increases to level 4! The dire elephant trumpets! x2 There is an open gate here. You open the large door. A spectral elephant, an elephant zombie, a dire elephant skeleton and an elephant skeleton come into view. A cane toad simulacrum comes into view. The cane toad simulacrum moves out of view. You hit the withered plant. The withered plant begins to crumble. You burn the withered plant. The withered plant is lightly damaged. The withered plant crumbles away. There is an open gate here. Flames lash the spectral elephant. The spectral elephant is lightly damaged. The spectral elephant's fire resistance burns away. You slash the spectral elephant! You burn the spectral elephant. You punch the spectral elephant, but do no damage. The spectral elephant is moderately damaged. You slice the spectral elephant!! You burn the spectral elephant! You destroy the spectral elephant! The +11 hand axe of Ohuthry {flame, rCorr SInv} stops flaming. You feel stronger. Your hands tingle! b - the +11 shortbow of Uncertain Death (weapon) {speed, Str+3} You shoot an arrow. The arrow hits the elephant zombie! The elephant zombie is lightly damaged. You shoot an arrow. The arrow hits the elephant zombie. The elephant zombie is moderately damaged. The +11 hand axe of Ohuthry {flame, rCorr SInv} bursts into flame! a - the +11 hand axe of Ohuthry (weapon) {flame, rCorr SInv} Flames lash the elephant zombie. The elephant zombie is moderately damaged. The elephant zombie's fire resistance burns away. Casting: Scorch (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Sticky Flame (mildly dangerous; 3% risk of failure) Press: ? - help, Shift-Dir - straight line, f - elephant zombie Aim: an elephant zombie (moderately damaged, more vulnerable to fire) The sticky flame hits the elephant zombie but does no damage. The elephant zombie is moderately damaged. The elephant zombie is covered in liquid flames! The elephant zombie burns! The elephant zombie tramples you. You stumble backwards! Unknown command. You hit the elephant zombie. You burn the elephant zombie. The elephant zombie is heavily damaged. The elephant zombie misses you. The elephant zombie closely misses you. You hit the elephant zombie but do no damage. The elephant zombie is heavily damaged. You slash the elephant skeleton! You burn the elephant skeleton. The elephant zombie burns! Unknown command. Flames lash the elephant zombie. The elephant zombie is burned terribly! The elephant zombie is heavily damaged. The elephant zombie burns! The elephant zombie closely misses you. The elephant zombie trunk-slaps you but does no damage. The elephant skeleton completely misses you. Unknown command. You hit the elephant zombie. You burn the elephant zombie. The elephant zombie is almost destroyed. You hit the cane toad simulacrum. You melt the cane toad simulacrum. You hit the elephant skeleton but do no damage. The elephant zombie burns! The elephant zombie stops burning. The cane toad simulacrum misses you. Unknown command. Unknown command. Flames lash the cane toad simulacrum. The cane toad simulacrum melts! The cane toad simulacrum is severely damaged. The cane toad simulacrum's fire resistance burns away. The elephant zombie completely misses you. The elephant zombie closely misses you. The elephant skeleton tramples you! You hold your ground! The cane toad simulacrum barely misses you. Unknown command. You hit the elephant zombie. You burn the elephant zombie. You destroy the elephant zombie! You slash the cane toad simulacrum! You melt the cane toad simulacrum. The cane toad simulacrum vaporises! You hit the elephant skeleton but do no damage. The elephant skeleton completely misses you. Unknown command. Unknown command. Flames lash the elephant skeleton. The elephant skeleton is lightly damaged. The elephant skeleton's fire resistance burns away. Unknown command. Casting: Scorch (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Sticky Flame (mildly dangerous; 3% risk of failure) Press: ? - help, Shift-Dir - straight line, f - elephant skeleton Aim: an elephant skeleton (lightly damaged, more vulnerable to fire) The sticky flame hits the elephant skeleton! The elephant skeleton is burned terribly! The elephant skeleton is heavily damaged. The elephant skeleton is covered in liquid flames! The elephant skeleton burns! The elephant skeleton tramples you. You hold your ground! Unknown command. You slash the elephant skeleton! You burn the elephant skeleton. The elephant skeleton is almost destroyed. The elephant skeleton burns! The elephant skeleton is no longer more vulnerable to fire. The elephant skeleton tramples you but does no damage. Unknown command. You slash the elephant skeleton! You burn the elephant skeleton. You destroy the elephant skeleton! A dire elephant skeleton is nearby! The +11 hand axe of Ohuthry {flame, rCorr SInv} stops flaming. You feel stronger. Your hands tingle! b - the +11 shortbow of Uncertain Death (weapon) {speed, Str+3} You shoot an arrow. The arrow hits the dire elephant skeleton. The dire elephant skeleton is lightly damaged. You shoot an arrow. The arrow hits the dire elephant skeleton. The dire elephant skeleton is lightly damaged. You shoot an arrow. The arrow completely misses the dire elephant skeleton. You shoot an arrow. The arrow hits the dire elephant skeleton! The dire elephant skeleton is lightly damaged. You shoot an arrow. The arrow hits the dire elephant skeleton! The dire elephant skeleton is lightly damaged. The +11 hand axe of Ohuthry {flame, rCorr SInv} bursts into flame! a - the +11 hand axe of Ohuthry (weapon) {flame, rCorr SInv} You hit the dire elephant skeleton but do no damage. The dire elephant skeleton is lightly damaged. Flames lash the dire elephant skeleton. The dire elephant skeleton is moderately damaged. The dire elephant skeleton's fire resistance burns away. The dire elephant skeleton completely misses you. You hit the dire elephant skeleton. You burn the dire elephant skeleton. The dire elephant skeleton is moderately damaged. The dire elephant skeleton barely misses you. You hit the dire elephant skeleton but do no damage. The dire elephant skeleton is moderately damaged. You slash the dire elephant skeleton! You burn the dire elephant skeleton. The dire elephant skeleton is moderately damaged. The dire elephant skeleton closely misses you. You hit the dire elephant skeleton. You burn the dire elephant skeleton. The dire elephant skeleton is heavily damaged. You hit the dire elephant skeleton. You burn the dire elephant skeleton. The dire elephant skeleton is heavily damaged. The dire elephant skeleton is no longer more vulnerable to fire. The dire elephant skeleton tramples you but does no damage. You hit the dire elephant skeleton. You burn the dire elephant skeleton. The dire elephant skeleton is heavily damaged. You slash the dire elephant skeleton! You burn the dire elephant skeleton. The dire elephant skeleton is severely damaged. The dire elephant skeleton completely misses you. Flames lash the dire elephant skeleton. The dire elephant skeleton is severely damaged. The dire elephant skeleton's fire resistance burns away. You hit the dire elephant skeleton. You burn the dire elephant skeleton. The dire elephant skeleton is severely damaged. The dire elephant skeleton tramples you! You stumble backwards! You hit the dire elephant skeleton. You burn the dire elephant skeleton. The dire elephant skeleton is almost destroyed. You hit the dire elephant skeleton. You burn the dire elephant skeleton. The dire elephant skeleton is almost destroyed. The dire elephant skeleton misses you. You hit the dire elephant skeleton. You burn the dire elephant skeleton. The dire elephant skeleton is almost destroyed. You slice the dire elephant skeleton!! You burn the dire elephant skeleton. You destroy the dire elephant skeleton! Your life force feels restored. The dire elephant trumpets! There is an open gate here. The necromancer shouts! The elephant trumpets! You hear a shout! The necromancer shouts! A cane toad simulacrum comes into view. Flames lash the cane toad simulacrum. The cane toad simulacrum melts! The cane toad simulacrum is severely damaged. The cane toad simulacrum's fire resistance burns away. You can't see any susceptible monsters within range! (Use Z to cast anyway.) A cane toad simulacrum is nearby! Flames lash the cane toad simulacrum. The cane toad simulacrum melts! The cane toad simulacrum vaporises! A dire elephant skeleton comes into view. Flames lash the dire elephant skeleton but do no damage. Flames lash the dire elephant skeleton. The dire elephant skeleton is lightly damaged. The dire elephant skeleton's fire resistance burns away. Flames lash the dire elephant skeleton. The dire elephant skeleton is burned terribly! The dire elephant skeleton is moderately damaged. Casting: Scorch (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Sticky Flame (mildly dangerous; 3% risk of failure) Press: ? - help, Shift-Dir - straight line, f - dire elephant skeleton Aim: a dire elephant skeleton (moderately damaged, more vulnerable to fire) The sticky flame hits the dire elephant skeleton! The dire elephant skeleton is burned terribly! The dire elephant skeleton is moderately damaged. The dire elephant skeleton is covered in liquid flames! The dire elephant skeleton burns! The dire elephant skeleton tramples you! You hold your ground! Unknown command. You slash the dire elephant skeleton! You burn the dire elephant skeleton! The dire elephant skeleton is severely damaged. You slash the withered plant! The withered plant begins to crumble. You burn the withered plant. The dire elephant skeleton burns! The dire elephant skeleton tramples you! You stumble backwards! You hit the dire elephant skeleton. You burn the dire elephant skeleton. The dire elephant skeleton is severely damaged. You slash the withered plant! The withered plant begins to crumble. You burn the withered plant. You slash the withered plant! The withered plant begins to crumble. You burn the withered plant. You hit the dire elephant skeleton. You burn the dire elephant skeleton. The dire elephant skeleton is almost destroyed. You slash the withered plant! You burn the withered plant. You slash the withered plant! You burn the withered plant. The dire elephant skeleton burns! The dire elephant skeleton misses you. You hit the dire elephant skeleton but do no damage. The dire elephant skeleton is almost destroyed. You slash the withered plant! You burn the withered plant. You hit the withered plant. You burn the withered plant. The dire elephant skeleton burns! Unknown command. You slash the dire elephant skeleton! You burn the dire elephant skeleton. You destroy the dire elephant skeleton! You hit the withered plant. You burn the withered plant. You hit the withered plant. You burn the withered plant. The withered plant crumbles away. The withered plant crumbles away. You open the door. An elephant simulacrum comes into view. Flames lash the elephant simulacrum. The elephant simulacrum melts! The elephant simulacrum is heavily damaged. The elephant simulacrum's fire resistance burns away. A cane toad simulacrum comes into view. Flames lash the elephant simulacrum. The elephant simulacrum melts! The elephant simulacrum is almost destroyed. A spectral elephant comes into view. Flames lash the spectral elephant. The spectral elephant is lightly damaged. The spectral elephant's fire resistance burns away. A dire elephant zombie comes into view. You hit the elephant simulacrum but do no damage. The elephant simulacrum is almost destroyed. The elephant simulacrum closely misses you. The elephant simulacrum completely misses you. You slash the elephant simulacrum! You melt the elephant simulacrum. The elephant simulacrum vaporises! Flames lash the dire elephant zombie. The dire elephant zombie is lightly damaged. The dire elephant zombie's fire resistance burns away. Casting: Scorch (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Sticky Flame (mildly dangerous; 3% risk of failure) Press: ? - help, Shift-Dir - straight line, f - cane toad simulacrum Aim: a cane toad simulacrum (freezing vapour) The sticky flame hits the cane toad simulacrum! The cane toad simulacrum melts! The cane toad simulacrum is heavily damaged. The cane toad simulacrum is covered in liquid flames! You hear a sizzling sound! The spectral elephant is no longer more vulnerable to fire. The cane toad simulacrum burns! The cane toad simulacrum closely misses you. Unknown command. Unknown command. You slash the cane toad simulacrum! You melt the cane toad simulacrum. The cane toad simulacrum vaporises! You slash the spectral elephant! You burn the spectral elephant. The spectral elephant is moderately damaged. The spectral elephant is engulfed in freezing vapours. The spectral elephant barely misses you. The spectral elephant completely misses you. You slash the spectral elephant! You burn the spectral elephant. The spectral elephant is severely damaged. You hit the spectral elephant. You burn the spectral elephant. The spectral elephant is almost destroyed. The spectral elephant is engulfed in freezing vapours. The spectral elephant tramples you but does no damage. The spectral elephant trunk-slaps you but does no damage. You hit the spectral elephant. You burn the spectral elephant. You destroy the spectral elephant! Flames lash the dire elephant zombie. The dire elephant zombie is burned terribly! The dire elephant zombie is lightly damaged. Casting: Scorch (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Sticky Flame (mildly dangerous; 3% risk of failure) Press: ? - help, Shift-Dir - straight line, f - dire elephant zombie Aim: a dire elephant zombie (lightly damaged, more vulnerable to fire) The sticky flame hits the dire elephant zombie but does no damage. The dire elephant zombie is lightly damaged. The dire elephant zombie is covered in liquid flames! The dire elephant zombie burns! The dire elephant zombie tramples you! You stumble backwards! Unknown command. You slash the dire elephant zombie! You burn the dire elephant zombie. The dire elephant zombie is moderately damaged. The dire elephant zombie burns! You hit the dire elephant zombie but do no damage. The dire elephant zombie is moderately damaged. The dire elephant zombie burns! The dire elephant zombie stops burning. The dire elephant zombie tramples you! You hold your ground! The dire elephant zombie misses you. You hit the dire elephant zombie. You burn the dire elephant zombie. The dire elephant zombie is heavily damaged. Flames lash the dire elephant zombie. The dire elephant zombie is burned terribly! The dire elephant zombie is heavily damaged. The dire elephant zombie tramples you but does no damage. The dire elephant zombie completely misses you. You hit the dire elephant zombie but do no damage. The dire elephant zombie is heavily damaged. The dire elephant zombie tramples you but does no damage. The dire elephant zombie trunk-slaps you but does no damage. Casting: Scorch (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Sticky Flame (mildly dangerous; 3% risk of failure) Press: ? - help, Shift-Dir - straight line, f - dire elephant zombie Aim: a dire elephant zombie (heavily damaged, more vulnerable to fire) The sticky flame hits the dire elephant zombie but does no damage. The dire elephant zombie is heavily damaged. The dire elephant zombie is covered in liquid flames! The dire elephant zombie burns! Unknown command. You hit the dire elephant zombie. You burn the dire elephant zombie. The dire elephant zombie is severely damaged. The dire elephant zombie closely misses you. The dire elephant zombie misses you. You hit the dire elephant zombie but do no damage. The dire elephant zombie is severely damaged. The dire elephant zombie burns! You hit the dire elephant zombie. You burn the dire elephant zombie. The dire elephant zombie is severely damaged. The dire elephant zombie burns! The dire elephant zombie barely misses you. The dire elephant zombie trunk-slaps you but does no damage. You hit the dire elephant zombie but do no damage. The dire elephant zombie is severely damaged. You slash the dire elephant zombie! You burn the dire elephant zombie. The dire elephant zombie is almost destroyed. The dire elephant zombie burns! The dire elephant zombie stops burning. The dire elephant zombie closely misses you. The dire elephant zombie trunk-slaps you but does no damage. You hit the dire elephant zombie but do no damage. The dire elephant zombie is almost destroyed. You hit the dire elephant zombie. You burn the dire elephant zombie. You destroy the dire elephant zombie! No target in view! Found 2 atropa-tipped darts. There is an open door here. There is an open door here. You open the door. The necromancer shouts! There are monsters nearby! The elephant trumpets! There is an open door here. Casting: Sticky Flame (mildly dangerous; 3% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Sticky Flame (mildly dangerous; 3% risk of failure) Press: ? - help, Shift-Dir - straight line, f - necromancer Aim: a necromancer, wielding a +0 dagger and wearing a +0 robe The sticky flame hits the necromancer. The necromancer is lightly wounded. The necromancer is covered in liquid flames! The necromancer burns! The necromancer misses you. Unknown command. Unknown command. You hit the necromancer. You burn the necromancer. The necromancer is moderately wounded. You hit the elephant. You burn the elephant. The necromancer burns! The elephant tramples you but does no damage. The elephant misses you. The necromancer completely misses you. Unknown command. You barely miss the necromancer. The necromancer is heavily wounded. You hit the elephant but do no damage. Unknown command. You slash the necromancer! You burn the necromancer. The necromancer is almost dead. You hit the elephant but do no damage. The necromancer burns! You kill the necromancer! The elephant completely misses you. x2 Unknown command. Casting: Sticky Flame (mildly dangerous; 3% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Sticky Flame (mildly dangerous; 3% risk of failure) Press: ? - help, Shift-Dir - straight line, f - elephant Aim: an elephant (lightly wounded) The sticky flame hits the elephant but does no damage. The elephant is lightly wounded. The elephant is covered in liquid flames! The elephant burns! The elephant misses you. The elephant trunk-slaps you but does no damage. The elephant completely misses you. The elephant misses you. Casting: Sticky Flame (mildly dangerous; 3% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Sticky Flame (mildly dangerous; 3% risk of failure) Press: ? - help, Shift-Dir - straight line, f - elephant, p - elephant Aim: an elephant You miscast Sticky Flame. You are very lightly contaminated with residual magic. Nothing appears to happen. The elephant burns! The elephant tramples you. You hold your ground! The elephant closely misses you. The elephant barely misses you. The elephant completely misses you. Unknown command. Unknown command. Unknown command. Casting: Sticky Flame (mildly dangerous; 3% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Sticky Flame (mildly dangerous; 3% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - elephant Aim: an elephant The sticky flame hits the elephant. The elephant is lightly wounded. The elephant is covered in liquid flames! The elephant burns! x2; The elephant barely misses you. The elephant trunk-slaps you but does no damage. The elephant closely misses you. The elephant misses you. Unknown command. Unknown command. Unknown command. You slash the elephant! You burn the elephant. The elephant is heavily wounded. You hit the elephant. You burn the elephant. Unknown command. Unknown command. You slash the elephant! You burn the elephant. The elephant is severely wounded. You hit the elephant. You burn the elephant. The elephant burns! x2 The elephant misses you. The elephant closely misses you. The elephant tramples you but does no damage. The elephant misses you. Unknown command. You hit the elephant but do no damage. The elephant is severely wounded. You slash the elephant! You burn the elephant. The elephant burns! The elephant stops burning. The elephant burns! The elephant tramples you! You stumble backwards! Unknown command. You hit the elephant. You burn the elephant. The elephant is almost dead. Unknown command. Casting: Sticky Flame (mildly dangerous; 3% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Sticky Flame (mildly dangerous; 3% risk of failure) Press: ? - help, Shift-Dir - straight line, f - elephant, p - elephant Aim: an elephant (almost dead) The sticky flame hits the elephant! You kill the elephant! The elephant burns! The elephant stops burning. Unknown command. Unknown command. Unknown command. You hit the elephant. You burn the elephant. The elephant is severely wounded. The elephant completely misses you. The elephant barely misses you. You barely miss the elephant. The elephant is severely wounded. You hit the elephant. You burn the elephant. The elephant is almost dead. The elephant tramples you! You hold your ground! The elephant trunk-slaps you. You slash the elephant! You burn the elephant. You kill the elephant! No target in view! Your magical contamination has completely faded away. There is an open door, spattered with blood here. Things that are here: an elephant corpse; an elephant corpse You now have 1565 gold pieces (gained 9). You see here a staff of fire. d - a staff of fire Things that are here: a +0 dagger; a +0 robe; a human corpse There is an open door, spattered with blood here. Things that are here: an elephant corpse; an elephant corpse The necromancer shouts! The dire elephant trumpets! x2 You open the door. A cane toad, a necromancer and an elephant come into view. Found a scimitar. The cane toad croaks. The necromancer shouts! The elephant trumpets! There is an open door here. You close the door. You start waiting. Flames lash the elephant. The elephant is lightly wounded. The elephant's fire resistance burns away. Casting: Scorch (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Sticky Flame (mildly dangerous; 3% risk of failure) Press: ? - help, Shift-Dir - straight line, f - cane toad Aim: a cane toad The sticky flame hits the cane toad but does no damage. The cane toad is covered in liquid flames! The cane toad burns! The cane toad closely misses you. The cane toad misses you. Unknown command. You slash the cane toad! You burn the cane toad. The cane toad is moderately wounded. Unknown command. You slash the cane toad! You burn the cane toad. You punch the cane toad. The cane toad is almost dead. The cane toad burns! You kill the cane toad! Unknown command. You slash the elephant! You burn the elephant. The elephant is moderately wounded. You hit the elephant. You burn the elephant. The elephant is heavily wounded. The elephant tramples you. You hold your ground! The elephant misses you. Unknown command. You slash the elephant! You burn the elephant. The elephant is heavily wounded. The elephant barely misses you. The elephant completely misses you. The necromancer casts a spell. The necromancer binds the souls of nearby monsters. Flames lash the necromancer. The necromancer is moderately wounded. The necromancer's fire resistance burns away. The elephant barely misses you. The elephant trunk-slaps you. You hit the elephant. You burn the elephant. The elephant is heavily wounded. Casting: Scorch (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Sticky Flame (mildly dangerous; 3% risk of failure) Press: ? - help, Shift-Dir - straight line, f - elephant Aim: an elephant (heavily wounded, soul bound, more vulnerable to fire) The sticky flame hits the elephant but does no damage. The elephant is heavily wounded. The elephant is covered in liquid flames! The elephant burns! The elephant is no longer more vulnerable to fire. The elephant misses you. The elephant closely misses you. Unknown command. Unknown command. You hit the elephant. You burn the elephant. The elephant is severely wounded. The elephant burns! The elephant closely misses you. The elephant misses you. You slice the elephant!! You burn the elephant. You kill the elephant! An elephant simulacrum comes into view. The necromancer hits you but does no damage. There is a broken door, spattered with blood here. You see here a cane toad corpse. Casting: Sticky Flame (mildly dangerous; 3% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Sticky Flame (mildly dangerous; 3% risk of failure) Press: ? - help, Shift-Dir - straight line, f - necromancer Aim: a necromancer, wielding a +0 dagger and wearing a +0 robe (lightly wounded, more vulnerable to fire) The sticky flame hits the necromancer! The necromancer is burned terribly! The necromancer is heavily wounded. The necromancer is covered in liquid flames! The necromancer burns! The necromancer misses you. Unknown command. Unknown command. Casting: Sticky Flame (mildly dangerous; 3% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Sticky Flame (mildly dangerous; 3% risk of failure) Press: ? - help, Shift-Dir - straight line, f - elephant simulacrum, p - necromancer Aim: an elephant simulacrum The sticky flame hits the elephant simulacrum! The elephant simulacrum melts! The elephant simulacrum is moderately damaged. The elephant simulacrum is covered in liquid flames! The elephant simulacrum burns! The necromancer burns! The necromancer is no longer more vulnerable to fire. The necromancer gestures at you while chanting. You resist with significant effort. The elephant simulacrum barely misses you. The elephant simulacrum trunk-slaps you but does no damage. Unknown command. You slash the necromancer! You burn the necromancer. You kill the necromancer! You slash the elephant simulacrum! You melt the elephant simulacrum. The elephant simulacrum vaporises! Unknown command. Magic restored. Things that are here: a +0 dagger; a +0 robe There is a broken door, spattered with blood here. You see here a cane toad corpse. There is a large open door here. You open the large door. A dire elephant simulacrum and an elephant skeleton come into view. There is a large open door here. Casting: Sticky Flame (mildly dangerous; 3% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Sticky Flame (mildly dangerous; 3% risk of failure) Press: ? - help, Shift-Dir - straight line, f - elephant skeleton Aim: an elephant skeleton The sticky flame hits the elephant skeleton! The elephant skeleton is lightly damaged. The elephant skeleton is covered in liquid flames! The elephant skeleton burns! The elephant skeleton closely misses you. Unknown command. You slice the elephant skeleton!! You burn the elephant skeleton! The elephant skeleton is severely damaged. The elephant skeleton burns! Unknown command. Casting: Sticky Flame (mildly dangerous; 3% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Sticky Flame (mildly dangerous; 3% risk of failure) Press: ? - help, Shift-Dir - straight line, f - dire elephant simulacrum, p - elephant skeleton Aim: a dire elephant simulacrum The sticky flame hits the dire elephant simulacrum but does no damage. The dire elephant simulacrum is covered in liquid flames! The dire elephant simulacrum burns! The elephant skeleton burns! The elephant skeleton misses you. Unknown command. You slash the elephant skeleton! You burn the elephant skeleton. You destroy the elephant skeleton! You hit the dire elephant simulacrum. You melt the dire elephant simulacrum. The dire elephant simulacrum tramples you but does no damage. The dire elephant simulacrum trunk-slaps you but does no damage. You hit the dire elephant simulacrum. You melt the dire elephant simulacrum. The dire elephant simulacrum is moderately damaged. The dire elephant simulacrum burns! You hit the dire elephant simulacrum. You melt the dire elephant simulacrum. The dire elephant simulacrum is severely damaged. The dire elephant simulacrum closely misses you. x2 You hit the dire elephant simulacrum but do no damage. The dire elephant simulacrum is severely damaged. The dire elephant simulacrum burns! You hit the dire elephant simulacrum. You melt the dire elephant simulacrum. The dire elephant simulacrum is almost destroyed. The dire elephant simulacrum burns! The dire elephant simulacrum tramples you! You stumble backwards! You hit the dire elephant simulacrum but do no damage. The dire elephant simulacrum is almost destroyed. You hit the dire elephant simulacrum. You melt the dire elephant simulacrum. The dire elephant simulacrum vaporises! HP restored. There is a large open door here. You open the door. A spectral anaconda comes into view. There is an open door here. Casting: Sticky Flame (mildly dangerous; 3% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Sticky Flame (mildly dangerous; 3% risk of failure) Press: ? - help, Shift-Dir - straight line, f - dire elephant Aim: a dire elephant The sticky flame hits the dire elephant but does no damage. The dire elephant is covered in liquid flames! The dire elephant burns! The dire elephant tramples you but does no damage. The dire elephant trunk-slaps you but does no damage. Casting: Sticky Flame (mildly dangerous; 3% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Sticky Flame (mildly dangerous; 3% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - dire elephant Aim: a dire elephant (lightly wounded, covered in liquid flames) The sticky flame hits the dire elephant. The dire elephant is lightly wounded. The dire elephant is covered in liquid flames! The dire elephant burns! The dire elephant tramples you but does no damage. The dire elephant trunk-slaps you but does no damage. The spectral anaconda completely misses you. The spectral anaconda closely misses you. Flames lash the spectral anaconda. The spectral anaconda is lightly damaged. The spectral anaconda's fire resistance burns away. You hear a trumpeting! You hear a shout! The dire elephant burns! The spectral anaconda barely misses you. The spectral anaconda closely misses you. The dire elephant misses you. The dire elephant trunk-slaps you! The dire elephant attacks as you move away! The dire elephant tramples you but does no damage. The dire elephant misses you. The dire elephant burns! The spectral anaconda barely misses you. The spectral anaconda misses you. You hit the spectral anaconda but do no damage. The spectral anaconda is lightly damaged. The spectral anaconda grabs you. The spectral anaconda bites you. You feel drained. The spectral anaconda constricts you. You slice the spectral anaconda!! You burn the spectral anaconda. The spectral anaconda is heavily damaged. The dire elephant burns! The spectral anaconda misses you. The spectral anaconda constricts you. You barely miss the spectral anaconda. The spectral anaconda is heavily damaged. The dire elephant burns! The spectral anaconda bites you but does no damage. The spectral anaconda constricts you. The spectral anaconda loses its grip on you. You slice the dire elephant!! You burn the dire elephant! The dire elephant is heavily wounded. You hit the dire elephant but do no damage. You punch the dire elephant, but do no damage. The dire elephant is heavily wounded. The dire elephant burns! The spectral anaconda is no longer more vulnerable to fire. Flames lash the dire elephant. The dire elephant is heavily wounded. The dire elephant's fire resistance burns away. The dire elephant burns! The necromancer mumbles some strange words. The necromancer binds the souls of nearby monsters. The dire elephant tramples you. You stumble backwards! You hit the dire elephant. You burn the dire elephant. The dire elephant is severely wounded. Unknown command. You hit the dire elephant. You burn the dire elephant. The dire elephant is severely wounded. The dire elephant burns! The dire elephant tramples you but does no damage. The dire elephant barely misses you. You completely miss the dire elephant. The dire elephant is almost dead. The dire elephant burns! The dire elephant tramples you!! You stumble backwards! You slash the dire elephant! You burn the dire elephant! You kill the dire elephant! A freezing mist starts to gather... A dire elephant simulacrum comes into view. Your life force feels restored. Unknown command. Flames lash the spectral anaconda. The spectral anaconda is heavily damaged. The spectral anaconda's fire resistance burns away. The spectral anaconda grabs you. The spectral anaconda bites you but does no damage. The spectral anaconda constricts you. You hit the spectral anaconda. You burn the spectral anaconda. The spectral anaconda is heavily damaged. The spectral anaconda bites you. The spectral anaconda constricts you. Unknown command. Casting: Scorch (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Sticky Flame (mildly dangerous; 3% risk of failure) Press: ? - help, Shift-Dir - straight line, f - dire elephant simulacrum Aim: a dire elephant simulacrum The sticky flame hits the dire elephant simulacrum but does no damage. The dire elephant simulacrum is covered in liquid flames! The dire elephant simulacrum burns! The spectral anaconda barely misses you. The spectral anaconda constricts you. The spectral anaconda bites you but does no damage. The spectral anaconda constricts you. The dire elephant simulacrum tramples you!! You are held in place! The dire elephant simulacrum barely misses you. Unknown command. You slash the spectral anaconda! You burn the spectral anaconda. The spectral anaconda is severely damaged. You hit the dire elephant simulacrum. You melt the dire elephant simulacrum. The dire elephant simulacrum burns! The spectral anaconda bites you but does no damage. The spectral anaconda constricts you. Unknown command. Unknown command. You are too injured to fight recklessly! Unknown command. You are too injured to fight recklessly! As you read the scroll of teleportation, it crumbles to dust. You feel strangely unstable. The dire elephant simulacrum burns! The spectral anaconda is no longer more vulnerable to fire. The spectral anaconda barely misses you. The spectral anaconda constricts you. The necromancer casts a spell at you. The bolt of negative energy hits the spectral anaconda. The spectral anaconda completely resists. The bolt of negative energy hits you! You feel drained. The dire elephant simulacrum completely misses you. The dire elephant simulacrum trunk-slaps you but does no damage. You hit the dire elephant simulacrum but do no damage. The dire elephant simulacrum is heavily damaged. You hit the dire elephant but do no damage. You completely miss the spectral anaconda. The spectral anaconda misses you. The spectral anaconda constricts you. The dire elephant tramples you but does no damage. The dire elephant trunk-slaps you but does no damage. You hit the dire elephant simulacrum but do no damage. The dire elephant simulacrum is heavily damaged. You hit the dire elephant but do no damage. You hit the spectral anaconda. You burn the spectral anaconda. The dire elephant simulacrum burns! The spectral anaconda bites you but does no damage. The spectral anaconda constricts you. The dire elephant simulacrum misses you. The dire elephant simulacrum trunk-slaps you but does no damage. The spectral anaconda completely misses you. The spectral anaconda constricts you. You slash the dire elephant simulacrum! You melt the dire elephant simulacrum! The dire elephant simulacrum vaporises! You hit the dire elephant but do no damage. You hit the spectral anaconda. You burn the spectral anaconda. The dire elephant tramples you but does no damage. The dire elephant completely misses you. The spectral anaconda bites you but does no damage. The spectral anaconda constricts you. You slash the spectral anaconda! You burn the spectral anaconda. You destroy the spectral anaconda! You hit the dire elephant. You burn the dire elephant. The dire elephant misses you. The dire elephant trunk-slaps you. Your Fire Magic skill increases to level 16! Your surroundings suddenly seem different. Found a staircase to the Slime Pits. The endoplasm quivers. Key pressed, stopping explore. No target in view! There is an open gate here. The dire elephant trumpets! Flames lash the dire elephant. The dire elephant is lightly wounded. The dire elephant's fire resistance burns away. Flames lash the dire elephant. The dire elephant is lightly wounded. Casting: Scorch (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Sticky Flame (mildly dangerous; 3% risk of failure) Press: ? - help, Shift-Dir - straight line, f - dire elephant Aim: a dire elephant (lightly wounded, more vulnerable to fire) The sticky flame hits the dire elephant but does no damage. The dire elephant is lightly wounded. The dire elephant is covered in liquid flames! The dire elephant burns! The dire elephant misses you. The dire elephant completely misses you. Unknown command. Casting: Sticky Flame (mildly dangerous; 3% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Sticky Flame (mildly dangerous; 3% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - dire elephant Aim: a dire elephant (lightly wounded, covered in liquid flames, more vulnerable to fire) The sticky flame hits the dire elephant but does no damage. The dire elephant is lightly wounded. The dire elephant is covered in liquid flames! The dire elephant burns! The dire elephant barely misses you. The dire elephant closely misses you. Unknown command. Unknown command. You slash the dire elephant! You burn the dire elephant! The dire elephant is moderately wounded. The dire elephant tramples you. You hold your ground! The dire elephant trunk-slaps you but does no damage. You slash the dire elephant! You burn the dire elephant. The dire elephant is heavily wounded. The dire elephant burns! You slash the dire elephant! You burn the dire elephant. The dire elephant is heavily wounded. The dire elephant burns! The dire elephant is no longer more vulnerable to fire. The dire elephant completely misses you. The dire elephant barely misses you. You slash the dire elephant! You burn the dire elephant. The dire elephant is severely wounded. The dire elephant tramples you. You stumble backwards! You slash the dire elephant! You burn the dire elephant. The dire elephant is almost dead. The dire elephant burns! Flames lash the dire elephant. You kill the dire elephant! Your life force feels restored. There is a large open door here. An obsidian statue comes into view. Marking area around an obsidian statue as unsafe for travelling. An obsidian statue is nearby! Flames lash the obsidian statue but do no damage. Flames lash the obsidian statue. The obsidian statue resists. The obsidian statue is lightly damaged. The obsidian statue's fire resistance burns away. Flames lash the obsidian statue. The obsidian statue resists. The obsidian statue is lightly damaged. Flames lash the obsidian statue. The obsidian statue resists. The obsidian statue is lightly damaged. The obsidian statue's eyes glow briefly. Flames lash the obsidian statue. The obsidian statue resists. The obsidian statue is moderately damaged. The obsidian statue's eyes glow briefly. You hit the red devil but do no damage. You hit the withered plant. The withered plant begins to crumble. You burn the withered plant. Unknown command. You hit the red devil. The red devil is lightly wounded. You slash the withered plant! You burn the withered plant. The obsidian statue's eyes glow briefly. The red devil hits you with a +0 trident! Barbed spikes become lodged in your body. The ice devil hits the withered plant! The ice devil freezes the withered plant!! Unknown command. Unknown command. You closely miss the red devil. The red devil is lightly wounded. You slash the withered plant! You burn the withered plant. Unknown command. Unknown command. You hit the red devil. The red devil is lightly wounded. You slash the withered plant! You burn the withered plant. Unknown command. You hit the ice devil. You burn the ice devil. The ice devil is lightly wounded. You slash the withered plant! You burn the withered plant. The withered plant crumbles away. The red devil hits you but does no damage. Unknown command. Casting: Scorch (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Sticky Flame (mildly dangerous; 3% risk of failure) Press: ? - help, Shift-Dir - straight line, f - ice devil Aim: an ice devil (lightly wounded, summoned) You miscast Sticky Flame. You are very lightly contaminated with residual magic. Nothing appears to happen. The obsidian statue's eyes glow briefly. The obsidian statue attempts to bespell you! You are mesmerised by the obsidian statue! The ice devil hits you but does no damage. Unknown command. Unknown command. Unknown command. You slice the ice devil!! You burn the ice devil! The ice devil is almost dead. Unknown command. You slice the ice devil!! You burn the ice devil. You kill the ice devil! The ice devil disappears in a puff of smoke! The obsidian statue slips into the dungeon's darkness for a moment. The red devil hits the withered plant with a +0 trident. The withered plant begins to crumble. The withered plant is skewered by barbed spikes. You hit the rust devil. The rust devil is lightly wounded. Casting: Sticky Flame (mildly dangerous; 3% 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. Unknown command. You barely miss the rust devil. The rust devil is lightly wounded. The rust devil hits you. The rust devil corrodes you! You slash the rust devil! The rust devil is moderately wounded. The red devil completely misses you. Unknown command. You hit the rust devil. The rust devil is moderately wounded. You carefully extract the barbed spikes from your body. The rust devil hits you. Unknown command. You hit the rust devil. The rust devil is heavily wounded. The obsidian statue's eyes glow briefly. The red devil barely misses you. The rust devil hits you. Unknown command. Casting: Sticky Flame (mildly dangerous; 3% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. You blink. Found a book of Necromancy. The red devil closely misses you. The rust devil closely misses you. The rust devil hits the withered plant. The rust devil corrodes the withered plant! Unknown command. Unknown command. Unknown command. Unknown command. Unknown command. Aim the phial where? Press: ? - help, Shift-Dir - straight line, f - obsidian statue Aim: an obsidian statue (lightly damaged, mesmerising, more vulnerable to fire) The torrent of water hits the obsidian statue. The obsidian statue is moderately damaged. The wave splashes down. Splash! You fall into the shallow water. Moving in this stuff is going to be slow. The rust devil is engulfed in water. The red devil is engulfed in water. The rust devil is engulfed in water. You hear a shout! The withered plant crumbles away. The red devil barely misses you. The rust devil closely misses you. Unknown command. Unknown command. Unknown command. Unknown command. Unknown command. Unknown command. Unknown command. Unknown command. Aiming: Thunderbolt Press: ? - help, Shift-Dir - straight line, f/p - obsidian statue Aim: an obsidian statue (moderately damaged, mesmerising, more vulnerable to fire) The thunderbolt hits the obsidian statue. The obsidian statue resists. The obsidian statue is moderately damaged. The red devil hits you but does no damage. The rust devil splashes around in the water. Unknown command. Aiming: Thunderbolt Press: ? - help, Shift-Dir - straight line, f/p - obsidian statue Aim: an obsidian statue (moderately damaged, mesmerising, more vulnerable to fire) The thunderbolt hits the obsidian statue. The obsidian statue resists. The obsidian statue is moderately damaged. >>>>>>>>>>>>>>>>>>>>>> Version history: Game started: 0.30.0 Game state: mouse_enabled: 0, waiting_for_command: 0, terminal_resized: 0 io_inited: 1, need_save: 1, saving_game: 0, updating_scores: 0: seen_hups: 0, map_stat_gen: 0, type: 1, arena_suspended: 0 prev_cmd = CMD_EVOKE repeat_cmd = CMD_NO_CMD Player: {{{{{{{{{{{ Name: [LeafLetters] Species: Hill Orc Job: Cinder Acolyte HP: 132/132; mods: 0/0 MP: 14/27; mod: 0 Stats: 23 (23) 17 (17) 5 (5) Position: (4, 59), god: Ignis (27), turn_is_over: 1, banished: 0 Standing on/in/over feature: some shallow water Skills (mode: auto) Name | can_currently_train | train | training | level | points | progress Fighting | X | 2 | 16 | 11 | 2779 | 393/477 Short Blades | X | 0 | 0 | 0 | 0 | 0/50 Long Blades | X | 0 | 0 | 0 | 0 | 0/42 Axes | X | 0 | 0 | 14 | 3740 | 396/535 Maces & Flails | X | 0 | 0 | 0 | 0 | 0/42 Polearms | X | 0 | 0 | 0 | 0 | 0/42 Staves | X | 0 | 0 | 0 | 0 | 0/59 Ranged Weapons | X | 1 | 0 | 4 | 658 | 64/297 Throwing | X | 0 | 0 | 0 | 0 | 0/59 Armour | X | 1 | 10 | 12 | 3690 | 285/631 Dodging | X | 0 | 0 | 0 | 0 | 0/70 Stealth | X | 0 | 0 | 0 | 0 | 0/59 Shields | X | 0 | 0 | 1 | 45 | 3/84 Unarmed Combat | X | 0 | 0 | 0 | 0 | 0/42 Spellcasting | X | 1 | 25 | 8 | 3468 | 441/757 Conjurations | X | 1 | 7 | 4 | 693 | 193/250 Hexes | X | 0 | 0 | 0 | 0 | 0/50 Summonings | X | 0 | 0 | 0 | 0 | 0/50 Necromancy | X | 0 | 0 | 0 | 0 | 0/50 Translocations | X | 1 | 1 | 0 | 0 | 0/70 Transmutations | X | 0 | 0 | 0 | 0 | 0/84 Fire Magic | X | 2 | 41 | 16 | 6372 | 66/883 Ice Magic | X | 0 | 0 | 0 | 0 | 0/59 Air Magic | X | 0 | 0 | 0 | 0 | 0/70 Earth Magic | X | 0 | 0 | 0 | 0 | 0/50 Poison Magic | X | 0 | 0 | 0 | 0 | 0/59 Invocations | X | 0 | 0 | 0 | 0 | 0/29 Evocations | X | 0 | 0 | 0 | 0 | 0/50 Spell bugs: Durations: #120: 112 #156: 30 Attributes: #12: 1565 #23: 7871 #24: -1031494585 #34: 1 #49: 1678 Mutations: dopey: 1 strong: 1 Inventory bugs: Equipment: eq slot #0, inv slot #0: +11 hand axe of Ohuthry {flame, rCorr SInv} eq slot #2, inv slot #38: +2 helmet "Wucioto" {rPois Stlth+} eq slot #3, inv slot #44: +2 pair of gloves of hurling eq slot #4, inv slot #51: +2 pair of boots eq slot #6, inv slot #25: +0 fire dragon scales eq slot #7, inv slot #24: +5 ring of evasion eq slot #8, inv slot #17: +5 ring of evasion eq slot #9, inv slot #27: amulet of regeneration }}}}}}}}}}} Webtiles message buffer: {"msg":"player" Webtiles JSON stack: start: 0 end: 15 type: } Screenshot: #....'..######....... #...##8..')..#♣...... #....#####...#♣...... ##...# #...##...... #....# #...##...... #♣P..♣ #...##...... ♣♣.~♣♣ #8)8##...... ♣♣44♣########...... #.@~8+:## ##...... ###4♣#### ##....... ###### #........ ##PP#.... ######## # # clua stack: dlua stack: Lua persistent data: <<<<<<<<<<<<<<<<<<<<<< ice_cave_hard: false bailey_type: bailey_polearm >>>>>>>>>>>>>>>>>>>>>> Lua marker contents: <<<<<<<<<<<<<<<<<<<<<< >>>>>>>>>>>>>>>>>>>>>> ASSERT((duration[DUR_MESMERISED] > 0) == !beholders.empty()) in 'behold.cc' at line 66 failed. Recursive crash.