ERROR in 'prompt.cc' at line 387: slot not a letter: null (0) Version: Dungeon Crawl Stone Soup 0.34-a0-386-g2c30cb724a Platform: unix Bits: 64 Game mode: normal Tiles: online Seed: 2064757667306630924, deterministic pregen: 1 Command line: /usr/games/crawl-git-2c30cb724a -name mmoncure -rc /dgldir/rcfiles/crawl-git/mmoncure.rc -macro /dgldir/rcfiles/crawl-git/mmoncure.macro -webtiles-socket /crawl-master/webserver/sockets/mmoncure:dcss-git.sock -morgue /dgldir/morgue/mmoncure/ RC options: restart_after_game = false Crash caused by signal #6: Aborted Obtained 23 stack frames. /usr/games/crawl-git-2c30cb724a(_Z17write_stack_traceP8_IO_FILE+0x3e) [0x594b6fba551e]: write_stack_trace(_IO_FILE*) /usr/games/crawl-git-2c30cb724a(_Z13do_crash_dumpv+0x43a) [0x594b6fbb35ea]: do_crash_dump() /usr/games/crawl-git-2c30cb724a(_Z20crash_signal_handleri+0x1fa) [0x594b6fba59fa]: crash_signal_handler(int) /lib/x86_64-linux-gnu/libc.so.6(+0x42910) [0x779633a42910]: /lib/x86_64-linux-gnu/libc.so.6(pthread_kill+0x11b) [0x779633a9999b]: /lib/x86_64-linux-gnu/libc.so.6(raise+0x16) [0x779633a42866]: /usr/games/crawl-git-2c30cb724a(+0x4e49bd) [0x594b6fbb29bd]: /usr/games/crawl-git-2c30cb724a(_Z3diePKciS0_z+0x166) [0x594b6fbb3036]: die(char const*, int, char const*, ...) /usr/games/crawl-git-2c30cb724a(_Z15letter_to_indexi+0x85) [0x594b700c0e05]: letter_to_index(int) /usr/games/crawl-git-2c30cb724a(+0x6e388d) [0x594b6fdb188d]: /usr/games/crawl-git-2c30cb724a(_ZSt16__insertion_sortIN9__gnu_cxx17__normal_iteratorIPP8InvEntrySt6vectorIS3_SaIS3_EEEENS0_5__ops15_Iter_comp_iterI21menu_entry_comparatorEEEvT_SD_T0_+0xd8) [0x594b6fdbd0b8]: void std::__insertion_sort<__gnu_cxx::__normal_iterator > >, __gnu_cxx::__ops::_Iter_comp_iter >(__gnu_cxx::__normal_iterator > >, __gnu_cxx::__normal_iterator > >, __gnu_cxx::__ops::_Iter_comp_iter) /usr/games/crawl-git-2c30cb724a(_ZN7InvMenu10load_itemsERKSt6vectorIPK8item_defSaIS3_EESt8functionIFP9MenuEntrySA_EE11menu_letterbb+0x82d) [0x594b6fdb91fd]: InvMenu::load_items(std::vector > const&, std::function, menu_letter, bool, bool) /usr/games/crawl-git-2c30cb724a(_ZN11UseItemMenu13populate_menuEv+0x411) [0x594b6fdc5551]: UseItemMenu::populate_menu() /usr/games/crawl-git-2c30cb724a(_ZN11UseItemMenu5resetE15operation_typesPKc+0x128) [0x594b6fdc5e98]: UseItemMenu::reset(operation_types, char const*) /usr/games/crawl-git-2c30cb724a(_ZN11UseItemMenuC1E15operation_typesiPKc+0x133) [0x594b6fdc6143]: UseItemMenu::UseItemMenu(operation_types, int, char const*) /usr/games/crawl-git-2c30cb724a(_Z16use_an_item_menuRP8item_def15operation_typesiPKcSt8functionIFbvEE+0x40) [0x594b6fdc61c0]: use_an_item_menu(item_def*&, operation_types, int, char const*, std::function) /usr/games/crawl-git-2c30cb724a(_Z11use_an_item15operation_typesP8item_def+0x2b8) [0x594b6fdcb9e8]: use_an_item(operation_types, item_def*) /usr/games/crawl-git-2c30cb724a(+0xc80cba) [0x594b7034ecba]: /usr/games/crawl-git-2c30cb724a(+0xc81845) [0x594b7034f845]: /usr/games/crawl-git-2c30cb724a(main+0x1f7) [0x594b6fada657]: /lib/x86_64-linux-gnu/libc.so.6(+0x280d0) [0x779633a280d0]: /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0x89) [0x779633a28189]: /usr/games/crawl-git-2c30cb724a(_start+0x25) [0x594b6fadb145]: Trying to run gdb. GNU gdb (Ubuntu 14.0.50.20230907-0ubuntu1) 14.0.50.20230907-git Copyright (C) 2023 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "x86_64-linux-gnu". Type "show configuration" for configuration details. For bug reporting instructions, please see: . Find the GDB manual and other documentation resources online at: . For help, type "help". Type "apropos word" to search for commands related to "word". [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1". 0x0000779633b0fbf7 in __GI___wait4 (pid=1054532, stat_loc=0x0, options=0, usage=0x0) at ../sysdeps/unix/sysv/linux/wait4.c:30 #0 0x0000779633b0fbf7 in __GI___wait4 (pid=1054532, stat_loc=0x0, options=0, usage=0x0) at ../sysdeps/unix/sysv/linux/wait4.c:30 sc_ret = -512 sc_ret = #1 0x0000594b6fba5bcc in call_gdb (file=0x779633bff6c0 <_IO_2_1_stderr_>) at crash.cc:438 gdb = attach_cmd = "attach 1054206\000\000\000\000\000" #2 0x0000594b6fbb3608 in do_crash_dump () at dbg-asrt.cc:673 t = 1752790574 dir = "/dgldir/morgue/mmoncure/" name = "/dgldir/morgue/mmoncure/crash-mmoncure-20250717-221614.txt", '\000' signal_info = "Crash caused by signal #6: Aborted" cause_msg = "ERROR in 'prompt.cc' at line 387: slot not a letter: null (0)" file = 0x779633bff6c0 <_IO_2_1_stderr_> #3 0x0000594b6fba59fa 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 = {140720880184752}} 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 0x0000779633a42866 in __GI_raise (sig=6) at ../sysdeps/posix/raise.c:26 ret = #9 0x0000594b6fbb29bd in _BreakStrToDebugger (mesg=mesg@entry=0x7ffc221375b0 "ERROR in 'prompt.cc' at line 387: slot not a letter: null (0)", assert=false) at dbg-asrt.cc:799 No locals. #10 0x0000594b6fbb3036 in die (file=file@entry=0x594b7038bd8f "prompt.cc", line=line@entry=387, format=format@entry=0x594b7038bdba "slot not a letter: %s (%d)") at dbg-asrt.cc:859 tmp = "slot not a letter: null (0)", '\000' mesg = "ERROR in 'prompt.cc' at line 387: slot not a letter: null (0)", '\000' args = {{gp_offset = 40, fp_offset = 48, overflow_arg_area = 0x7ffc22137eb0, reg_save_area = 0x7ffc22137dd0}} #11 0x0000594b700c0e05 in letter_to_index (the_letter=0) at prompt.cc:387 No locals. #12 0x0000594b6fdb188d in sort_item_slot (a=) at invent.cc:786 No locals. #13 compare_item_fn (a=, b=0x594b71d26150) at invent.cc:750 No locals. #14 0x0000594b6fdbd0b8 in item_comparator::compare (this=0x594b70ff9d70, b=, a=) at /home/crawl-dev/dgamelaunch-config/crawl-build/crawl-git-repository/crawl-ref/source/externs.h:297 No locals. #15 _compare_invmenu_items (cmps=, b=0x594b71d26150, a=0x594b71db88e0) at invent.cc:822 cmp = comparator = @0x594b70ff9d70: {cmpfn = 0x594b6fdb1870 (InvEntry const*, InvEntry const*)>, negated = false} __for_range = __for_begin = __for_end = #16 menu_entry_comparator::operator() (this=, b=, a=0x594b71db88e0) at invent.cc:842 ia = 0x594b71db88e0 ib = 0x594b71d26150 ia = ib = #17 __gnu_cxx::__ops::_Iter_comp_iter::operator()<__gnu_cxx::__normal_iterator > >, __gnu_cxx::__normal_iterator > > > (__it2=0x594b71d26150, __it1=0x594b71db88e0, this=) at /usr/include/c++/13/bits/predefined_ops.h:158 No locals. #18 std::__insertion_sort<__gnu_cxx::__normal_iterator > >, __gnu_cxx::__ops::_Iter_comp_iter > (__first=..., __last=..., __last@entry=0x594b716edc30, __comp=__comp@entry=...) at /usr/include/c++/13/bits/stl_algo.h:1819 __i = 0x594b71db88e0 #19 0x0000594b6fdb89c8 in std::__final_insertion_sort<__gnu_cxx::__normal_iterator > >, __gnu_cxx::__ops::_Iter_comp_iter > (__comp=..., __last=..., __first=...) at /usr/include/c++/13/bits/stl_algo.h:1864 No locals. #20 0x0000594b6fdb91fd in InvMenu::load_items(std::vector > const&, std::function, menu_letter, bool, bool) (this=this@entry=0x7ffc22138340, mitems=std::vector of length 3, capacity 4 = {...}, procfn=..., ckey=..., ckey@entry=..., sort=sort@entry=true, subkeys=, subkeys@entry=false) at invent.cc:1018 i = subtitle = "Hand Weapons" forced_first = 0x0 obj = inv_class = {mData = {3, 0 }} items_in_class = std::vector of length 3, capacity 4 = {0x594b71d26150, 0x594b71db88e0, 0x594b71cd2b20} cond = select_all = "" #21 0x0000594b6fdc5551 in UseItemMenu::populate_menu (this=0x7ffc22138340) at item-use.cc:508 use_category_selection = true #22 0x0000594b6fdc5e98 in UseItemMenu::reset (this=this@entry=0x7ffc22138340, _oper=, prompt_override=prompt_override@entry=0x0) at item-use.cc:349 No locals. #23 0x0000594b6fdc6143 in UseItemMenu::UseItemMenu (this=0x7ffc22138340, _oper=, item_type=, prompt=0x0) at item-use.cc:371 No locals. #24 0x0000594b6fdc61c0 in use_an_item_menu(item_def*&, operation_types, int, char const*, std::function) (target=@0x7ffc22138658: 0x0, oper=oper@entry=OPER_WIELD, item_type=item_type@entry=-1, prompt=prompt@entry=0x0, allowcancel=...) at item-use.cc:1730 menu = { = { = {_vptr.Menu = 0x594b706cec00 , f_selitem = 0x0, f_keyfilter = {> = {> = {}, }, = {static _M_max_size = 16, static _M_max_align = 8, _M_functor = {_M_unused = {_M_object = 0x0, _M_const_object = 0x0, _M_function_pointer = 0x0, _M_member_pointer = NULL}, _M_pod_data = '\000' }, _M_manager = 0x0}, _M_invoker = 0x0}, on_single_selection = {> = {> = {}, }, = {static _M_max_size = 16, static _M_max_align = 8, _M_functor = {_M_unused = {_M_object = 0x0, _M_const_object = 0x0, _M_function_pointer = 0x0, _M_member_pointer = NULL}, _M_pod_data = '\000' }, _M_manager = 0x0}, _M_invoker = 0x0}, on_examine = {> = {> = {}, }, = {static _M_max_size = 16, static _M_max_align = 8, _M_functor = {_M_unused = {_M_object = 0x0, _M_const_object = 0x0, _M_function_pointer = 0x0, _M_member_pointer = NULL}, _M_pod_data = '\000' }, _M_manager = 0x0}, _M_invoker = 0x0}, on_show = {> = {}, = {static _M_max_size = 16, static _M_max_align = 8, _M_functor = {_M_unused = {_M_object = 0x0, _M_const_object = 0x0, _M_function_pointer = 0x0, _M_member_pointer = NULL}, _M_pod_data = '\000' }, _M_manager = 0x0}, _M_invoker = 0x0}, action_cycle = Menu::CYCLE_NONE, menu_action = Menu::ACT_EXECUTE, _title_prompt_help_tag = "", title = 0x594b71caa4d0, title2 = 0x0, m_indent_title = false, flags = 270914, tag = "use_item", cur_page = 1, num_pages = 22859, more = {ops = std::vector of length 0, capacity 0}, m_keyhelp_more = false, items = std::vector of length 7, capacity 8 = {0x594b71e43690, 0x594b71cc2550, 0x594b71c67580, 0x594b716edc30, 0x594b71d93560, 0x594b71dee180, 0x594b71bb8ea0}, sel = std::vector of length 0, capacity 0, select_filter = std::vector of length 0, capacity 0, highlighter = 0x594b71c45190, num = -1, lastch = 0, alive = false, more_needs_init = true, remap_numpad = true, last_hovered = -1, m_kmc = KMC_MENU, m_filter = 0x0, m_ui = {popup = std::shared_ptr (empty) = {get() = 0x0}, menu = std::shared_ptr (use count 2, weak count 1) = {get() = 0x594b710f3240}, scroller = std::shared_ptr (use count 2, weak count 1) = {get() = 0x594b71113b40}, title = std::shared_ptr (use count 2, weak count 1) = {get() = 0x594b71d5ea60}, more = std::shared_ptr (use count 2, weak count 1) = {get() = 0x594b71e16b40}, more_bin = std::shared_ptr (empty) = {get() = 0x0}, vbox = std::shared_ptr (use count 1, weak count 1) = {get() = 0x594b71bb8c20}}, _webtiles_title_changed = true, _webtiles_title = {ops = std::vector of length 2, capacity 2 = {{type = FSOP_COLOUR, colour = 15, text = ""}, {type = FSOP_TEXT, colour = -1, text = "Wield which item (- for none)?"}}}}, type = menu_type::invlist, pre_select = 0x0, title_annotate = 0x0, temp_title = "", _mode_special_drop = false}, display_all = false, is_inventory = true, item_type_filter = -2, oper = OPER_WIELD, saved_inv_item = 27000, saved_hover = -1, last_inv_pos = 4, item_inv = std::vector of length 2, capacity 2 = {0x594b708d70e0 , 0x594b708d71e0 }, item_floor = std::vector of length 3, capacity 4 = {0x594b70918b28 , 0x594b70918ba8 , 0x594b70918ca8 }, do_easy_floor = false, inv_header = 0x594b71cc2550, floor_header = 0x594b71dee180, available_modes = std::vector of length 3, capacity 4 = {OPER_EQUIP, OPER_WIELD, OPER_WEAR}} choice_made = tmp_tgt = #25 0x0000594b6fdcb9e8 in use_an_item (oper=OPER_WIELD, target=) at item-use.cc:1013 No locals. #26 0x0000594b7034ecba in _input () at main.cc:1268 cmd = CMD_WIELD_WEAPON real_prev_cmd = CMD_PICKUP player_disabled = {was_disabled = false} #27 0x0000594b7034f845 in _launch_game () at main.cc:493 game_start = ccon = {cstate = false} #28 0x0000594b6fada657 in _launch_game_loop () at main.cc:392 game_ended = false game_ended = ge = fe = #29 main (argc=11, argv=0x7ffc22138ce8) at main.cc:342 echo = {prev_state = {value = maybe_bool::mbool_t::maybe, static maybe = 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-2c30cb724a/saves" -DSHARED_DIR_PATH="/crawl-master/crawl-git/saves" -DDATA_DIR_PATH="/crawl-master/crawl-git-2c30cb724a/data/" -DWEB_DIR_PATH="/crawl-master/crawl-git-2c30cb724a/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: minmay_goblin_kobold_castle layout_basic mainiacjoe_overflow_alcove_4 Markers: <<<<<<<<<<<<<<<<<<<<<< >>>>>>>>>>>>>>>>>>>>>> Messages: <<<<<<<<<<<<<<<<<<<<<< Press: ? - help, Shift-Dir - straight line Aim: a hobgoblin (moderately wounded, 71% to hit) The kinetic grapnel hits the hobgoblin. The hobgoblin is heavily wounded. The hobgoblin hits you but does no damage. The hobgoblin attacks as it pursues you! The hobgoblin hits you but does no damage. The grapnel comes loose from the hobgoblin. You hit the ball python with your +0 hammer. You kill the ball python! You closely miss the hobgoblin with your +0 dagger. The hobgoblin is moderately wounded. You hit the hobgoblin but do no damage. The hobgoblin hits you. You hit the hobgoblin with your +0 hammer. The hobgoblin is heavily wounded. You hit the hobgoblin with your +0 dagger. You kill the hobgoblin! The ball python bites you but does no damage. The ball python barely misses you. You hit the ball python but do no damage. You barely miss the ball python with your +0 dagger. The ball python misses you. The ball python grabs you. The ball python constricts you. You closely miss the ball python with your +0 dagger. You closely miss the ball python with your +0 hammer. The ball python bites you. The ball python constricts you. The ball python bites you. The ball python constricts you. You sock the ball python with your +0 hammer! You kill the ball python! You see here a ball python corpse. HP restored. There is an escape hatch in the floor here. Found a leather armour. You pick up a parchment of Death Channel and begin reading... You add the spell Death Channel to your library. c - a scroll labelled TORETOWKOA You pick up a parchment of Summon Small Mammal and begin reading... You add the spell Summon Small Mammal to your library. A giant cockroach and a ball python come into view. There are monsters nearby! The ball python hisses angrily. 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 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 grabs you. The ball python constricts you. The grapnel guides your strike. You hit the ball python with your +0 hammer. The ball python is severely wounded. You barely miss the ball python with your +0 dagger. The giant cockroach bites you but does no damage. The ball python bites you. The ball python constricts you. The giant cockroach bites you but does no damage. You hit the ball python with your +0 dagger. You kill the ball python! The giant cockroach barely misses you. Your Forgecraft skill increases to level 5! You hit the giant cockroach with your +0 hammer. The giant cockroach is heavily wounded. You hit the giant cockroach with your +0 dagger. You kill the giant cockroach! 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 That beam is likely to hit you. Continue anyway? [Y]es or [N]o only, please. That beam is likely to hit you. Continue anyway? [Y]es or [N]o only, please. That beam is likely to hit you. Continue anyway? Okay, then. d - a scroll labelled VINNESK SUCS You see here a ball python corpse. Found a robe. A quokka comes into view. A quokka is nearby! A rat and a kobold come into view. The rat squeaks loudly. The kobold shouts! You hit the rat with your +0 dagger. You kill the rat! 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 Aim: a kobold, wielding a +0 short sword (67% to hit) The kinetic grapnel hits the kobold. You kill the kobold! You have reached level 2! 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 Aim: a quokka (64% to hit) The kinetic grapnel hits the quokka. The quokka is lightly wounded. The quokka misses you. The grapnel guides your strike. You sock the quokka with your +0 hammer! You kill the quokka! No target in view! No target in view! You see here a +0 short sword. You see here a +0 short sword. You see here a rat corpse. A jackal comes into view. A jackal is nearby! The jackal barks! You hear an angry hiss. A jackal comes into view. The jackal barks! You hear a loud squeak. The jackal bites you but does no damage. 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 Aim: a jackal (67% to hit) The kinetic grapnel misses the jackal. The jackal barely misses you. There are monsters nearby! You closely miss the jackal with your +0 hammer. You hit the jackal but do no damage. The jackal bites you but does no damage. The jackal bites you. You hit the jackal with your +0 dagger. The jackal is heavily wounded. You sock the jackal with your +0 hammer! You kill the jackal! The jackal bites you but does no damage. You barely miss the jackal with your +0 hammer. You closely miss the jackal with your +0 dagger. The jackal barely misses you. x2 You closely miss the jackal with your +0 dagger. You sock the jackal with your +0 hammer! You kill the jackal! Your Spellcasting skill increases to level 2! No target in view! You see here a jackal corpse. e - a scroll labelled WEROUSOOREI Found a ring mail. You now have 18 gold pieces. A ball python comes into view. A ball python is nearby! The ball python hisses angrily. The ball python barely misses you. The ball python closely misses you. An endoplasm comes into view. You hit the ball python with your +0 hammer. The ball python is heavily wounded. You hit the ball python with your +0 dagger. You kill the ball python! Casting: Kinetic Grapnel (safe; 2% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Kinetic Grapnel (safe; 2% risk of failure) Press: ? - help, Shift-Dir - straight line Aim: an endoplasm (98% to hit) The kinetic grapnel hits the endoplasm. The endoplasm is lightly wounded. An endoplasm is nearby! The grapnel guides your strike. You hit the endoplasm with your +0 dagger. The endoplasm is severely wounded. You hit the endoplasm but do no damage. A frilled lizard comes into view. The endoplasm freezes you. You are frozen. You completely miss the endoplasm with your +0 hammer. The endoplasm is severely wounded. The frilled lizard hisses angrily. You hit the endoplasm with your +0 dagger. You kill the endoplasm! A rat comes into view. The rat squeaks loudly. The frilled lizard bites you. Casting: Kinetic Grapnel (safe; 2% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Kinetic Grapnel (safe; 2% risk of failure) Press: ? - help, Shift-Dir - straight line Aim: a frilled lizard (57% to hit) The kinetic grapnel hits the frilled lizard. The frilled lizard is heavily wounded. The frilled lizard barely misses you. There are monsters nearby! The grapnel guides your strike. You hit the frilled lizard with your +0 hammer. You kill the frilled lizard! The rat barely misses you. You hit the rat but do no damage. x2; The rat bites you but does no damage. You closely miss the rat with your +0 hammer. You closely miss the rat with your +0 dagger. The rat closely misses you. You hit the rat with your +0 hammer. You kill the rat! Found a stone staircase leading down. Found a plate armour. A bat comes into view. Found 4 gold pieces. A bat is nearby! There is a stone staircase leading down here. The bat barely misses you. You barely miss the bat with your +0 dagger. You barely miss the bat with your +0 hammer. The bat hits you but does no damage. x2 Casting: Kinetic Grapnel (safe; 2% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Kinetic Grapnel (safe; 2% risk of failure) Press: ? - help, Shift-Dir - straight line Aim: a bat (60% to hit) The kinetic grapnel hits the bat. The bat is heavily wounded. The bat closely misses you. The grapnel guides your strike. You hit the bat with your +0 dagger. You kill the bat! No target in view! You see here a bat corpse. You now have 22 gold pieces (gained 4). A ball python comes into view. A ball python is nearby! The ball python bites you but does no damage. Casting: Kinetic Grapnel (safe; 2% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Kinetic Grapnel (safe; 2% risk of failure) Press: ? - help, Shift-Dir - straight line Aim: a ball python (77% to hit) 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. The ball python bites you. The ball python constricts you. A ball python is nearby! You sock the ball python with your +0 hammer! You kill the ball python! Casting: Kinetic Grapnel (safe; 2% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Kinetic Grapnel (safe; 2% risk of failure) Press: ? - help, Shift-Dir - straight line That beam is likely to hit you. Continue anyway? Okay, then. You open the large door. There is a large open door here. A bat comes into view. A bat is nearby! A bat is nearby! Found a stone staircase leading down. The bat barely misses you. Casting: Kinetic Grapnel (safe; 2% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Kinetic Grapnel (safe; 2% risk of failure) Press: ? - help, Shift-Dir - straight line Aim: a bat (60% to hit) The kinetic grapnel hits the bat. You kill the bat! No target in view! No target in view! A rat comes into view. A rat is nearby! You strike the helpless rat from behind! You hit the rat with your +0 dagger. You kill the rat! No target in view! Casting: Kinetic Grapnel (safe; 2% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Kinetic Grapnel (safe; 2% risk of failure) Press: ? - help, Shift-Dir - straight line That beam is likely to hit you. Continue anyway? [Y]es or [N]o only, please. That beam is likely to hit you. Continue anyway? [Y]es or [N]o only, please. That beam is likely to hit you. Continue anyway? [Y]es or [N]o only, please. That beam is likely to hit you. Continue anyway? [Y]es or [N]o only, please. That beam is likely to hit you. Continue anyway? Okay, then. f - a pink potion An endoplasm comes into view. An endoplasm is nearby! Found 15 gold pieces. The endoplasm quivers. An endoplasm is nearby! Found 4 gold pieces. You hit the endoplasm but do no damage. You completely miss the endoplasm with your +0 dagger. The endoplasm hits you. Casting: Kinetic Grapnel (safe; 2% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Kinetic Grapnel (safe; 2% risk of failure) Press: ? - help, Shift-Dir - straight line Aim: an endoplasm (98% to hit) The kinetic grapnel hits the endoplasm. The endoplasm is severely wounded. The endoplasm completely misses you. An endoplasm is nearby! The grapnel guides your strike. You hit the endoplasm with your +0 hammer. You kill the endoplasm! No target in view! No target in view! No target in view! You now have 37 gold pieces (gained 15). You now have 41 gold pieces (gained 4). A frilled lizard comes into view. The frilled lizard hisses angrily. A frilled lizard is nearby! You barely miss the frilled lizard with your +0 hammer. You hit the frilled lizard but do no damage. A giant cockroach comes into view. The frilled lizard bites you. The frilled lizard closely misses you. Casting: Kinetic Grapnel (safe; 2% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Kinetic Grapnel (safe; 2% risk of failure) Press: ? - help, Shift-Dir - straight line Aim: a frilled lizard (57% to hit) The kinetic grapnel hits the frilled lizard. You kill the frilled lizard! A giant cockroach is nearby! You hit the giant cockroach but do no damage. You barely miss the giant cockroach with your +0 hammer. The giant cockroach misses you. You hit the giant cockroach with your +0 dagger. The giant cockroach is almost dead. You closely miss the giant cockroach with your +0 hammer. The giant cockroach barely misses you. The giant cockroach closely misses you. You closely miss the giant cockroach with your +0 dagger. The giant cockroach is almost dead. You hit the giant cockroach but do no damage. The giant cockroach closely misses you. You hit the giant cockroach but do no damage. The giant cockroach is almost dead. You hit the giant cockroach with your +0 hammer. You kill the giant cockroach! You see here a giant cockroach corpse. A malevolent force fills the Dungeon... You fall into a shaft and drop 1 floor! The shaft crumbles and collapses. A dart slug comes into view. A dart slug is nearby! Found a golden potion. The dart slug launches a dart at you. The slug dart hits you. Casting: Kinetic Grapnel (safe; 2% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Kinetic Grapnel (safe; 2% risk of failure) Press: ? - help, Shift-Dir - straight line Aim: a dart slug (100% to hit) The kinetic grapnel hits the dart slug. The dart slug is moderately wounded. The dart slug launches a dart at you. The slug dart hits you. Found a scroll labelled QYFOFY PI IKKO. Found a throwing net. The dart slug bites you but does no damage. The grapnel guides your strike. You hit the dart slug with your +0 hammer. The dart slug is heavily wounded. You hit the dart slug with your +0 dagger. The dart slug launches a dart at you. The slug dart misses you. Unknown command. You hit the dart slug with your +0 hammer. The dart slug is almost dead. You hit the dart slug with your +0 dagger. You kill the dart slug! Your Fighting skill increases to level 1! You have reached level 3! Your experience leads to an increase in your attributes! Increase (S)trength, (I)ntelligence, or (D)exterity? Uppercase letters only, please. You feel clever. x2 Your brain swirls with designs for a semidermic instacore. You just need some more time... Magic restored. HP restored. Found a stone staircase leading up. h - a scroll labelled QYFOFY PI IKKO j - a golden potion A ball python comes into view. A ball python is nearby! Casting: Kinetic Grapnel (safe; 2% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Kinetic Grapnel (safe; 2% risk of failure) Press: ? - help, Shift-Dir - straight line Aim: a ball python (77% to hit) The kinetic grapnel misses the ball python. The ball python bites you but does no damage. The ball python barely misses you. A ball python is nearby! You hit the ball python with your +0 dagger. You kill the ball python! No target in view! No target in view! Found an escape hatch in the ceiling. An endoplasm comes into view. You see here a throwing net. An endoplasm is nearby! Casting: Kinetic Grapnel (safe; 2% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Kinetic Grapnel (safe; 2% risk of failure) Press: ? - help, Shift-Dir - straight line Aim: an endoplasm (asleep, 100% to hit) The kinetic grapnel hits the endoplasm. The endoplasm is heavily wounded. The endoplasm quivers. The grapnel guides your strike. You hit the endoplasm with your +0 hammer. You kill the endoplasm! No target in view! No target in view! d - a throwing net A quokka comes into view. A quokka is nearby! Casting: Kinetic Grapnel (safe; 2% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Kinetic Grapnel (safe; 2% risk of failure) Press: ? - help, Shift-Dir - straight line Aim: a quokka (asleep, 100% to hit) The kinetic grapnel hits the quokka. The quokka is heavily wounded. The quokka misses you. The grapnel guides your strike. You hit the quokka but do no damage. The quokka is heavily wounded. You closely miss the quokka with your +0 hammer. The quokka closely misses you. The quokka bites you. You hit the quokka with your +0 hammer. The quokka is severely wounded. You hit the quokka but do no damage. The quokka bites you. You hit the quokka with your +0 dagger. The quokka is almost dead. You hit the quokka with your +0 hammer. You kill the quokka! No target in view! A dart slug comes into view. A dart slug is nearby! The dart slug launches a dart at you. The slug dart hits you. The dart slug closely misses you. You hit the dart slug but do no damage. You hit the dart slug with your +0 dagger. The dart slug bites you. You hit the dart slug with your +0 dagger. The dart slug is heavily wounded. You hit the dart slug with your +0 hammer. You kill the dart slug! No target in view! No target in view! Unknown command. A kobold comes into view. It is wielding a +0 club. The kobold shouts! Casting: Kinetic Grapnel (safe; 2% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Kinetic Grapnel (safe; 2% risk of failure) Press: ? - help, Shift-Dir - straight line Aim: a kobold, wielding a +0 club and quivering stones (67% to hit) The kinetic grapnel misses the kobold. The kobold hits you but does no damage. A kobold is nearby! You hit the kobold with your +0 hammer. The kobold is severely wounded. You hit the kobold with your +0 dagger. You kill the kobold! No target in view! No target in view! Found a stone staircase leading down. k - a scroll labelled USTREJ CAPH As you open the door, it creaks loudly! An endoplasm comes into view. The endoplasm quivers. You hear an angry hiss. An adder comes into view. Found 6 poisoned darts. The adder hisses angrily. There is an open door here. Casting: Kinetic Grapnel (safe; 2% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Kinetic Grapnel (safe; 2% risk of failure) Press: ? - help, Shift-Dir - straight line Aim: an endoplasm (98% to hit) The kinetic grapnel hits the endoplasm. You kill the endoplasm! The adder barely misses you. You miss the adder with your +0 dagger. You miss the adder with your +0 hammer. The adder closely misses you. You barely miss the adder with your +0 dagger. You closely miss the adder with your +0 hammer. The adder bites you but does no damage. The adder closely misses you. You closely miss the adder with your +0 dagger. You miss the adder with your +0 hammer. The adder bites you. You sock the adder with your +0 hammer! The adder is severely wounded. You barely miss the adder with your +0 dagger. The adder bites you. You are poisoned. The adder poisons you! The adder bites you. You hit the adder but do no damage. The adder is severely wounded. You closely miss the adder with your +0 dagger. You feel sick. The adder bites you. You are more poisoned. The adder poisons you! Casting: Kinetic Grapnel (safe; 2% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Kinetic Grapnel (safe; 2% risk of failure) Press: ? - help, Shift-Dir - straight line Aim: an adder (severely wounded, 57% to hit) The kinetic grapnel hits the adder. You kill the adder! You feel sick. No target in view! No target in view! You feel sick. You feel sick. You feel sick. You feel sick. You feel sick. You feel sick. You feel sick. You are no longer poisoned. You see here 6 poisoned darts. Found a short sword. A kobold comes into view. It is wielding a +0 dagger. A kobold is nearby! Found a ring mail. Found a spear and a scroll labelled DUTONE SILURO. The kobold shouts! An endoplasm comes into view. The kobold hits you but does no damage. You closely miss the kobold with your +0 hammer. You closely miss the kobold with your +0 dagger. The kobold hits you but does no damage. Casting: Kinetic Grapnel (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Kinetic Grapnel (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line Aim: a kobold, wielding a +0 dagger and quivering stones (67% to hit) The kinetic grapnel hits the kobold but does no damage. The kobold barely misses you. There are monsters nearby! You hit the kobold but do no damage. You hit the kobold with your +0 hammer. The kobold closely misses you. You barely miss the kobold with your +0 dagger. The kobold is heavily wounded. You miss the kobold with your +0 hammer. The kobold hits you with a +0 dagger. You hit the kobold but do no damage. The kobold is heavily wounded. You sock the kobold with your +0 hammer! You kill the kobold! The endoplasm hits you. Casting: Kinetic Grapnel (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Kinetic Grapnel (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line Aim: an endoplasm (98% to hit) The kinetic grapnel hits the endoplasm. The endoplasm is almost dead. The endoplasm freezes you. You are frozen. The grapnel guides your strike. You hit the endoplasm with your +0 dagger. You kill the endoplasm! No target in view! No target in view! No target in view! l - a scroll labelled DUTONE SILURO A ball python comes into view. A ball python is nearby! The ball python hisses angrily. You hit the ball python with your +0 hammer. The ball python is moderately wounded. You barely miss the ball python with your +0 dagger. The ball python bites you. The ball python closely misses you. You hit the ball python with your +0 hammer. You kill the ball python! Casting: Kinetic Grapnel (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Kinetic Grapnel (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line That beam is likely to hit you. Continue anyway? [Y]es or [N]o only, please. That beam is likely to hit you. Continue anyway? [Y]es or [N]o only, please. That beam is likely to hit you. Continue anyway? Okay, then. m - a scroll labelled PILUM PICOE A bat comes into view. Okay, then. A bat is nearby! Found a scroll labelled WEROUSOOREI. Found a stone staircase leading down. The bat closely misses you. You miss the bat with your +0 hammer. You hit the bat with your +0 dagger. The bat hits you but does no damage. An endoplasm comes into view. The bat closely misses you. The endoplasm quivers. You hit the bat but do no damage. You hit the bat with your +0 hammer. You kill the bat! An endoplasm comes into view. Found 12 gold pieces. A ribbon worm comes into view. You see here a bat corpse. You hit the endoplasm but do no damage. You hit the endoplasm with your +0 dagger. The endoplasm quivers. The endoplasm freezes you. You are frozen. The endoplasm freezes you. You are frozen. Casting: Kinetic Grapnel (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Kinetic Grapnel (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line Aim: an endoplasm (moderately wounded, 98% to hit) The kinetic grapnel hits the endoplasm. The endoplasm is heavily wounded. The endoplasm barely misses you. The grapnel guides your strike. You hit the endoplasm with your +0 hammer. You kill the endoplasm! 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! You are caught in a web! You are caught in a web! You are caught in a web! You are caught in a web! You are caught in a web! The web tears apart. You hit the endoplasm but do no damage. You sock the endoplasm with your +0 hammer! You kill the endoplasm! A giant cockroach comes into view. 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! There is a web here. The web tears apart. You hit the ribbon worm but do no damage. You hit the ribbon worm with your +0 hammer. The ribbon worm bites you. You hit the ribbon worm but do no damage. The ribbon worm is lightly wounded. You hit the ribbon worm with your +0 hammer. The ribbon worm bites you. You hit the ribbon worm with your +0 dagger. The ribbon worm is heavily wounded. You hit the ribbon worm with your +0 hammer. The ribbon worm bites you. Casting: Kinetic Grapnel (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Kinetic Grapnel (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line Aim: a ribbon worm (almost dead, 91% to hit) The kinetic grapnel hits the ribbon worm. You kill the ribbon worm! The giant cockroach barely misses you. The giant cockroach closely misses you. You see here a ribbon worm corpse. You hit the giant cockroach but do no damage. You closely miss the giant cockroach with your +0 dagger. A bat comes into view. The giant cockroach barely misses you. You hit the giant cockroach with your +0 dagger. The giant cockroach is almost dead. You closely miss the giant cockroach with your +0 hammer. The giant cockroach bites you but does no damage. You closely miss the giant cockroach with your +0 hammer. The giant cockroach is almost dead. You barely miss the giant cockroach with your +0 dagger. The giant cockroach closely misses you. The bat hits you but does no damage. The giant cockroach misses you. You barely miss the giant cockroach with your +0 hammer. The giant cockroach is almost dead. You closely miss the giant cockroach with your +0 dagger. The bat hits you but does no damage. The giant cockroach barely misses you. The bat hits you but does no damage. Casting: Kinetic Grapnel (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Kinetic Grapnel (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line Aim: a giant cockroach (almost dead, 76% to hit) The kinetic grapnel hits the giant cockroach. You kill the giant cockroach! The bat hits you. The bat misses you. Casting: Kinetic Grapnel (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Kinetic Grapnel (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line Aim: a bat (64% to hit) The kinetic grapnel hits the bat. You kill the bat! A rat comes into view. You see here a ribbon worm corpse. Casting: Kinetic Grapnel (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Kinetic Grapnel (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line Aim: a rat (wandering, hasn't noticed you, 76% to hit) The kinetic grapnel hits the rat. You kill the rat! No target in view! No target in view! You see here a bat corpse. e - 2 scrolls labelled WEROUSOOREI (gained 1) As you read the scroll labelled WEROUSOOREI, it crumbles to dust. You hear a loud clanging noise! It was a scroll of noise. e -> N - a scroll of noise Autopickup disabled for scrolls of noise. You drop a scroll of noise. A bat comes into view. The bat barely misses you. You hit the bat with your +0 hammer. You kill the bat! Casting: Kinetic Grapnel (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Kinetic Grapnel (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line That beam is likely to hit you. Continue anyway? [Y]es or [N]o only, please. That beam is likely to hit you. Continue anyway? [Y]es or [N]o only, please. That beam is likely to hit you. Continue anyway? Okay, then. You see here a ribbon worm corpse. You now have 53 gold pieces (gained 12). A rat comes into view. A rat is nearby! You see here a bat corpse. The rat bites you but does no damage. You see here a ribbon worm corpse. Casting: Kinetic Grapnel (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Kinetic Grapnel (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line Aim: a rat (76% to hit) The kinetic grapnel hits the rat. You kill the rat! No target in view! No target in view! You now have 60 gold pieces (gained 7). A bat comes into view. Unknown command. A bat is nearby! A bat is nearby! You completely miss the bat with your +0 dagger. You hit the bat with your +0 hammer. You kill the bat! No target in view! Casting: Kinetic Grapnel (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Kinetic Grapnel (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line That beam is likely to hit you. Continue anyway? [Y]es or [N]o only, please. That beam is likely to hit you. Continue anyway? Okay, then. You now have 67 gold pieces (gained 7). You see here a +0 ring mail. You open the door. There is an open door here. A frilled lizard comes into view. A frilled lizard is nearby! Found an escape hatch in the floor. Casting: Kinetic Grapnel (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Kinetic Grapnel (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line Aim: a frilled lizard (wandering, hasn't noticed you, 60% to hit) The kinetic grapnel hits the frilled lizard. You kill the frilled lizard! Found a ring mail. No target in view! You open the door. Found a short sword. No target in view! No target in view! No target in view! Found a robe. Found a stone staircase leading up. You see here a +0 robe. A rat comes into view. A rat is nearby! A rat is nearby! Unknown command. Casting: Kinetic Grapnel (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Kinetic Grapnel (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line Aim: a rat (wandering, hasn't noticed you, 76% to hit) The kinetic grapnel hits the rat. You kill the rat! No target in view! No target in view! No target in view! There's nothing to open nearby. Unknown command. Unknown command. Unknown command. There's nothing to open nearby. A bat comes into view. A bat is nearby! You strike the helpless bat from behind! You hit the bat but do no damage. You miss the bat with your +0 dagger. The bat hits you but does no damage. The bat closely misses you. Casting: Kinetic Grapnel (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Kinetic Grapnel (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line Aim: a bat (64% to hit) The kinetic grapnel hits the bat. You kill the bat! No target in view! No target in view! No target in view! Found a faded altar of an unknown god. Found a whip. An adder comes into view. The adder is caught in a web! You see here 16 gold pieces. The adder struggles to get unstuck from the web. Casting: Kinetic Grapnel (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Kinetic Grapnel (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line Aim: an adder (entangled in a web, 98% to hit) The kinetic grapnel hits the adder! The adder is severely wounded. The adder pulls away from the web. The grapnel guides your strike. You hit the adder with your +0 hammer. You kill the adder! You have reached level 4! You feel agile. There is a faded altar of an unknown god here. This altar belongs to (a) Trog, (b) Vehumet or (c) Beogh, but you can't tell which. Press the corresponding letter to learn more about a god, or press enter to convert or escape to cancel. Okay, then. You now have 83 gold pieces (gained 16). There is a faded altar of an unknown god here. d - 2 scrolls labelled VINNESK SUCS (gained 1) f - 2 pink potions (gained 1) You open the door. There is an open door here. n - a coppery potion As you read the scroll labelled VINNESK SUCS, it crumbles to dust. It is a scroll of identify. f -> h - 2 potions of haste; d -> i - a scroll of identify As you read the scroll of identify, it crumbles to dust. j -> a - a potion of ambrosia Found a stone staircase leading down. A quokka comes into view. A quokka is nearby! The quokka barely misses you. You completely miss the quokka with your +0 hammer. You hit the quokka with your +0 dagger. The quokka bites you. You closely miss the quokka with your +0 dagger. The quokka is lightly wounded. You closely miss the quokka with your +0 hammer. The quokka bites you. The quokka bites you but does no damage. You barely miss the quokka with your +0 dagger. The quokka is lightly wounded. You hit the quokka with your +0 hammer. The quokka bites you. You closely miss the quokka with your +0 dagger. The quokka is moderately wounded. You hit the quokka with your +0 hammer. You kill the quokka! No target in view! Casting: Kinetic Grapnel (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Kinetic Grapnel (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line That beam is likely to hit you. Continue anyway? [Y]es or [N]o only, please. That beam is likely to hit you. Continue anyway? [Y]es or [N]o only, please. That beam is likely to hit you. Continue anyway? [Y]es or [N]o only, please. That beam is likely to hit you. Continue anyway? [Y]es or [N]o only, please. That beam is likely to hit you. Continue anyway? Okay, then. A hobgoblin comes into view. Found a parchment of Construct Spike Launcher. A hobgoblin is nearby! Found 13 gold pieces. The hobgoblin shouts! You hear a shout! Casting: Kinetic Grapnel (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Kinetic Grapnel (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line Aim: a hobgoblin (76% to hit) The kinetic grapnel hits the hobgoblin. You kill the hobgoblin! No target in view! No target in view! A bat comes into view. A hobgoblin comes into view. The bat moves out of view. Found 5 gold pieces. The bat barely misses you. You miss the bat with your +0 dagger. You barely miss the bat with your +0 hammer. The bat barely misses you. You closely miss the bat with your +0 dagger. You closely miss the bat with your +0 hammer. The hobgoblin shouts! The bat barely misses you. The bat hits you. Casting: Kinetic Grapnel (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Kinetic Grapnel (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line Aim: a bat (64% to hit) The kinetic grapnel hits the bat. You kill the bat! The hobgoblin closely misses you. You see here 13 gold pieces. You hit the hobgoblin with your +0 dagger. The hobgoblin is lightly wounded. You barely miss the hobgoblin with your +0 hammer. The hobgoblin barely misses you. The hobgoblin closely misses you. You hit the hobgoblin with your +0 dagger. The hobgoblin is almost dead. You hit the hobgoblin with your +0 hammer. You kill the hobgoblin! No target in view! You now have 96 gold pieces (gained 13). You now have 101 gold pieces (gained 5). There is a stone staircase leading down here. A quokka comes into view. A quokka is nearby! Casting: Kinetic Grapnel (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Kinetic Grapnel (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line Aim: a quokka (wandering, hasn't noticed you, 67% to hit) The kinetic grapnel hits the quokka. The quokka is lightly wounded. The quokka misses you. The quokka bites you but does no damage. The grapnel guides your strike. You hit the quokka with your +0 hammer. The quokka is heavily wounded. You hit the quokka with your +0 dagger. The quokka barely misses you. You barely miss the quokka with your +0 dagger. The quokka is almost dead. You closely miss the quokka with your +0 hammer. The quokka misses you. You closely miss the quokka with your +0 hammer. The quokka is almost dead. You hit the quokka with your +0 dagger. You kill the quokka! No target in view! No target in view! As you open the door, it creaks loudly! Found an iron ring. You see here a ring of poison resistance. Found a stone staircase leading up. You see here a +0 ring mail. There is an open door here. You see here a +0 short sword. Done exploring. Done exploring. (D) Dungeon Where to? (? - help) There is a stone staircase leading down here. You climb downwards. There is a stone staircase leading up here. 2 orcs come into view. The orc shouts! Memorise Construct Spike Launcher, consuming 2 spell levels and leaving 4? You start memorising the spell. You continue memorising. x2 You finish memorising. Spell assigned to 'b'. Adjust (g)ear, (s)pells, (a)bilities, (p)otions, sc(r)olls or e(v)okables? Adjust which spell? b - Construct Spike Launcher Adjust to which letter? c - Construct Spike Launcher Casting: Kinetic Grapnel (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. You shape a spike launcher from a nearby wall. You thump the orc with your +0 hammer! You kill the orc! You hit the orc with your +0 hammer. The orc is severely wounded. You hit the orc but do no damage. The rocky spike skewers the orc. You kill the orc! No target in view! No target in view! No target in view! No target in view! An orc comes into view. It is wielding a +0 war axe. Items here: )) [[ ††. This spell is dangerous to cast! Memorise Launch Clockwork Bee, consuming 3 spell levels and leaving 1? You start memorising the spell. You continue memorising. x3 You finish memorising. Spell assigned to 'b'. An orc is nearby! Casting: Construct Spike Launcher (safe; 2% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Launch Clockwork Bee (dangerous; 5% risk of failure) Press: ? - help, Dir - move target Aim: an orc, wielding a +0 war axe (wandering, hasn't noticed you) You lock target on the orc and prepare to deploy your bee. (Press . to continue winding your bee.) You continue winding your clockwork bee... You continue winding your clockwork bee... The orc hits you with a +0 war axe. With a metallic buzz, your clockwork bee launches itself at the orc. The orc hits you with a +0 war axe. The orc barely misses you. You swap places. Your clockwork bee stings the orc! The orc dies! You swap places. Your clockwork bee winds down and falls to the ground. Items here: ))) [[ †††. Okay, then. >>>>>>>>>>>>>>>>>>>>>> Version history: Game started: 0.34-a0-386-g2c30cb724a Game state: mouse_enabled: 0, waiting_for_command: 0, terminal_resized: 0 io_inited: 1, need_save: 1, saving_game: 0, updating_scores: 0: seen_hups: 0, map_stat_gen: 0, type: 1, arena_suspended: 0 prev_cmd = CMD_WIELD_WEAPON repeat_cmd = CMD_NO_CMD Player: {{{{{{{{{{{ Name: [mmoncure] Species: Coglin Job: Forgewright HP: 26/33; mods: 0/0 MP: 3/7; mod: 0 Stats: 10 16 13 Position: (34, 29), god: No God (0), turn_is_over: 0, banished: 0 Standing on/in/over feature: floor Skills (mode: manual) Name | can_currently_train | train | training | level | points | progress Fighting | X | 1 | 20 | 1 | 126 | 76/100 Short Blades | X | 0 | 0 | 0 | 0 | 0/59 Long Blades | X | 0 | 0 | 0 | 0 | 0/50 Axes | X | 0 | 0 | 0 | 0 | 0/50 Maces & Flails | X | 0 | 0 | 0 | 0 | 0/59 Polearms | X | 0 | 0 | 0 | 0 | 0/59 Staves | X | 0 | 0 | 0 | 0 | 0/59 Ranged Weapons | X | 0 | 0 | 0 | 0 | 0/59 Throwing | X | 0 | 0 | 0 | 0 | 0/59 Armour | X | 0 | 0 | 0 | 0 | 0/59 Dodging | X | 0 | 0 | 1 | 151 | 92/119 Stealth | X | 0 | 0 | 1 | 127 | 68/119 Shields | X | 0 | 0 | 0 | 0 | 0/84 Unarmed Combat | X | 0 | 0 | 0 | 0 | 0/59 Spellcasting | X | 1 | 20 | 2 | 289 | 77/212 Conjurations | X | 0 | 0 | 0 | 0 | 0/59 Hexes | X | 0 | 0 | 0 | 0 | 0/59 Summonings | X | 0 | 0 | 0 | 0 | 0/50 Necromancy | X | 0 | 0 | 0 | 0 | 0/50 Translocations | X | 0 | 0 | 0 | 0 | 0/50 Forgecraft | X | 2 | 40 | 5 | 736 | 206/212 Fire Magic | X | 0 | 0 | 0 | 0 | 0/59 Ice Magic | X | 0 | 0 | 0 | 0 | 0/59 Air Magic | X | 1 | 20 | 0 | 2 | 2/59 Earth Magic | X | 0 | 0 | 0 | 0 | 0/59 Alchemy | X | 0 | 0 | 0 | 0 | 0/42 Invocations | X | 0 | 0 | 0 | 0 | 0/70 Evocations | X | 0 | 0 | 0 | 0 | 0/29 Shapeshifting | X | 0 | 0 | 0 | 0 | 0/70 Spell bugs: Durations: Attributes: #12: 101 #49: 257 Mutations: off-hand wielding: 1 (innate) slow wielding: 1 (innate) warmup strikes: 1 (innate) no jewellery: 1 (innate) Inventory bugs: Equipment: eq slot #1, inv slot #0: +0 hammer {Lan} eq slot #3, inv slot #1: +0 robe eq slot #12, inv slot #2: +0 dagger {Dagmar} }}}}}}}}}}} Webtiles message buffer: Webtiles JSON stack: Screenshot: #### .... #..# #..# #..# #..# #..####.###. #........... #@####..o... #.# ..... #*# .... #.###########. #............. #.#####......... #............... #######......... ....##..#######.. #......<....... ############### clua stack: dlua stack: Lua persistent data: <<<<<<<<<<<<<<<<<<<<<< >>>>>>>>>>>>>>>>>>>>>> Lua marker contents: <<<<<<<<<<<<<<<<<<<<<< >>>>>>>>>>>>>>>>>>>>>>