ASSERT(in_bounds(source)) in 'beam.cc' at line 739 failed. (source = (41,0)) Version: Dungeon Crawl Stone Soup 0.33-a0-394-g90355d26cc Platform: unix Bits: 64 Game mode: normal Tiles: online Seed: 3057209675419747477, deterministic pregen: 1 Command line: /usr/games/crawl-git-90355d26cc -name whosad -rc /dgldir/rcfiles/crawl-git/whosad.rc -macro /dgldir/rcfiles/crawl-git/whosad.macro -morgue /dgldir/morgue/whosad/ -webtiles-socket /crawl-master/webserver/sockets/whosad:2024-11-20.13:55:18.sock -await-connection RC options: restart_after_game = false Crash caused by signal #6: Aborted Obtained 20 stack frames. /usr/games/crawl-git-90355d26cc(_Z17write_stack_traceP8_IO_FILE+0x3e) [0x63110dcfa2ee]: write_stack_trace(_IO_FILE*) /usr/games/crawl-git-90355d26cc(_Z13do_crash_dumpv+0x43a) [0x63110dd0843a]: do_crash_dump() /usr/games/crawl-git-90355d26cc(_Z20crash_signal_handleri+0x1fa) [0x63110dcfa7ca]: crash_signal_handler(int) /lib/x86_64-linux-gnu/libc.so.6(+0x45320) [0x7c012a65a320]: /lib/x86_64-linux-gnu/libc.so.6(pthread_kill+0x11c) [0x7c012a6b3b1c]: /lib/x86_64-linux-gnu/libc.so.6(gsignal+0x1e) [0x7c012a65a26e]: /usr/games/crawl-git-90355d26cc(+0x4b775d) [0x63110dd0775d]: /usr/games/crawl-git-90355d26cc(_Z12AssertFailedPKcS0_iS0_z+0x1a1) [0x63110dd07cf1]: AssertFailed(char const*, char const*, int, char const*, ...) /usr/games/crawl-git-90355d26cc(_ZN4bolt15initialise_fireEv+0x230) [0x63110dca52c0]: bolt::initialise_fire() /usr/games/crawl-git-90355d26cc(_ZN4bolt7do_fireEv+0x30) [0x63110dcb57a0]: bolt::do_fire() /usr/games/crawl-git-90355d26cc(_ZN4bolt4fireEv+0x278) [0x63110dcb68b8]: bolt::fire() /usr/games/crawl-git-90355d26cc(_Z21handle_spike_launcheri+0x359) [0x63110e2c6649]: handle_spike_launcher(int) /usr/games/crawl-git-90355d26cc(_Z13player_reactsv+0xb1f) [0x63110e1ca96f]: player_reacts() /usr/games/crawl-git-90355d26cc(_Z12world_reactsv+0x7b5) [0x63110e47a4c5]: world_reacts() /usr/games/crawl-git-90355d26cc(+0xc2c199) [0x63110e47c199]: /usr/games/crawl-git-90355d26cc(+0xc2ce95) [0x63110e47ce95]: /usr/games/crawl-git-90355d26cc(main+0x1f7) [0x63110dc32e57]: /lib/x86_64-linux-gnu/libc.so.6(+0x2a1ca) [0x7c012a63f1ca]: /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0x8b) [0x7c012a63f28b]: /usr/games/crawl-git-90355d26cc(_start+0x25) [0x63110dc33875]: Trying to run gdb. GNU gdb (Ubuntu 15.0.50.20240403-0ubuntu1) 15.0.50.20240403-git Copyright (C) 2024 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "x86_64-linux-gnu". Type "show configuration" for configuration details. For bug reporting instructions, please see: . Find the GDB manual and other documentation resources online at: . For help, type "help". Type "apropos word" to search for commands related to "word". [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1". 0x00007c012a7257a7 in __GI___wait4 (pid=1540367, stat_loc=0x0, options=0, usage=0x0) at ../sysdeps/unix/sysv/linux/wait4.c:30 #0 0x00007c012a7257a7 in __GI___wait4 (pid=1540367, stat_loc=0x0, options=0, usage=0x0) at ../sysdeps/unix/sysv/linux/wait4.c:30 sc_ret = -512 sc_ret = #1 0x000063110dcfa99c in call_gdb (file=0x7c012a8194e0 <_IO_2_1_stderr_>) at crash.cc:438 gdb = attach_cmd = "attach 1525541\000\000\000\000\000" #2 0x000063110dd08458 in do_crash_dump () at dbg-asrt.cc:692 t = 1732111095 dir = "/dgldir/morgue/whosad/" name = "/dgldir/morgue/whosad/crash-whosad-20241120-135815.txt", '\000' signal_info = "Crash caused by signal #6: Aborted" cause_msg = "ASSERT(in_bounds(source)) in 'beam.cc' at line 739 failed. (source = (41,0))" file = 0x7c012a8194e0 <_IO_2_1_stderr_> #3 0x000063110dcfa7ca in crash_signal_handler (sig_num=6) at crash.cc:198 No locals. #4 No locals. #5 __pthread_kill_implementation (no_tid=0, signo=6, threadid=) at ./nptl/pthread_kill.c:44 tid = ret = 0 pd = old_mask = {__val = {140727829385952}} ret = pd = old_mask = ret = tid = ret = resultvar = resultvar = __arg3 = __arg2 = __arg1 = _a3 = _a2 = _a1 = __futex = resultvar = __arg3 = __arg2 = __arg1 = _a3 = _a2 = _a1 = __futex = __private = __oldval = #6 __pthread_kill_internal (signo=6, threadid=) at ./nptl/pthread_kill.c:78 No locals. #7 __GI___pthread_kill (threadid=, signo=signo@entry=6) at ./nptl/pthread_kill.c:89 No locals. #8 0x00007c012a65a26e in __GI_raise (sig=6) at ../sysdeps/posix/raise.c:26 ret = #9 0x000063110dd0775d in _BreakStrToDebugger (mesg=mesg@entry=0x7ffdc047ce90 "ASSERT(in_bounds(source)) in 'beam.cc' at line 739 failed. (source = (41,0))", assert=true) at dbg-asrt.cc:818 No locals. #10 0x000063110dd07cf1 in AssertFailed (expr=expr@entry=0x63110e490ced "in_bounds(source)", file=file@entry=0x63110e490711 "beam.cc", line=line@entry=739, text=text@entry=0x63110e48ec39 "%s = (%d,%d)") at dbg-asrt.cc:851 detail = "source = (41,0)\000\005\000\000\000\000\000\000\000\030\000\000\0000\000\000\000\240\325G\300\375\177\000\000\320\324G\300\375\177\000\000-26\000\375\177\000\000\027\021\336\r\021c\000\000\020\315G\300\375\177\000\000\302P\251*\001|\000\000\360\315G\300\375\177\000\000p\316G\300\375\177\000\000\337TJ\016\021c\000\000\277X\016\016\021c\000\000P\322G\300\375\177\000\000t\356\335\r\021c\000\000\005\000\000\000\000\000\000\000\000Ֆؠ\230\034\222\020\317G\300\375\177\000\000\360\316G\300\375\177\000\000\340\321G\300\375\177\000\000\027\021\336\r\021c\000\000\240\315G\300\375\177\000\000\302P\251*\001|\000\000`\316G\300\375\177\000\000\340\316"... final_mesg = "ASSERT(in_bounds(source)) in 'beam.cc' at line 739 failed. (source = (41,0))\000c\000\000p\330G\300\375\177\000\000\020\000\000\0000\000\000\000\340\327G\300\375\177\000\000\020\327G\300\375\177\000\000*{\"msg\":\"flush_messages\"}\000lay\",\"t\":50}\000s\000Ֆؠ\230\034\222\300\005\273*\001|\000\000 _~\016\021c", '\000' , "\001\000\000\000\000\000\000\000\344\321"... mesg = "ASSERT(in_bounds(source)) in 'beam.cc' at line 739 failed.\000\000\000\000\000\000\002\000\000\000\375\177\000\000\377\377\377\377\377\377\377\377$\313G\000\000\000\000\000P\260\253\017\021c\000\000P\260\253\017\021c\000\000\002\000\000\000\006\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000d", '\000' , "\317G\300\375\177\000\000\266\317G\300\375\177\000\000\323\027\252*\001|\000\000\002\000\000\000\000\000\000\000\300k\230\016\021c\000\000p\313G\300\375\177\000\000\326\312E\016\021c\000\000\200\313G\300\375\177\000\000"... args = {{gp_offset = 48, fp_offset = 48, overflow_arg_area = 0x7ffdc047d388, reg_save_area = 0x7ffdc047d2a0}} fileName = #11 0x000063110dca52c0 in bolt::initialise_fire (this=this@entry=0x7ffdc047d910) at beam.cc:739 No locals. #12 0x000063110dcb57a0 in bolt::do_fire (this=this@entry=0x7ffdc047d910) at beam.cc:1235 coff = #13 0x000063110dcb68b8 in bolt::fire (this=this@entry=0x7ffdc047d910) at beam.cc:1220 No locals. #14 0x000063110e2c6649 in _fire_spike_launcher (target=0x63110ea507a0 , origin=...) at spl-other.cc:681 spike = {origin_spell = SPELL_SPIKE_LAUNCHER, range = 1, glyph = 96 U'`', colour = 7 '\a', flavour = BEAM_MMISSILE, real_flavour = BEAM_MMISSILE, drop_item = false, item_mulches = false, item = 0x0, launcher = 0x0, source = {x = 41, y = 0}, target = {x = 40, y = 1}, damage = {num = 2, size = 4}, ench_power = 15, hit = 13, thrower = KILL_NON_ACTOR, ex_size = 0, source_id = 0, source_name = "", name = "rocky spike", short_name = "", hit_verb = "skewers", loudness = 2, hit_noise_msg = "", explode_noise_msg = "", pierce = false, is_explosion = false, is_death_effect = false, aimed_at_spot = false, aux_source = "", affects_nothing = false, effect_known = true, effect_wanton = false, no_saving_throw = false, draw_delay = 15, explode_delay = 50, redraw_per_cell = true, special_explosion = 0x0, was_missile = false, animate = true, ac_rule = ac_type::normal, obvious_effect = false, seen = true, heard = false, path_taken = std::vector of length 0, capacity 0, extra_range_used = 0, is_tracer = false, is_targeting = false, aimed_at_feet = false, msg_generated = false, noise_generated = false, passed_target = false, in_explosion_phase = false, attitude = ATT_HOSTILE, foe_ratio = 0, hit_count = std::map with 0 elements, foe_info = {count = 0, power = 0, hurt = 0, helped = 0, dont_stop = false}, friend_info = {count = 0, power = 0, hurt = 0, helped = 0, dont_stop = false}, chose_ray = false, beam_cancelled = false, dont_stop_player = false, overshoot_prompt = true, friendly_past_target = false, bounces = 0, bounce_pos = {x = 0, y = 0}, reflections = 0, reflector = 0, use_target_as_pos = false, ray = {r = {start = {x = 0, y = 0}, dir = {x = 0, y = 0}}, on_corner = false, cycle_idx = -1}, tile_beam = -1069031680, can_see_invis = false, nightvision = false, can_trigger_bullseye = false, message_cache = std::set with 0 elements} spike = #15 handle_spike_launcher (delay=) at spl-other.cc:735 targ = 0x63110ea507a0 ai = { = {> = {}, center = {x = 41, y = 0}, current = {x = 40, y = 1}, lists = {std::vector of length 0, capacity 0, std::vector of length 8, capacity 8 = {{x = -1, y = -1}, {x = -1, y = 0}, {x = -1, y = 1}, {x = 0, y = -1}, {x = 0, y = 1}, {x = 1, y = -1}, {x = 1, y = 0}, {x = 1, y = 1}}, std::vector of length 2, capacity 2 = {{x = 2, y = 2}, {x = -2, y = 2}}}, vcur = 0x7ffdc047d8a8, vnear = 0x7ffdc047d8c0, vfar = 0x7ffdc047d890, r = 1, max_radius = 1, threshold = 2, icur = 2, iend = 5, fair = true}, } pos = {x = 41, y = 0} timer = @0x6311103ae3d8: -10 #16 0x000063110e1ca96f in player_reacts () at player-reacts.cc:1136 stealth = 45 #17 0x000063110e47a4c5 in world_reacts () at main.cc:2599 No locals. #18 0x000063110e47c199 in _input () at main.cc:1300 player_disabled = {was_disabled = false} #19 0x000063110e47ce95 in _launch_game () at main.cc:492 game_start = ccon = {cstate = false} #20 0x000063110dc32e57 in _launch_game_loop () at main.cc:391 game_ended = false game_ended = ge = fe = E = 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-git-90355d26cc/saves" -DSHARED_DIR_PATH="/crawl-master/crawl-git/saves" -DDATA_DIR_PATH="/crawl-master/crawl-git-90355d26cc/data/" -DWEB_DIR_PATH="/crawl-master/crawl-git-90355d26cc/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_in_depth, level layout type = rooms, absdepth0 = 2 Level vaults: lemuel_castle_with_subvaults [lemuel_castle_interior_carwin_3] layout_basic roderic_serpentine_path minivault_25 kennysheep_small_spiral kennysheep_generic_room_7 Markers: <<<<<<<<<<<<<<<<<<<<<< Marker #0, type 9 at (41, 0) out of bounds Marker #0, type 9 at (41, 0): Terrain change marker (7->214, 75) >>>>>>>>>>>>>>>>>>>>>> Messages: <<<<<<<<<<<<<<<<<<<<<< A goblin is nearby! A goblin is nearby! A goblin is nearby! The kinetic grapnel hits the goblin. You kill the goblin! Your Maces & Flails skill increases to level 1! Your remaining MP is [2/3]. No target in view! No target in view! d - a viscous brown potion You are fully restored. (3) You now have 40 gold pieces (gained 13). A kobold comes into view. It is wielding a +0 club. Found a stone staircase leading down. The kobold moves out of view. A kobold is nearby! The kinetic grapnel misses the kobold. Your remaining MP is [2/3]. You hit the kobold. The kobold is heavily wounded. The kobold hits you with a +0 club. The kobold closely misses you. You took 1 damage. Your remaining HP is [14/15]. You hit the kobold. You kill the kobold! HP restored. A dart slug comes into view. You are fully healed. (15); You are fully restored. (3) A dart slug is nearby! A dart slug is nearby! A dart slug is nearby! The dart slug launches a dart at you. The slug dart hits you. You took 5 damage. Your remaining HP is [10/15]. Big Damage!!!!!!!!!! Found a robe. The dart slug launches a dart at you. The slug dart misses you. The kinetic grapnel hits the dart slug. The dart slug is heavily wounded. Your remaining MP is [2/3]. Found a stone staircase leading down. The grapnel guides your strike. You sock the dart slug! You kill the dart slug! You have reached level 2! You regained 6 HP. Current HP is [17/22]. A rat comes into view. You are fully healed. (22); You are fully restored. (4) A rat is nearby! A rat is nearby! A rat is nearby! The rat squeaks loudly. A kobold comes into view. It is wielding a +3 short sword. A bat comes into view. The kinetic grapnel hits the rat. You kill the rat! The kobold shouts! You hear a shout! A hobgoblin comes into view. Your remaining MP is [3/4]. You closely miss the bat. The bat hits you. You took 1 damage. Your remaining HP is [21/22]. The bat hits you but does no damage. The kinetic grapnel hits the hobgoblin but does no damage. The kobold misses you. The hobgoblin closely misses you. Your remaining MP is [2/4]. Unknown command. The kobold hits you but does no damage. You are fully healed. (22) The hobgoblin attacks as it pursues you! The hobgoblin closely misses you. The kinetic grapnel hits the hobgoblin. The hobgoblin is almost dead. The hobgoblin hits you. You took 4 damage. Your remaining HP is [18/22]. Your remaining MP is [1/4]. The grapnel guides your strike. You thump the hobgoblin! You kill the hobgoblin! The bat closely misses you. Your Fighting skill increases to level 1! The kinetic grapnel hits the bat. The bat is severely wounded. The bat closely misses you. Your remaining MP is [0/4]. The grapnel guides your strike. You sock the bat! You kill the bat! The kobold barely misses you. You hit the kobold. The kobold is moderately wounded. The kobold hits you with a +3 short sword. x2 You took 10 damage. Your remaining HP is [10/23]. Big Damage!!!!!!!!!! You are too injured to fight recklessly! You are too injured to fight recklessly! You are too injured to fight recklessly! Aiming: Kinetic Grapnel (safe; 3% risk of failure) Press: ? - help, Q - select action Shift-Dir - straight line, f - kobold Aim: a kobold, wielding a +3 short sword (moderately wounded, 67% to hit) The kinetic grapnel misses the kobold. The kobold hits you with a +3 short sword. You took 1 damage. Your remaining HP is [9/23]. Your remaining MP is [0/4]. You closely miss the kobold. The kobold is moderately wounded. The kobold barely misses you. You barely miss the kobold. The kobold is moderately wounded. The kobold barely misses you. You hit the kobold. The kobold is heavily wounded. The kobold hits you with a +3 short sword. x2 * * * LOW HITPOINT WARNING * * * You took 6 damage. Your remaining HP is [4/23]. Big Damage!!!!!!!!!! Unknown command. You hit the kobold. You kill the kobold! Unknown command. You start resting. Magic restored. You regained 8 HP. Current HP is [13/23]. You are fully restored. (4) You start resting. HP restored. You are fully healed. (23) Things that are here: a +3 short sword; a kobold corpse A kobold comes into view. It is wielding a +0 club. A kobold is nearby! A kobold is nearby! A kobold is nearby! The kinetic grapnel hits the kobold. You kill the kobold! Your remaining MP is [3/4]. No target in view! No target in view! Magic restored. An endoplasm comes into view. Found a stone staircase leading down. You are fully restored. (4) An endoplasm is nearby! You can't see any susceptible monsters within range! (Use Z to cast anyway.) There is a stone staircase leading down here. The kinetic grapnel hits the endoplasm. The endoplasm is moderately wounded. The endoplasm quivers. Your remaining MP is [3/4]. The endoplasm barely misses you. The grapnel guides your strike. You hit the endoplasm. You kill the endoplasm! Your Maces & Flails skill increases to level 2! No target in view! Okay, then. Key pressed, stopping explore. Key pressed, stopping explore. A goblin comes into view. It is wielding a +0 dagger. You are fully restored. (4) A goblin is nearby! A goblin is nearby! A goblin is nearby! You miscast Kinetic Grapnel. You are very lightly contaminated with residual magic. Nothing appears to happen. The goblin shouts! Your remaining MP is [3/4]. You closely miss the goblin. The goblin hits you with a +0 dagger. x2 You took 3 damage. Your remaining HP is [20/23]. The kinetic grapnel hits the goblin. The goblin is severely wounded. The goblin hits you with a +0 dagger. You took 3 damage. Your remaining HP is [17/23]. Your remaining MP is [2/4]. The grapnel guides your strike. You hit the goblin but do no damage. The goblin is severely wounded. The goblin hits you with a +0 dagger. You took 1 damage. Your remaining HP is [16/23]. A goblin is nearby! A goblin is nearby! You barely miss the goblin. The goblin is severely wounded. The goblin barely misses you. Your magical contamination has completely faded away. The kinetic grapnel hits the goblin. You kill the goblin! Your remaining MP is [1/4]. No target in view! You see here a +0 dagger. Key pressed, stopping explore. You see here a +0 dagger. Found 5 curare-tipped darts. You are fully healed. (23); You are fully restored. (4) A kobold comes into view. It is wielding a +0 dagger. A kobold is nearby! A kobold is nearby! The kobold shouts! The kinetic grapnel hits the kobold. The kobold is moderately wounded. Your remaining MP is [3/4]. The kobold throws a stone. The stone hits you but does no damage. An endoplasm comes into view. Found 9 gold pieces. The kobold hits you but does no damage. The grapnel guides your strike. The endoplasm quivers. You hit the kobold. You kill the kobold! You hit the endoplasm but do no damage. The endoplasm closely misses you. The kinetic grapnel hits the endoplasm. The endoplasm is severely wounded. The endoplasm barely misses you. Your remaining MP is [2/4]. The grapnel guides your strike. You sock the endoplasm! You kill the endoplasm! No target in view! Okay, then. e - 5 curare-tipped darts You are fully restored. (4) You now have 49 gold pieces (gained 9). Key pressed, stopping explore. No target in view! Found a mace. A frilled lizard comes into view. A frilled lizard is nearby! A frilled lizard is nearby! A ball python comes into view. Found a metallic emerald potion. The kinetic grapnel hits the frilled lizard. You kill the frilled lizard! The ball python hisses angrily. Your remaining MP is [3/4]. A ball python is nearby! The kinetic grapnel hits the ball python. You kill the ball python! Your remaining MP is [2/4]. No target in view! f - a metallic emerald potion You are fully restored. (4) Key pressed, stopping explore. A bat comes into view. Found a club. A bat is nearby! A bat is nearby! The bat hits you but does no damage. The kinetic grapnel hits the bat. You kill the bat! Your remaining MP is [3/4]. No target in view! You see here a +0 club. Key pressed, stopping explore. Key pressed, stopping explore. You see here a +0 club. Key pressed, stopping explore. Key pressed, stopping explore. You now have 61 gold pieces (gained 12). You now have 74 gold pieces (gained 13). Key pressed, stopping explore. A ball python comes into view. Found a scroll labelled VOIHELUPLECOWN. The ball python hisses angrily. You hear a loud squeak. A rat comes into view. You are fully restored. (4) There are monsters nearby! There are monsters nearby! A frilled lizard comes into view. The frilled lizard hisses angrily. A hobgoblin comes into view. The kinetic grapnel hits the rat. You kill the rat! The hobgoblin shouts! Your remaining MP is [3/4]. You barely miss the ball python. The ball python barely misses you. x2 The ball python closely misses you. The ball python grabs you. The ball python constricts you. Unknown command. You escape the ball python's grasp. Aiming: Kinetic Grapnel (safe; 3% risk of failure) Press: ? - help, Q - select action, (/) - cycle Shift-Dir - straight line, f - frilled lizard Aim: a frilled lizard (57% to hit) The kinetic grapnel hits the frilled lizard. You kill the frilled lizard! Your remaining MP is [2/4]. Aiming: Kinetic Grapnel (safe; 3% risk of failure) Press: ? - help, Q - select action, (/) - cycle Shift-Dir - straight line, f - ball python Aim: a ball python (77% to hit) The kinetic grapnel hits the ball python. The ball python is moderately wounded. The ball python closely misses you. The ball python barely misses you. Your remaining MP is [1/4]. The grapnel guides your strike. You hit the ball python. You kill the ball python! Aiming: Kinetic Grapnel (safe; 3% risk of failure) Press: ? - help, Q - select action, (/) - cycle Shift-Dir - straight line, f - hobgoblin Aim: a hobgoblin (74% to hit) The kinetic grapnel hits the hobgoblin. The hobgoblin is almost dead. The hobgoblin hits you but does no damage. Your remaining MP is [0/4]. The grapnel guides your strike. You sock the hobgoblin! You kill the hobgoblin! You start resting. Magic restored. You are fully restored. (4) You now have 87 gold pieces (gained 13). Things that are here: a hobgoblin corpse; a ball python corpse; a frilled lizard corpse g - a scroll labelled VOIHELUPLECOWN Key pressed, stopping explore. Things that are here: a +3 short sword; a kobold skeleton Key pressed, stopping explore. Done exploring. Done exploring. Done exploring. Done exploring. What level of the Dungeon? (default 1, ? - help) Okay, then. You can't go down here! There is a stone staircase leading down here. You climb downwards. Found a hand axe. There is a stone staircase leading up here. Unknown command. You start memorising the spell. You continue memorising. x2 You finish memorising. Spell assigned to 'b'. Unknown command. You open the door. There is an open door here. You open the door. A kobold comes into view. It is wielding a +0 short sword. A kobold is nearby! A kobold is nearby! A kobold is nearby! Found a stone staircase leading up. The kobold shouts! There is an open door here. The kinetic grapnel hits the kobold. You kill the kobold! Your remaining MP is [3/4]. No target in view! Magic restored. There is an open door here. You open the door. There is an open door here. Key pressed, stopping explore. You open the door. There is an open door here. Found two whips. Found a stone staircase leading up. You are fully restored. (4) There is a stone staircase leading up here. You open the door. There is an open door here. Found a spear. h - a ring of positive energy You see here a +0 spear. As you open the door, it creaks loudly! h - a ring of positive energy (left hand) As you open the door, it creaks loudly! There is an open door here. You open the door. A ball python comes into view. There is an open door here. A ball python is nearby! A ball python is nearby! A ball python is nearby! The kinetic grapnel hits the ball python. You kill the ball python! Your remaining MP is [3/4]. No target in view! A quokka comes into view. You are fully restored. (4) A quokka is nearby! A quokka is nearby! A quokka is nearby! The kinetic grapnel misses the quokka. The quokka barely misses you. The quokka bites you. You took 1 damage. Your remaining HP is [22/23]. Your remaining MP is [3/4]. You hit the quokka. The quokka is heavily wounded. The quokka bites you. You took 2 damage. Your remaining HP is [20/23]. The kinetic grapnel hits the quokka. The quokka is almost dead. The quokka misses you. Your remaining MP is [2/4]. The grapnel guides your strike. You hit the quokka. You kill the quokka! You have reached level 3! Your experience leads to an increase in your attributes! Increase (S)trength, (I)ntelligence, or (D)exterity? You feel stronger. x2 You regained 5 HP. Current HP is [25/28]. HP restored. You now have 102 gold pieces (gained 15). i - a scroll labelled XAIMNAINAN You are fully healed. (28); You are fully restored. (5) Found 7 stones. You now have 117 gold pieces (gained 15). Key pressed, stopping explore. Key pressed, stopping explore. j - a white potion Key pressed, stopping explore. Key pressed, stopping explore. Key pressed, stopping explore. Key pressed, stopping explore. Key pressed, stopping explore. Key pressed, stopping explore. You see here a quokka corpse. Found a dagger. A ball python comes into view. A ball python is nearby! A ball python is nearby! The kinetic grapnel hits the ball python. You kill the ball python! Your remaining MP is [4/5]. No target in view! Key pressed, stopping explore. k - a scroll labelled HEMEAQO OKENUM You are fully restored. (5) You open the door. There is an open door here. Key pressed, stopping explore. A ribbon worm comes into view. A ribbon worm is nearby! A ribbon worm is nearby! The kinetic grapnel hits the ribbon worm. The ribbon worm is lightly wounded. Your remaining MP is [4/5]. The grapnel guides your strike. You hit the ribbon worm. The ribbon worm is heavily wounded. The ribbon worm closely misses you. A ribbon worm is nearby! A ribbon worm is nearby! The kinetic grapnel hits the ribbon worm. The ribbon worm is severely wounded. The ribbon worm expels a string of sticky webbing. The stream of webbing hits you but does no damage. You are caught in a web! Your remaining MP is [3/5]. You are caught in a web! A ribbon worm is nearby! A ribbon worm is nearby! You are caught in a web! Casting: Kinetic Grapnel (safe; 3% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. You shape a spike launcher from a nearby wall. The ribbon worm bites you. You took 3 damage. Your remaining HP is [25/28]. Your remaining MP is [1/5]. Unknown command. The web tears apart. The ribbon worm bites you. You took 4 damage. Your remaining HP is [21/28]. The ribbon worm expels a string of sticky webbing. The stream of webbing misses you. The grapnel comes loose from the ribbon worm. Unknown command. The rocky spike skewers the ribbon worm. Unknown command. You barely miss the ribbon worm. The ribbon worm is severely wounded. The rocky spike skewers the ribbon worm. The ribbon worm dies! Key pressed, stopping explore. A rat comes into view. You are fully healed. (28); You are fully restored. (5) A rat is nearby! A rat is nearby! A rat is nearby! The kinetic grapnel hits the rat. You kill the rat! Your remaining MP is [4/5]. Unknown command. Found a stone staircase leading down. You are fully restored. (5) There is a stone staircase leading down here. Key pressed, stopping explore. You see here a quokka skeleton. There is an open door here. Key pressed, stopping explore. There is an open door here. Key pressed, stopping explore. A jackal comes into view. Found a club. The jackal barks! A jackal comes into view. The jackal moves out of view. A jackal comes into view. There are monsters nearby! There are monsters nearby! There are monsters nearby! What are your orders? t - Shout! Orders for allies: a - Attack new target. r - Retreat! s - Stop attacking. g - Guard the area. f - Follow me. Anything else - Cancel. You shout for attention! The jackal barks! x2 Casting: Kinetic Grapnel (safe; 3% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. You shape a spike launcher from a nearby wall. The rocky spike skewers the jackal. Your remaining MP is [3/5]. The rocky spike skewers the jackal. The jackal dies! You hit the jackal. The jackal is almost dead. The rocky spike skewers the jackal. x2; The jackal bites you. You took 1 damage. Your remaining HP is [27/28]. You completely miss the jackal. The jackal is almost dead. The rocky spike skewers the jackal. The jackal dies! The jackal misses you. The jackal bites you. You hit the jackal but do no damage. The jackal is almost dead. The rocky spike skewers the jackal. The jackal dies! No target in view! No target in view! You see here a jackal corpse. Key pressed, stopping explore. l - a yellow potion You are fully healed. (28); You are fully restored. (5) Found a hazy altar of Hepliaklqana. There is a hazy altar of Hepliaklqana here. There is a hazy altar of Hepliaklqana here. Key pressed, stopping explore. A ball python comes into view. The ball python hisses angrily. A ball python is nearby! A ball python is nearby! The ball python barely misses you. x2; The ball python bites you. You took 1 damage. Your remaining HP is [27/28]. You hit the ball python. The ball python is severely wounded. The ball python misses you. The ball python barely misses you. A ball python is nearby! The kinetic grapnel misses the ball python. The ball python bites you but does no damage. The ball python grabs you. The ball python constricts you. You are fully healed. (28) Your remaining MP is [4/5]. You thump the ball python! You kill the ball python! Key pressed, stopping explore. Key pressed, stopping explore. Key pressed, stopping explore. Found a stone staircase leading down. You are fully restored. (5) There is a stone staircase leading down here. Found a stone staircase leading down. There is a stone staircase leading down here. A ball python comes into view. The ball python hisses angrily. The ball python moves out of view. A ball python is nearby! A ball python is nearby! The ball python barely misses you. The ball python grabs you. The ball python constricts you. You took 1 damage. Your remaining HP is [27/28]. The kinetic grapnel hits the ball python. The ball python is severely wounded. The ball python bites you. The ball python constricts you. You took 2 damage. Your remaining HP is [25/28]. Your remaining MP is [4/5]. The grapnel guides your strike. You hit the ball python. You kill the ball python! You open the door. There is an open door here. Key pressed, stopping explore. You now have 130 gold pieces (gained 13). You now have 134 gold pieces (gained 4). Key pressed, stopping explore. You open the door. There is an open door here. An adder comes into view. The adder hisses angrily. You are fully healed. (29); You are fully restored. (5) An adder is nearby! An adder is nearby! An adder is nearby! The kinetic grapnel hits the adder. The adder is lightly wounded. Your remaining MP is [4/5]. The grapnel guides your strike. You sock the adder! The adder is almost dead. The adder closely misses you. An adder is nearby! An adder is nearby! You closely miss the adder. The adder is almost dead. The adder bites you. You are poisoned. The adder poisons you! The adder bites you. You took 3 damage. Your remaining HP is [26/29]. An adder is nearby! An adder is nearby! Unknown command. The kinetic grapnel misses the adder. You feel sick. The adder misses you. You took 1 damage. Your remaining HP is [25/29]. Your remaining MP is [3/5]. You barely miss the adder. The adder is almost dead. You feel sick. The adder barely misses you. x2 You took 2 damage. Your remaining HP is [23/29]. You hit the adder but do no damage. The adder is almost dead. You feel sick. The adder barely misses you. x2 You miss the adder. The adder is almost dead. You feel sick. You are no longer poisoned. The adder barely misses you. You took 1 damage. Your remaining HP is [22/29]. You miss the adder. The adder is almost dead. The adder bites you. The adder bites you but does no damage. You took 4 damage. Your remaining HP is [18/29]. The kinetic grapnel hits the adder but does no damage. The adder is almost dead. The adder barely misses you. Your remaining MP is [2/5]. You closely miss the adder. The adder is almost dead. The adder bites you. The adder misses you. You took 2 damage. Your remaining HP is [17/29]. You hit the adder but do no damage. The adder is almost dead. The adder bites you. The adder misses you. You took 1 damage. Your remaining HP is [16/29]. You closely miss the adder. The adder is almost dead. The adder closely misses you. You miss the adder. The adder is almost dead. The adder closely misses you. The adder bites you. You took 1 damage. Your remaining HP is [16/29]. You hit the adder. You kill the adder! Your Maces & Flails skill increases to level 3! You can't see any susceptible monsters within range! (Use Z to cast anyway.) An adder comes into view. The adder hisses angrily. You are fully healed. (29); You are fully restored. (5) An adder is nearby! An adder is nearby! An adder is nearby! Casting: Kinetic Grapnel (safe; 3% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. You shape a spike launcher from a nearby wall. Your remaining MP is [3/5]. Unknown command. The rocky spike skewers the adder. The adder bites you. You are poisoned. The adder poisons you! You took 2 damage. Your remaining HP is [27/29]. The kinetic grapnel hits the adder. You kill the adder! You feel sick. You took 1 damage. Your remaining HP is [26/29]. Your remaining MP is [2/5]. Unknown command. You feel sick. You feel sick. You feel sick. You are no longer poisoned. You see here an adder corpse. A quokka and a goblin come into view. You are fully healed. (29); You are fully restored. (5) There are monsters nearby! There are monsters nearby! There are monsters nearby! The quokka barely misses you. Casting: Kinetic Grapnel (safe; 3% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. You shape a spike launcher from a nearby wall. The rocky spike skewers the goblin. The goblin shouts! The quokka closely misses you. Your remaining MP is [3/5]. The kinetic grapnel hits the quokka. The quokka is heavily wounded. The rocky spike skewers the quokka. The quokka barely misses you. Your remaining MP is [2/5]. The grapnel guides your strike. You sock the quokka! You kill the quokka! The rocky spike skewers the goblin. The goblin dies! You see here a +0 club. Key pressed, stopping explore. Key pressed, stopping explore. Key pressed, stopping explore. Key pressed, stopping explore. m - an orange potion You are fully restored. (5) n - a scroll labelled ZILECI UCIODD Key pressed, stopping explore. Key pressed, stopping explore. Key pressed, stopping explore. You see here an adder skeleton. Key pressed, stopping explore. Key pressed, stopping explore. Key pressed, stopping explore. You open the door. There is a stone staircase leading down here. Key pressed, stopping explore. Done exploring. Done exploring. Done exploring. Done exploring. As you read the scroll labelled VOIHELUPLECOWN, it crumbles to dust. It is a scroll of enchant weapon. Your +0 hammer glows red for a moment. The air fills with toxic fumes! As you read the scroll labelled XAIMNAINAN, it crumbles to dust. It was a scroll of poison. As you read the scroll labelled HEMEAQO OKENUM, it crumbles to dust. A profound silence engulfs you. It was a scroll of silence. Magic scrolls do not work when you're silenced! Unknown command. You start waiting. Your hearing returns. You start waiting. Done waiting. Done exploring. As you read the scroll labelled ZILECI UCIODD, it crumbles to dust. It is a scroll of amnesia. Okay, then. Done exploring. Done exploring. There is a stone staircase leading down here. You climb downwards. Found 15 gold pieces, a scale mail and a book of Minor Magic. Found an escape hatch in the ceiling. There is a stone staircase leading up here. Key pressed, stopping travel. Unknown command. A hobgoblin comes into view. The hobgoblin shouts! A hobgoblin is nearby! A hobgoblin is nearby! Casting: Kinetic Grapnel (safe; 3% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. You shape a spike launcher from a nearby wall. Your remaining MP is [3/5]. The kinetic grapnel hits the hobgoblin. The hobgoblin is moderately wounded. The rocky spike skewers the hobgoblin. The hobgoblin barely misses you. Your remaining MP is [2/5]. The grapnel guides your strike. You sock the hobgoblin! You kill the hobgoblin! Magic restored. You pick up a book of Minor Magic and begin reading... You add the spells Magic Dart, Blink and Call Imp to your library. You are fully restored. (5) g - a scroll labelled XOITINT NAUTZ You see here a +0 scale mail. You now have 140 gold pieces (gained 6). Found a ring mail. You now have 149 gold pieces (gained 9). A goblin comes into view. It is wielding a +0 dagger. A goblin is nearby! The goblin shouts! Casting: Kinetic Grapnel (safe; 3% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. You shape a spike launcher from a nearby wall. Your remaining MP is [3/5]. The kinetic grapnel hits the goblin but does no damage. The goblin hits you with a +0 dagger. You took 2 damage. Your remaining HP is [27/29]. Your remaining MP is [2/5]. You closely miss the goblin. The rocky spike skewers the goblin. x2 The goblin dies! Unknown command. HP restored. A giant cockroach comes into view. You are fully healed. (29) A giant cockroach is nearby! A giant cockroach is nearby! No target in view! You can't see any susceptible monsters within range! (Use Z to cast anyway.) No target in view! Key pressed, stopping explore. No target in view! You are fully restored. (5) You can't see any susceptible monsters within range! (Use Z to cast anyway.) You can't see any susceptible monsters within range! (Use Z to cast anyway.) No target in view! You open the door. A kobold comes into view. It is wielding a +0 whip of electrocution and quivering poisoned darts. The kobold shouts! The kobold throws a poisoned dart. The poisoned dart misses you. There is an open door here. The kinetic grapnel hits the kobold but does no damage. The kobold throws a poisoned dart. The poisoned dart barely misses you. Your remaining MP is [4/5]. The kobold hits you with a +0 whip of electrocution. You took 2 damage. Your remaining HP is [27/29]. Casting: Kinetic Grapnel (safe; 3% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Okay, then. The kinetic grapnel hits the kobold. The kobold is moderately wounded. The kobold misses you. Your remaining MP is [3/5]. The grapnel guides your strike. You hit the kobold. You kill the kobold! Unknown command. i - 6 poisoned darts Things that are here: a +0 whip of electrocution; a kobold corpse You hear the crackle of electricity. k - a +0 whip of electrocution (weapon) You drop a +1 hammer. You are fully healed. (29) There is an open door here. Key pressed, stopping explore. Found 5 gold pieces and a scroll labelled FASIXK AX MEA. You are fully restored. (5) A giant cockroach is nearby! A giant cockroach is nearby! A giant cockroach is nearby! The kinetic grapnel hits the giant cockroach. The giant cockroach is heavily wounded. The giant cockroach completely misses you. Your remaining MP is [4/5]. Casting: Kinetic Grapnel (safe; 3% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. You shape a spike launcher from a nearby wall. The rocky spike skewers the giant cockroach! The giant cockroach dies! Your remaining MP is [2/5]. Unknown command. You now have 154 gold pieces (gained 5). a - a scroll labelled FASIXK AX MEA You are fully restored. (5) Key pressed, stopping explore. You open the door. There is an open door here. Key pressed, stopping explore. Key pressed, stopping explore. There is a shaft here. Key pressed, stopping explore. A giant cockroach comes into view. A giant cockroach is nearby! A giant cockroach is nearby! A giant cockroach is nearby! The kinetic grapnel hits the giant cockroach. The giant cockroach is almost dead. The giant cockroach closely misses you. Your remaining MP is [4/5]. The grapnel guides your strike. You hit the giant cockroach. You kill the giant cockroach! Your Fighting skill increases to level 2! You see here a giant cockroach corpse. Key pressed, stopping explore. Key pressed, stopping explore. You open the door. There is an open door here. Key pressed, stopping explore. Found 7 stones. You are fully restored. (5) You now have 161 gold pieces (gained 7). You see here 7 stones. You now have 167 gold pieces (gained 6). Key pressed, stopping explore. You now have 174 gold pieces (gained 7). An orc and a jackal come into view. The orc shouts! The jackal barks! The orc moves out of view. A jackal is nearby! A jackal is nearby! A jackal is nearby! A jackal comes into view. The jackal barks! Casting: Kinetic Grapnel (safe; 3% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. You shape a spike launcher from a nearby wall. The jackal barely misses you. The jackal bites you. You took 2 damage. Your remaining HP is [27/29]. Your remaining MP is [3/5]. Unknown command. The jackal attacks as it pursues you! The jackal closely misses you. The kinetic grapnel hits the jackal. The jackal is heavily wounded. The rocky spike skewers the jackal. The jackal dies! The jackal barely misses you. Your remaining MP is [2/5]. You closely miss the orc. The rocky spike skewers the orc. The jackal bites you. The orc barely misses you. You took 2 damage. Your remaining HP is [25/29]. The kinetic grapnel hits the orc. You kill the orc! The rocky spike misses the jackal. The jackal bites you. You took 2 damage. Your remaining HP is [23/29]. Your remaining MP is [1/5]. You miss the jackal. The rocky spike misses the jackal. The jackal closely misses you. The jackal barely misses you. A jackal is nearby! A jackal is nearby! You hit the jackal. The jackal is almost dead. The rocky spike skewers the jackal. The jackal dies! You see here a +0 whip. Key pressed, stopping explore. The gnoll shouts! You hear a shout! Found 5 stones. You are fully healed. (29); You are fully restored. (5) Found a stone staircase leading up. A goblin and a kobold come into view. The goblin is wielding a +1 dagger of draining. Found a scale mail. There are monsters nearby! There are monsters nearby! There are monsters nearby! Casting: Kinetic Grapnel (safe; 3% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. You shape a spike launcher from a nearby wall. The rocky spike skewers the kobold. The kobold shouts! The goblin shouts! Your remaining MP is [3/5]. The kinetic grapnel hits the kobold. You kill the kobold! Your remaining MP is [2/5]. The kinetic grapnel hits the goblin. The goblin is severely wounded. Your remaining MP is [1/5]. The grapnel guides your strike. You hit the goblin. Lightning courses through the goblin! You kill the goblin! Things that are here: a +1 dagger of draining; a goblin corpse You are fully restored. (5) n - a fizzy purple potion You now have 189 gold pieces (gained 15). Found a stone staircase leading down. A ball python comes into view. The ball python hisses angrily. A ball python is nearby! Okay, then. The kinetic grapnel hits the ball python. You kill the ball python! Your remaining MP is [4/5]. No target in view! Okay, then. You start resting. Magic restored. You are fully restored. (5) Key pressed, stopping explore. A rat comes into view. A rat is nearby! A rat is nearby! A rat is nearby! The kinetic grapnel hits the rat. You kill the rat! Your remaining MP is [4/5]. No target in view! You see here a rat corpse. Found a stone staircase leading down. You are fully restored. (5) Key pressed, stopping explore. Key pressed, stopping explore. Key pressed, stopping explore. Key pressed, stopping explore. You enter the shallow water. Moving in this stuff is going to be slow. The gnoll shouts! You hear a shout! x3 The orc shouts! x2 A jackal comes into view. The gnoll shouts! A jackal is nearby! A jackal is nearby! A jackal is nearby! A jackal is nearby! A jackal is nearby! The kinetic grapnel hits the jackal. The jackal is almost dead. Your remaining MP is [4/5]. You can't see any susceptible monsters within range! (Use Z to cast anyway.) Unknown command. No reachable target in view! A jackal comes into view. You can't see any susceptible monsters within range! (Use Z to cast anyway.) Unknown command. You enter the shallow water. Moving in this stuff is going to be slow. The jackal barks! The grapnel comes loose from the jackal. A jackal comes into view. A jackal comes into view. Found a robe. A jackal comes into view. x2 The jackal bites the plant. The plant begins to die. The jackal barks! You are fully restored. (5) Casting: Kinetic Grapnel (safe; 3% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. You shape a spike launcher from a nearby wall. The jackal barks! The jackal bites you but does no damage. Your remaining MP is [3/5]. >>>>>>>>>>>>>>>>>>>>>> Version history: Game started: 0.33-a0-394-g90355d26cc Game state: mouse_enabled: 0, waiting_for_command: 0, terminal_resized: 0 io_inited: 1, need_save: 1, saving_game: 0, updating_scores: 0: seen_hups: 1, map_stat_gen: 0, type: 1, arena_suspended: 0 prev_cmd = CMD_MOVE_RIGHT repeat_cmd = CMD_NO_CMD Player: {{{{{{{{{{{ Name: [whosad] Species: Mountain Dwarf Job: Forgewright HP: 29/29; mods: 0/0 MP: 3/5; mod: 0 Stats: 14 (14) 15 (15) 8 (8) Position: (42, 1), god: No God (0), turn_is_over: 1, banished: 0 Standing on/in/over feature: floor Skills (mode: manual) Name | can_currently_train | train | training | level | points | progress Fighting | X | 1 | 34 | 2 | 134 | 8/126 Short Blades | X | 0 | 0 | 0 | 0 | 0/70 Long Blades | X | 0 | 0 | 0 | 0 | 0/59 Axes | X | 0 | 0 | 0 | 0 | 0/35 Maces & Flails | X | 2 | 66 | 3 | 257 | 45/141 Polearms | X | 0 | 0 | 0 | 0 | 0/50 Staves | X | 0 | 0 | 0 | 0 | 0/42 Ranged Weapons | X | 0 | 0 | 0 | 0 | 0/70 Throwing | X | 0 | 0 | 0 | 0 | 0/70 Armour | X | 0 | 0 | 0 | 0 | 0/42 Dodging | X | 0 | 0 | 1 | 151 | 67/168 Stealth | X | 0 | 0 | 1 | 127 | 57/142 Shields | X | 0 | 0 | 0 | 0 | 0/42 Unarmed Combat | X | 0 | 0 | 0 | 0 | 0/50 Spellcasting | X | 0 | 0 | 1 | 179 | 109/142 Conjurations | X | 0 | 0 | 0 | 0 | 0/59 Hexes | X | 0 | 0 | 0 | 0 | 0/50 Summonings | X | 0 | 0 | 0 | 0 | 0/70 Necromancy | X | 0 | 0 | 0 | 0 | 0/42 Translocations | X | 0 | 0 | 0 | 0 | 0/70 Forgecraft | X | 0 | 0 | 4 | 501 | 148/177 Fire Magic | X | 0 | 0 | 0 | 0 | 0/35 Ice Magic | X | 0 | 0 | 0 | 0 | 0/59 Air Magic | X | 0 | 0 | 0 | 0 | 0/84 Earth Magic | X | 0 | 0 | 0 | 0 | 0/42 Alchemy | X | 0 | 0 | 0 | 0 | 0/70 Invocations | X | 0 | 0 | 0 | 0 | 0/29 Evocations | X | 0 | 0 | 0 | 0 | 0/42 Shapeshifting | X | 0 | 0 | 0 | 0 | 0/70 Spell bugs: Durations: #192: 85 Attributes: #12: 189 #49: 254 Mutations: runic magic: 1 (innate) artefact enchanting: 1 (innate) Inventory bugs: Equipment: eq slot #0, inv slot #10: +0 whip of electrocution eq slot #6, inv slot #2: +0 robe eq slot #7, inv slot #7: ring of positive energy }}}}}}}}}}} Webtiles message buffer: Webtiles JSON stack: Screenshot: ###################### ....P...h.h.@........# ..P.......h.....P....# ≈h~≈~~~~~~≈≈~≈≈~~....# ≈≈≈≈~≈≈≈≈≈≈≈≈≈≈≈~....# ~h~≈~~≈~~~#####≈~....# [...h.h...#ogo#≈≈....# ###########gg.#≈~P...# #'###≈≈....# #.#.≈≈≈....# clua stack: dlua stack: Lua persistent data: <<<<<<<<<<<<<<<<<<<<<< >>>>>>>>>>>>>>>>>>>>>> Lua marker contents: <<<<<<<<<<<<<<<<<<<<<< >>>>>>>>>>>>>>>>>>>>>>