ASSERT(in_bounds(source)) in 'beam.cc' at line 739 failed. (source = (42,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:58:22.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) [0x5c422997c2ee]: write_stack_trace(_IO_FILE*) /usr/games/crawl-git-90355d26cc(_Z13do_crash_dumpv+0x43a) [0x5c422998a43a]: do_crash_dump() /usr/games/crawl-git-90355d26cc(_Z20crash_signal_handleri+0x1fa) [0x5c422997c7ca]: crash_signal_handler(int) /lib/x86_64-linux-gnu/libc.so.6(+0x45320) [0x7e8a927fc320]: /lib/x86_64-linux-gnu/libc.so.6(pthread_kill+0x11c) [0x7e8a92855b1c]: /lib/x86_64-linux-gnu/libc.so.6(gsignal+0x1e) [0x7e8a927fc26e]: /usr/games/crawl-git-90355d26cc(+0x4b775d) [0x5c422998975d]: /usr/games/crawl-git-90355d26cc(_Z12AssertFailedPKcS0_iS0_z+0x1a1) [0x5c4229989cf1]: AssertFailed(char const*, char const*, int, char const*, ...) /usr/games/crawl-git-90355d26cc(_ZN4bolt15initialise_fireEv+0x230) [0x5c42299272c0]: bolt::initialise_fire() /usr/games/crawl-git-90355d26cc(_ZN4bolt7do_fireEv+0x30) [0x5c42299377a0]: bolt::do_fire() /usr/games/crawl-git-90355d26cc(_ZN4bolt4fireEv+0x278) [0x5c42299388b8]: bolt::fire() /usr/games/crawl-git-90355d26cc(_Z21handle_spike_launcheri+0x359) [0x5c4229f48649]: handle_spike_launcher(int) /usr/games/crawl-git-90355d26cc(_Z13player_reactsv+0xb1f) [0x5c4229e4c96f]: player_reacts() /usr/games/crawl-git-90355d26cc(_Z12world_reactsv+0x7b5) [0x5c422a0fc4c5]: world_reacts() /usr/games/crawl-git-90355d26cc(+0xc2c199) [0x5c422a0fe199]: /usr/games/crawl-git-90355d26cc(+0xc2ce95) [0x5c422a0fee95]: /usr/games/crawl-git-90355d26cc(main+0x1f7) [0x5c42298b4e57]: /lib/x86_64-linux-gnu/libc.so.6(+0x2a1ca) [0x7e8a927e11ca]: /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0x8b) [0x7e8a927e128b]: /usr/games/crawl-git-90355d26cc(_start+0x25) [0x5c42298b5875]: 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". 0x00007e8a928c77a7 in __GI___wait4 (pid=1547438, stat_loc=0x0, options=0, usage=0x0) at ../sysdeps/unix/sysv/linux/wait4.c:30 #0 0x00007e8a928c77a7 in __GI___wait4 (pid=1547438, stat_loc=0x0, options=0, usage=0x0) at ../sysdeps/unix/sysv/linux/wait4.c:30 sc_ret = -512 sc_ret = #1 0x00005c422997c99c in call_gdb (file=0x7e8a929bb4e0 <_IO_2_1_stderr_>) at crash.cc:438 gdb = attach_cmd = "attach 1541006\000\000\000\000\000" #2 0x00005c422998a458 in do_crash_dump () at dbg-asrt.cc:692 t = 1732111179 dir = "/dgldir/morgue/whosad/" name = "/dgldir/morgue/whosad/crash-whosad-20241120-135939.txt", '\000' signal_info = "Crash caused by signal #6: Aborted" cause_msg = "ASSERT(in_bounds(source)) in 'beam.cc' at line 739 failed. (source = (42,0))" file = 0x7e8a929bb4e0 <_IO_2_1_stderr_> #3 0x00005c422997c7ca 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 = {140736177749600}} 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 0x00007e8a927fc26e in __GI_raise (sig=6) at ../sysdeps/posix/raise.c:26 ret = #9 0x00005c422998975d in _BreakStrToDebugger (mesg=mesg@entry=0x7fffb1e1ba10 "ASSERT(in_bounds(source)) in 'beam.cc' at line 739 failed. (source = (42,0))", assert=true) at dbg-asrt.cc:818 No locals. #10 0x00005c4229989cf1 in AssertFailed (expr=expr@entry=0x5c422a112ced "in_bounds(source)", file=file@entry=0x5c422a112711 "beam.cc", line=line@entry=739, text=text@entry=0x5c422a110c39 "%s = (%d,%d)") at dbg-asrt.cc:851 detail = "source = (42,0)\000\005\000\000\000\000\000\000\000\030\000\000\0000\000\000\000 \301\341\261\377\177\000\000P\300\341\261\377\177\000\000-22\000\377\177\000\000\0271\246)B\\\000\000\360\270\341\261\377\177\000\000\302pÒ\212~\000\000p\271\341\261\377\177\000\000\360\271\341\261\377\177\000\000\337t\022*B\\\000\000\277x\326)B\\\000\000\340\272\341\261\377\177\000\000t\016\246)B\\\000\000\005\000\000\000\000\000\000\000\000\023\236\351w\2403&\220\272\341\261\377\177\000\000p\272\341\261\377\177\000\000`\275\341\261\377\177\000\000\0271\246)B\\\000\000 \271\341\261\377\177\000\000\302pÒ\212~\000\000\340\271\341\261\377\177\000\000`\272"... final_mesg = "ASSERT(in_bounds(source)) in 'beam.cc' at line 739 failed. (source = (42,0))\000\\\000\000\360\303\341\261\377\177\000\000\020\000\000\0000\000\000\000`\303\341\261\377\177\000\000\220\302\341\261\377\177\000\000*{\"msg\":\"flush_messages\"}\000lay\",\"t\":50}\000s\000\272\341\261\377\177\000\000\300%Ւ\212~\000\000 \177F*B\\", '\000' , "\001\000\000\000\000\000\000\000d"... mesg = "ASSERT(in_bounds(source)) in 'beam.cc' at line 739 failed.\000\222\212~\000\000\004\000\000\000\000\000\000\000\240\267\341\261\377\177\000\000`\272\341\261\377\177\000\000\307I\246)B\\\000\000\320:l+B\\\000\000\260\267\341\261\377\177\000\000\300\267\341\261\377\177\000\000\240\267\341\261\377\177\000\000\000\000\000\000\001\001\001\000\001\266\341\261\377\177\000\000@\231\340+B\\\000\000\022\000\000\000\000\000\000\000\036\000\000\000\000\000\000\000ipped d\000ж\341\261\377\177\000\000\004\000\000\000\000\000\000\000fish\000\177\000\000\000"... args = {{gp_offset = 48, fp_offset = 48, overflow_arg_area = 0x7fffb1e1bf08, reg_save_area = 0x7fffb1e1be20}} fileName = #11 0x00005c42299272c0 in bolt::initialise_fire (this=this@entry=0x7fffb1e1c490) at beam.cc:739 No locals. #12 0x00005c42299377a0 in bolt::do_fire (this=this@entry=0x7fffb1e1c490) at beam.cc:1235 coff = #13 0x00005c42299388b8 in bolt::fire (this=this@entry=0x7fffb1e1c490) at beam.cc:1220 No locals. #14 0x00005c4229f48649 in _fire_spike_launcher (target=0x5c422a6d6340 , 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 = 42, y = 0}, target = {x = 41, 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 = -1310602624, 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 = 0x5c422a6d6340 ai = { = {> = {}, center = {x = 42, y = 0}, current = {x = 41, 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 = 0x7fffb1e1c428, vnear = 0x7fffb1e1c440, vfar = 0x7fffb1e1c410, r = 1, max_radius = 1, threshold = 2, icur = 2, iend = 7, fair = true}, } pos = {x = 42, y = 0} timer = @0x5c422bf1e9c8: -10 #16 0x00005c4229e4c96f in player_reacts () at player-reacts.cc:1136 stealth = 45 #17 0x00005c422a0fc4c5 in world_reacts () at main.cc:2599 No locals. #18 0x00005c422a0fe199 in _input () at main.cc:1300 player_disabled = {was_disabled = false} #19 0x00005c422a0fee95 in _launch_game () at main.cc:492 game_start = ccon = {cstate = false} #20 0x00005c42298b4e57 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 (42, 0) out of bounds Marker #0, type 9 at (42, 0): Terrain change marker (7->214, 46) >>>>>>>>>>>>>>>>>>>>>> Messages: <<<<<<<<<<<<<<<<<<<<<< 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. Welcome back, whosad the Mountain Dwarf Forgewright. Press ? for a list of commands and other information. A hobgoblin is nearby! A hobgoblin is nearby! Unknown command. Unknown command. Unknown command. Unknown command. A hobgoblin is nearby! A hobgoblin is nearby! A hobgoblin is nearby! A hobgoblin is nearby! A hobgoblin is nearby! A hobgoblin is nearby! No target in view! No target in view! The kinetic grapnel hits the hobgoblin. The hobgoblin is severely wounded. The hobgoblin hits you. You took 3 damage. Your remaining HP is [26/29]. Your remaining MP is [4/5]. The grapnel guides your strike. You hit the hobgoblin. You kill the hobgoblin! HP restored. 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 healed. (29); You are fully restored. (5) Okay, then. 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 giant cockroach comes into view. A giant cockroach is nearby! A giant cockroach is nearby! Found a ring mail. The kinetic grapnel hits the giant cockroach. You kill the giant cockroach! Your remaining MP is [4/5]. No target in view! Key pressed, stopping explore. You open the door. There is an open door here. Key pressed, stopping explore. A goblin comes into view. It is wielding a +0 dagger. You are fully restored. (5) A goblin is nearby! A goblin is nearby! A goblin is nearby! The kinetic grapnel hits the goblin. You kill the goblin! Your Fighting skill increases to level 2! Your remaining MP is [4/5]. No target in view! You now have 154 gold pieces (gained 5). Things that are here: a +0 dagger; a goblin corpse i - a scroll labelled FASIXK AX MEA You are fully restored. (5) A kobold comes into view. It is wielding a +0 whip of electrocution and quivering poisoned darts. A kobold is nearby! A kobold is nearby! A kobold is nearby! The kobold shouts! The kobold throws a poisoned dart. The poisoned dart barely misses you. There is an open door here. The kinetic grapnel misses the kobold. The kobold hits you but does no damage. Your remaining MP is [4/5]. You closely miss the kobold. The kobold hits you with a +0 whip of electrocution. You are electrocuted! Ouch! That really hurt! You took 17 damage. Your remaining HP is [12/29]. Big Damage!!!!!!!!!! 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 kobold barely misses you. Your remaining MP is [2/5]. Unknown command. Aiming: Kinetic Grapnel (safe; 3% risk of failure) Press: ? - help, Q - select action, (/) - cycle Shift-Dir - straight line, f/p - kobold Aim: a kobold, wielding a +0 whip of electrocution and quivering poisoned darts (67% to hit) The kinetic grapnel hits the kobold but does no damage. The rocky spike skewers the kobold. The kobold dies! Your remaining MP is [1/5]. k - 6 poisoned darts There is an open door here. You see here a +0 whip of electrocution. You hear the crackle of electricity. n - a +0 whip of electrocution (weapon) You drop a +1 hammer. Key pressed, stopping explore. There is an open door here. You see here a +1 hammer. Key pressed, stopping explore. Found a stone staircase leading down. You are fully healed. (29); You are fully restored. (5) Unknown command. A rat comes into view. The rat squeaks loudly. A rat is nearby! A rat is nearby! A rat 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. The rocky spike skewers the rat. The rat dies! Your remaining MP is [3/5]. No target in view! Unknown command. No target in view! You see here a rat corpse. Key pressed, stopping explore. Key pressed, stopping explore. You see here a rat corpse. Found 5 stones. You are fully restored. (5) Key pressed, stopping explore. Found a stone staircase leading down. A goblin comes into view. It is wielding a +1 dagger of draining. The goblin shouts! A goblin is nearby! A goblin is nearby! Found a fizzy purple potion. Casting: Construct Spike Launcher (safe; 4% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Kinetic Grapnel (safe; 3% risk of failure) Press: ? - help, Shift-Dir - straight line, f - goblin Aim: a goblin, wielding a +1 dagger of draining (67% to hit) The kinetic grapnel misses the goblin. A kobold comes into view. It is wielding a +0 whip. Your remaining MP is [4/5]. You barely miss the goblin. The kobold shouts! The goblin misses you. 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 Found 15 gold pieces. Found a stone staircase leading up. Casting: Kinetic Grapnel (safe; 3% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Kinetic Grapnel (safe; 3% risk of failure) Press: ? - help, Shift-Dir - straight line, f - kobold Aim: a kobold, wielding a +0 whip (67% to hit) The kinetic grapnel hits the kobold but does no damage. The kobold closely misses you. Your remaining MP is [3/5]. You hit the kobold. The kobold is severely wounded. The kobold hits you with a +0 whip. You took 4 damage. Your remaining HP is [25/29]. Casting: Kinetic Grapnel (safe; 3% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Kinetic Grapnel (safe; 3% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - kobold Aim: a kobold, wielding a +0 whip (severely wounded, 67% to hit) The kinetic grapnel hits the kobold. You kill the kobold! Your remaining MP is [2/5]. No target in view! Found a scale mail. You are fully healed. (29); You are fully restored. (5) a - a fizzy purple potion You now have 169 gold pieces (gained 15). The gnoll shouts! Key pressed, stopping explore. A jackal comes into view. A jackal is nearby! A jackal is nearby! An orc comes into view. It is wielding a +0 whip. 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. Aiming: Kinetic Grapnel (safe; 3% risk of failure) Press: ? - help, Shift-Dir - straight line, f - jackal Aim: a jackal (67% to hit) The kinetic grapnel hits the jackal but does no damage. 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 jackal. Your remaining MP is [2/5]. Unknown command. The rocky spike skewers the jackal. The jackal dies! Casting: Construct Spike Launcher (safe; 4% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Kinetic Grapnel (safe; 3% risk of failure) Press: ? - help, Shift-Dir - straight line, f - jackal Aim: a jackal (67% to hit) The kinetic grapnel hits the jackal. You kill the jackal! Your remaining MP is [1/5]. The rocky spike skewers the orc. You hit the orc. Lightning courses through the orc! You kill the orc! Things that are here: a +0 whip; an orc corpse Key pressed, stopping explore. A jackal comes into view. You are fully restored. (5) A jackal is nearby! A jackal is nearby! A gnoll comes into view. It is wielding a +0 spear. There are monsters nearby! A jackal comes into view. Found 7 stones. The jackal barks! The gnoll 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. The rocky spike skewers the jackal. The jackal dies! Your remaining MP is [3/5]. Casting: Construct Spike Launcher (safe; 4% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Kinetic Grapnel (safe; 3% risk of failure) Press: ? - help, Shift-Dir - straight line, f - gnoll Aim: a gnoll, wielding a +0 spear (77% to hit) The kinetic grapnel hits the gnoll. The gnoll is moderately wounded. Your remaining MP is [2/5]. You barely miss the jackal. The rocky spike misses the gnoll. The jackal barely misses you. The gnoll hits you from afar with a +0 spear. You took 4 damage. Your remaining HP is [25/29]. You closely miss the jackal. The rocky spike skewers the jackal. The jackal bites you. The gnoll hits you from afar with a +0 spear. The jackal closely misses you. You took 4 damage. Your remaining HP is [21/29]. You hit the jackal. The jackal is almost dead. The rocky spike skewers the gnoll. The gnoll hits you from afar with a +0 spear! The jackal closely misses you. You took 8 damage. Your remaining HP is [13/29]. Big Damage!!!!!!!!!! The rocky spike skewers the gnoll. The grapnel comes loose from the gnoll. The gnoll attacks as it pursues you! The gnoll barely misses you. Unknown command. The rocky spike skewers the gnoll. The gnoll dies! The jackal closely misses you. Unknown command. Casting: Kinetic Grapnel (safe; 3% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Okay, then. You hit the jackal. You kill the jackal! Unknown command. You start resting. Magic restored. You regained 6 HP. Current HP is [20/29]. You are fully restored. (5) You start resting. HP restored. You are fully healed. (29) You now have 175 gold pieces (gained 6). You now have 182 gold pieces (gained 7). You see here 7 stones. Key pressed, stopping explore. You now have 189 gold pieces (gained 7). Key pressed, stopping explore. Key pressed, stopping explore. You open the door. There is an open door here. Key pressed, stopping explore. 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 giant cockroach bites you. You took 1 damage. Your remaining HP is [28/29]. Casting: Kinetic Grapnel (safe; 3% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Kinetic Grapnel (safe; 3% risk of failure) Press: ? - help, Shift-Dir - straight line, f - giant cockroach Aim: a giant cockroach (74% to hit) The kinetic grapnel misses the giant cockroach. The giant cockroach bites you but does no damage. Your remaining MP is [4/5]. Unknown command. You hit the giant cockroach. The giant cockroach is moderately wounded. The giant cockroach bites you but does no damage. You closely miss the giant cockroach. The giant cockroach is moderately wounded. The giant cockroach misses you. You are fully healed. (29) You completely miss the giant cockroach. The giant cockroach is moderately wounded. The giant cockroach bites you. You took 1 damage. Your remaining HP is [28/29]. You hit the giant cockroach. The giant cockroach is severely wounded. The giant cockroach bites you but does no damage. The giant cockroach bites you. You took 1 damage. Your remaining HP is [27/29]. You barely miss the giant cockroach. The giant cockroach is severely wounded. The giant cockroach bites you but does no damage. You hit the giant cockroach. You kill the giant cockroach! Magic restored. You see here a giant cockroach corpse. Key pressed, stopping explore. Key pressed, stopping explore. There is a shaft here. Key pressed, stopping explore. There is an open door here. Key pressed, stopping explore. You are fully healed. (29); You are fully restored. (5) Key pressed, stopping explore. As you open the door, it creaks loudly! Found a spear. There is an open door here. Key pressed, stopping explore. You open the door. There is an open door here. You open the door. There is an open door here. There is an open door here. Key pressed, stopping explore. Your movement speed is average. Your attack delay is about 0.9. Your damage rating with your +0 whip of electrocution is about 7 (Base 6 x 110% (Str) x 109% (Skill)). Unknown command. You open the door. There is an open door here. Key pressed, stopping explore. There is an open door here. Key pressed, stopping explore. Key pressed, stopping explore. A ball python comes into view. A ball python is nearby! A ball python is nearby! A ball python is nearby! Casting: Kinetic Grapnel (safe; 3% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Kinetic Grapnel (safe; 3% risk of failure) Press: ? - help, 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 bites you. The ball python grabs you. The ball python constricts you. You took 2 damage. Your remaining HP is [27/29]. Your remaining MP is [4/5]. The grapnel guides your strike. You hit the ball python. You kill the ball python! You see here a ball python corpse. Key pressed, stopping explore. Key pressed, stopping explore. An orc comes into view. It is wielding a +0 club. The orc shouts! An orc is nearby! You are fully healed. (29); You are fully restored. (5) An orc is nearby! An orc is nearby! Casting: Kinetic Grapnel (safe; 3% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Kinetic Grapnel (safe; 3% risk of failure) Press: ? - help, Shift-Dir - straight line, f - orc Aim: an orc, wielding a +0 club and wearing a +0 leather armour (74% to hit) The kinetic grapnel hits the orc. The orc is severely wounded. Your remaining MP is [4/5]. You enter the shallow water. Moving in this stuff is going to be slow. Your unstable footing causes you to fumble your attack. Unknown command. The grapnel comes loose from the orc. You hit the orc. Lightning courses through the orc! You kill the orc! You hear a splash. x3 Unknown command. You enter the shallow water. Moving in this stuff is going to be slow. You now have 216 gold pieces (gained 27). Things that are here: a +0 club; a +0 leather armour; an orc corpse You enter the shallow water. Moving in this stuff is going to be slow. The gnoll shouts! You hear a shout! x2 A jackal comes into view. The jackal barks! The orc shouts! You are fully restored. (5) A jackal is nearby! A jackal is nearby! A jackal is nearby! The gnoll shouts! A jackal comes into view. The jackal moves out of view. 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! You hear a bark! Your remaining MP is [3/5]. Casting: Construct Spike Launcher (safe; 4% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Kinetic Grapnel (safe; 3% risk of failure) Press: ? - help, Shift-Dir - straight line, f - gnoll Aim: a gnoll, wielding a +0 falchion (77% to hit) The kinetic grapnel hits the gnoll. The gnoll is moderately wounded. >>>>>>>>>>>>>>>>>>>>>> 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_CAST_SPELL repeat_cmd = CMD_NO_CMD Player: {{{{{{{{{{{ Name: [whosad] Species: Mountain Dwarf Job: Forgewright HP: 29/29; mods: 0/0 MP: 2/5; mod: 0 Stats: 14 (14) 15 (15) 8 (8) Position: (43, 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 | 143 | 17/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 | 278 | 66/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: 56 Attributes: #12: 216 #49: 254 Mutations: runic magic: 1 (innate) artefact enchanting: 1 (innate) Inventory bugs: Equipment: eq slot #0, inv slot #13: +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..g.@.......# ............P....# ~~~~~~≈≈~≈≈~~....# ~≈≈≈≈≈≈≈≈≈≈≈~....# ~~≈~~h#####≈~....# ......#ogo#≈≈....# #######...#≈~P...# #'###≈≈....# #.#.≈≈≈....# clua stack: dlua stack: Lua persistent data: <<<<<<<<<<<<<<<<<<<<<< >>>>>>>>>>>>>>>>>>>>>> Lua marker contents: <<<<<<<<<<<<<<<<<<<<<< >>>>>>>>>>>>>>>>>>>>>>