Crash caused by signal #6: Aborted Version: Dungeon Crawl Stone Soup 0.33.1-2-ga6f4b62f22 Platform: unix Bits: 64 Game mode: tutorial Tiles: online Seed: 14115670615981809062, deterministic pregen: 1 Command line: /usr/games/crawl-0.33 -name parainfection -rc /dgldir/rcfiles/crawl-0.33/parainfection.rc -macro /dgldir/rcfiles/crawl-0.33/parainfection.macro -morgue /dgldir/morgue/parainfection/ -tutorial -webtiles-socket /crawl-master/webserver/sockets/parainfection:2025-09-13.05:21:40.sock -await-connection RC options: restart_after_game = false Crash caused by signal #6: Aborted Obtained 21 stack frames. /usr/games/crawl-0.33(_Z17write_stack_traceP8_IO_FILE+0x3e) [0x559b2e93900e]: write_stack_trace(_IO_FILE*) /usr/games/crawl-0.33(_Z13do_crash_dumpv+0x43a) [0x559b2e94709a]: do_crash_dump() /usr/games/crawl-0.33(_Z20crash_signal_handleri+0x1fa) [0x559b2e9394ea]: crash_signal_handler(int) /lib/x86_64-linux-gnu/libc.so.6(+0x42910) [0x7a92db442910]: /lib/x86_64-linux-gnu/libc.so.6(+0x17f957) [0x7a92db57f957]: /lib/x86_64-linux-gnu/libc.so.6(+0x6525d) [0x7a92db46525d]: /lib/x86_64-linux-gnu/libc.so.6(+0x8b386) [0x7a92db48b386]: /usr/games/crawl-0.33(_ZN14TilesFramework13write_messageEPKcz+0xda) [0x559b2f0b7e5a]: TilesFramework::write_message(char const*, ...) /usr/games/crawl-0.33(_ZN14TilesFramework9json_openERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEcc+0xb9) [0x559b2f0bb229]: TilesFramework::json_open(std::__cxx11::basic_string, std::allocator > const&, char, char) /usr/games/crawl-0.33(_ZN14TilesFramework12_send_playerEb+0x1542) [0x559b2f0c2db2]: TilesFramework::_send_player(bool) /usr/games/crawl-0.33(_ZN14TilesFramework6redrawEv+0x72) [0x559b2f0c4c42]: TilesFramework::redraw() /usr/games/crawl-0.33(_Z8getch_ckv+0x111) [0x559b2f0ca5b1]: getch_ck() /usr/games/crawl-0.33(+0x7a8bf5) [0x559b2ec16bf5]: /usr/games/crawl-0.33(_Z6getchm13KeymapContext+0x68) [0x559b2ec1a6b8]: getchm(KeymapContext) /usr/games/crawl-0.33(_Z18attribute_increasev+0x20e) [0x559b2ee1cece]: attribute_increase() /usr/games/crawl-0.33(_Z12level_changeb+0x1f2) [0x559b2ee34d22]: level_change(bool) /usr/games/crawl-0.33(+0xc69d50) [0x559b2f0d7d50]: /usr/games/crawl-0.33(main+0x1f7) [0x559b2e86ec07]: /lib/x86_64-linux-gnu/libc.so.6(+0x280d0) [0x7a92db4280d0]: /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0x89) [0x7a92db428189]: /usr/games/crawl-0.33(_start+0x25) [0x559b2e86f635]: Trying to run gdb. GNU gdb (Ubuntu 14.0.50.20230907-0ubuntu1) 14.0.50.20230907-git Copyright (C) 2023 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". 0x00007a92db50fbf7 in __GI___wait4 (pid=1265498, stat_loc=0x0, options=0, usage=0x0) at ../sysdeps/unix/sysv/linux/wait4.c:30 #0 0x00007a92db50fbf7 in __GI___wait4 (pid=1265498, stat_loc=0x0, options=0, usage=0x0) at ../sysdeps/unix/sysv/linux/wait4.c:30 sc_ret = -512 sc_ret = #1 0x0000559b2e9396bc in call_gdb (file=0x7a92db5ff6c0 <_IO_2_1_stderr_>) at crash.cc:438 gdb = attach_cmd = "attach 1265478\000\000\000\000\000" #2 0x0000559b2e9470b8 in do_crash_dump () at dbg-asrt.cc:673 t = 1757740911 dir = "/dgldir/morgue/parainfection/" name = "/dgldir/morgue/parainfection/crash-parainfection-20250913-052151.txt", '\000' signal_info = "Crash caused by signal #6: Aborted" cause_msg = "Crash caused by signal #6: Aborted" file = 0x7a92db5ff6c0 <_IO_2_1_stderr_> #3 0x0000559b2e9394ea in crash_signal_handler (sig_num=6) at crash.cc:198 No locals. #4 No locals. #5 __strchrnul_avx2 () at ../sysdeps/x86_64/multiarch/strchr-avx2.S:72 No locals. #6 0x00007a92db46525d in __find_specmb (format=0x559b2f0e9edf "\"") at ./stdio-common/printf-parse.h:82 No locals. #7 __printf_buffer (buf=buf@entry=0x7ffeb57adb80, format=0x559b2f0e9edf "\"", ap=0x7ffeb57adc48, mode_flags=2) at ./stdio-common/vfprintf-internal.c:649 thousands_sep = grouping = 0xffffffffffffffff f = lead_str_end = end_of_spec = work_buffer = "H\335z\265\376\177\000\000\020\000\000\0000\000\000\000p\345z\265\376\177\000\000\240\344z\265\376\177\000\000h\335z\265\376\177\000\000\322UFےz\000\000\000\000\000\000\000\000\000\000\n\000\000\000\000\000\000\000 \236\3100", '\000' , "\001\000\000\000\000\000\000\000\001\000\000\000\000U\000\000W\334z\265\376\177\000\000X\334z\265\376\177", '\000' , "\002\000\000\000\234\323\016/\233U\000\000\234\323\016/\233U\000\000\002\000\000\000\000\000\000\000\377\377\377\377\377\377\377\3770\345\000\000\376\177\000\000\370\335z\265\376\177\000\000\310\323Eےz\000\000\000\000\000\000\000\000\000\000`\335"... workend = ap_save = {{gp_offset = 16, fp_offset = 48, overflow_arg_area = 0x7ffeb57ae540, reg_save_area = 0x7ffeb57ae470}} nspecs_done = 0 save_errno = 9 readonly_format = 0 do_longlong_number = #8 0x00007a92db48b386 in __vsnprintf_internal (string=string@entry=0x7ffeb57adc60 "", maxlen=maxlen@entry=2048, format=format@entry=0x559b2f0e9edf "\"", args=args@entry=0x7ffeb57adc48, mode_flags=mode_flags@entry=2) at ./libio/vsnprintf.c:96 buf = {base = {write_base = 0x7ffeb57adc60 "", write_ptr = 0x7ffeb57adc60 "", write_end = 0x7ffeb57ae460 "", written = 0, mode = __printf_buffer_mode_snprintf}, discard = "\235\263Hےz\000\000\220\334z\265\376\177\000\000\221\334z\265\376\177\000\000\220\344z\265\376\177\000\000\000\000\000\000\000\000\000\000\002\000\000\00053\0005 \341z\265\376\177\000\000\000\000\000\000\000\000\000\000\242\023\3440\233U\000\000`\341z\265\376\177\000\000\322UFےz\000\000\000\000\000\000\000\000\000\000\n\000\000\000\376\177\000\000 \335z\265\000\000\000\000㧕ےz\000\000\001\000\000\000\000\000\000"} #9 0x00007a92db539298 in ___vsnprintf_chk (s=s@entry=0x7ffeb57adc60 "", maxlen=maxlen@entry=2048, flag=flag@entry=1, slen=slen@entry=2048, format=format@entry=0x559b2f0e9edf "\"", ap=ap@entry=0x7ffeb57adc48) at ./debug/vsnprintf_chk.c:34 mode = 2 #10 0x0000559b2f0b7e5a in vsnprintf (__ap=0x7ffeb57adc48, __fmt=0x559b2f0e9edf "\"", __n=2048, __s=0x7ffeb57adc60 "") at /usr/include/x86_64-linux-gnu/bits/stdio2.h:68 No locals. #11 TilesFramework::write_message (this=this@entry=0x559b2f5ffc20 , format=format@entry=0x559b2f0e9edf "\"") at tileweb.cc:179 buf = "\000:\000\265\376\177\000\000\226~\v/\233U\000\000 \377\377\377\000\000\000\000\020\000\000\0000\000\000\000p\345z\265\376\177\000\000\240\344z\265\376\177\000\000\"\000z\265\376\177\000\0008\341z\265\376\177", '\000' , "\006\000\000\000\240\023\3440\233U\000\000\240\023\3440\233U\000\000\002\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\200\341\000\000\376\177\000\000\000\000\000\000\000\000\000\000 \374_/\233U\000\000 \335z\265\376\177\000\000\226~\v/\233U\000\000 \000\000\000\000\000\000\000\020\000\000\0000\000\000\000\000\346z\265\376\17722\000̮pᨗ\030P\335z\265\376\177\000\000 \000\000"... len = argp = {{gp_offset = 16, fp_offset = 48, overflow_arg_area = 0x7ffeb57ae540, reg_save_area = 0x7ffeb57ae470}} #12 0x0000559b2f0bb229 in TilesFramework::json_write_name (name="16", this=0x559b2f5ffc20 ) at tileweb.cc:2516 No locals. #13 TilesFramework::json_open (this=this@entry=0x559b2f5ffc20 , name="16", opener=opener@entry=123 '{', type=type@entry=125 '}') at tileweb.cc:2427 fr = #14 0x0000559b2f0c2db2 in TilesFramework::json_open_object (name="16", this=0x559b2f5ffc20 ) at tileweb.cc:2473 No locals. #15 TilesFramework::_send_player (this=this@entry=0x559b2f5ffc20 , force_full=, force_full@entry=false) at tileweb.cc:1232 item = {base_type = 32, sub_type = 231 '\347', {plus = -19078, mon_type = 46458, skill = 46458, charges = -19078, net_durability = -19078, tithe_state = -19078}, {plus2 = 32766, net_placed = 32766, skill_points = 32766, stash_freshness = 32766}, {special = 2, unrand_idx = 2, subtype_rnd = 2, brand = 2, freshness = 2}, rnd = 0 '\000', quantity = 0, flags = 13873, pos = {x = 0, y = 0}, link = 27000, slot = 0, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }} i = c = @0x559b2f62bf98: {_state_ever_synced = true, name = "parainfection", job_title = "the Covered", wizard = false, explore = false, species = "Human", god = "", under_penance = false, piety_rank = 0, form = 0 '\000', hp = 23, hp_max = 24, real_hp_max = 24, poison_survival = 23, mp = 4, mp_max = 4, dd_real_mp_max = 0, contam = 0, noise = -1, adjusted_noise = 0, armour_class = 5, evasion = 14, shield_class = 0, strength = 16 '\020', intel = 8 '\b', dex = 12 '\f', experience_level = 2, exp_progress = 125 '}', gold = 260, zot_points = 0, elapsed_time = 3259, num_turns = 319, lives = 0, deaths = 0, place = "Dungeon", depth = 3, position = {x = 0, y = 0}, status = std::vector of length 0, capacity 0, inv = {mData = {{base_type = OBJ_ARMOUR, sub_type = 0 '\000', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 0, unrand_idx = 0, subtype_rnd = 0, brand = 0, freshness = 0}, rnd = 145 '\221', quantity = 1, flags = 536870913, pos = {x = -1, y = -1}, link = 0, slot = 97, orig_place = {branch = BRANCH_DUNGEON, depth = 0}, orig_monnum = -102, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 1 element = {["adjusted"] = {type = SV_BOOL, flags = 0 '\000', val = {boolean = true, byte = 1 '\001', _short = 1, _int = 1, _float = 1.40129846e-45, _int64 = 1, ptr = 0x1}}}, }}, {base_type = OBJ_SCROLLS, sub_type = 15 '\017', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 340527, unrand_idx = 340527, subtype_rnd = 340527, brand = 340527, freshness = 340527}, rnd = 238 '\356', quantity = 1, flags = 536871424, 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 0 elements, }}, {base_type = OBJ_ARMOUR, sub_type = 11 '\v', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 0, unrand_idx = 0, subtype_rnd = 0, brand = 0, freshness = 0}, rnd = 128 '\200', quantity = 1, flags = 536871425, pos = {x = -1, y = -1}, link = 2, slot = 99, orig_place = {branch = BRANCH_DUNGEON, depth = 1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_SCROLLS, sub_type = 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 = 338230, unrand_idx = 338230, subtype_rnd = 338230, brand = 338230, freshness = 338230}, rnd = 172 '\254', quantity = 1, flags = 536871424, 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_WEAPONS, sub_type = 4 '\004', {plus = 2, mon_type = MONS_LEOPARD_GECKO, skill = SK_LONG_BLADES, charges = 2, net_durability = 2, tithe_state = 2}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 7, unrand_idx = 7, subtype_rnd = 7, brand = 7, freshness = 7}, rnd = 245 '\365', quantity = 1, flags = 536936961, 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_ARMOUR, sub_type = 6 '\006', {plus = 1, mon_type = MONS_FRILLED_LIZARD, skill = SK_SHORT_BLADES, charges = 1, net_durability = 1, tithe_state = 1}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 248, unrand_idx = 248, subtype_rnd = 248, brand = 248, freshness = 248}, rnd = 0 '\000', quantity = 1, flags = 939532801, pos = {x = -1, y = -1}, link = 5, slot = 102, orig_place = {branch = BRANCH_DUNGEON, depth = 2}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 2 elements = {["artefact_appearance"] = {type = SV_STR, flags = 0 '\000', val = {boolean = 96, byte = 96 '`', _short = 10080, _int = 819996512, _float = 1.63093361e-09, _int64 = 94125028288352, ptr = 0x559b30e02760}}, ["artefact_props"] = {type = SV_VEC, flags = 0 '\000', val = {boolean = 176, byte = -80 '\260', _short = -7248, _int = 820044720, _float = 1.63628577e-09, _int64 = 94125028336560, ptr = 0x559b30e0e3b0}}}, }}, {base_type = OBJ_WANDS, sub_type = 0 '\000', {plus = 9, mon_type = MONS_ADDER, skill = SK_CROSSBOWS, charges = 9, net_durability = 9, tithe_state = 9}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 159, unrand_idx = 159, subtype_rnd = 159, brand = 159, freshness = 159}, rnd = 160 '\240', quantity = 1, flags = 536871425, pos = {x = -1, y = -1}, link = 6, slot = 103, orig_place = {branch = BRANCH_DUNGEON, depth = 2}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_WANDS, sub_type = 11 '\v', {plus = 13, mon_type = MONS_SEA_SNAKE, skill = SK_STEALTH, charges = 13, net_durability = 13, tithe_state = 13}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 88, unrand_idx = 88, subtype_rnd = 88, brand = 88, freshness = 88}, rnd = 144 '\220', quantity = 1, flags = 536871425, pos = {x = -1, y = -1}, link = 7, slot = 104, orig_place = {branch = BRANCH_DUNGEON, depth = 2}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_JEWELLERY, sub_type = 45 '-', {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 = 26, unrand_idx = 26, subtype_rnd = 26, brand = 26, freshness = 26}, rnd = 95 '_', quantity = 1, flags = 536871425, pos = {x = -1, y = -1}, link = 8, slot = 105, orig_place = {branch = BRANCH_DUNGEON, depth = 2}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_UNASSIGNED, sub_type = 0 '\000', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 0, unrand_idx = 0, subtype_rnd = 0, brand = 0, freshness = 0}, rnd = 0 '\000', quantity = 0, flags = 0, pos = {x = 0, y = 0}, link = 27000, slot = 0, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_UNASSIGNED, sub_type = 0 '\000', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 0, unrand_idx = 0, subtype_rnd = 0, brand = 0, freshness = 0}, rnd = 0 '\000', quantity = 0, flags = 0, pos = {x = 0, y = 0}, link = 27000, slot = 0, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_UNASSIGNED, sub_type = 0 '\000', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 0, unrand_idx = 0, subtype_rnd = 0, brand = 0, freshness = 0}, rnd = 0 '\000', quantity = 0, flags = 0, pos = {x = 0, y = 0}, link = 27000, slot = 0, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_UNASSIGNED, sub_type = 0 '\000', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 0, unrand_idx = 0, subtype_rnd = 0, brand = 0, freshness = 0}, rnd = 0 '\000', quantity = 0, flags = 0, pos = {x = 0, y = 0}, link = 27000, slot = 0, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_UNASSIGNED, sub_type = 0 '\000', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 0, unrand_idx = 0, subtype_rnd = 0, brand = 0, freshness = 0}, rnd = 0 '\000', quantity = 0, flags = 0, pos = {x = 0, y = 0}, link = 27000, slot = 0, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_UNASSIGNED, sub_type = 0 '\000', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 0, unrand_idx = 0, subtype_rnd = 0, brand = 0, freshness = 0}, rnd = 0 '\000', quantity = 0, flags = 0, pos = {x = 0, y = 0}, link = 27000, slot = 0, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_UNASSIGNED, sub_type = 0 '\000', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 0, unrand_idx = 0, subtype_rnd = 0, brand = 0, freshness = 0}, rnd = 0 '\000', quantity = 0, flags = 0, pos = {x = 0, y = 0}, link = 27000, slot = 0, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_UNASSIGNED, sub_type = 0 '\000', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 0, unrand_idx = 0, subtype_rnd = 0, brand = 0, freshness = 0}, rnd = 0 '\000', quantity = 0, flags = 0, pos = {x = 0, y = 0}, link = 27000, slot = 0, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_UNASSIGNED, sub_type = 0 '\000', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 0, unrand_idx = 0, subtype_rnd = 0, brand = 0, freshness = 0}, rnd = 0 '\000', quantity = 0, flags = 0, pos = {x = 0, y = 0}, link = 27000, slot = 0, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_UNASSIGNED, sub_type = 0 '\000', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 0, unrand_idx = 0, subtype_rnd = 0, brand = 0, freshness = 0}, rnd = 0 '\000', quantity = 0, flags = 0, pos = {x = 0, y = 0}, link = 27000, slot = 0, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_UNASSIGNED, sub_type = 0 '\000', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 0, unrand_idx = 0, subtype_rnd = 0, brand = 0, freshness = 0}, rnd = 0 '\000', quantity = 0, flags = 0, pos = {x = 0, y = 0}, link = 27000, slot = 0, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_UNASSIGNED, sub_type = 0 '\000', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 0, unrand_idx = 0, subtype_rnd = 0, brand = 0, freshness = 0}, rnd = 0 '\000', quantity = 0, flags = 0, pos = {x = 0, y = 0}, link = 27000, slot = 0, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_UNASSIGNED, sub_type = 0 '\000', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 0, unrand_idx = 0, subtype_rnd = 0, brand = 0, freshness = 0}, rnd = 0 '\000', quantity = 0, flags = 0, pos = {x = 0, y = 0}, link = 27000, slot = 0, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_UNASSIGNED, sub_type = 0 '\000', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 0, unrand_idx = 0, subtype_rnd = 0, brand = 0, freshness = 0}, rnd = 0 '\000', quantity = 0, flags = 0, pos = {x = 0, y = 0}, link = 27000, slot = 0, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_UNASSIGNED, sub_type = 0 '\000', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 0, unrand_idx = 0, subtype_rnd = 0, brand = 0, freshness = 0}, rnd = 0 '\000', quantity = 0, flags = 0, pos = {x = 0, y = 0}, link = 27000, slot = 0, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_UNASSIGNED, sub_type = 0 '\000', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 0, unrand_idx = 0, subtype_rnd = 0, brand = 0, freshness = 0}, rnd = 0 '\000', quantity = 0, flags = 0, pos = {x = 0, y = 0}, link = 27000, slot = 0, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_UNASSIGNED, sub_type = 0 '\000', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 0, unrand_idx = 0, subtype_rnd = 0, brand = 0, freshness = 0}, rnd = 0 '\000', quantity = 0, flags = 0, pos = {x = 0, y = 0}, link = 27000, slot = 0, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_UNASSIGNED, sub_type = 0 '\000', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 0, unrand_idx = 0, subtype_rnd = 0, brand = 0, freshness = 0}, rnd = 0 '\000', quantity = 0, flags = 0, pos = {x = 0, y = 0}, link = 27000, slot = 0, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_UNASSIGNED, sub_type = 0 '\000', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 0, unrand_idx = 0, subtype_rnd = 0, brand = 0, freshness = 0}, rnd = 0 '\000', quantity = 0, flags = 0, pos = {x = 0, y = 0}, link = 27000, slot = 0, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_UNASSIGNED, sub_type = 0 '\000', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 0, unrand_idx = 0, subtype_rnd = 0, brand = 0, freshness = 0}, rnd = 0 '\000', quantity = 0, flags = 0, pos = {x = 0, y = 0}, link = 27000, slot = 0, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_UNASSIGNED, sub_type = 0 '\000', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 0, unrand_idx = 0, subtype_rnd = 0, brand = 0, freshness = 0}, rnd = 0 '\000', quantity = 0, flags = 0, pos = {x = 0, y = 0}, link = 27000, slot = 0, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_UNASSIGNED, sub_type = 0 '\000', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 0, unrand_idx = 0, subtype_rnd = 0, brand = 0, freshness = 0}, rnd = 0 '\000', quantity = 0, flags = 0, pos = {x = 0, y = 0}, link = 27000, slot = 0, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_UNASSIGNED, sub_type = 0 '\000', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 0, unrand_idx = 0, subtype_rnd = 0, brand = 0, freshness = 0}, rnd = 0 '\000', quantity = 0, flags = 0, pos = {x = 0, y = 0}, link = 27000, slot = 0, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_UNASSIGNED, sub_type = 0 '\000', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 0, unrand_idx = 0, subtype_rnd = 0, brand = 0, freshness = 0}, rnd = 0 '\000', quantity = 0, flags = 0, pos = {x = 0, y = 0}, link = 27000, slot = 0, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_UNASSIGNED, sub_type = 0 '\000', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 0, unrand_idx = 0, subtype_rnd = 0, brand = 0, freshness = 0}, rnd = 0 '\000', quantity = 0, flags = 0, pos = {x = 0, y = 0}, link = 27000, slot = 0, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_UNASSIGNED, sub_type = 0 '\000', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 0, unrand_idx = 0, subtype_rnd = 0, brand = 0, freshness = 0}, rnd = 0 '\000', quantity = 0, flags = 0, pos = {x = 0, y = 0}, link = 27000, slot = 0, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_UNASSIGNED, sub_type = 0 '\000', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 0, unrand_idx = 0, subtype_rnd = 0, brand = 0, freshness = 0}, rnd = 0 '\000', quantity = 0, flags = 0, pos = {x = 0, y = 0}, link = 27000, slot = 0, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_UNASSIGNED, sub_type = 0 '\000', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 0, unrand_idx = 0, subtype_rnd = 0, brand = 0, freshness = 0}, rnd = 0 '\000', quantity = 0, flags = 0, pos = {x = 0, y = 0}, link = 27000, slot = 0, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_UNASSIGNED, sub_type = 0 '\000', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 0, unrand_idx = 0, subtype_rnd = 0, brand = 0, freshness = 0}, rnd = 0 '\000', quantity = 0, flags = 0, pos = {x = 0, y = 0}, link = 27000, slot = 0, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_UNASSIGNED, sub_type = 0 '\000', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 0, unrand_idx = 0, subtype_rnd = 0, brand = 0, freshness = 0}, rnd = 0 '\000', quantity = 0, flags = 0, pos = {x = 0, y = 0}, link = 27000, slot = 0, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_UNASSIGNED, sub_type = 0 '\000', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 0, unrand_idx = 0, subtype_rnd = 0, brand = 0, freshness = 0}, rnd = 0 '\000', quantity = 0, flags = 0, pos = {x = 0, y = 0}, link = 27000, slot = 0, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_UNASSIGNED, sub_type = 0 '\000', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 0, unrand_idx = 0, subtype_rnd = 0, brand = 0, freshness = 0}, rnd = 0 '\000', quantity = 0, flags = 0, pos = {x = 0, y = 0}, link = 27000, slot = 0, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_UNASSIGNED, sub_type = 0 '\000', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 0, unrand_idx = 0, subtype_rnd = 0, brand = 0, freshness = 0}, rnd = 0 '\000', quantity = 0, flags = 0, pos = {x = 0, y = 0}, link = 27000, slot = 0, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_UNASSIGNED, sub_type = 0 '\000', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 0, unrand_idx = 0, subtype_rnd = 0, brand = 0, freshness = 0}, rnd = 0 '\000', quantity = 0, flags = 0, pos = {x = 0, y = 0}, link = 27000, slot = 0, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_UNASSIGNED, sub_type = 0 '\000', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 0, unrand_idx = 0, subtype_rnd = 0, brand = 0, freshness = 0}, rnd = 0 '\000', quantity = 0, flags = 0, pos = {x = 0, y = 0}, link = 27000, slot = 0, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_UNASSIGNED, sub_type = 0 '\000', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 0, unrand_idx = 0, subtype_rnd = 0, brand = 0, freshness = 0}, rnd = 0 '\000', quantity = 0, flags = 0, pos = {x = 0, y = 0}, link = 27000, slot = 0, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_UNASSIGNED, sub_type = 0 '\000', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 0, unrand_idx = 0, subtype_rnd = 0, brand = 0, freshness = 0}, rnd = 0 '\000', quantity = 0, flags = 0, pos = {x = 0, y = 0}, link = 27000, slot = 0, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_UNASSIGNED, sub_type = 0 '\000', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 0, unrand_idx = 0, subtype_rnd = 0, brand = 0, freshness = 0}, rnd = 0 '\000', quantity = 0, flags = 0, pos = {x = 0, y = 0}, link = 27000, slot = 0, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_UNASSIGNED, sub_type = 0 '\000', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 0, unrand_idx = 0, subtype_rnd = 0, brand = 0, freshness = 0}, rnd = 0 '\000', quantity = 0, flags = 0, pos = {x = 0, y = 0}, link = 27000, slot = 0, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_UNASSIGNED, sub_type = 0 '\000', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 0, unrand_idx = 0, subtype_rnd = 0, brand = 0, freshness = 0}, rnd = 0 '\000', quantity = 0, flags = 0, pos = {x = 0, y = 0}, link = 27000, slot = 0, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_UNASSIGNED, sub_type = 0 '\000', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 0, unrand_idx = 0, subtype_rnd = 0, brand = 0, freshness = 0}, rnd = 0 '\000', quantity = 0, flags = 0, pos = {x = 0, y = 0}, link = 27000, slot = 0, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_UNASSIGNED, sub_type = 0 '\000', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 0, unrand_idx = 0, subtype_rnd = 0, brand = 0, freshness = 0}, rnd = 0 '\000', quantity = 0, flags = 0, pos = {x = 0, y = 0}, link = 27000, slot = 0, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_UNASSIGNED, sub_type = 0 '\000', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 0, unrand_idx = 0, subtype_rnd = 0, brand = 0, freshness = 0}, rnd = 0 '\000', quantity = 0, flags = 0, pos = {x = 0, y = 0}, link = 27000, slot = 0, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}}}, inv_uselessness = {mData = {false }}, offhand_weapon = false, quiver_item = -1 '\377', quiver_desc = "Nothing quivered", unarmed_attack = "Nothing wielded", unarmed_attack_colour = 7 '\a', quiver_available = false, weapon_index = 4 '\004', offhand_index = -1 '\377'} spectator = false god = "" prank = max_max_hp = place = short_name = "Dungeon" pos = weapon = offhand = #16 0x0000559b2f0c4c42 in TilesFramework::redraw (this=this@entry=0x559b2f5ffc20 ) at tileweb.cc:2209 No locals. #17 0x0000559b2f0ca5b1 in _get_key_from_curses () at libunix.cc:527 c = 796258272 c = c = #18 getch_ck () at libunix.cc:616 c = #19 0x0000559b2ec16bf5 in _getch_mul () at macro.cc:838 keys = std::deque with 137649 elements = {27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27...} a = 27 #20 0x0000559b2ec1a6b8 in getchm (mc=mc@entry=KMC_DEFAULT) at macro.cc:860 a = keys = std::deque with 137649 elements = {27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27...} #21 0x0000559b2ee1cece in attribute_increase () at player-stats.cc:116 need_caps = true statgain = stat_gain_message = "Your experience leads to an increase in your attributes!" mc = {m_previous_mode = MOUSE_MODE_NORMAL} tried_lua = keyin = #22 0x0000559b2ee34d22 in level_change (skip_attribute_increase=skip_attribute_increase@entry=false) at player.cc:2794 manual_stat_level = gained_felid_life = false new_exp = 3 updated_maxhp = false #23 0x0000559b2f0d7d50 in _launch_game () at main.cc:479 game_start = ccon = #24 0x0000559b2e86ec07 in _launch_game_loop () at main.cc:392 game_ended = false game_ended = ge = fe = #25 main (argc=13, argv=0x7ffeb57af2a8) at main.cc:342 echo = {prev_state = {value = maybe_bool::mbool_t::maybe, static maybe = {value = maybe_bool::mbool_t::maybe, static maybe = , static t = {value = maybe_bool::mbool_t::t, static maybe = , static t = , static f = {value = maybe_bool::mbool_t::f, static maybe = , static t = , static f = }}, static f = }}} [Inferior 1 (process 1265478) detached] Compilation info: <<<<<<<<<<< Compiled with GCC 13.2.0 Build platform: x86_64-linux-gnu Platform: x86_64-linux-gnu CFLAGS: -O2 -pipe -DUSE_TILE -DUSE_TILE_WEB -Wall -Wformat-security -Wundef -Wextra -Wno-missing-field-initializers -Wno-implicit-fallthrough -Wno-type-limits -Wno-uninitialized -Wno-array-bounds -Wno-format-zero-length -Wmissing-declarations -Wredundant-decls -Wno-parentheses -Wwrite-strings -Wshadow -pedantic -Wuninitialized -Iutil -I. -isystem /usr/include/lua5.1 -g -DWIZARD -DASSERTS -DREGEX_PCRE -DCLUA_BINDINGS -DDGAMELAUNCH -DSAVE_DIR_PATH="/crawl-master/crawl-0.33/saves" -DDATA_DIR_PATH="/crawl-master/crawl-0.33/data/" -DWEB_DIR_PATH="/crawl-master/crawl-0.33/data/web/" -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 LDFLAGS: -rdynamic -fuse-ld=gold -O2 >>>>>>>>>>> Place info: branch = 0, depth = 3 Level id: D:3 Level build method = random_map_for_place, level layout type = encompass, absdepth0 = 2 Level vaults: tutorial_lesson3_level3 Markers: <<<<<<<<<<<<<<<<<<<<<< >>>>>>>>>>>>>>>>>>>>>> Messages: <<<<<<<<<<<<<<<<<<<<<< In this lesson you're going to learn about items and how to use them. You can reread all messages at any time with [Ctrl-P]. Also, press [Space] to clear the --more-- prompts. Found a pair of boots. Found three staircases leading out of the dungeon. Pick up these boots with [,] and wear them with [e]. You see here a +0 pair of boots. You are a level 1 Human Fighter. You are 0% of the way to level 2. Play time: 00:00:11 (4 turns). Zot will find you in 5996 turns if you stay in this branch and explore no new floors. Found a scroll labelled FAJOYD UTAE. Some types of items, marked with a green frame, are picked up automatically as you step on them. Many items are unidentified when you find them. One way to find out what they do is to use them. Try reading this scroll with [r]. b - a scroll labelled FAJOYD UTAE You aren't wearing any rings or amulets. Many items are unidentified when you find them. One way to find out what they do is to use them. Try reading this scroll with [r]. You aren't wearing any rings or amulets. You aren't wearing any rings or amulets. You aren't wearing any rings or amulets. Some types of items, marked with a green frame, are picked up automatically as you step on them. Pick up these boots with [,] and wear them with [e]. You see here a +0 pair of boots. Pick up these boots with [,] and wear them with [e]. You see here a +0 pair of boots. You are a level 1 Human Fighter. You are 0% of the way to level 2. Play time: 00:00:30 (27 turns). Zot will find you in 5973 turns if you stay in this branch and explore no new floors. Pick up these boots with [,] and wear them with [e]. You see here a +0 pair of boots. You are a level 1 Human Fighter. You are 0% of the way to level 2. Play time: 00:00:33 (29 turns). Zot will find you in 5971 turns if you stay in this branch and explore no new floors. c - a +0 pair of boots Some types of items, marked with a green frame, are picked up automatically as you step on them. Unknown command. Unknown command. Unknown command. You open the door. Found a scroll labelled CATAISTR VAMP. There is an open door here. A goblin comes into view. The goblin shouts! Autopickup does not work if there's a monster around. You can either pick up this scroll now with [,] or you can fight the nearby enemy and pick it up afterwards. You see here a scroll labelled CATAISTR VAMP. You aren't wearing any rings or amulets. d - a scroll labelled CATAISTR VAMP The goblin hits you but does no damage. The goblin hits you but does no damage. You closely miss the goblin. The goblin hits you. You hit the goblin. The goblin is moderately wounded. You hit the goblin. The goblin is heavily wounded. The goblin barely misses you. You hit the goblin but do no damage. The goblin is heavily wounded. The goblin barely misses you. You hit the goblin. You kill the goblin! You open the door. Found a glowing flail. There is an open door here. An item described as runed or glowing will always be enchanted, or have special properties, or both. Once you step on top of such an item, its properties will be revealed to you. You see here a +2 flail of venom. e - a +2 flail of venom You are a level 1 Human Fighter. You are 10% of the way to level 2. Play time: 00:01:13 (75 turns). Zot will find you in 5925 turns if you stay in this branch and explore no new floors. Your +2 flail of venom begins to drip with poison! e - a +2 flail of venom (weapon) You start putting on your armour. You continue putting on your +0 pair of boots. x5 You finish putting on your +0 pair of boots. Okay, then. To view the description of your new weapon, find and select it in your inventory ([i]). Notice that all the item commands also work from the item description screens. Once you've successfully managed to poison a monster, it is sometimes best to retreat and let the poison do the work. Don't forget to retreat to heal too, if necessary. You open the door. A rat and 2 giant cockroaches come into view. The rat squeaks loudly. You hear a shout! A giant cockroach comes into view. A hobgoblin comes into view. The rat bites you but does no damage. There is an open door here. You barely miss the rat. The rat barely misses you. You thump the rat! You kill the rat! A giant cockroach comes into view. A rat comes into view. The giant cockroach bites you but does no damage. The rat squeaks loudly. You thump the giant cockroach! You kill the giant cockroach! You sock the giant cockroach! You kill the giant cockroach! The giant cockroach bites you but does no damage. You hit the giant cockroach. The giant cockroach is poisoned. The giant cockroach is severely wounded. You kill the giant cockroach! You sock the hobgoblin! You kill the hobgoblin! The giant cockroach bites you but does no damage. You have reached level 2! You hit the giant cockroach. You kill the giant cockroach! The rat misses you. You barely miss the rat. The rat bites you but does no damage. You hit the rat. You kill the rat! Items here: ††††. Found two stone staircases leading down. Well fought! If necessary, rest up with [5], then continue downwards with [>]. There is a stone staircase leading down here. You can't go up here! You climb downwards. If the many commands are too confusing, you can also look them up in the command help [?]. Rereading old messages with [Ctrl-P] is available as usual. There is a stone staircase leading up here. Traps can have a variety of unpleasant effects, such as alerting monsters or teleporting you into danger. Some traps are permanent and will always be revealed as part of the map, but other traps can be triggered by exploring new tiles, and won't exist after being triggered. If there's no way around, you'll have to trigger the trap and deal with the consequences. Okay, then. You hear a click... Luckily, nothing happens. There is a pressure plate here. Found a fizzy puce potion. Potions may provide vital healing or useful enchantments, but some have less desirable effects. You can quaff this potion with [q] to discover what it does. f - a fizzy puce potion It was a potion of curing. You feel better. A goblin comes into view. It is wielding a +0 sling. The goblin shouts! The goblin shoots a sling bullet. The sling bullet barely misses you. The goblin throws a stone. The stone hits you but does no damage. The goblin shoots a sling bullet. The sling bullet misses you. The goblin throws a stone. The stone barely misses you. The goblin unwields a +0 sling. The goblin wields a +0 dagger. The goblin hits you with a +0 dagger. You closely miss the goblin. The goblin misses you. You barely miss the goblin. The goblin completely misses you. You miss the goblin. The goblin hits you with a +0 dagger. The goblin barely misses you. You hit the goblin. The goblin is heavily wounded. The goblin barely misses you. You thump the goblin! You kill the goblin! Things that are here: a +0 dagger; a +0 sling; 30 stones There are a lot of items here. You choose what to pick up from a menu: press , to enter the pickup menu. To leave the menu, confirm your selection with Enter. Okay, then. You open the door. Found the +1 cloak of Starlight {*Dazzle EV+4 Stlth--}. There is an open door here. Items with unusual names are artefacts. Artefacts can have a number of special properties. Some unique artefacts (such as this cloak) are always identified and may have special properties that cannot be found anywhere else! Others are generated with a random selection of properties, and are unidentified until you step on top of them. Try equipping this cloak with [e]. You see here the +1 cloak of Starlight {*Dazzle EV+4 Stlth--}. You start putting on your armour. You continue putting on the +1 cloak of Starlight {*Dazzle EV+4 Stlth--}. x5 You finish putting on the +1 cloak of Starlight {*Dazzle EV+4 Stlth--}. You open the door. Found a wand of flame (9). There is an open door here. You can evoke a wand with [V]. g - a wand of flame (9) Okay, then. Okay, then. Hit: e) +2 flail (venom) Press: ? - help, Dir - move target You swing at nothing. You can evoke a wand with [V]. You open the door. A gnoll comes into view. It is wielding a +0 spear. The gnoll shouts! There is an open door here. The gnoll hits you but does no damage. Hit: e) +2 flail (venom) Press: ? - help, Dir - move target Aim: a gnoll, wielding a +0 spear (62% to hit) You thump the gnoll! The gnoll is poisoned. The gnoll is heavily wounded. The gnoll closely misses you. The gnoll is blinded by the light from your cloak! You barely miss the gnoll. The gnoll is almost dead. You kill the gnoll! You see here a +0 spear. Found a wand of digging (15). A wand of digging can destroy rock walls. Use [x][v] to check wall types. h - a wand of digging (15) Press: ? - help, . - travel You can't see that place. Press: ? - help, v - describe, . - travel A crystal wall. Press: ? - help, v - describe, . - travel A crystal wall. Aiming: Dig Press: ? - help, Shift-Dir - straight line A rock wall. The rock shatters into small pieces. Hit: e) +2 flail (venom) Press: ? - help, Dir - move target There's something in the way. Hit: e) +2 flail (venom) Press: ? - help, Dir - move target Okay, then. Aiming: Dig Press: ? - help, Shift-Dir - straight line A rock wall. The rock shatters into small pieces. Found a dented lapis lazuli amulet. Jewellery is put on with [e]. i - an amulet of faith You start putting on your amulet. You continue putting on your amulet of faith. x5 You finish putting on your amulet of faith. You feel a strange surge of divine interest. i - an amulet of faith (worn) You open the door. Found a stone staircase leading down. There is an open door here. This amulet would be very powerful if your character had a god to worship, but here and now, it's useless. You may want to drop it with [d]. There is a stone staircase leading down here. You climb downwards. If the many commands are too confusing, you can also look them up in the command help [?]. Rereading old messages with [Ctrl-P] is available as usual. There is a stone staircase leading up here. Found 40 gold pieces. Gold can be spent in shops. It takes no inventory space and cannot be dropped. You now have 40 gold pieces. Gold can be spent in shops. It takes no inventory space and cannot be dropped. You enter the shallow water. Moving in this stuff is going to be slow. Shops offer a variety of items, but they don't buy items from anyone. Found Tomnut's General Store. To enter this shop, press [<]. To buy items, select them with their hotkey, hit [Enter] and confirm with [y]es. You can switch to description mode with [!]. There is an entrance to Tomnut's General Store here. Unknown command. Remember, you can explore the level automatically with [o]. Found 220 gold pieces. Found an exit from the tutorial. Why would you want to do that? Why would you want to do that? You enter the shallow water. Moving in this stuff is going to be slow. You enter the shallow water. Moving in this stuff is going to be slow. You now have enough gold to do some serious shopping! The quickest way back to the shop is by searching for it. Type [Ctrl-F], and then enter “shop”. Select the result to start travelling. You now have 260 gold pieces (gained 220). Warning, this way leads to a difficult battle. You may choose to use what you've learned so far in a fight, or try to reach the other exit on the island. Either way, it may be a good idea to do some shopping, if you haven't already. You open the door. 2 orcs, an ufetubus and 3 gnolls come into view. The orc shouts! The ufetubus shouts! The gnoll shouts! x2 Found two exits from the tutorial. You hit the gnoll. The gnoll is moderately wounded. The gnoll closely misses you. The gnoll misses you. The gnoll hits you but does no damage. The gnoll barely misses you. You sock the gnoll! You kill the gnoll! The ufetubus hits you. The ufetubus barely misses you. The gnoll barely misses you. Your Maces & Flails skill increases to level 1! One of your skills just reached a milestone. The skills you use are automatically trained whenever you gain experience, by killing monsters. By default, experience goes to skills you actively use. To view or manage your skills, type m. You have reached level 3! Your experience leads to an increase in your attributes! Upon gaining levels 3, 9, 15, etc., you get to choose an attribute to raise: strength, intelligence, or dexterity. Strength makes heavy armour less cumbersome and slightly increases most weapons' damage. Intelligence makes your spells more reliable and powerful. Dexterity increases your evasion and stealth, and slightly increases the damage of blades and ranged weapons. Increase (S)trength, (I)ntelligence, or (D)exterity? You have reached level 3! Your experience leads to an increase in your attributes! Increase (S)trength, (I)ntelligence, or (D)exterity? You have reached level 3! Your experience leads to an increase in your attributes! Increase (S)trength, (I)ntelligence, or (D)exterity? >>>>>>>>>>>>>>>>>>>>>> Version history: Game started: 0.33.1-2-ga6f4b62f22 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: 7, map_stat_gen: 0, type: 2, arena_suspended: 0 prev_cmd = CMD_NO_CMD repeat_cmd = CMD_NO_CMD Player: {{{{{{{{{{{ Name: [parainfection] Species: Human Job: Fighter HP: 23/24; mods: 0/0 MP: 4/4; mod: 2 Stats: 16 8 12 Position: (28, 31), god: No God (0), turn_is_over: 0, banished: 0 Standing on/in/over feature: floor Skills (mode: auto) Name | can_currently_train | train | training | level | points | progress Fighting | X | 1 | 32 | 3 | 349 | 49/200 Short Blades | X | 1 | 0 | 0 | 0 | 0/50 Long Blades | X | 1 | 0 | 0 | 0 | 0/50 Axes | X | 1 | 0 | 0 | 0 | 0/50 Maces & Flails | X | 1 | 21 | 1 | 62 | 12/100 Polearms | X | 1 | 0 | 0 | 0 | 0/50 Staves | X | 1 | 0 | 0 | 0 | 0/50 Ranged Weapons | X | 1 | 0 | 0 | 0 | 0/50 Throwing | X | 1 | 0 | 0 | 0 | 0/50 Armour | X | 1 | 27 | 3 | 432 | 132/200 Dodging | X | 1 | 7 | 0 | 11 | 11/50 Stealth | X | 1 | 1 | 0 | 0 | 0/42 Shields | X | 1 | 0 | 0 | 0 | 0/50 Unarmed Combat | X | 1 | 11 | 2 | 153 | 3/150 Spellcasting | X | 1 | 0 | 0 | 0 | 0/59 Conjurations | X | 1 | 0 | 0 | 0 | 0/50 Hexes | X | 1 | 0 | 0 | 0 | 0/50 Summonings | X | 1 | 0 | 0 | 0 | 0/50 Necromancy | X | 1 | 0 | 0 | 0 | 0/50 Translocations | X | 1 | 0 | 0 | 0 | 0/50 Forgecraft | X | 1 | 0 | 0 | 0 | 0/50 Fire Magic | X | 1 | 0 | 0 | 0 | 0/50 Ice Magic | X | 1 | 0 | 0 | 0 | 0/50 Air Magic | X | 1 | 0 | 0 | 0 | 0/50 Earth Magic | X | 1 | 0 | 0 | 0 | 0/50 Alchemy | X | 1 | 0 | 0 | 0 | 0/50 Invocations | X | 1 | 0 | 0 | 0 | 0/42 Evocations | X | 1 | 1 | 0 | 0 | 0/50 Shapeshifting | X | 1 | 0 | 0 | 0 | 0/59 Spell bugs: Durations: Attributes: #12: 260 #49: 260 Mutations: explore regen: 1 (innate) Inventory bugs: Equipment: eq slot #3, inv slot #0: +0 robe eq slot #1, inv slot #4: +2 flail of venom eq slot #6, inv slot #2: +0 pair of boots eq slot #8, inv slot #5: +1 cloak of Starlight {*Dazzle EV+4 Stlth--} eq slot #10, inv slot #8: amulet of faith }}}}}}}}}}} Webtiles message buffer: {"msg":"player","inv":{ Webtiles JSON stack: start: 0 end: 15 type: } start: 15 end: 23 type: } start: 23 end: 0 type: Screenshot: ######### #.>...>.# #.......# ....... ...o. joj #5# ♣@♣ ♣.♣♣ ♣♣.♣ ♣♣.♣ ♣♣..♣♣♣♣ ♣♣♣...♣..♣ ♣♣ ♣♣.......♣♣♣.♣♣ ♣.............♣♣ ♣..≈≈≈≈≈≈....♣..♣ ♣♣♣ clua stack: dlua stack: Lua persistent data: <<<<<<<<<<<<<<<<<<<<<< >>>>>>>>>>>>>>>>>>>>>> Lua marker contents: <<<<<<<<<<<<<<<<<<<<<< Lua marker 0 at (26, 25): {{{{ CLASS: TriggerableFunction repeated: true listeners: func: CLASS: FunctionWrapper name: tutorial_messenger_db fn: [type function] props: triggerers: 1: CLASS: DgnTriggerer method: dgn_event type: player_move activating: false dgn_trigs_by_type: 4: 1: 1 activated: true data: onetime: false text: tutorial3 tutorial_end exit: false }}}} Lua marker 1 at (26, 25): {{{{ CLASS: OneWayStair props: dst: tutorial_lesson3 onclimb: CLASS: FunctionWrapper name: tutorial3.win fn: [type function] desc: exit from the tutorial }}}} Lua marker 2 at (28, 43): {{{{ CLASS: TriggerableFunction repeated: true listeners: func: CLASS: FunctionWrapper name: tutorial_messenger_db fn: [type function] props: triggerers: 1: CLASS: DgnTriggerer method: dgn_event type: player_move activating: false dgn_trigs_by_type: 4: 1: 1 activated: true data: onetime: false text: tutorial3 tutorial_end exit: false }}}} Lua marker 3 at (28, 43): {{{{ CLASS: OneWayStair props: dst: tutorial_lesson3 onclimb: CLASS: FunctionWrapper name: tutorial3.win fn: [type function] desc: exit from the tutorial }}}} Lua marker 4 at (29, 34): {{{{ CLASS: TriggerableFunction repeated: true listeners: func: CLASS: FunctionWrapper name: tutorial_messenger_db fn: [type function] props: triggerers: 1: CLASS: DgnTriggerer method: dgn_event type: player_move activating: false dgn_trigs_by_type: 4: 1: 1 activated: true data: onetime: false text: tutorial3 optional_battle exit: false }}}} Lua marker 5 at (30, 25): {{{{ CLASS: TriggerableFunction repeated: true listeners: func: CLASS: FunctionWrapper name: tutorial_messenger_db fn: [type function] props: triggerers: 1: CLASS: DgnTriggerer method: dgn_event type: player_move activating: false dgn_trigs_by_type: 4: 1: 1 activated: true data: onetime: false text: tutorial3 tutorial_end exit: false }}}} Lua marker 6 at (30, 25): {{{{ CLASS: OneWayStair props: dst: tutorial_lesson3 onclimb: CLASS: FunctionWrapper name: tutorial3.win fn: [type function] desc: exit from the tutorial }}}} Lua marker 7 at (31, 38): {{{{ CLASS: TriggerableFunction repeated: true listeners: func: CLASS: FunctionWrapper name: tutorial_messenger_db fn: [type function] props: triggerers: 1: CLASS: DgnTriggerer method: dgn_event type: player_move activating: false dgn_trigs_by_type: 4: 1: 1 activated: true data: onetime: false text: tutorial3 go_shopping exit: false }}}} Lua marker 8 at (49, 43): {{{{ CLASS: TriggerableFunction repeated: true listeners: func: CLASS: FunctionWrapper name: tutorial_messenger_db fn: [type function] props: triggerers: 1: CLASS: DgnTriggerer method: dgn_event type: player_move activating: false dgn_trigs_by_type: 4: 1: 1 activated: true data: onetime: false text: tutorial3 autoexplore_reminder exit: false }}}} Lua marker 9 at (58, 32): {{{{ CLASS: TriggerableFunction repeated: true listeners: func: CLASS: FunctionWrapper name: tutorial_messenger_db fn: [type function] props: triggerers: 1: CLASS: DgnTriggerer method: dgn_event type: player_move activating: false dgn_trigs_by_type: 4: 1: 1 activated: true data: onetime: false text: tutorial3 gold exit: false }}}} Lua marker 10 at (61, 44): {{{{ CLASS: TriggerableFunction repeated: true listeners: func: CLASS: FunctionWrapper name: tutorial_messenger_db fn: [type function] props: triggerers: 1: CLASS: DgnTriggerer method: dgn_event type: player_move activating: false dgn_trigs_by_type: 4: 1: 1 activated: true data: onetime: false text: tutorial3 enter_shop exit: false }}}} Lua marker 11 at (62, 42): {{{{ CLASS: TriggerableFunction repeated: true listeners: func: CLASS: FunctionWrapper name: tutorial_messenger_db fn: [type function] props: triggerers: 1: CLASS: DgnTriggerer method: dgn_event type: player_move activating: false dgn_trigs_by_type: 4: 1: 1 activated: true data: onetime: false text: tutorial3 shop exit: false }}}} >>>>>>>>>>>>>>>>>>>>>>