ERROR in 'item-prop.cc' at line 2118: ASSERT failed: s of 13 out of range 0 (0) .. NUM_STAVES (13) Version: Dungeon Crawl Stone Soup 0.32.0-15-g2566bce654 Platform: unix Bits: 64 Game mode: normal Tiles: online Seed: 15154165541612040358, deterministic pregen: 1 Version history: Game started: 0.32.0-12-g91f736bfdd 0.32.0-13-gcc8dab42f0 0.32.0-15-g2566bce654 Command line: /usr/games/crawl-0.32 -name testest -rc /dgldir/rcfiles/crawl-0.32/testest.rc -macro /dgldir/rcfiles/crawl-0.32/testest.macro -morgue /dgldir/morgue/testest/ -webtiles-socket /crawl-master/webserver/sockets/testest:2024-09-15.14:12:17.sock -await-connection RC options: restart_after_game = false Crash caused by signal #6: Aborted Obtained 26 stack frames. /usr/games/crawl-0.32(_Z17write_stack_traceP8_IO_FILE+0x3e) [0x59a39b3e9fee]: write_stack_trace(_IO_FILE*) /usr/games/crawl-0.32(_Z13do_crash_dumpv+0x43a) [0x59a39b3f814a]: do_crash_dump() /usr/games/crawl-0.32(_Z20crash_signal_handleri+0x1fa) [0x59a39b3ea4ca]: crash_signal_handler(int) /lib/x86_64-linux-gnu/libc.so.6(+0x42910) [0x76602ec42910]: /lib/x86_64-linux-gnu/libc.so.6(pthread_kill+0x11b) [0x76602ec9999b]: /lib/x86_64-linux-gnu/libc.so.6(raise+0x16) [0x76602ec42866]: /usr/games/crawl-0.32(+0x4a546d) [0x59a39b3f746d]: /usr/games/crawl-0.32(_Z3diePKciS0_z+0x166) [0x59a39b3f7b96]: die(char const*, int, char const*, ...) /usr/games/crawl-0.32(+0x6ccfdd) [0x59a39b61efdd]: /usr/games/crawl-0.32(+0x4db013) [0x59a39b42d013]: /usr/games/crawl-0.32(+0x4ee324) [0x59a39b440324]: /usr/games/crawl-0.32(_Z19get_monster_db_descRK12monster_infoR13describe_infoRbb+0x1869) [0x59a39b442739]: get_monster_db_desc(monster_info const&, describe_info&, bool&, bool) /usr/games/crawl-0.32(_Z17describe_monstersRK12monster_infoRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE+0x130) [0x59a39b444f40]: describe_monsters(monster_info const&, std::__cxx11::basic_string, std::allocator > const&) /usr/games/crawl-0.32(_Z20full_describe_squareRK9coord_defb+0x298) [0x59a39b48eac8]: full_describe_square(coord_def const&, bool) /usr/games/crawl-0.32(_ZN14TilesFramework23_handle_control_messageE11sockaddr_unNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE+0xbbb) [0x59a39bb4276b]: TilesFramework::_handle_control_message(sockaddr_un, std::__cxx11::basic_string, std::allocator >) /usr/games/crawl-0.32(_ZN14TilesFramework24_receive_control_messageEv+0x178) [0x59a39bb42b98]: TilesFramework::_receive_control_message() /usr/games/crawl-0.32(_ZN14TilesFramework11await_inputERjb+0x18a) [0x59a39bb430aa]: TilesFramework::await_input(unsigned int&, bool) /usr/games/crawl-0.32(_Z8getch_ckv+0x121) [0x59a39bb466b1]: getch_ck() /usr/games/crawl-0.32(+0x770ab5) [0x59a39b6c2ab5]: /usr/games/crawl-0.32(_Z25getch_with_command_macrosv+0x210) [0x59a39b6c6860]: getch_with_command_macros() /usr/games/crawl-0.32(+0xc01904) [0x59a39bb53904]: /usr/games/crawl-0.32(+0xc022e5) [0x59a39bb542e5]: /usr/games/crawl-0.32(main+0x1f7) [0x59a39b323fd7]: /lib/x86_64-linux-gnu/libc.so.6(+0x280d0) [0x76602ec280d0]: /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0x89) [0x76602ec28189]: /usr/games/crawl-0.32(_start+0x25) [0x59a39b3249f5]: 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". 0x000076602ed0fbf7 in __GI___wait4 (pid=2015703, stat_loc=0x0, options=0, usage=0x0) at ../sysdeps/unix/sysv/linux/wait4.c:30 #0 0x000076602ed0fbf7 in __GI___wait4 (pid=2015703, stat_loc=0x0, options=0, usage=0x0) at ../sysdeps/unix/sysv/linux/wait4.c:30 sc_ret = -512 sc_ret = #1 0x000059a39b3ea69c in call_gdb (file=0x76602edff6c0 <_IO_2_1_stderr_>) at crash.cc:438 gdb = attach_cmd = "attach 2015681\000\000\000\000\000" #2 0x000059a39b3f8168 in do_crash_dump () at dbg-asrt.cc:692 t = 1726409594 dir = "/dgldir/morgue/testest/" name = "/dgldir/morgue/testest/crash-testest-20240915-141314.txt", '\000' signal_info = "Crash caused by signal #6: Aborted" cause_msg = "ERROR in 'item-prop.cc' at line 2118: ASSERT failed: s of 13 out of range 0 (0) .. NUM_STAVES (13)" file = 0x76602edff6c0 <_IO_2_1_stderr_> #3 0x000059a39b3ea4ca 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 = {140733406245360}} 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 0x000076602ec42866 in __GI_raise (sig=6) at ../sysdeps/posix/raise.c:26 ret = #9 0x000059a39b3f746d in _BreakStrToDebugger (mesg=mesg@entry=0x7fff0caff9f0 "ERROR in 'item-prop.cc' at line 2118: ASSERT failed: s of 13 out of range 0 (0) .. NUM_STAVES (13)", assert=false) at dbg-asrt.cc:818 No locals. #10 0x000059a39b3f7b96 in die (file=file@entry=0x59a39bb7b38a "item-prop.cc", line=line@entry=2118, format=format@entry=0x59a39bbf3078 "ASSERT failed: s of %ld out of range 0 (%ld) .. NUM_STAVES (%ld)") at dbg-asrt.cc:878 tmp = "ASSERT failed: s of 13 out of range 0 (0) .. NUM_STAVES (13)", '\000' mesg = "ERROR in 'item-prop.cc' at line 2118: ASSERT failed: s of 13 out of range 0 (0) .. NUM_STAVES (13)", '\000' args = {{gp_offset = 48, fp_offset = 48, overflow_arg_area = 0x7fff0cb002f0, reg_save_area = 0x7fff0cb00210}} #11 0x000059a39b61efdd in staff_damage_mult (s=s@entry=NUM_STAVES) at item-prop.cc:2118 No locals. #12 0x000059a39b42d013 in _staff_max_damage (evo_skill=21, staff_skill=, staff=NUM_STAVES) at describe.cc:5118 No locals. #13 _monster_staff_damage_string (staff=, mi=...) at describe.cc:5146 evo_skill = staff_skill = dam_type_string = "conj" evo_skill = staff_skill = dam_type_string = #14 _attacks_table_row (mi=..., di=..., info=..., wpn=wpn@entry=0x59a39dbac140) at describe.cc:5310 attack = @0x7fff0cb00d30: {type = AT_HIT, flavour = AF_COLD, damage = 27} ranged = attk_mult = attk_name = "Hit" weapon_descriptor = ": staff \"Xemyup\"" attk_desc = "Hit: staff \"Xemyup\"" flav_dam = dam = slaying = real_dam = dam_str = "31" brand_str = "" final_dam_str = bonus_desc = "\220\004\260\f\377\177\000\000\004\000\000\000\000\000\000\000conj\000\000\000\000\220\006\260\f\377\177", '\000' , "\031ja\027r\023\n\002\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\017\000\000\000\000\000\000\000\270\a\260\f\377\177\000\000\3171\017\235\243Y\000\000\020\000\000\000\000\000\000\000\037", '\000' , " \n\260\f\377\177\000\000\354u\v/`v\000\000\020\n\260\f\377\177\000\000d\217\025/`v\000\0000\037\272\235\243Y\000\000\000\000\000\000\000\000\000\000\036\000\000\000\000\000\000\000\000\031ja\027r\023\n\3001\017\235\243Y\000\000\020\n\260\f\377\177\000\000\020\000\000\000\000\000\000\000"... #15 0x000059a39b440324 in _monster_attacks_description (mi=...) at describe.cc:5529 info = {definition = {type = AT_HIT, flavour = AF_COLD, damage = 27}, weapon = 0x59a39dbac140} i = 0 result = di = {attack_counts = std::map with 2 elements = {[{definition = {type = AT_HIT, flavour = AF_COLD, damage = 27}, weapon = 0x59a39dbac140}] = 0, [{definition = {type = AT_TOUCH, flavour = AF_DRAIN, damage = 15}, weapon = 0x0}] = 1}, special_flavour = SPWPN_NORMAL, has_any_flavour = true, flavour_without_dam = false, plural = true, attk_desc_width = 19, damage_width = 10, bonus_width = 19, attack_descriptions = std::vector of length 1, capacity 1 = {"Hit: staff \"Xemyup\""}, damage_descriptions = std::vector of length 0, capacity 0, bonus_descriptions = std::vector of length 0, capacity 0} #16 0x000059a39b442739 in _monster_stat_description (mark_spells=true, mi=...) at describe.cc:6158 holi = "undead" high_resists = std::vector of length 5508619562389535, capacity -258956994044662336 = { plural = result = extreme_resists = std::vector of length -13290174824491121, capacity -8830932320546823 = { pr = {rows = std::vector of length 3, capacity 4 = {std::vector of length 5, capacity 8 = {{label = "Max HP", value = "~150", colour = 7 '\a'}, {label = "Will", value = "∞", colour = 7 '\a'}, {label = "AC", value = "+++", colour = 7 '\a'}, {label = "EV", value = "++++ +", colour = 7 '\a'}, {label = "", value = "", colour = 7 '\a'}}, std::vector of length 5, capacity 8 = {{label = "rF", value = "x..", colour = 7 '\a'}, {label = "rC", value = "∞", colour = 7 '\a'}, {label = "rPois", value = "∞", colour = 7 '\a'}, {label = "rNeg", value = "∞", colour = 7 '\a'}, {label = "rElec", value = ".", colour = 8 '\b'}}, std::vector of length 4, capacity 4 = {{label = "Threat", value = "Lethal", colour = 7 '\a'}, {label = "Class", value = "Undead", colour = 7 '\a'}, {label = "Size", value = "Medium", colour = 7 '\a'}, {label = "Int", value = "Human", colour = 7 '\a'}}}} resist = 4241368 size_desc = "Medium" special_resists = {2, 2, 2, 2, 2} suscept = std::vector of length -268435456, capacity -268435456 = { pronoun = sz = holiness = base_resists = std::vector of length 0, capacity 0 resist_descriptions = std::vector of length 0, capacity 0 result = pr = resist = sz = size_desc = holiness = holi = special_resists = extreme_resists = high_resists = base_resists = suscept = resist_descriptions = pronoun = plural = rflags = __for_range = __for_begin = __for_end = level = attackname = tmp = tmp = tmp = unusual_items = retval = m = eligibility = #17 get_monster_db_desc (mi=..., inf=..., has_stat_desc=@0x7fff0cb017c6: false, mark_spells=mark_spells@entry=true) at describe.cc:6569 db_name = "Josephina" symbol = "cap-L" quote2 = "" it = "she" it_o = "her" It = "She" is = "is" curse_power = result = "" did_stair_use = #18 0x000059a39b444f40 in describe_monsters (mi=...) at describe.cc:6746 has_stat_desc = false inf = {body = , title = "Josephina the Ice-Lich", prefix = "", suffix = "", footer = "", quote = ""} desc = {ops = std::vector of length 0, capacity 0} spells = std::vector of length 0, capacity 0 vbox = title_hbox = title = raw_desc = quote = {ops = std::vector of length 0, capacity 0} desc_sw = more_sw = std::shared_ptr (empty) = {get() = 0x200000002} mores = {0x200000002 , 0x200000002 } popup = done = false lastch = 2 desc_without_spells = #19 0x000059a39b48eac8 in full_describe_square (c=..., cleanup=cleanup@entry=false) at directn.cc:2705 list_mons = std::vector of length 1, capacity 1 = {{ = {pos = {x = 57, y = 34}, mb = {_vptr.FixedBitVector = 0x59a39be69830 +16>, data = std::bitset = {[46] = 1, [50] = 1, [51] = 1, [75] = 1, [146] = 1, [152] = 1}}, mname = "", type = MONS_JOSEPHINA, base_type = MONS_JOSEPHINA, {number = 0, num_heads = 0, slime_size = 0, is_active = 0}, _colour = -1, ghost_colour = -1, attitude = ATT_HOSTILE, threat = MTHRT_NASTY, dam = MDAM_OKAY, fire_blocker = DNGN_UNSEEN, description = "", quote = "", holi = {<_enum_bitfield_exponent_base<5, true>> = {static last_exponent = 5}, flags = 4}, mintel = I_HUMAN, hd = 21, ac = 12, ev = 21, base_ev = 21, sh = 0, mr = 5000, mresists = 4241368, can_see_invis = true, mitemuse = MONUSE_WEAPONS_ARMOUR, mbase_speed = 10, menergy = {move = 10 '\n', swim = 10 '\n', attack = 10 '\n', missile = 10 '\n', spell = 10 '\n'}, props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 3 elements = {["actual_spellcaster"] = {type = SV_BOOL, flags = 0 '\000', val = {boolean = true, byte = 1 '\001', _short = 1, _int = 1, _float = 1.40129846e-45, _int64 = 1, ptr = 0x1}}, ["necromancer"] = {type = SV_BOOL, flags = 0 '\000', val = {boolean = true, byte = 1 '\001', _short = 1, _int = 1, _float = 1.40129846e-45, _int64 = 1, ptr = 0x1}}, ["poly_set"] = {type = SV_VEC, flags = 0 '\000', val = {boolean = 240, byte = -16 '\360', _short = 26096, _int = -1649908240, _float = -4.45746306e-21, _int64 = 98559259600368, ptr = 0x59a39da865f0}}}, }, constrictor_name = "", constricting_name = std::vector of length 0, capacity 0, spells = std::vector of length 0, capacity 0, attack = {{type = AT_HIT, flavour = AF_COLD, damage = 27}, {type = AT_TOUCH, flavour = AF_DRAIN, damage = 15}, {type = AT_NONE, flavour = AF_PLAIN, damage = 0}, {type = AT_NONE, flavour = AF_PLAIN, damage = 0}}, can_go_frenzy = true, can_feel_fear = false, sleepwalking = false, backlit = false, umbraed = false, shield_bonus = -100, client_id = 6}, inv = {std::unique_ptr = {get() = 0x59a39db81a00}, std::unique_ptr = {get() = 0x0}, std::unique_ptr = {get() = 0x0}, std::unique_ptr = {get() = 0x0}, std::unique_ptr = {get() = 0x59a39d240600}, std::unique_ptr = {get() = 0x0}, std::unique_ptr = {get() = 0x0}, std::unique_ptr = {get() = 0x59a39db8d530}, std::unique_ptr = {get() = 0x0}}, i_ghost = {species = SP_DJINNI, job = JOB_FIGHTER, religion = 2605187319, best_skill = 22947, best_skill_rank = 64, xl_rank = 0, damage = 57, ac = 0}}} list_items = std::vector of length 0, capacity 0 list_features = std::vector of length 0, capacity 0 quantity = 1 action_taken = false mi = 0x59a39dba9630 feat = DNGN_FLOOR stash_items = std::vector of length 0, capacity 0 #20 0x000059a39bb4276b in _handle_cell_click (force=false, button=, gc=...) at tileweb.cc:389 No locals. #21 TilesFramework::_handle_control_message (this=this@entry=0x59a39c04ee20 , addr=..., data="{\"x\":5,\"y\":4,\"button\":3,\"msg\":\"click_cell\"}") at tileweb.cc:532 y = button = force = {node = 0x0} gc = {x = 57, y = 34} x = obj = msg = msgtype = "click_cell" c = 0 #22 0x000059a39bb42b98 in TilesFramework::_receive_control_message (this=this@entry=0x59a39c04ee20 ) at tileweb.cc:357 buf = "{\"x\":5,\"y\":4,\"button\":3,\"msg\":\"click_cell\"}\000\000Y\000\000'%\260\f\377\177\000\000(%\260\f\377\177", '\000' , "\002\000\000\000}\225\266\233\243Y\000\000}\225\266\233\243Y\000\000\002\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\"j\000\000\243Y\000\000@&\260\f\377\177\000\000\322U\306.`v\000\000\000\000\000\000\000\000\000\000\020\000\000\0000\000\000\000\000/\260\f\377\177\000\0000.\260\f\377\177\000\000\002\000\000\000\000\000\000\000P&\260\f\377\177\000\000\002\000\000\000\000\000\000\000"... srcaddr = {sun_family = 1, sun_path = "/tmp/crawl8_udn4qe.socket", '\000' } srcaddr_len = 28 len = data = "{\"x\":5,\"y\":4,\"button\":3,\"msg\":\"click_cell\"}" #23 0x000059a39bb430aa in TilesFramework::await_input (this=this@entry=0x59a39c04ee20 , c=@0x7fff0cb03190: 2635469112, block=block@entry=true) at tileweb.cc:650 result = fds = {fds_bits = {8, 0 }} maxfd = 3 __d = __d = #24 0x000059a39bb466b1 in _get_key_from_curses () at libunix.cc:528 c = 2635469112 c = c = #25 getch_ck () at libunix.cc:616 c = #26 0x000059a39b6c2ab5 in _getch_mul () at macro.cc:841 keys = std::deque with 0 elements a = 0 #27 0x000059a39b6c6860 in getch_with_command_macros () at macro.cc:900 keys = std::deque with 0 elements #28 0x000059a39bb53904 in _get_next_keycode () at main.cc:2754 keyin = mc = {m_previous_mode = MOUSE_MODE_NORMAL} keyin = mc = #29 _get_next_cmd () at main.cc:2708 keyin = keyin = #30 _input () at main.cc:1235 cmd = real_prev_cmd = player_disabled = {was_disabled = false} #31 0x000059a39bb542e5 in _launch_game () at main.cc:493 game_start = ccon = {cstate = false} #32 0x000059a39b323fd7 in _launch_game_loop () at main.cc:392 game_ended = false game_ended = ge = fe = E = #33 main (argc=12, argv=0x7fff0cb03968) at main.cc:342 echo = {prev_state = {value = maybe_bool::mbool_t::maybe, static maybe = {value = maybe_bool::mbool_t::maybe, static maybe = , static t = {value = maybe_bool::mbool_t::t, static maybe = , static t = , static f = {value = maybe_bool::mbool_t::f, static maybe = , static t = , static f = }}, static f = }}} [Inferior 1 (process 2015681) detached] Compilation info: <<<<<<<<<<< Compiled with GCC 13.2.0 Build platform: x86_64-linux-gnu Platform: x86_64-linux-gnu CFLAGS: -O2 -pipe -DUSE_TILE -DUSE_TILE_WEB -Wall -Wformat-security -Wundef -Wextra -Wno-missing-field-initializers -Wno-implicit-fallthrough -Wno-type-limits -Wno-uninitialized -Wno-array-bounds -Wno-format-zero-length -Wmissing-declarations -Wredundant-decls -Wno-parentheses -Wwrite-strings -Wshadow -pedantic -Wuninitialized -Iutil -I. -isystem /usr/include/lua5.1 -g -DWIZARD -DASSERTS -DREGEX_PCRE -DCLUA_BINDINGS -DDGAMELAUNCH -DSAVE_DIR_PATH="/crawl-master/crawl-0.32/saves" -DDATA_DIR_PATH="/crawl-master/crawl-0.32/data/" -DWEB_DIR_PATH="/crawl-master/crawl-0.32/data/web/" -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 LDFLAGS: -rdynamic -fuse-ld=gold -O2 >>>>>>>>>>> Place info: branch = 34, depth = 2 Level id: Depths:2 Level build method = random_map_in_depth octa_room [oblique 6, lava] octa_room [oblique 8, lava] octa_room [oblique 4, lava] octa_room [oblique 3, lava] octa_room [oblique 3, lava] octa_room [oblique 5, lava] octa_room [oblique 4, lava] octa_room [oblique 4, lava], level layout type = rooms, absdepth0 = 23 Level vaults: minmay_the_grid_triangle_9x9_rhombus_full_mashed [minmay_the_grid_triangle_9x9_warning, minmay_the_grid_triangle_9x9_zippers_vertical, minmay_the_grid_triangle_9x9_corrupted_corridor, minmay_the_grid_triangle_9x9_corruption, minmay_the_grid_triangle_9x9_steps, minmay_the_grid_triangle_9x9_semitri, minmay_the_grid_triangle_9x9_checkered, minmay_the_grid_triangle_9x9_prize_top_heavy] layout_basic enter_ziggurat_b grunt_pan_entry_zigzag grunt_hell_entry_dis_old dungeon_decor hangedman_eye_storm uniq_josephina Markers: <<<<<<<<<<<<<<<<<<<<<< >>>>>>>>>>>>>>>>>>>>>> Messages: <<<<<<<<<<<<<<<<<<<<<< The bolt of lightning hits the green ugly thing!! The green ugly thing dies! Vehumet accepts your kill. The bolt of lightning hits the tengu warrior!! The tengu warrior dies! Vehumet accepts your kill. Casting: Plasma Beam (mildly dangerous; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Freezing Cloud (mildly dangerous; 1% risk of failure) Press: ? - help, Dir - move target, f - fire dragon Aim: a fire dragon Malevolent energies surge around you. A green ugly thing comes into view. x2 The green ugly thing is engulfed in freezing vapours. The fire dragon is engulfed in freezing vapours. The green ugly thing is engulfed in freezing vapours. Your spellforged servitor casts a spell. The bolt of lightning hits the green ugly thing!! You hear a sizzling sound! The green ugly thing is engulfed in freezing vapours. x2 The fire dragon is engulfed in freezing vapours. The fire dragon breathes flames at you. The blast of flame misses you. The green ugly thing is engulfed in freezing vapours. A spriggan berserker comes into view. It is wielding a +1 antimagic war axe. The fire dragon is engulfed in freezing vapours. Casting: Freezing Cloud (mildly dangerous; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Freezing Cloud (mildly dangerous; 1% risk of failure) Press: ? - help, Dir - move target, f/p - fire dragon Aim: a fire dragon (moderately wounded, catching its breath, ally target) Malevolent energies surge around you. The spriggan berserker is engulfed in freezing vapours. The green ugly thing is engulfed in freezing vapours. x2 The fire dragon is engulfed in freezing vapours. The spriggan berserker is engulfed in freezing vapours. The green ugly thing is engulfed in freezing vapours. You kill the green ugly thing! Vehumet accepts your kill. You feel your power returning. The green ugly thing is engulfed in freezing vapours. You kill the green ugly thing! Vehumet accepts your kill. A stone giant simulacrum comes into view. Your spellforged servitor casts a spell. The bolt of lightning hits the spriggan berserker!! The spriggan berserker dies! Vehumet accepts your kill. The bolt of lightning hits the stone giant simulacrum!! The stone giant simulacrum vaporises! Vehumet accepts your kill. You hear a sizzling sound! The fire dragon is engulfed in freezing vapours. The fire dragon breathes flames at you. The blast of flame hits you!! You hear a horrible gurgling sound! The fire dragon is engulfed in freezing vapours. Casting: Freezing Cloud (mildly dangerous; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Freezing Cloud (mildly dangerous; 1% risk of failure) Press: ? - help, Dir - move target, f/p - fire dragon Aim: a fire dragon (severely wounded, ally target) Malevolent energies surge around you. You are engulfed in freezing vapours. You resist. Your spellforged servitor casts a spell. The bolt of lightning hits the fire dragon! You hear a sizzling sound! The fire dragon is engulfed in freezing vapours. The fire dragon breathes flames at your spellforged servitor. The blast of flame hits your spellforged servitor! Your spellforged servitor resists. You hear a sizzling sound! You hear a shout! You hear a horrible gurgling sound! x3 You are engulfed in freezing vapours. You resist. The fire dragon is engulfed in freezing vapours. You kill the fire dragon! Vehumet accepts your kill. You feel your power returning. The fire dragon scales are intact enough to wear. You are engulfed in freezing vapours. You resist. Your spellforged servitor mumbles some strange words. The bolt of lightning hits the golden dragon zombie!! You hear a sizzling sound! You climb upwards. Welcome back to the Dungeon! Your summoned ally is left behind. There is a staircase to the Depths here. Your magical contamination has completely faded away. HP restored. Magic restored. Done exploring. You climb downwards. Welcome back to the Depths! The golden dragon zombie bites you but does no damage. You block the golden dragon zombie's attack. The golden dragon zombie tramples you but does no damage. There is a staircase back to the Dungeon, spattered with blood here. Casting: Freezing Cloud (mildly dangerous; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. You summon a servant imbued with your destructive magic! Malevolent energies surge around you. The golden dragon zombie suddenly stops moving! You hear a horrible gurgling sound! A cyan ugly thing comes into view. You hear a shout! Casting: Spellforged Servitor (dangerous; 3% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Stone Arrow (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line, f - golden dragon zombie Aim: a golden dragon zombie (lightly damaged, paralysed, ally target, 100% to hit) The stone arrow hits the golden dragon zombie!! The golden dragon zombie is moderately damaged. Malevolent energies surge around you. Casting: Stone Arrow (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Stone Arrow (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - golden dragon zombie Aim: a golden dragon zombie (moderately damaged, paralysed, ally target, 100% to hit) The stone arrow hits the golden dragon zombie! The golden dragon zombie is moderately damaged. Malevolent energies surge around you. Your spellforged servitor gestures wildly while chanting. You hear a horrible gurgling sound! Casting: Stone Arrow (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Orb of Destruction (mildly dangerous; 1% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - golden dragon zombie Aim: a golden dragon zombie (moderately damaged, paralysed, ally target) Malevolent energies surge around you. The wavering orb of destruction hits the golden dragon zombie!! The golden dragon zombie is heavily damaged. Casting: Orb of Destruction (mildly dangerous; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Orb of Destruction (mildly dangerous; 1% risk of failure) Press: ? - help, Shift-Dir - straight line, f/p - golden dragon zombie Aim: a golden dragon zombie (heavily damaged, paralysed, ally target) Malevolent energies surge around you. The cyan ugly thing suddenly stops moving! The golden dragon zombie is no longer paralysed. The wavering orb of destruction hits the golden dragon zombie!! The golden dragon zombie is severely damaged. Casting: Orb of Destruction (mildly dangerous; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Casting: Plasma Beam (mildly dangerous; 1% risk of failure) Press: ? - help, Dir - look around, f - activate Okay, then. Your spellforged servitor casts a spell. The bolt of lightning hits the cyan ugly thing! The cyan ugly thing resists. The fiery plasma hits the cyan ugly thing!! The golden dragon zombie bites you!! The golden dragon zombie claws you but does no damage. The golden dragon zombie tramples you! You stumble backwards! You hear a horrible gurgling sound! x3 The golden dragon zombie bites you but does no damage. The golden dragon zombie misses you. The golden dragon zombie tramples you but does no damage. Your spellforged servitor gestures wildly while chanting. The bolt of lightning hits the cyan ugly thing. The cyan ugly thing resists. The cyan ugly thing dies! Vehumet accepts your kill. You hear a horrible gurgling sound! Things that are here: a +0 troll leather armour; a deep troll corpse The golden dragon zombie closely misses you. You block the golden dragon zombie's attack. The golden dragon zombie tramples you but does no damage. There is a staircase back to the Dungeon, spattered with blood here. Your spellforged servitor mumbles some strange words. The bolt of lightning hits the golden dragon zombie!! The fiery plasma hits the golden dragon zombie! The golden dragon zombie is destroyed! Vehumet accepts your kill. You hear a shout! You hear a horrible gurgling sound! A spriggan berserker comes into view. It is wielding a +0 quarterstaff. Casting: Plasma Beam (mildly dangerous; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Freezing Cloud (mildly dangerous; 1% risk of failure) Press: ? - help, Dir - move target Malevolent energies surge around you. Your spellforged servitor mumbles some strange words. The bolt of lightning hits the spriggan berserker! You hear a sizzling sound! The spriggan berserker is engulfed in freezing vapours. You hear a horrible gurgling sound! Casting: Freezing Cloud (mildly dangerous; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Freezing Cloud (mildly dangerous; 1% risk of failure) Press: ? - help, Dir - move target, f - spriggan berserker Aim: a spriggan berserker, wielding a +0 quarterstaff and wearing a +0 animal skin (heavily wounded, ally target) Malevolent energies surge around you. The spriggan berserker is engulfed in freezing vapours. The spriggan berserker invokes Trog's protection! Your spellforged servitor mumbles some strange words. The bolt of lightning hits the spriggan berserker!! You hear a sizzling sound! You hear a horrible gurgling sound! The spriggan berserker is engulfed in freezing vapours. You kill the spriggan berserker! Vehumet accepts your kill. You climb upwards. Welcome back to the Dungeon! Your summoned ally is left behind. There is a staircase to the Depths here. Magic restored. Done exploring. You climb downwards. Welcome back to the Depths! There is a staircase back to the Dungeon, spattered with blood here. Found a leather armour. Things that are here: +0 fire dragon scales; a fire dragon skeleton A green ugly thing comes into view. Found Ylipseff's Antique Armour Shop. A cyan ugly thing comes into view. The green ugly thing moves out of view. A cyan ugly thing is nearby! Welcome back, testest the Demonspawn Fire Elementalist. Vehumet says: Let it end in hellfire! Press ? for a list of commands and other information. Things that are here: +0 fire dragon scales; a fire dragon skeleton Found Dogu's Antique Weapon Boutique. There is an entrance to Ylipseff's Antique Armour Shop here. Things that are here: a +0 animal skin; a +0 quarterstaff A green ugly thing comes into view. Cast which spell? (? or * to list) Aiming: Freezing Cloud (mildly dangerous; 1% risk of failure) Press: ? - help, Dir - move target Malevolent energies surge around you. The green ugly thing gurgles horribly! x2 The green ugly thing is engulfed in freezing vapours. x2 Casting: Freezing Cloud (mildly dangerous; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. You summon a servant imbued with your destructive magic! Malevolent energies surge around you. You hear a horrible gurgling sound! The green ugly thing is engulfed in freezing vapours. x2 You hear a shout! You hear a horrible gurgling sound! The green ugly thing is engulfed in freezing vapours. x2 Your spellforged servitor gestures wildly while chanting. The bolt of lightning hits the green ugly thing!! The bolt of lightning misses the green ugly thing. You hear a sizzling sound! You hear a horrible gurgling sound! x2 The green ugly thing is engulfed in freezing vapours. You kill the green ugly thing! Vehumet accepts your kill. You feel your power returning. The green ugly thing is engulfed in freezing vapours. The green ugly thing is engulfed in freezing vapours. Your spellforged servitor mumbles some strange words. The bolt of lightning hits the green ugly thing!! The green ugly thing dies! Vehumet accepts your kill. You hear a sizzling sound! A cyan ugly thing comes into view. The cyan ugly thing is engulfed in freezing vapours. The cyan ugly thing basks in the mutagenic energy from its kin and changes! Your spellforged servitor mumbles some strange words. The bolt of lightning hits the red ugly thing!! You hear a sizzling sound! You hear a horrible gurgling sound! A cyan ugly thing comes into view. The red ugly thing is engulfed in freezing vapours. Casting: Spellforged Servitor (dangerous; 2% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Freezing Cloud (mildly dangerous; 1% risk of failure) Press: ? - help, Dir - move target, f - red ugly thing Aim: a red ugly thing (severely wounded, ally target) Malevolent energies surge around you. The cyan ugly thing is engulfed in freezing vapours. A cyan ugly thing comes into view. The red ugly thing is engulfed in freezing vapours. Your spellforged servitor gestures wildly while chanting. The bolt of lightning misses the red ugly thing. The bolt of lightning hits the cyan ugly thing! The cyan ugly thing resists. The bolt of lightning hits the cyan ugly thing! The cyan ugly thing resists. You hear a sizzling sound! The cyan ugly thing is engulfed in freezing vapours. x2 The red ugly thing is engulfed in freezing vapours. You kill the red ugly thing! Vehumet accepts your kill. You feel your power returning. The cyan ugly thing is engulfed in freezing vapours. A cyan ugly thing comes into view. The cyan ugly thing is engulfed in freezing vapours. Your spellforged servitor casts a spell. The bolt of lightning hits the cyan ugly thing! The cyan ugly thing resists. You hear a sizzling sound! The cyan ugly thing is engulfed in freezing vapours. x3 You hear a horrible gurgling sound! The cyan ugly thing is engulfed in freezing vapours. The cyan ugly thing basks in the mutagenic energy from its kin and changes! Your spellforged servitor gestures wildly while chanting. The bolt of lightning hits the brown ugly thing!!! The brown ugly thing dies! Vehumet accepts your kill. The bolt of lightning misses the cyan ugly thing. The fiery plasma hits the cyan ugly thing!! You hear a sizzling sound! The cyan ugly thing trunk-slaps you but does no damage. The cyan ugly thing is engulfed in freezing vapours. The cyan ugly thing basks in the mutagenic energy from its kin and changes! The cyan ugly thing trunk-slaps your spellforged servitor! The cyan ugly thing shocks your spellforged servitor. Your spellforged servitor resists. The cyan ugly thing is engulfed in freezing vapours. Your spellforged servitor casts a spell. The bolt of lightning hits the cyan ugly thing! The cyan ugly thing resists. You hear a sizzling sound! The cyan ugly thing is engulfed in freezing vapours. Casting: Freezing Cloud (mildly dangerous; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Casting: Plasma Beam (mildly dangerous; 1% risk of failure) Press: ? - help, Dir - look around, f - activate Okay, then. The cyan ugly thing is engulfed in freezing vapours. You kill the cyan ugly thing! Vehumet accepts your kill. Casting: Plasma Beam (mildly dangerous; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Casting: Plasma Beam (mildly dangerous; 1% risk of failure) Press: ? - help, Dir - look around, f - activate The bolt of lightning hits the cyan ugly thing! The cyan ugly thing resists. The cyan ugly thing is almost dead. The bolt of lightning hits the red ugly thing! The red ugly thing is almost dead. The fiery plasma hits the cyan ugly thing!! You kill the cyan ugly thing! Vehumet accepts your kill. You feel your power returning. The fiery plasma hits the red ugly thing!! The red ugly thing resists. You kill the red ugly thing! Vehumet accepts your kill. You feel your power returning. Malevolent energies surge around you. You see here an ugly thing corpse. Things that are here: a +0 animal skin; a +1 antimagic war axe; a spriggan skeleton Things that are here: an ugly thing corpse; an ugly thing corpse Items here: ) [[ ÷. Okay, then. You swap places. A spriggan air mage comes into view. Your spellforged servitor casts a spell. The bolt of lightning hits the spriggan air mage!! The spriggan air mage repels the fiery plasma! The spriggan air mage waves its arms in wide circles. The air twists around and strikes you. Things that are here: an ugly thing corpse; an ugly thing corpse The spriggan air mage closely misses your spellforged servitor. Your spellforged servitor gestures wildly while chanting. The spriggan air mage repels the bolt of lightning! The fiery plasma hits the spriggan air mage!! The spriggan air mage hits your spellforged servitor. Things that are here: a +0 animal skin; a +1 antimagic war axe; a spriggan skeleton Your spellforged servitor disappears in a puff of smoke! You see here an ugly thing corpse. Casting: Plasma Beam (mildly dangerous; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. You summon a servant imbued with your destructive magic! Malevolent energies surge around you. The spriggan air mage waves its arms in wide circles. The air twists around and strikes you. Your spellforged servitor mumbles some strange words. The bolt of lightning hits the spriggan air mage!! The spriggan air mage dies! Vehumet accepts your kill. Things that are here: a +0 robe; a +0 dagger You see here an ugly thing skeleton. Things that are here: a +0 animal skin; a +0 quarterstaff You swap places. You see here an ugly thing corpse. Things that are here: a +0 animal skin; a +1 antimagic war axe; a spriggan skeleton You see here a +0 robe. Okay, then. Things that are here: an ugly thing corpse; an ugly thing corpse Items here: ) [[ ÷. Okay, then. You drop 5 scrolls of enchant armour. Okay, then. q - 5 scrolls of enchant armour Search for what [? for help]? shield You drop the +2 robe of the Bequeathed God {Fly rC+}. a - a +2 buckler As you read the scroll of enchant armour, it crumbles to dust. Your +2 buckler glows green for a while. Okay, then. You start putting on your armour. You continue putting on your +3 buckler. x2 Magic restored. You continue putting on your +3 buckler. x2 You finish putting on your +3 buckler. Casting: Spellforged Servitor (dangerous; 4% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Okay, then. Casting: Spellforged Servitor (dangerous; 4% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Okay, then. You swap places. Things that are here: an ugly thing corpse; an ugly thing corpse There is a fountain of clear blue water here. There is an entrance to Dogu's Antique Weapon Boutique here. As you open the door, it creaks loudly! There is an open door here. Your spellforged servitor disappears in a puff of smoke! There is an open door here. You open the door. There is an open door here. You open the door. g - 5 scrolls of teleportation (gained 1) You open the door. There is an open door here. You open the door. There is an open door here. g - 6 scrolls of teleportation (gained 1) You open the door. Found 4 stones. There is an open door here. You open the door. There is an open door here. You now have 2426 gold pieces (gained 17). You open the door. There is an open door here. You open the door. There is an open door here. As you open the door, it creaks loudly! You hear a deafening roar! You open the door. There is an open door here. An ice dragon comes into view. You see here the +10 trident "Newtbane" {drain, rElec Will+}. Casting: Spellforged Servitor (dangerous; 4% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. You summon a servant imbued with your destructive magic! Malevolent energies surge around you. Casting: Spellforged Servitor (dangerous; 4% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Casting: Plasma Beam (mildly dangerous; 2% risk of failure) Press: ? - help, Dir - look around, f - activate The bolt of lightning hits the ice dragon!! The ice dragon is moderately wounded. The fiery plasma hits the ice dragon!!! The ice dragon is burned terribly! You kill the ice dragon! Vehumet accepts your kill. You feel your power returning. Malevolent energies surge around you. You swap places. There is an open door here. Your spellforged servitor disappears in a puff of smoke! There is an open door here. There is an open door here. There is an open door here. You open the door. There is an open door here. You open the door. There is an open door here. You now have 2455 gold pieces (gained 29). There is an open door here. 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. As you open the door, it creaks loudly! You open the door. There is an open door here. There is an open door here. There is an open door here. Found a stone staircase leading down. There is an open door here. 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. There is an open door here. Found a leather armour. There is an open door here. You open the door. There is an open door here. There is an open door here. You see here a +0 leather armour. 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. Things that are here: a +0 troll leather armour; a deep troll skeleton There is an open door here. You open the door. There is an open door here. There is an open door here. There is a stone staircase leading down here. Items here: ) [[ ÷. Things that are here: an ugly thing skeleton; an ugly thing skeleton You see here a +0 leather armour. You open the door. There is an open door here. You open the door. Found Gozag's Platinum Reserve. Found an opulent altar of Gozag. There is an open door here. There is an opulent altar of Gozag here. There is an entrance to Gozag's Platinum Reserve here. You can access your shopping list by pressing '$'. There is an opulent altar of Gozag here. You open the door. You open the door. There is an open door here. 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. You open the door. There is an open door here. You open the door. There is an open door here. You open the door. There is an open door here. A fire dragon comes into view. Found a glowing dagger. Casting: Plasma Beam (mildly dangerous; 2% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. You summon a servant imbued with your destructive magic! Malevolent energies surge around you. Your spellforged servitor mumbles some strange words. The bolt of lightning hits the fire dragon!!! The fiery plasma hits the fire dragon. The fire dragon resists. You hear a horrible gurgling sound! Casting: Spellforged Servitor (dangerous; 4% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Freezing Cloud (mildly dangerous; 1% risk of failure) Press: ? - help, Dir - move target, f - fire dragon Aim: a fire dragon (moderately wounded, paralysed, ally target) Malevolent energies surge around you. The fire dragon is engulfed in freezing vapours. The fire dragon is no longer paralysed. Your spellforged servitor gestures wildly while chanting. The bolt of lightning hits the fire dragon!!! You hear a sizzling sound! The fire dragon is engulfed in freezing vapours. You kill the fire dragon! Vehumet accepts your kill. You feel your power returning. You hear a shout! A green very ugly thing comes into view. The green very ugly thing is engulfed in freezing vapours. Casting: Freezing Cloud (mildly dangerous; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Freezing Cloud (mildly dangerous; 1% risk of failure) Press: ? - help, Dir - move target, f - green very ugly thing Aim: a green very ugly thing (lightly wounded, ally target) Malevolent energies surge around you. The green very ugly thing is engulfed in freezing vapours. The green very ugly thing is engulfed in freezing vapours. A green very ugly thing comes into view. Your spellforged servitor is engulfed in freezing vapours. Your spellforged servitor gestures wildly while chanting. The bolt of lightning hits the green very ugly thing!! The fiery plasma hits the green very ugly thing!! You hear a sizzling sound! You hear a horrible gurgling sound! The green very ugly thing gurgles horribly! The green very ugly thing is engulfed in freezing vapours. A green very ugly thing comes into view. Casting: Freezing Cloud (mildly dangerous; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Casting: Plasma Beam (mildly dangerous; 2% risk of failure) Press: ? - help, Dir - look around, f - activate The bolt of lightning misses the green very ugly thing. The bolt of lightning hits the green very ugly thing!! The green very ugly thing is moderately wounded. You hear a sizzling sound! Malevolent energies surge around you. You hear a deafening roar! The green very ugly thing is engulfed in freezing vapours. x2 Your spellforged servitor is engulfed in freezing vapours. Your spellforged servitor gestures wildly while chanting. The bolt of lightning hits the green very ugly thing! The fiery plasma hits the green very ugly thing!! The green very ugly thing dies! Vehumet accepts your kill. You hear a shout! Casting: Plasma Beam (mildly dangerous; 2% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Casting: Plasma Beam (mildly dangerous; 2% risk of failure) Press: ? - help, Dir - look around, f - activate The bolt of lightning hits the green very ugly thing!!! The green very ugly thing is severely wounded. The bolt of lightning misses the green very ugly thing. You hear a sizzling sound! Malevolent energies surge around you. The green very ugly thing is engulfed in freezing vapours. The green very ugly thing basks in the mutagenic energy from its kin and changes! The green very ugly thing is engulfed in freezing vapours. The green very ugly thing basks in the mutagenic energy from its kin and changes! Your spellforged servitor mumbles some strange words. The bolt of lightning hits the purple very ugly thing!! The fiery plasma hits the purple very ugly thing!!! The purple very ugly thing dies! Vehumet accepts your kill. You hear a sizzling sound! Your spellforged servitor is engulfed in freezing vapours. Your spellforged servitor gestures wildly while chanting. The bolt of lightning hits the purple very ugly thing!!! The fiery plasma misses the purple very ugly thing. Your spellforged servitor is engulfed in freezing vapours. Your spellforged servitor is engulfed in freezing vapours. Your spellforged servitor is engulfed in freezing vapours. Your spellforged servitor mumbles some strange words. The bolt of lightning hits the purple very ugly thing!! The purple very ugly thing dies! Vehumet accepts your kill. Your spellforged servitor is engulfed in freezing vapours. A necromancer comes into view. It is wielding a +4 dagger of speed. Your spellforged servitor disappears in a puff of smoke! The necromancer is engulfed in freezing vapours. Casting: Plasma Beam (mildly dangerous; 2% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. You summon a servant imbued with your destructive magic! Malevolent energies surge around you. Casting: Spellforged Servitor (dangerous; 4% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Fireball (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line, f - necromancer Aim: a necromancer, wielding a +4 dagger of speed and wearing a +0 robe (moderately wounded, ally target) The fireball explodes! The fireball engulfs the necromancer!!! You kill the necromancer! Vehumet accepts your kill. You feel your power returning. You hear a sizzling sound! x2 Malevolent energies surge around you. An ettin zombie comes into view. Your spellforged servitor gestures wildly while chanting. The bolt of lightning hits the ettin zombie!! The fiery plasma hits the ettin zombie!! A fire dragon comes into view. Casting: Fireball (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Freezing Cloud (mildly dangerous; 1% risk of failure) Press: ? - help, Dir - move target Malevolent energies surge around you. The ettin zombie suddenly stops moving! Your spellforged servitor casts a spell. The bolt of lightning hits the fire dragon!!! You hear a sizzling sound! The ettin zombie is engulfed in freezing vapours. The fire dragon is engulfed in freezing vapours. You hear a deafening roar! The ettin zombie is engulfed in freezing vapours. The fire dragon is engulfed in freezing vapours. The ettin zombie is no longer paralysed. The fire dragon bites your spellforged servitor! The fire dragon claws your spellforged servitor. The fire dragon tramples your spellforged servitor. Your spellforged servitor is shoved backwards! The ettin zombie is engulfed in freezing vapours. Your spellforged servitor mumbles some strange words. The bolt of lightning hits the ettin zombie!! The fiery plasma hits the ettin zombie!! You hear a sizzling sound! The ettin zombie hits your spellforged servitor! The ettin zombie barely misses your spellforged servitor. You block the fire dragon's attack. The fire dragon barely misses you. You block the fire dragon's attack. Casting: Freezing Cloud (mildly dangerous; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Casting: Plasma Beam (mildly dangerous; 2% risk of failure) Press: ? - help, Dir - look around, f - activate The bolt of lightning hits the fire dragon!!! You kill the fire dragon! Vehumet accepts your kill. You feel your power returning. The bolt of lightning hits the ettin zombie! The ettin zombie is almost destroyed. The fiery plasma hits the ettin zombie. You destroy the ettin zombie! Vehumet accepts your kill. You feel your power returning. Malevolent energies surge around you. A tengu warrior simulacrum comes into view. Your spellforged servitor gestures wildly while chanting. The bolt of lightning misses the tengu warrior simulacrum. You hear a sizzling sound! Your spellforged servitor mumbles some strange words. The bolt of lightning hits the tengu warrior simulacrum! You hear a sizzling sound! Your spellforged servitor casts a spell. The bolt of lightning hits the tengu warrior simulacrum!! The tengu warrior simulacrum vaporises! Vehumet accepts your kill. You hear a sizzling sound! You hear a deafening roar! A glowing shapeshifter zombie comes into view. Casting: Plasma Beam (mildly dangerous; 2% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. You can't see any susceptible monsters within range! (Use Z to cast anyway.) The glowing shapeshifter zombie is engulfed in freezing vapours. Your spellforged servitor mumbles some strange words. The bolt of lightning hits the glowing shapeshifter zombie!!! The fiery plasma hits the glowing shapeshifter zombie!! Your spellforged servitor casts a spell. The bolt of lightning hits the glowing shapeshifter zombie!! The glowing shapeshifter zombie is destroyed! Vehumet accepts your kill. Your spellforged servitor disappears in a puff of smoke! A glowing orange brain comes into view. Casting: Plasma Beam (mildly dangerous; 2% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. You summon a servant imbued with your destructive magic! Malevolent energies surge around you. The glowing orange brain turns its attention towards you. Casting: Spellforged Servitor (dangerous; 4% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Freezing Cloud (mildly dangerous; 1% risk of failure) Press: ? - help, Dir - move target, f - glowing orange brain Aim: a glowing orange brain (ally target) Malevolent energies surge around you. The glowing orange brain is engulfed in freezing vapours. The glowing orange brain pulsates. The glowing orange brain radiates an aura of fear! You resist with almost no effort. Your spellforged servitor mumbles some strange words. The bolt of lightning hits the glowing orange brain!! You hear a sizzling sound! The glowing orange brain is engulfed in freezing vapours. Your spellforged servitor mumbles some strange words. The bolt of lightning hits the glowing orange brain!! The glowing orange brain dies! Vehumet accepts your kill. You hear a sizzling sound! You hear a deafening roar! Your spellforged servitor disappears in a puff of smoke! You see here a very ugly thing corpse. Things that are here: a +4 dagger of speed; a +0 robe h - 11 potions of curing (gained 1) There is an open door here. An ice dragon comes into view. An ice dragon is nearby! Casting: Freezing Cloud (mildly dangerous; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. You summon a servant imbued with your destructive magic! Malevolent energies surge around you. The ice dragon roars deafeningly! Your spellforged servitor casts a spell. The bolt of lightning hits the ice dragon!! The fiery plasma hits the ice dragon!! The ice dragon is burned terribly! The ice dragon breathes frost at you. The blast of cold hits you! You resist. Your spellforged servitor casts a spell. The bolt of lightning hits the ice dragon!! The ice dragon dies! Vehumet accepts your kill. Your Dodging skill increases to level 15! Your Shields skill increases to level 1! HP restored. Your spellforged servitor disappears in a puff of smoke! You see here a +0 dagger of pain. Found a wand of flame (4). There is an open door here. Found a stone staircase leading down. A stone giant comes into view. Casting: Spellforged Servitor (dangerous; 4% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. You summon a servant imbued with your destructive magic! Malevolent energies surge around you. Your spellforged servitor mumbles some strange words. The bolt of lightning hits the stone giant!! The fiery plasma hits the stone giant!! The stone giant is no longer paralysed. The stone giant throws a large rock. The large rock hits you!! A stone giant is nearby! Your spellforged servitor mumbles some strange words. The bolt of lightning hits the stone giant!!! The stone giant dies! Vehumet accepts your kill. Your Stealth skill increases to level 16! Your spellforged servitor disappears in a puff of smoke! You now have 2472 gold pieces (gained 17). An occultist comes into view. It is wielding a +0 halberd. Casting: Spellforged Servitor (dangerous; 4% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. You summon a servant imbued with your destructive magic! Malevolent energies surge around you. The occultist shouts! Casting: Spellforged Servitor (dangerous; 4% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Fireball (safe; 1% risk of failure) Press: ? - help, Shift-Dir - straight line, f - occultist Aim: an occultist, wielding a +0 halberd and wearing a +0 robe (ally target) The fireball explodes! The fireball engulfs the occultist!! The occultist is severely wounded. Malevolent energies surge around you. Your spellforged servitor gestures wildly while chanting. The bolt of lightning misses the occultist. The fiery plasma hits the occultist!! The occultist dies! Vehumet accepts your kill. Your spellforged servitor disappears in a puff of smoke! You open the door. Found a one-way gate to the infinite horrors of the Abyss. There is an open door here. There is a one-way gate to the infinite horrors of the Abyss here. There is a one-way gate to the infinite horrors of the Abyss here. You open the door. There is an open door here. There is an open door here. There is an open door here. You open the door. There is an open door here. There is an open door here. You open the door. There is an open door here. There is an open door here. There is an open door here. There is an open door here. You open the door. There is an open door here. There is an open door here. There is an open door here. There is an open door here. You open the door. There is an open door here. There is an open door here. There is an open door here. Things that are here: a +4 dagger of speed; a +0 robe There is an open door here. You open the door. There is an open door here. You open the door. A deep troll and 2 iron trolls come into view. Casting: Fireball (safe; 1% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. You summon a servant imbued with your destructive magic! Malevolent energies surge around you. The iron troll shouts! x2 Casting: Spellforged Servitor (dangerous; 4% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Casting: Plasma Beam (mildly dangerous; 2% risk of failure) Press: ? - help, Dir - look around, f - activate Okay, then. Your spellforged servitor gestures wildly while chanting. The bolt of lightning hits the iron troll!!! The bolt of lightning misses the iron troll. The fiery plasma hits the iron troll! The iron troll resists. The fiery plasma hits the iron troll! The iron troll resists. A deep troll earth mage comes into view. You hear a shout! Casting: Plasma Beam (mildly dangerous; 2% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Casting: Plasma Beam (mildly dangerous; 2% risk of failure) Press: ? - help, Dir - look around, f - activate The bolt of lightning hits the iron troll! The iron troll is severely wounded. The bolt of lightning misses the iron troll. The bolt of lightning hits the deep troll earth mage!!! The deep troll earth mage is severely wounded. The fiery plasma hits the iron troll but does no damage. The iron troll is severely wounded. The fiery plasma hits the iron troll. The iron troll resists. The iron troll is lightly wounded. The fiery plasma misses the deep troll earth mage. Malevolent energies surge around you. The deep troll earth mage casts a spell next to you. The wall shatters! The blast of rock fragments hits your spellforged servitor! The blast of rock fragments hits you but does no damage. Casting: Plasma Beam (mildly dangerous; 2% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Okay, then. The deep troll earth mage casts a spell next to the iron troll. Some rock shatters into small pieces. A deep troll comes into view. The iron troll misses you. The iron troll barely misses you. You block the iron troll's attack. Casting: Plasma Beam (mildly dangerous; 2% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Casting: Plasma Beam (mildly dangerous; 2% risk of failure) Press: ? - help, Dir - look around, f - activate The bolt of lightning hits the iron troll!!! You kill the iron troll! Vehumet accepts your kill. You feel your power returning. The bolt of lightning hits the deep troll!!! The deep troll is almost dead. The bolt of lightning misses the deep troll earth mage. The bolt of lightning hits the deep troll!!! The deep troll is almost dead. The fiery plasma hits the deep troll! You kill the deep troll! Vehumet accepts your kill. You feel your power returning. The fiery plasma misses the deep troll earth mage. The fiery plasma misses the deep troll. Malevolent energies surge around you. Casting: Plasma Beam (mildly dangerous; 2% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Casting: Plasma Beam (mildly dangerous; 2% risk of failure) Press: ? - help, Dir - look around, f - activate The bolt of lightning hits the iron troll!!! The iron troll is heavily wounded. The bolt of lightning hits the deep troll!!! You kill the deep troll! Vehumet accepts your kill. The troll leather armour is intact enough to wear. The fiery plasma hits the iron troll!! The iron troll resists. The iron troll is severely wounded. Malevolent energies surge around you. The deep troll earth mage suddenly stops moving! Your spellforged servitor casts a spell. The bolt of lightning hits the iron troll!! The iron troll dies! Vehumet accepts your kill. The bolt of lightning hits the deep troll earth mage!! The deep troll earth mage dies! Vehumet accepts your kill. Your spellforged servitor disappears in a puff of smoke! You see here an iron troll corpse. There is an open door here. You see here a deep troll corpse. You open the door. Found Uqol's Book Shoppe. Found a gateway to Hell. There is an open door here. There is an entrance to Uqol's Book Shoppe here. Okay, then. Casting: Plasma Beam (mildly dangerous; 2% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Okay, then. Welcome back, testest the Demonspawn Fire Elementalist. Vehumet says: Let it end in hellfire! Press ? for a list of commands and other information. You pick up a book of Air and begin reading... You add the spell Shock to your library. Thank you for shopping at Uqol's Book Shoppe! Okay, then. You now have 1980 gold pieces (gained 14). You open the door. There is an open door here. Done exploring. Done exploring. Done exploring. There is an open door here. There is an open door here. There is an open door here. There is an open door here. You see here a very ugly thing skeleton. You see here a fire dragon skeleton. There is an open door here. You see here a wand of flame (4). There is an open door here. There is a stone staircase leading down here. You climb downwards. Found a potion of mutation. There is a stone staircase leading up here. You climb upwards. There is a stone staircase leading down here. There is an open door here. There is a stone staircase leading down here. You climb downwards. There is a stone staircase leading up here. Cast which spell? (? or * to list) You summon a servant imbued with your destructive magic! Malevolent energies surge around you. The fire giant shouts! A tengu reaver simulacrum comes into view. Casting: Spellforged Servitor (dangerous; 4% risk of failure) Confirm with . or Enter, or press ? or * to list all spells. Aiming: Freezing Cloud (mildly dangerous; 1% risk of failure) Press: ? - help, Dir - move target, f - fire giant Aim: a fire giant, wielding a +2 great sword of flaming Malevolent energies surge around you. The fire giant is engulfed in freezing vapours. Your spellforged servitor mumbles some strange words. The bolt of lightning hits the ice dragon! The fiery plasma hits the ice dragon!! The ice dragon is burned terribly! You hear a shout! The fire giant is engulfed in freezing vapours. The fire giant casts a spell at you. You hear a sizzling sound! A golden dragon simulacrum comes into view. The ice dragon is no longer paralysed. The fire giant is engulfed in freezing vapours. Josephina opens the door. A spark wasp simulacrum comes into view. Your spellforged servitor gestures wildly while chanting. The bolt of lightning hits the tengu reaver simulacrum!! The bolt of lightning hits the golden dragon simulacrum!!! The bolt of lightning hits the spark wasp simulacrum!! The fiery plasma hits the tengu reaver simulacrum!!! The tengu reaver simulacrum melts! The tengu reaver simulacrum vaporises! Vehumet accepts your kill. You hear a sizzling sound! >>>>>>>>>>>>>>>>>>>>>> Version history: Game started: 0.32.0-12-g91f736bfdd 0.32.0-13-gcc8dab42f0 0.32.0-15-g2566bce654 Game state: mouse_enabled: 0, waiting_for_command: 1, 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_WAIT repeat_cmd = CMD_NO_CMD Player: {{{{{{{{{{{ Name: [testest] Species: Demonspawn Job: Fire Elementalist HP: 186/186; mods: 0/0 MP: 46/57; mod: 0 Stats: 15 (15) 29 (29) 16 (16) Position: (52, 30), god: Vehumet (6), turn_is_over: 0, banished: 0 Standing on/in/over feature: stone staircase leading up Skills (mode: manual) Name | can_currently_train | train | training | level | points | progress Fighting | X | 1 | 10 | 16 | 7632 | 132/1050 Short Blades | X | 0 | 0 | 0 | 0 | 0/59 Long Blades | X | 0 | 0 | 0 | 0 | 0/59 Axes | X | 0 | 0 | 0 | 0 | 0/59 Maces & Flails | X | 0 | 0 | 0 | 0 | 0/59 Polearms | X | 0 | 0 | 0 | 0 | 0/59 Staves | X | 1 | 10 | 12 | 5383 | 567/892 Ranged Weapons | X | 0 | 0 | 0 | 0 | 0/59 Throwing | X | 0 | 0 | 0 | 0 | 0/59 Armour | X | 1 | 10 | 10 | 3720 | 420/713 Dodging | X | 1 | 10 | 15 | 7788 | 29/1160 Stealth | X | 1 | 10 | 16 | 7518 | 18/1050 Shields | X | 2 | 20 | 1 | 109 | 50/119 Unarmed Combat | X | 0 | 0 | 0 | 0 | 0/59 Spellcasting | X | 1 | 10 | 15 | 8119 | 360/1160 Conjurations | X | 1 | 10 | 16 | 7805 | 305/1050 Hexes | X | 0 | 0 | 0 | 0 | 0/50 Summonings | X | 0 | 0 | 10 | 2775 | 0/600 Necromancy | X | 0 | 0 | 0 | 0 | 0/42 Translocations | X | 0 | 0 | 0 | 0 | 0/59 Fire Magic | X | 1 | 10 | 15 | 8087 | 328/1160 Ice Magic | X | 0 | 0 | 0 | 0 | 0/59 Air Magic | X | 0 | 0 | 5 | 891 | 0/357 Earth Magic | X | 0 | 0 | 0 | 0 | 0/59 Alchemy | X | 0 | 0 | 0 | 0 | 0/50 Invocations | X | 0 | 0 | 0 | 0 | 0/29 Evocations | X | 0 | 0 | 0 | 0 | 0/50 Shapeshifting | X | 0 | 0 | 0 | 0 | 0/70 Spell bugs: Durations: Attributes: #12: 5268 #13: 3288 #23: 47608 #24: -83604165 #49: 5731 Mutations: horns: 3 (innate) clumsy: 1 foul stench: 3 (innate) augmentation: 1 (innate) sharp scales: 3 (innate) demonic magic: 3 (innate) Inventory bugs: Equipment: eq slot #0, inv slot #51: +3 mace "Epacoi" {speed, Will+++ MP+10 Str+4 Int+2} eq slot #1, inv slot #48: +2 cloak of preservation eq slot #3, inv slot #4: +2 pair of gloves eq slot #4, inv slot #15: +2 pair of boots of stealth eq slot #5, inv slot #0: +3 buckler eq slot #6, inv slot #50: +5 moon troll leather armour {Spirit, Regen++ MP+5} eq slot #7, inv slot #36: ring of Fureot {rN+ Will+ Int+6 Dex+2} eq slot #8, inv slot #45: ring of the Octopus King {rC+ HP+2 AC+2 EV+2 SH+2} eq slot #9, inv slot #2: amulet "Poysol" {Reflect Str+2 Int-3 SH+5 SInv} }}}}}}}}}}} Webtiles message buffer: Webtiles JSON stack: Screenshot: .... ......... ....# #........ ....§##.....§§§ ....§§#.....§§☼ ..≈§§≈≈....C§# ..≈§≈§D......# §≈.§.§.......# §§.≈≈§§@.9.Z.# §§.≈§≈§§§§##Z.# §§§≈§§.§≈.# ≈§§≈.≈§≈≈§.' .§§≈§.§§...#L #§≈§§§§§≈#.# .# ##≈≈§§≈≈≈..# # ##≈≈§§§..## clua stack: dlua stack: Lua persistent data: <<<<<<<<<<<<<<<<<<<<<< ice_cave_hard: false >>>>>>>>>>>>>>>>>>>>>> Lua marker contents: <<<<<<<<<<<<<<<<<<<<<< >>>>>>>>>>>>>>>>>>>>>>