Crash caused by signal #6: Aborted Version: Dungeon Crawl Stone Soup 0.32.0-20-g245f4a553c Platform: unix Bits: 64 Game mode: tutorial Tiles: online Seed: 10547295391937277140, deterministic pregen: 1 Command line: /usr/games/crawl-0.32 -name Reyalz -rc /dgldir/rcfiles/crawl-0.32/Reyalz.rc -macro /dgldir/rcfiles/crawl-0.32/Reyalz.macro -morgue /dgldir/morgue/Reyalz/ -tutorial -webtiles-socket /crawl-master/webserver/sockets/Reyalz:2024-09-19.07:00:02.sock -await-connection RC options: restart_after_game = false Crash caused by signal #6: Aborted Obtained 18 stack frames. /usr/games/crawl-0.32(_Z17write_stack_traceP8_IO_FILE+0x3e) [0x5925dd189ffe]: write_stack_trace(_IO_FILE*) /usr/games/crawl-0.32(_Z13do_crash_dumpv+0x43a) [0x5925dd19815a]: do_crash_dump() /usr/games/crawl-0.32(_Z20crash_signal_handleri+0x1fa) [0x5925dd18a4da]: crash_signal_handler(int) /lib/x86_64-linux-gnu/libc.so.6(+0x42910) [0x78d121842910]: /usr/games/crawl-0.32(_ZNK6player14scan_artefactsE18artefact_prop_typePSt6vectorIPK8item_defSaIS4_EE+0x6) [0x5925dd66b926]: player::scan_artefacts(artefact_prop_type, std::vector >*) const /usr/games/crawl-0.32(_ZNK6player8max_statE9stat_typeb+0x24d) [0x5925dd65205d]: player::max_stat(stat_type, bool) const /usr/games/crawl-0.32(_ZN14TilesFramework12_send_playerEb+0x8a7) [0x5925dd8dc1c7]: TilesFramework::_send_player(bool) /usr/games/crawl-0.32(_ZN14TilesFramework6redrawEv+0x72) [0x5925dd8e14a2]: TilesFramework::redraw() /usr/games/crawl-0.32(_Z8getch_ckv+0x111) [0x5925dd8e67f1]: getch_ck() /usr/games/crawl-0.32(+0x770b15) [0x5925dd462b15]: /usr/games/crawl-0.32(_Z6getchm13KeymapContext+0x68) [0x5925dd4665d8]: getchm(KeymapContext) /usr/games/crawl-0.32(_Z18attribute_increasev+0x216) [0x5925dd652fe6]: attribute_increase() /usr/games/crawl-0.32(_Z12level_changeb+0x1f2) [0x5925dd66f172]: level_change(bool) /usr/games/crawl-0.32(+0xc02400) [0x5925dd8f4400]: /usr/games/crawl-0.32(main+0x1f7) [0x5925dd0c3fe7]: /lib/x86_64-linux-gnu/libc.so.6(+0x280d0) [0x78d1218280d0]: /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0x89) [0x78d121828189]: /usr/games/crawl-0.32(_start+0x25) [0x5925dd0c4a05]: 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". 0x000078d12190fbf7 in __GI___wait4 (pid=2261934, stat_loc=0x0, options=0, usage=0x0) at ../sysdeps/unix/sysv/linux/wait4.c:30 #0 0x000078d12190fbf7 in __GI___wait4 (pid=2261934, stat_loc=0x0, options=0, usage=0x0) at ../sysdeps/unix/sysv/linux/wait4.c:30 sc_ret = -512 sc_ret = #1 0x00005925dd18a6ac in call_gdb (file=0x78d1219ff6c0 <_IO_2_1_stderr_>) at crash.cc:438 gdb = attach_cmd = "attach 2261886\000\000\000\000\000" #2 0x00005925dd198178 in do_crash_dump () at dbg-asrt.cc:692 t = 1726729213 dir = "/dgldir/morgue/Reyalz/" name = "/dgldir/morgue/Reyalz/crash-Reyalz-20240919-070013.txt", '\000' signal_info = "Crash caused by signal #6: Aborted" cause_msg = "Crash caused by signal #6: Aborted" file = 0x78d1219ff6c0 <_IO_2_1_stderr_> #3 0x00005925dd18a4da in crash_signal_handler (sig_num=6) at crash.cc:198 No locals. #4 No locals. #5 0x00005925dd66b926 in player::scan_artefacts (this=this@entry=0x5925dde39e80 , which_property=which_property@entry=ARTP_STRENGTH, matches=matches@entry=0x0) at player.cc:3732 retval = #6 0x00005925dd65205d in _strength_modifier (innate_only=false) at player-stats.cc:330 result = 0 result = #7 _stat_modifier (innate_only=false, stat=STAT_STR) at player-stats.cc:427 No locals. #8 player::max_stat (this=, s=s@entry=STAT_STR, innate=innate@entry=false) at player-stats.cc:64 No locals. #9 0x00005925dd65214d in player::max_strength (this=) at player-stats.cc:69 No locals. #10 0x00005925dd8dc1c7 in TilesFramework::_send_player (this=this@entry=0x5925dddeee20 , force_full=force_full@entry=false) at tileweb.cc:1140 c = @0x5925dde1b198: {_state_ever_synced = true, name = "Reyalz", job_title = "the Trooper", wizard = false, explore = false, species = "Human", god = "", under_penance = false, piety_rank = 0, form = 0 '\000', hp = 24, hp_max = 24, real_hp_max = 24, poison_survival = 24, mp = 8, mp_max = 14, dd_real_mp_max = 0, contam = 0, noise = -1, adjusted_noise = 0, armour_class = 2, evasion = 10, shield_class = 0, strength = 16 '\020', strength_max = 16 '\020', intel = 8 '\b', intel_max = 8 '\b', dex = 12 '\f', dex_max = 12 '\f', experience_level = 2, exp_progress = 104 'h', gold = 0, zot_points = 0, elapsed_time = 3278, num_turns = 329, lives = 0, deaths = 0, place = "Dungeon", depth = 1, 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 = 236 '\354', quantity = 1, flags = 15, pos = {x = -1, y = -1}, link = 0, slot = 97, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = -102, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_JEWELLERY, sub_type = 17 '\021', {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 = 189 '\275', quantity = 1, flags = 15, 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_JEWELLERY, sub_type = 16 '\020', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 19, unrand_idx = 19, subtype_rnd = 19, brand = 19, freshness = 19}, rnd = 225 '\341', quantity = 1, flags = 15, 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_UNASSIGNED, sub_type = 0 '\000', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 0, unrand_idx = 0, subtype_rnd = 0, brand = 0, freshness = 0}, rnd = 1 '\001', quantity = 0, flags = 0, pos = {x = 0, y = 0}, link = 27000, slot = 0, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_UNASSIGNED, sub_type = 0 '\000', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 0, unrand_idx = 0, subtype_rnd = 0, brand = 0, freshness = 0}, rnd = 1 '\001', quantity = 0, flags = 0, pos = {x = 0, y = 0}, link = 27000, slot = 0, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_UNASSIGNED, sub_type = 0 '\000', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 0, unrand_idx = 0, subtype_rnd = 0, brand = 0, freshness = 0}, rnd = 1 '\001', quantity = 0, flags = 0, pos = {x = 0, y = 0}, link = 27000, slot = 0, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_UNASSIGNED, sub_type = 0 '\000', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 0, unrand_idx = 0, subtype_rnd = 0, brand = 0, freshness = 0}, rnd = 1 '\001', quantity = 0, flags = 0, pos = {x = 0, y = 0}, link = 27000, slot = 0, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_UNASSIGNED, sub_type = 0 '\000', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 0, unrand_idx = 0, subtype_rnd = 0, brand = 0, freshness = 0}, rnd = 1 '\001', quantity = 0, flags = 0, pos = {x = 0, y = 0}, link = 27000, slot = 0, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_UNASSIGNED, sub_type = 0 '\000', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 0, unrand_idx = 0, subtype_rnd = 0, brand = 0, freshness = 0}, rnd = 1 '\001', quantity = 0, flags = 0, pos = {x = 0, y = 0}, link = 27000, slot = 0, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_UNASSIGNED, sub_type = 0 '\000', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 0, unrand_idx = 0, subtype_rnd = 0, brand = 0, freshness = 0}, rnd = 1 '\001', quantity = 0, flags = 0, pos = {x = 0, y = 0}, link = 27000, slot = 0, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_UNASSIGNED, sub_type = 0 '\000', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 0, unrand_idx = 0, subtype_rnd = 0, brand = 0, freshness = 0}, rnd = 1 '\001', quantity = 0, flags = 0, pos = {x = 0, y = 0}, link = 27000, slot = 0, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_UNASSIGNED, sub_type = 0 '\000', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 0, unrand_idx = 0, subtype_rnd = 0, brand = 0, freshness = 0}, rnd = 1 '\001', quantity = 0, flags = 0, pos = {x = 0, y = 0}, link = 27000, slot = 0, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_UNASSIGNED, sub_type = 0 '\000', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 0, unrand_idx = 0, subtype_rnd = 0, brand = 0, freshness = 0}, rnd = 1 '\001', quantity = 0, flags = 0, pos = {x = 0, y = 0}, link = 27000, slot = 0, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_UNASSIGNED, sub_type = 0 '\000', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 0, unrand_idx = 0, subtype_rnd = 0, brand = 0, freshness = 0}, rnd = 1 '\001', quantity = 0, flags = 0, pos = {x = 0, y = 0}, link = 27000, slot = 0, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_UNASSIGNED, sub_type = 0 '\000', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 0, unrand_idx = 0, subtype_rnd = 0, brand = 0, freshness = 0}, rnd = 1 '\001', quantity = 0, flags = 0, pos = {x = 0, y = 0}, link = 27000, slot = 0, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_UNASSIGNED, sub_type = 0 '\000', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 0, unrand_idx = 0, subtype_rnd = 0, brand = 0, freshness = 0}, rnd = 1 '\001', quantity = 0, flags = 0, pos = {x = 0, y = 0}, link = 27000, slot = 0, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_UNASSIGNED, sub_type = 0 '\000', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 0, unrand_idx = 0, subtype_rnd = 0, brand = 0, freshness = 0}, rnd = 1 '\001', quantity = 0, flags = 0, pos = {x = 0, y = 0}, link = 27000, slot = 0, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_UNASSIGNED, sub_type = 0 '\000', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 0, unrand_idx = 0, subtype_rnd = 0, brand = 0, freshness = 0}, rnd = 1 '\001', quantity = 0, flags = 0, pos = {x = 0, y = 0}, link = 27000, slot = 0, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_UNASSIGNED, sub_type = 0 '\000', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 0, unrand_idx = 0, subtype_rnd = 0, brand = 0, freshness = 0}, rnd = 1 '\001', quantity = 0, flags = 0, pos = {x = 0, y = 0}, link = 27000, slot = 0, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_UNASSIGNED, sub_type = 0 '\000', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 0, unrand_idx = 0, subtype_rnd = 0, brand = 0, freshness = 0}, rnd = 1 '\001', quantity = 0, flags = 0, pos = {x = 0, y = 0}, link = 27000, slot = 0, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_UNASSIGNED, sub_type = 0 '\000', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 0, unrand_idx = 0, subtype_rnd = 0, brand = 0, freshness = 0}, rnd = 1 '\001', quantity = 0, flags = 0, pos = {x = 0, y = 0}, link = 27000, slot = 0, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_UNASSIGNED, sub_type = 0 '\000', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 0, unrand_idx = 0, subtype_rnd = 0, brand = 0, freshness = 0}, rnd = 1 '\001', quantity = 0, flags = 0, pos = {x = 0, y = 0}, link = 27000, slot = 0, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_UNASSIGNED, sub_type = 0 '\000', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 0, unrand_idx = 0, subtype_rnd = 0, brand = 0, freshness = 0}, rnd = 1 '\001', quantity = 0, flags = 0, pos = {x = 0, y = 0}, link = 27000, slot = 0, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_UNASSIGNED, sub_type = 0 '\000', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 0, unrand_idx = 0, subtype_rnd = 0, brand = 0, freshness = 0}, rnd = 1 '\001', quantity = 0, flags = 0, pos = {x = 0, y = 0}, link = 27000, slot = 0, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_UNASSIGNED, sub_type = 0 '\000', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 0, unrand_idx = 0, subtype_rnd = 0, brand = 0, freshness = 0}, rnd = 1 '\001', quantity = 0, flags = 0, pos = {x = 0, y = 0}, link = 27000, slot = 0, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_UNASSIGNED, sub_type = 0 '\000', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 0, unrand_idx = 0, subtype_rnd = 0, brand = 0, freshness = 0}, rnd = 1 '\001', quantity = 0, flags = 0, pos = {x = 0, y = 0}, link = 27000, slot = 0, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_UNASSIGNED, sub_type = 0 '\000', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 0, unrand_idx = 0, subtype_rnd = 0, brand = 0, freshness = 0}, rnd = 1 '\001', quantity = 0, flags = 0, pos = {x = 0, y = 0}, link = 27000, slot = 0, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_UNASSIGNED, sub_type = 0 '\000', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 0, unrand_idx = 0, subtype_rnd = 0, brand = 0, freshness = 0}, rnd = 1 '\001', quantity = 0, flags = 0, pos = {x = 0, y = 0}, link = 27000, slot = 0, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_UNASSIGNED, sub_type = 0 '\000', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 0, unrand_idx = 0, subtype_rnd = 0, brand = 0, freshness = 0}, rnd = 1 '\001', quantity = 0, flags = 0, pos = {x = 0, y = 0}, link = 27000, slot = 0, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_UNASSIGNED, sub_type = 0 '\000', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 0, unrand_idx = 0, subtype_rnd = 0, brand = 0, freshness = 0}, rnd = 1 '\001', quantity = 0, flags = 0, pos = {x = 0, y = 0}, link = 27000, slot = 0, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_UNASSIGNED, sub_type = 0 '\000', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 0, unrand_idx = 0, subtype_rnd = 0, brand = 0, freshness = 0}, rnd = 1 '\001', quantity = 0, flags = 0, pos = {x = 0, y = 0}, link = 27000, slot = 0, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_UNASSIGNED, sub_type = 0 '\000', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 0, unrand_idx = 0, subtype_rnd = 0, brand = 0, freshness = 0}, rnd = 1 '\001', quantity = 0, flags = 0, pos = {x = 0, y = 0}, link = 27000, slot = 0, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_UNASSIGNED, sub_type = 0 '\000', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 0, unrand_idx = 0, subtype_rnd = 0, brand = 0, freshness = 0}, rnd = 1 '\001', quantity = 0, flags = 0, pos = {x = 0, y = 0}, link = 27000, slot = 0, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_UNASSIGNED, sub_type = 0 '\000', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 0, unrand_idx = 0, subtype_rnd = 0, brand = 0, freshness = 0}, rnd = 1 '\001', quantity = 0, flags = 0, pos = {x = 0, y = 0}, link = 27000, slot = 0, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_UNASSIGNED, sub_type = 0 '\000', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 0, unrand_idx = 0, subtype_rnd = 0, brand = 0, freshness = 0}, rnd = 1 '\001', quantity = 0, flags = 0, pos = {x = 0, y = 0}, link = 27000, slot = 0, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_UNASSIGNED, sub_type = 0 '\000', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 0, unrand_idx = 0, subtype_rnd = 0, brand = 0, freshness = 0}, rnd = 1 '\001', quantity = 0, flags = 0, pos = {x = 0, y = 0}, link = 27000, slot = 0, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_UNASSIGNED, sub_type = 0 '\000', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 0, unrand_idx = 0, subtype_rnd = 0, brand = 0, freshness = 0}, rnd = 1 '\001', quantity = 0, flags = 0, pos = {x = 0, y = 0}, link = 27000, slot = 0, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_UNASSIGNED, sub_type = 0 '\000', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 0, unrand_idx = 0, subtype_rnd = 0, brand = 0, freshness = 0}, rnd = 1 '\001', quantity = 0, flags = 0, pos = {x = 0, y = 0}, link = 27000, slot = 0, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_UNASSIGNED, sub_type = 0 '\000', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 0, unrand_idx = 0, subtype_rnd = 0, brand = 0, freshness = 0}, rnd = 1 '\001', quantity = 0, flags = 0, pos = {x = 0, y = 0}, link = 27000, slot = 0, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_UNASSIGNED, sub_type = 0 '\000', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 0, unrand_idx = 0, subtype_rnd = 0, brand = 0, freshness = 0}, rnd = 1 '\001', quantity = 0, flags = 0, pos = {x = 0, y = 0}, link = 27000, slot = 0, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_UNASSIGNED, sub_type = 0 '\000', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 0, unrand_idx = 0, subtype_rnd = 0, brand = 0, freshness = 0}, rnd = 1 '\001', quantity = 0, flags = 0, pos = {x = 0, y = 0}, link = 27000, slot = 0, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_UNASSIGNED, sub_type = 0 '\000', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 0, unrand_idx = 0, subtype_rnd = 0, brand = 0, freshness = 0}, rnd = 1 '\001', quantity = 0, flags = 0, pos = {x = 0, y = 0}, link = 27000, slot = 0, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_UNASSIGNED, sub_type = 0 '\000', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 0, unrand_idx = 0, subtype_rnd = 0, brand = 0, freshness = 0}, rnd = 1 '\001', quantity = 0, flags = 0, pos = {x = 0, y = 0}, link = 27000, slot = 0, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_UNASSIGNED, sub_type = 0 '\000', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 0, unrand_idx = 0, subtype_rnd = 0, brand = 0, freshness = 0}, rnd = 1 '\001', quantity = 0, flags = 0, pos = {x = 0, y = 0}, link = 27000, slot = 0, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_UNASSIGNED, sub_type = 0 '\000', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 0, unrand_idx = 0, subtype_rnd = 0, brand = 0, freshness = 0}, rnd = 1 '\001', quantity = 0, flags = 0, pos = {x = 0, y = 0}, link = 27000, slot = 0, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_UNASSIGNED, sub_type = 0 '\000', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 0, unrand_idx = 0, subtype_rnd = 0, brand = 0, freshness = 0}, rnd = 1 '\001', quantity = 0, flags = 0, pos = {x = 0, y = 0}, link = 27000, slot = 0, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_UNASSIGNED, sub_type = 0 '\000', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 0, unrand_idx = 0, subtype_rnd = 0, brand = 0, freshness = 0}, rnd = 1 '\001', quantity = 0, flags = 0, pos = {x = 0, y = 0}, link = 27000, slot = 0, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_UNASSIGNED, sub_type = 0 '\000', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 0, unrand_idx = 0, subtype_rnd = 0, brand = 0, freshness = 0}, rnd = 1 '\001', quantity = 0, flags = 0, pos = {x = 0, y = 0}, link = 27000, slot = 0, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_UNASSIGNED, sub_type = 0 '\000', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 0, unrand_idx = 0, subtype_rnd = 0, brand = 0, freshness = 0}, rnd = 1 '\001', quantity = 0, flags = 0, pos = {x = 0, y = 0}, link = 27000, slot = 0, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_UNASSIGNED, sub_type = 0 '\000', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 0, unrand_idx = 0, subtype_rnd = 0, brand = 0, freshness = 0}, rnd = 1 '\001', quantity = 0, flags = 0, pos = {x = 0, y = 0}, link = 27000, slot = 0, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_UNASSIGNED, sub_type = 0 '\000', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 0, unrand_idx = 0, subtype_rnd = 0, brand = 0, freshness = 0}, rnd = 1 '\001', quantity = 0, flags = 0, pos = {x = 0, y = 0}, link = 27000, slot = 0, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}, {base_type = OBJ_UNASSIGNED, sub_type = 0 '\000', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, net_durability = 0, tithe_state = 0}, {plus2 = 0, net_placed = 0, skill_points = 0, stash_freshness = 0}, {special = 0, unrand_idx = 0, subtype_rnd = 0, brand = 0, freshness = 0}, rnd = 1 '\001', quantity = 0, flags = 0, pos = {x = 0, y = 0}, link = 27000, slot = 0, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }}}}, inv_uselessness = {mData = {false }}, equip = {mData = "\377\377\377\377\377\377\000\001\002", '\377' }, offhand_weapon = false, quiver_item = -1 '\377', quiver_desc = "Cast: Magic Dart", unarmed_attack = "Nothing wielded", unarmed_attack_colour = 7 '\a', quiver_available = true} spectator = false god = "" prank = max_max_hp = place = short_name = "Dungeon" pos = #11 0x00005925dd8e14a2 in TilesFramework::redraw (this=this@entry=0x5925dddeee20 ) at tileweb.cc:2209 No locals. #12 0x00005925dd8e67f1 in _get_key_from_curses () at libunix.cc:527 c = 3723805536 c = c = #13 getch_ck () at libunix.cc:616 c = #14 0x00005925dd462b15 in _getch_mul () at macro.cc:841 keys = std::deque with 73215 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 #15 0x00005925dd4665d8 in getchm (mc=mc@entry=KMC_DEFAULT) at macro.cc:863 a = keys = std::deque with 73215 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...} #16 0x00005925dd652fe6 in attribute_increase () at player-stats.cc:139 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 = #17 0x00005925dd66f172 in level_change (skip_attribute_increase=skip_attribute_increase@entry=false) at player.cc:2961 manual_stat_level = gained_felid_life = false new_exp = 3 updated_maxhp = false #18 0x00005925dd8f4400 in _launch_game () at main.cc:479 game_start = ccon = #19 0x00005925dd0c3fe7 in _launch_game_loop () at main.cc:392 game_ended = false game_ended = ge = fe = E = #20 main (argc=13, argv=0x7ffdc1d2c588) 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 2261886) 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.32/saves" -DDATA_DIR_PATH="/crawl-master/crawl-0.32/data/" -DWEB_DIR_PATH="/crawl-master/crawl-0.32/data/web/" -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 LDFLAGS: -rdynamic -fuse-ld=gold -O2 >>>>>>>>>>> Place info: branch = 0, depth = 1 Level id: D:1 Level build method = random_map_for_place, level layout type = encompass, absdepth0 = 0 Level vaults: tutorial_lesson4 Markers: <<<<<<<<<<<<<<<<<<<<<< Marker #5, type 0 at (37, 23): feature (stone_stairs_up_i) >>>>>>>>>>>>>>>>>>>>>> Messages: <<<<<<<<<<<<<<<<<<<<<< In this lesson you're going to learn how to memorise and cast spells. You can reread all messages at any time with [Ctrl-P]. Also, press [Space] to clear the --more-- prompts. Found a staircase leading out of the dungeon. Found Reyalz's Book of Introductory Spellcasting. You can memorise a spell from your spell library with [M]. At experience level 1, only level 1 spells are available to you. This will change as you gain experience. To find new spells, find and pick up spellbooks, and the spells will be added to your library. You pick up Reyalz's Book of Introductory Spellcasting and begin reading... You add the spells Magic Dart and Mephitic Cloud to your library. You can memorise a spell from your spell library with [M]. At experience level 1, only level 1 spells are available to you. This will change as you gain experience. To find new spells, find and pick up spellbooks, and the spells will be added to your library. You start memorising the spell. You continue memorising. You finish memorising. Spell assigned to 'a'. You're too inexperienced to learn that spell! You can cast spells with [z]. Press [z?] to get a list of your spells. Spells, like ammo, are shown in the quiver slot, so you can use [Q] to ready a spell in the quiver. Use [f] or [shift-tab] to fire the currently quivered spell. Once you are out of magic points, retreat and rest to regain them with [5]. Casting: Magic Dart (safe; 36% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. You don't know that spell. Unknown command. Casting: Magic Dart (safe; 36% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Okay, then. You can cast spells with [z]. Press [z?] to get a list of your spells. Spells, like ammo, are shown in the quiver slot, so you can use [Q] to ready a spell in the quiver. Use [f] or [shift-tab] to fire the currently quivered spell. Once you are out of magic points, retreat and rest to regain them with [5]. The training dummy throws a stone. The stone misses you. Casting: Magic Dart (safe; 36% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. You don't know that spell. Casting: Magic Dart (safe; 36% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Magic Dart (safe; 36% risk of failure) Press: ? - help, Shift-Dir - straight line, f - training dummy Aim: a training dummy, quivering stones (100% to hit) The magic dart hits the training dummy. The training dummy is severely damaged. You can cast spells with [z]. Press [z?] to get a list of your spells. Spells, like ammo, are shown in the quiver slot, so you can use [Q] to ready a spell in the quiver. Use [f] or [shift-tab] to fire the currently quivered spell. Once you are out of magic points, retreat and rest to regain them with [5]. Nothing quivered! You can cast spells with [z]. Press [z?] to get a list of your spells. Spells, like ammo, are shown in the quiver slot, so you can use [Q] to ready a spell in the quiver. Use [f] or [shift-tab] to fire the currently quivered spell. Once you are out of magic points, retreat and rest to regain them with [5]. The training dummy throws a stone. The stone hits you. Casting: Magic Dart (safe; 36% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. You don't know that spell. Casting: Magic Dart (safe; 36% 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.) Casting: Magic Dart (safe; 36% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. You can't see any susceptible monsters within range! (Use Z to cast anyway.) You can cast spells with [z]. Press [z?] to get a list of your spells. Spells, like ammo, are shown in the quiver slot, so you can use [Q] to ready a spell in the quiver. Use [f] or [shift-tab] to fire the currently quivered spell. Once you are out of magic points, retreat and rest to regain them with [5]. The training dummy throws a stone. The stone hits you. Casting: Magic Dart (safe; 36% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Magic Dart (safe; 36% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - training dummy Aim: a training dummy, quivering stones (heavily damaged, 100% to hit) You miscast Magic Dart. Miscasting a spell can have nasty consequences, particularly for the more difficult spells. Your chance of successfully casting a spell increases with your magic skills, and can also be improved with the help of some items. Use the I command to check your current failure rates. You are very lightly contaminated with residual magic. Nothing appears to happen. You can cast spells with [z]. Press [z?] to get a list of your spells. Spells, like ammo, are shown in the quiver slot, so you can use [Q] to ready a spell in the quiver. Use [f] or [shift-tab] to fire the currently quivered spell. Once you are out of magic points, retreat and rest to regain them with [5]. The training dummy throws a stone. The stone barely misses you. Casting: Magic Dart (safe; 36% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Magic Dart (safe; 36% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - training dummy Aim: a training dummy, quivering stones (heavily damaged, 100% to hit) The magic dart hits the training dummy. The training dummy is almost destroyed. Casting: Magic Dart (safe; 36% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Okay, then. Casting: Magic Dart (safe; 36% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Magic Dart (safe; 36% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - training dummy Aim: a training dummy, quivering stones (almost destroyed, 100% to hit) You miscast Magic Dart. Nothing appears to happen. The training dummy throws a stone. The stone misses you. Casting: Magic Dart (safe; 36% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Magic Dart (safe; 36% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - training dummy Aim: a training dummy, quivering stones (almost destroyed, 100% to hit) The magic dart hits the training dummy. You destroy the training dummy! You can cast spells with [z]. Press [z?] to get a list of your spells. Spells, like ammo, are shown in the quiver slot, so you can use [Q] to ready a spell in the quiver. Use [f] or [shift-tab] to fire the currently quivered spell. Once you are out of magic points, retreat and rest to regain them with [5]. Casting: Magic Dart (safe; 36% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. You don't know that spell. You aren't carrying any potions. You start resting. HP restored. You start resting. Your magical contamination has completely faded away. You start resting. Magic restored. Aiming: Magic Dart (safe; 36% risk of failure) Press: ? - help, Q - select action Shift-Dir - straight line, f - you Okay, then. Found a tubular tourmaline ring. Why would you want to do that? Put on this ring with [e], and then rest up to your new full potential. b - a ring of magical power You feel your magic capacity increase. b - a ring of magical power (left hand) You start resting. Magic restored. Unlike most monsters, zombies and skeletons do not regenerate health. A bat skeleton comes into view. Aiming: Magic Dart (safe; 36% risk of failure) Press: ? - help, Q - select action Shift-Dir - straight line, f - bat skeleton Aim: a bat skeleton (100% to hit) The magic dart hits the bat skeleton. The bat skeleton is heavily damaged. The bat skeleton hits you but does no damage. Aiming: Magic Dart (safe; 36% risk of failure) Press: ? - help, Q - select action Shift-Dir - straight line, f/p - bat skeleton Aim: a bat skeleton (heavily damaged, 100% to hit) You miscast Magic Dart. You are very lightly contaminated with residual magic. Nothing appears to happen. The bat skeleton hits you but does no damage. The bat skeleton closely misses you. Aiming: Magic Dart (safe; 36% risk of failure) Press: ? - help, Q - select action Shift-Dir - straight line, f/p - bat skeleton Aim: a bat skeleton (heavily damaged, 100% to hit) You miscast Magic Dart. Nothing appears to happen. The bat skeleton barely misses you. The bat skeleton closely misses you. The bat skeleton barely misses you. Aiming: Magic Dart (safe; 36% risk of failure) Press: ? - help, Q - select action Shift-Dir - straight line, f/p - bat skeleton Aim: a bat skeleton (heavily damaged, 100% to hit) The magic dart hits the bat skeleton. The bat skeleton is heavily damaged. The bat skeleton hits you but does no damage. x2 The bat skeleton barely misses you. You hit the bat skeleton. You destroy the bat skeleton! A bat skeleton comes into view. Aiming: Magic Dart (safe; 36% risk of failure) Press: ? - help, Q - select action Shift-Dir - straight line, f - bat skeleton Aim: a bat skeleton (100% to hit) The magic dart hits the bat skeleton. The bat skeleton is heavily damaged. Aiming: Magic Dart (safe; 36% risk of failure) Press: ? - help, Q - select action Shift-Dir - straight line, f/p - bat skeleton Aim: a bat skeleton (heavily damaged, 100% to hit) The magic dart hits the bat skeleton. The bat skeleton is almost destroyed. The bat skeleton hits you. The bat skeleton barely misses you. The bat skeleton hits you but does no damage. Aiming: Magic Dart (safe; 36% risk of failure) Press: ? - help, Q - select action Shift-Dir - straight line, p - bat skeleton The bat skeleton hits you. The bat skeleton hits you but does no damage. The bat skeleton misses you. Aiming: Magic Dart (safe; 36% risk of failure) Press: ? - help, Q - select action Shift-Dir - straight line You miscast Magic Dart. Nothing appears to happen. The bat skeleton closely misses you. x2 Aiming: Magic Dart (safe; 36% risk of failure) Press: ? - help, Q - select action Shift-Dir - straight line You miscast Magic Dart. Nothing appears to happen. The bat skeleton closely misses you. The bat skeleton hits you but does no damage. The bat skeleton misses you. Aiming: Magic Dart (safe; 36% risk of failure) Press: ? - help, Q - select action Shift-Dir - straight line The magic dart hits the bat skeleton. You destroy the bat skeleton! You start resting. Your magical contamination has completely faded away. You start resting. Magic restored. Found a garnet ring. To check your spell proficiency, press [I]. Compare your spell failure rates before and after wearing this ring. c - a ring of wizardry c - a ring of wizardry (right hand) To check your spell proficiency, press [I]. Compare your spell failure rates before and after wearing this ring. A goblin skeleton comes into view. The goblin skeleton barely misses you. Aiming: Magic Dart (safe; 16% risk of failure) Press: ? - help, Q - select action Shift-Dir - straight line, f - goblin skeleton Aim: a goblin skeleton (100% to hit) The magic dart hits the goblin skeleton. The goblin skeleton is moderately damaged. Aiming: Magic Dart (safe; 16% risk of failure) Press: ? - help, Q - select action Shift-Dir - straight line, f/p - goblin skeleton Aim: a goblin skeleton (moderately damaged, 100% to hit) The magic dart hits the goblin skeleton. The goblin skeleton is moderately damaged. The goblin skeleton hits you but does no damage. Aiming: Magic Dart (safe; 16% risk of failure) Press: ? - help, Q - select action Shift-Dir - straight line, f/p - goblin skeleton Aim: a goblin skeleton (moderately damaged, 100% to hit) The magic dart hits the goblin skeleton. The goblin skeleton is severely damaged. The goblin skeleton hits you but does no damage. Aiming: Magic Dart (safe; 16% risk of failure) Press: ? - help, Q - select action Shift-Dir - straight line, f/p - goblin skeleton Aim: a goblin skeleton (severely damaged, 100% to hit) The magic dart hits the goblin skeleton. You destroy the goblin skeleton! A bat skeleton comes into view. Aiming: Magic Dart (safe; 16% risk of failure) Press: ? - help, Q - select action Shift-Dir - straight line The bat skeleton misses you. The bat skeleton hits you but does no damage. The bat skeleton closely misses you. The bat skeleton closely misses you. Aiming: Magic Dart (safe; 16% risk of failure) Press: ? - help, Q - select action Shift-Dir - straight line The bat skeleton barely misses you. x2 The bat skeleton hits you but does no damage. Aiming: Magic Dart (safe; 16% risk of failure) Press: ? - help, Q - select action Shift-Dir - straight line, f - bat skeleton Aim: a bat skeleton (100% to hit) You miscast Magic Dart. You are very lightly contaminated with residual magic. Nothing appears to happen. The bat skeleton barely misses you. The bat skeleton hits you but does no damage. The bat skeleton closely misses you. You hit the bat skeleton. The bat skeleton is heavily damaged. The bat skeleton completely misses you. The bat skeleton barely misses you. Aiming: Magic Dart (safe; 16% risk of failure) Press: ? - help, Q - select action Shift-Dir - straight line, f/p - bat skeleton Aim: a bat skeleton (heavily damaged, 100% to hit) The magic dart hits the bat skeleton. The bat skeleton is almost destroyed. The bat skeleton hits you. The bat skeleton closely misses you. The bat skeleton hits you. You closely miss the bat skeleton. The bat skeleton is almost destroyed. The bat skeleton hits you but does no damage. The bat skeleton closely misses you. The bat skeleton hits you but does no damage. Aiming: Magic Dart (safe; 16% risk of failure) Press: ? - help, Q - select action Shift-Dir - straight line, f/p - bat skeleton Aim: a bat skeleton (almost destroyed, 100% to hit) The magic dart hits the bat skeleton. You destroy the bat skeleton! Aiming: Magic Dart (safe; 16% risk of failure) Press: ? - help, Q - select action Shift-Dir - straight line Aiming: Magic Dart (safe; 16% risk of failure) Press: ? - help, Q - select action Shift-Dir - straight line Your magical contamination has completely faded away. You start resting. Magic restored. Mephitic Cloud is a level 3 spell, so you can't memorise it yet. To level up quickly, here are more training dummies — without stones to throw this time. At experience level 3, you'll be able to increase one of your stats — choosing [I]ntelligence will help your spellcasting even further. Aiming: Magic Dart (safe; 16% risk of failure) Press: ? - help, Q - select action Shift-Dir - straight line, f - training dummy Aim: a training dummy (100% to hit) The magic dart hits the training dummy. The training dummy is lightly damaged. Aiming: Magic Dart (safe; 16% risk of failure) Press: ? - help, Q - select action Shift-Dir - straight line, f/p - training dummy Aim: a training dummy (100% to hit) The magic dart hits the training dummy. The training dummy is heavily damaged. Aiming: Magic Dart (safe; 16% risk of failure) Press: ? - help, Q - select action Shift-Dir - straight line, f/p - training dummy Aim: a training dummy (100% to hit) The magic dart hits the training dummy. The training dummy is heavily damaged. Aiming: Magic Dart (safe; 16% risk of failure) Press: ? - help, Q - select action Shift-Dir - straight line, f/p - training dummy Aim: a training dummy (100% to hit) The magic dart hits the training dummy. The training dummy is almost destroyed. Aiming: Magic Dart (safe; 16% risk of failure) Press: ? - help, Q - select action Shift-Dir - straight line, f/p - training dummy Aim: a training dummy (100% to hit) The magic dart hits the training dummy. You destroy the training dummy! You have reached level 2! Well done! Reaching a new experience level is always a nice event. You get more health and magic points, and occasionally increases to your attributes: strength, intelligence, and dexterity. 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? 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? 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.32.0-20-g245f4a553c 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: 2, map_stat_gen: 0, type: 2, arena_suspended: 0 prev_cmd = CMD_NO_CMD repeat_cmd = CMD_NO_CMD Player: {{{{{{{{{{{ Name: [Reyalz] Species: Human Job: Fighter HP: 24/24; mods: 0/0 MP: 8/14; mod: 2 Stats: 16 (16) 8 (8) 12 (12) Position: (58, 35), 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 | 33 | 3 | 382 | 82/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 | 0 | 0 | 0 | 0/50 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 | 35 | 3 | 398 | 98/200 Dodging | X | 1 | 4 | 0 | 6 | 6/50 Stealth | X | 1 | 0 | 0 | 0 | 0/42 Shields | X | 1 | 0 | 0 | 0 | 0/50 Unarmed Combat | X | 1 | 7 | 2 | 164 | 14/150 Spellcasting | X | 1 | 15 | 1 | 85 | 26/119 Conjurations | X | 1 | 6 | 0 | 11 | 11/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 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 | 0 | 0 | 0 | 0/50 Shapeshifting | X | 1 | 0 | 0 | 0 | 0/59 Spell bugs: Durations: Attributes: Mutations: explore regen: 1 (innate) Inventory bugs: Equipment: eq slot #6, inv slot #0: +0 robe eq slot #7, inv slot #1: ring of magical power eq slot #8, inv slot #2: ring of wizardry }}}}}}}}}}} Webtiles message buffer: {"msg":"player" Webtiles JSON stack: start: 0 end: 15 type: } Screenshot: .#...##### ..###....###### .## #####.....###### .# ######.....## ## #.......# #.....### ###..## ###.# #@## #...# #...# #...# #.I.# #...# ##.## .## clua stack: dlua stack: Lua persistent data: <<<<<<<<<<<<<<<<<<<<<< >>>>>>>>>>>>>>>>>>>>>> Lua marker contents: <<<<<<<<<<<<<<<<<<<<<< Lua marker 0 at (27, 23): {{{{ 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: tutorial4 spellbook exit: false }}}} Lua marker 1 at (27, 29): {{{{ 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: tutorial4 spellcasting exit: false }}}} Lua marker 2 at (32, 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: tutorial4 ring_power exit: false }}}} Lua marker 3 at (35, 33): {{{{ 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: tutorial4 undead exit: false }}}} Lua marker 4 at (37, 23): {{{{ CLASS: OneWayStair props: dst: tutorial_lesson4 onclimb: CLASS: FunctionWrapper name: tutorial4.exit fn: [type function] }}}} Lua marker 6 at (49, 28): {{{{ 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: tutorial4 spell_success exit: false }}}} Lua marker 7 at (56, 45): {{{{ 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: tutorial4 aiming_clouds exit: false }}}} Lua marker 8 at (58, 41): {{{{ 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: tutorial4 meph_reminder exit: false }}}} Lua marker 9 at (59, 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: tutorial4 mephitic_cloud exit: false }}}} >>>>>>>>>>>>>>>>>>>>>>