ASSERT(range >= 0) in 'beam.cc' at line 747 failed. (beam 'rocky spike', source 'player', item 'none'; has range -1) Version: Dungeon Crawl Stone Soup 0.33-a0-533-g9d6bf4ca7f Platform: unix Bits: 64 Game mode: normal Tiles: online Seed: 3602508258266191777, deterministic pregen: 1 Version history: Game started: 0.33-a0-517-gafa22cc02a 0.33-a0-533-g9d6bf4ca7f Command line: /usr/games/crawl-git-9d6bf4ca7f -name Jovis137 -rc /dgldir/rcfiles/crawl-git/Jovis137.rc -macro /dgldir/rcfiles/crawl-git/Jovis137.macro -morgue /dgldir/morgue/Jovis137/ -webtiles-socket /crawl-master/webserver/sockets/Jovis137:2024-12-05.12:12:21.sock -await-connection RC options: restart_after_game = false Crash caused by signal #6: Aborted Obtained 34 stack frames. /usr/games/crawl-git-9d6bf4ca7f(_Z17write_stack_traceP8_IO_FILE+0x3e) [0x645cdacb8fde]: write_stack_trace(_IO_FILE*) /usr/games/crawl-git-9d6bf4ca7f(_Z13do_crash_dumpv+0x43a) [0x645cdacc713a]: do_crash_dump() /usr/games/crawl-git-9d6bf4ca7f(_Z20crash_signal_handleri+0x1fa) [0x645cdacb94ba]: crash_signal_handler(int) /lib/x86_64-linux-gnu/libc.so.6(+0x42910) [0x7f05ebc42910]: /lib/x86_64-linux-gnu/libc.so.6(pthread_kill+0x11b) [0x7f05ebc9999b]: /lib/x86_64-linux-gnu/libc.so.6(raise+0x16) [0x7f05ebc42866]: /usr/games/crawl-git-9d6bf4ca7f(+0x4ba45d) [0x645cdacc645d]: /usr/games/crawl-git-9d6bf4ca7f(_Z12AssertFailedPKcS0_iS0_z+0x1a1) [0x645cdacc69f1]: AssertFailed(char const*, char const*, int, char const*, ...) /usr/games/crawl-git-9d6bf4ca7f(_ZN4bolt15initialise_fireEv+0x37d) [0x645cdac63d8d]: bolt::initialise_fire() /usr/games/crawl-git-9d6bf4ca7f(_ZN4bolt7do_fireEv+0x30) [0x645cdac74400]: bolt::do_fire() /usr/games/crawl-git-9d6bf4ca7f(_ZN4bolt4fireEv+0xa4) [0x645cdac75344]: bolt::fire() /usr/games/crawl-git-9d6bf4ca7f(_ZN13targeter_beam7set_aimE9coord_def+0x9d) [0x645cdb322fed]: targeter_beam::set_aim(coord_def) /usr/games/crawl-git-9d6bf4ca7f(+0x54ea7a) [0x645cdad5aa7a]: /usr/games/crawl-git-9d6bf4ca7f(_ZN17direction_chooser6selectEbb+0x98) [0x645cdad5aef8]: direction_chooser::select(bool, bool) /usr/games/crawl-git-9d6bf4ca7f(_ZN17direction_chooser15process_commandE12command_type+0x65) [0x645cdad61fb5]: direction_chooser::process_command(command_type) /usr/games/crawl-git-9d6bf4ca7f(_ZN22UIDirectionChooserView15process_commandE12command_type+0x2b) [0x645cdad6b6fb]: UIDirectionChooserView::process_command(command_type) /usr/games/crawl-git-9d6bf4ca7f(_ZN22UIDirectionChooserView8on_eventERKN2ui5EventE+0x18a) [0x645cdad6ba2a]: UIDirectionChooserView::on_event(ui::Event const&) /usr/games/crawl-git-9d6bf4ca7f(_ZN2ui6UIRoot13deliver_eventERNS_5EventE+0x1b3) [0x645cdb37a993]: ui::UIRoot::deliver_event(ui::Event&) /usr/games/crawl-git-9d6bf4ca7f(_ZN2ui6UIRoot8on_eventER8wm_event+0x77) [0x645cdb37ad17]: ui::UIRoot::on_event(wm_event&) /usr/games/crawl-git-9d6bf4ca7f(_ZN2ui11pump_eventsEi+0xa5) [0x645cdb37ff15]: ui::pump_events(int) /usr/games/crawl-git-9d6bf4ca7f(_ZN17direction_chooser16choose_directionEv+0x2ea) [0x645cdad64fda]: direction_chooser::choose_direction() /usr/games/crawl-git-9d6bf4ca7f(_Z9directionR4distRK22direction_chooser_args+0x80) [0x645cdad652c0]: direction(dist&, direction_chooser_args const&) /usr/games/crawl-git-9d6bf4ca7f(_Z15spell_directionR4distR4boltP22direction_chooser_args+0x1cf) [0x645cdb2b1daf]: spell_direction(dist&, bolt&, direction_chooser_args*) /usr/games/crawl-git-9d6bf4ca7f(_Z11your_spells10spell_typeibPK8item_defP4distb+0x66a) [0x645cdb254bea]: your_spells(spell_type, int, bool, item_def const*, dist*, bool) /usr/games/crawl-git-9d6bf4ca7f(_Z12cast_a_spellb10spell_typeP4distb+0x3c9) [0x645cdb2579d9]: cast_a_spell(bool, spell_type, dist*, bool) /usr/games/crawl-git-9d6bf4ca7f(_ZN6quiver12spell_action7triggerER4dist+0x126) [0x645cdb1d0f36]: quiver::spell_action::trigger(dist&) /usr/games/crawl-git-9d6bf4ca7f(_ZN6quiver13action_cycler9do_targetEv+0xf4) [0x645cdb1c3e94]: quiver::action_cycler::do_target() /usr/games/crawl-git-9d6bf4ca7f(_ZN6quiver13action_cycler6targetEv+0x9c) [0x645cdb1c8f2c]: quiver::action_cycler::target() /usr/games/crawl-git-9d6bf4ca7f(+0xc31dca) [0x645cdb43ddca]: /usr/games/crawl-git-9d6bf4ca7f(+0xc328d5) [0x645cdb43e8d5]: /usr/games/crawl-git-9d6bf4ca7f(main+0x1f7) [0x645cdabf1707]: /lib/x86_64-linux-gnu/libc.so.6(+0x280d0) [0x7f05ebc280d0]: /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0x89) [0x7f05ebc28189]: /usr/games/crawl-git-9d6bf4ca7f(_start+0x25) [0x645cdabf2125]: 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". 0x00007f05ebd0fbf7 in __GI___wait4 (pid=3717043, stat_loc=0x0, options=0, usage=0x0) at ../sysdeps/unix/sysv/linux/wait4.c:30 #0 0x00007f05ebd0fbf7 in __GI___wait4 (pid=3717043, stat_loc=0x0, options=0, usage=0x0) at ../sysdeps/unix/sysv/linux/wait4.c:30 sc_ret = -512 sc_ret = #1 0x0000645cdacb968c in call_gdb (file=0x7f05ebdff6c0 <_IO_2_1_stderr_>) at crash.cc:438 gdb = attach_cmd = "attach 3716685\000\000\000\000\000" #2 0x0000645cdacc7158 in do_crash_dump () at dbg-asrt.cc:692 t = 1733401413 dir = "/dgldir/morgue/Jovis137/" name = "/dgldir/morgue/Jovis137/crash-Jovis137-20241205-122333.txt", '\000' signal_info = "Crash caused by signal #6: Aborted" cause_msg = "ASSERT(range >= 0) in 'beam.cc' at line 747 failed. (beam 'rocky spike', source 'player', item 'none'; has range -1)" file = 0x7f05ebdff6c0 <_IO_2_1_stderr_> #3 0x0000645cdacb94ba 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 = {140731374626432}} 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 0x00007f05ebc42866 in __GI_raise (sig=6) at ../sysdeps/posix/raise.c:26 ret = #9 0x0000645cdacc645d in _BreakStrToDebugger (mesg=mesg@entry=0x7ffe9397e880 "ASSERT(range >= 0) in 'beam.cc' at line 747 failed. (beam 'rocky spike', source 'player', item 'none'; has range -1)", assert=true) at dbg-asrt.cc:818 No locals. #10 0x0000645cdacc69f1 in AssertFailed (expr=expr@entry=0x645cdb452762 "range >= 0", file=file@entry=0x645cdb45214a "beam.cc", line=line@entry=747, text=text@entry=0x645cdb4c66f8 "beam '%s', source '%s', item '%s'; has range -1") at dbg-asrt.cc:851 detail = "beam 'rocky spike', source 'player', item 'none'; has range -1\000\000\250h\241\333\\d\000\000\270jR\354\005\177\000\000 \364\227\223\376\177\000\000e\000\000\000\000\000\000\000`\001\000\000\000\000\000\000\257x\342\332\\d\000\000e", '\000' , "@\3574\335\\d\000\000p\362\227\223\000\a\000\000\250h\241\333\\d\000\000\310\323\305\353\005\177\000\000e\000\000\000\000\000\000\000p엓\376\177\000\000\002\000\000\000\000\000\000\000\334kH\333\\d\000\0008헓\376\177\000\000vR\306\353"... final_mesg = "ASSERT(range >= 0) in 'beam.cc' at line 747 failed. (beam 'rocky spike', source 'player', item 'none'; has range -1)\000\000\000\0005=E\333\\d\000\0005=E\333\\d\000\000\000\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377\250h", '\000' , "@\000\222\335\\d\000\000 \000\000\000\000\000\000\000\020\000\000\0000\000\000\000P\367\227\223\376\177\000\000"... mesg = "ASSERT(range >= 0) in 'beam.cc' at line 747 failed.\000\000\000\000\000\310\323\305\353\005\177\000\000 旓\000\000\000\000\310\323\305\353\005\177\000\000\002\000\000\000\000\000\000\000 ꗓ\376\177\000\000\002\000\000\000\000\000\000\000\310\323\305\353\005\177\000\000\350ꗓ\376\177\000\000@ꗓ\376\177\000\000\000\000\000\000\000\000\000\0007=E\333\\d\000\000\b뗓\376\177\000\000\322U\306\353\005\177\000\000\000\000\000\000\000\000\000\000\n\000\000\000\\d\000\000 嗓", '\000' , "\002\000\000\000\000\000\000\000\001\000\000\000\000d\000\000\366闓\376\177"... args = {{gp_offset = 48, fp_offset = 48, overflow_arg_area = 0x7ffe9397ed78, reg_save_area = 0x7ffe9397ec90}} fileName = #11 0x0000645cdac63d8d in bolt::initialise_fire (this=this@entry=0x7ffe9397f210) at /usr/include/c++/13/bits/basic_string.h:222 No locals. #12 0x0000645cdac74400 in bolt::do_fire (this=this@entry=0x7ffe9397f210) at beam.cc:1237 coff = #13 0x0000645cdac75344 in bolt::fire (this=this@entry=0x7ffe9397f210) at beam.cc:1211 boltcopy = {origin_spell = SPELL_SPIKE_LAUNCHER, range = -1, glyph = 96 U'`', colour = 7 '\a', flavour = BEAM_MMISSILE, real_flavour = BEAM_MMISSILE, drop_item = false, item_mulches = false, item = 0x0, launcher = 0x0, source = {x = 56, y = 47}, target = {x = 57, y = 48}, damage = {num = 2, size = 4}, ench_power = 14, hit = 13, thrower = KILL_YOU_MISSILE, ex_size = 0, source_id = 4294967295, source_name = "", name = "rocky spike", short_name = "", hit_verb = "", loudness = 2, hit_noise_msg = "", explode_noise_msg = "", pierce = false, is_explosion = false, is_death_effect = false, aimed_at_spot = true, aux_source = "", affects_nothing = false, effect_known = true, effect_wanton = false, no_saving_throw = false, draw_delay = 15, explode_delay = 50, redraw_per_cell = true, special_explosion = 0x0, was_missile = false, animate = true, ac_rule = ac_type::normal, obvious_effect = false, seen = false, heard = false, path_taken = std::vector of length 0, capacity 0, extra_range_used = 0, is_tracer = true, is_targeting = true, aimed_at_feet = false, msg_generated = false, noise_generated = false, passed_target = false, in_explosion_phase = false, attitude = ATT_FRIENDLY, foe_ratio = 0, hit_count = std::map with 0 elements, foe_info = {count = 0, power = 0, hurt = 0, helped = 0, dont_stop = true}, friend_info = {count = 0, power = 0, hurt = 0, helped = 0, dont_stop = true}, chose_ray = false, beam_cancelled = false, dont_stop_player = true, overshoot_prompt = true, friendly_past_target = false, bounces = 0, bounce_pos = {x = 0, y = 0}, reflections = 0, reflector = 0, use_target_as_pos = false, ray = {r = {start = {x = 0, y = 0}, dir = {x = 0, y = 0}}, on_corner = false, cycle_idx = -1}, tile_beam = 0, tile_explode = 0, can_see_invis = false, nightvision = false, can_trigger_bullseye = false, message_cache = std::set with 0 elements} #14 0x0000645cdb322fed in targeter_beam::set_aim (this=0x645cdd9bd180, a=...) at target.cc:228 tempbeam = {origin_spell = SPELL_SPIKE_LAUNCHER, range = -1, glyph = 96 U'`', colour = 7 '\a', flavour = BEAM_MMISSILE, real_flavour = BEAM_MMISSILE, drop_item = false, item_mulches = false, item = 0x0, launcher = 0x0, source = {x = 56, y = 47}, target = {x = 57, y = 48}, damage = {num = 2, size = 4}, ench_power = 14, hit = 13, thrower = KILL_YOU_MISSILE, ex_size = 0, source_id = 4294967295, source_name = "", name = "rocky spike", short_name = "", hit_verb = "", loudness = 2, hit_noise_msg = "", explode_noise_msg = "", pierce = false, is_explosion = false, is_death_effect = false, aimed_at_spot = true, aux_source = "", affects_nothing = false, effect_known = true, effect_wanton = false, no_saving_throw = false, draw_delay = 15, explode_delay = 50, redraw_per_cell = true, special_explosion = 0x0, was_missile = false, animate = true, ac_rule = ac_type::normal, obvious_effect = false, seen = false, heard = false, path_taken = std::vector of length 0, capacity 0, extra_range_used = 0, is_tracer = true, is_targeting = true, aimed_at_feet = false, msg_generated = false, noise_generated = false, passed_target = false, in_explosion_phase = false, attitude = ATT_FRIENDLY, foe_ratio = 0, hit_count = std::map with 0 elements, foe_info = {count = 0, power = 0, hurt = 0, helped = 0, dont_stop = true}, friend_info = {count = 0, power = 0, hurt = 0, helped = 0, dont_stop = true}, chose_ray = false, beam_cancelled = false, dont_stop_player = true, overshoot_prompt = true, friendly_past_target = false, bounces = 0, bounce_pos = {x = 0, y = 0}, reflections = 0, reflector = 0, use_target_as_pos = false, ray = {r = {start = {x = 0, y = 0}, dir = {x = 0, y = 0}}, on_corner = false, cycle_idx = -1}, tile_beam = 0, tile_explode = 0, can_see_invis = false, nightvision = false, can_trigger_bullseye = false, message_cache = std::set with 0 elements} #15 0x0000645cdad5aa7a in direction_chooser::update_previous_target (this=this@entry=0x7ffe93980790) at directn.cc:1310 old_m = 0x0 m = #16 0x0000645cdad5aef8 in direction_chooser::update_previous_target (this=0x7ffe93980790) at directn.cc:1617 old_m = m = old_m = m = ri = mon = #17 direction_chooser::select (this=this@entry=0x7ffe93980790, allow_out_of_range=allow_out_of_range@entry=false, endpoint=endpoint@entry=false) at directn.cc:1620 mons = 0x0 #18 0x0000645cdad61fb5 in direction_chooser::process_command (this=0x7ffe93980790, command=command@entry=CMD_TARGET_SELECT) at directn.cc:2285 loop_done = #19 0x0000645cdad6b6fb in UIDirectionChooserView::process_command (this=this@entry=0x645cdd96b220, cmd=cmd@entry=CMD_TARGET_SELECT) at directn.cc:2456 cc = {cstate = false} loop_done = #20 0x0000645cdad6ba2a in UIDirectionChooserView::on_event (this=0x645cdd96b220, ev=...) at directn.cc:2428 key = 13 command = CMD_TARGET_SELECT top_prompt = "Casting: Construct Spike Launcher (safe; 6% risk of failure)" #21 0x0000645cdb37a993 in ui::UIRoot::deliver_event (this=0x645cdb948740 , event=...) at ui.cc:2933 w = 0x645cdd96b220 top = key = 13 #22 0x0000645cdb37ad17 in ui::UIRoot::on_event (this=this@entry=0x645cdb948740 , event=...) at ui.cc:2857 key_event = { = {m_type = ui::Event::KeyDown, m_target = std::shared_ptr (use count 4, weak count 1) = {get() = 0x645cdd96b220}}, m_key = 13} #23 0x0000645cdb37ff15 in ui::pump_events (wait_event_timeout=wait_event_timeout@entry=2147483647) at ui.cc:3311 ev = {type = 2 '\002', active = {type = 0 '\000', gain = 0 '\000', state = 0 '\000'}, key = {type = 0 '\000', state = 0 '\000', keysym = {scancode = 0 '\000', sym = 13, key_mod = 0 '\000', unicode = 0}}, mouse_event = {type = 0 '\000', event = wm_mouse_event::PRESS, button = wm_mouse_event::NONE, held = 0, mod = 0 '\000', px = 0, py = 0}, resize = {type = 0 '\000', w = 0, h = 0}, expose = {type = 0 '\000'}, quit = {type = 0 '\000'}, custom = {type = 0 '\000', code = 0, data1 = 0x0, data2 = 0x0}} macro_key = k = #24 0x0000645cdad64fda in direction_chooser::choose_direction (this=this@entry=0x7ffe93980790) at directn.cc:2634 ui_cutoff_point = ccon = {cstate = false} no_blinking = {prev = false} mc = {m_previous_mode = MOUSE_MODE_NORMAL} legacy_range = { = {_vptr.targeter = 0x645cdb7875f8 , origin = {x = 56, y = 47}, aim = {x = 56, y = 47}, agent = 0x645cdb9976c0 , why_not = "", obeys_mesmerise = false}, exp_range_min = 0, exp_range_max = 0, exp_map_min = {mData = {mData = {{mData = {25692, -1818755880, 32766, -1818747736, 32766, 7, 0, -339168355, 32517, -1818755824, 32766, -1818755793, 32766, -1818747824, 32766, 0, 0, 2, 32766}}, {mData = {-1818755791, 32766, -1818747792, 32766, 0, 0, 2, 32766, -1818747808, 32766, 543516756, 1819042146, 1954115616, 544108392, 1936943464, 1629516645, 1769105262, 3045740, 1868767343}}, {mData = {1920234350, 544498549, 1886593121, 543517545, 1853186412, 1919248483, 778987808, 32, 0, -1818755824, 32766, 31, 0, -334793236, 32517, -1818747712, 32766, -617698027, 25692}}, {mData = {31, 0, 16, 48, -1818747456, 32766, -1818747664, 32766, 1, 0, 24, 48, -1818747424, 32766, -1818747632, 32766, 543516756, 1819042146, 1954115616}}, {mData = {544108392, 1936943464, 1629516645, 1769105262, 3045740, 1868767343, 1920234350, 544498549, 1886593121, 543517545, 1853186412, 1919248483, 778987808, 0, 2, 2, 2, 2, 2}}, {mData = {2 }}, {mData = {2 }}, {mData = {2 }}, {mData = {2 }}, {mData = {2 }}, {mData = {2 }}, {mData = {2 }}, {mData = {2 }}, {mData = {2 }}, {mData = {2 , 0, 0, 0, 2, 2, 2}}, {mData = {2 }}, {mData = {2 }}, {mData = {2 , -618424851, 25692, 2, 2, -619556617, 25692, 142}}, {mData = {0, 1, 0, 18, 0, -618424851, 25692, 2, 0, -618424851, 25692, 142, 0, -619556617, 25692, 142, 0, 1, 0}}}}}, exp_map_max = {mData = {mData = {{mData = {18, 0, -618424851, 25692, -611204352, 25692, -619556617, 25692, 142, 0, 1, 0, 18, 0, -619545330, 25692, 223, 0, 0}}, {mData = {0, -611204352, 25692, 18, 0, -1818754528, 32766, -610699584, 25692, 223, 0, 1, 0, 124, 0, 0, 0, -1818754480, 32766}}, {mData = {0, 0, -610699584, 25692, 0, 0, -1, 0, -619016355, 25692, 6, 0, -619076512, 4, -622698400, 25692, -619016355, 25692, 124}}, {mData = {0, 0, 49, 15, 0, -1510501376, -1765834144, -610699584, 25692, -610699584, 25692, 0, 0, -619098788, 25692, 0, 0, 463, 0}}, {mData = {463, 0, -617892609, 25692, 463, 0, -617929392, 25692, 1428, 0, 14, 0, 463, 0, -610699584, 25692, 0, 0, -618334688}}, {mData = {25692, 47, 2, 49, 40, 1, 0, -1510501376, -1765834144, 0, 0, -1510501376, -1765834144, -610699584, 25692, 1, 0, -610699584, 25692}}, {mData = {3, 0, 0, 0, -617920714, 25692, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 0, 0, 0}}, {mData = {2 }}, {mData = {2 }}, {mData = {2 }}, {mData = {2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 0, 0, 2, 2, 2, 2, 2, 2}}, {mData = {2 }}, {mData = {2 }}, {mData = {2 }}, {mData = {2 }}, {mData = {2 }}, {mData = {2 }}, {mData = {2, 2, 2, 2, 2, 2, 2, -618424851, 25692, 2, 2, -618424851, 25692, 137, 0, -1818753096, 32766, 16, 0}}, {mData = {-580972304, 25692, -1818752144, 32766, -334793236, 32517, -1818753232, 32766, -624915419, 25692, -1818753136, 32766, -1818753136, 32766, -1818752736, 32766, -623548585, 25692, 0}}}}}, range = 7, cannot_harm_player = false, affects_walls = true, can_target_monsters = true, affects_pos = 0x0} rva = tmp = {previous = true} save_more = {val = , oldval = true} directn_view = #25 0x0000645cdad652c0 in direction (moves=..., args=...) at directn.cc:400 No locals. #26 0x0000645cdb2b1daf in spell_direction (spelld=..., pbolt=..., args=args@entry=0x7ffe93980e80) at spl-util.cc:861 newargs = {hitfunc = 0x645cdd9bd180, restricts = DIR_NONE, mode = TARG_HOSTILE, range = 7, just_looking = false, needs_path = true, prefer_farthest = false, try_multizap = false, unrestricted = false, allow_shift_dir = true, self = confirm_prompt_type::none, target_prefix = 0x0, top_prompt = "Casting: Construct Spike Launcher (safe; 6% risk of failure)", behaviour = 0x7ffe93980b70, show_floor_desc = false, show_boring_feats = true, get_desc_func = {, std::allocator >, std::allocator, std::allocator > > >, monster_info const&>> = {, std::allocator >, std::allocator, std::allocator > > > >> = {}, }, = {static _M_max_size = 16, static _M_max_align = 8, _M_functor = {_M_unused = {_M_object = 0x645cdd5f10f0, _M_const_object = 0x645cdd5f10f0, _M_function_pointer = 0x645cdd5f10f0, _M_member_pointer = (void (std::_Undefined_class::*)(std::_Undefined_class * const)) 0x645cdd5f10f0}, _M_pod_data = "\360\020_\335\\d\000\000\000\000\000\000\000\000\000"}, _M_manager = 0x645cdac08bc0 , std::allocator >, std::allocator, std::allocator > > > (monster_info const&), std::_Bind, std::allocator >, std::allocator, std::allocator > > > (*(std::_Placeholder<1>, targeter*))(monster_info const&, targeter*)> >::_M_manager(std::_Any_data&, std::_Any_data const&, std::_Manager_operation)>}, _M_invoker = 0x645cdac08740 , std::allocator >, std::allocator, std::allocator > > > (monster_info const&), std::_Bind, std::allocator >, std::allocator, std::allocator > > > (*(std::_Placeholder<1>, targeter*))(monster_info const&, targeter*)> >::_M_invoke(std::_Any_data const&, monster_info const&)>}, default_place = {x = 56, y = 47}} #27 0x0000645cdb254bea in your_spells (spell=spell@entry=SPELL_SPIKE_LAUNCHER, powc=, powc@entry=0, actual_spell=true, evoked_wand=evoked_wand@entry=0x0, target=target@entry=0x645cdd42b428, force_failure=force_failure@entry=false) at spl-cast.cc:2144 prompt = additional_desc = {, std::allocator >, std::allocator, std::allocator > > >, monster_info const&>> = {, std::allocator >, std::allocator, std::allocator > > > >> = {}, }, = {static _M_max_size = 16, static _M_max_align = 8, _M_functor = {_M_unused = {_M_object = 0x645cdd648c60, _M_const_object = 0x645cdd648c60, _M_function_pointer = 0x645cdd648c60, _M_member_pointer = (void (std::_Undefined_class::*)(std::_Undefined_class * const)) 0x645cdd648c60}, _M_pod_data = "`\214d\335\\d\000\000\000\000\000\000\000\000\000"}, _M_manager = 0x645cdac08bc0 , std::allocator >, std::allocator, std::allocator > > > (monster_info const&), std::_Bind, std::allocator >, std::allocator, std::allocator > > > (*(std::_Placeholder<1>, targeter*))(monster_info const&, targeter*)> >::_M_manager(std::_Any_data&, std::_Any_data const&, std::_Manager_operation)>}, _M_invoker = 0x645cdac08740 , std::allocator >, std::allocator, std::allocator > > > (monster_info const&), std::_Bind, std::allocator >, std::allocator, std::allocator > > > (*(std::_Placeholder<1>, targeter*))(monster_info const&, targeter*)> >::_M_invoke(std::_Any_data const&, monster_info const&)>} spell_title_color = verb = "Casting" needs_path = beh = { = {_vptr.targeting_behaviour = 0x645cdb7a7f78 , prompt = "", just_looking = false, get_desc_func = {, std::allocator >, std::allocator, std::allocator > > >, monster_info const&>> = {, std::allocator >, std::allocator, std::allocator > > > >> = {}, }, = {static _M_max_size = 16, static _M_max_align = 8, _M_functor = {_M_unused = {_M_object = 0x645cdd304d30, _M_const_object = 0x645cdd304d30, _M_function_pointer = 0x645cdd304d30, _M_member_pointer = (void (std::_Undefined_class::*)(std::_Undefined_class * const)) 0x645cdd304d30}, _M_pod_data = "0M0\335\\d\000\000\000\000\000\000\000\000\000"}, _M_manager = 0x645cdac08bc0 , std::allocator >, std::allocator, std::allocator > > > (monster_info const&), std::_Bind, std::allocator >, std::allocator, std::allocator > > > (*(std::_Placeholder<1>, targeter*))(monster_info const&, targeter*)> >::_M_manager(std::_Any_data&, std::_Any_data const&, std::_Manager_operation)>}, _M_invoker = 0x645cdac08740 , std::allocator >, std::allocator, std::allocator > > > (monster_info const&), std::_Bind, std::allocator >, std::allocator, std::allocator > > > (*(std::_Placeholder<1>, targeter*))(monster_info const&, targeter*)> >::_M_invoke(std::_Any_data const&, monster_info const&)>}, needs_path = {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 = }}}, spell = SPELL_SPIKE_LAUNCHER, err = ""} targ = dir = useless = title = "Casting: Construct Spike Launcher (safe; 6% risk of failure)" args = {hitfunc = 0x645cdd9bd180, restricts = DIR_NONE, mode = TARG_HOSTILE, range = -1, just_looking = false, needs_path = true, prefer_farthest = false, try_multizap = false, unrestricted = false, allow_shift_dir = true, self = confirm_prompt_type::none, target_prefix = 0x0, top_prompt = "Casting: Construct Spike Launcher (safe; 6% risk of failure)", behaviour = 0x7ffe93980b70, show_floor_desc = false, show_boring_feats = true, get_desc_func = {, std::allocator >, std::allocator, std::allocator > > >, monster_info const&>> = {, std::allocator >, std::allocator, std::allocator > > > >> = {}, }, = {static _M_max_size = 16, static _M_max_align = 8, _M_functor = {_M_unused = {_M_object = 0x645cdd957c70, _M_const_object = 0x645cdd957c70, _M_function_pointer = 0x645cdd957c70, _M_member_pointer = (void (std::_Undefined_class::*)(std::_Undefined_class * const)) 0x645cdd957c70}, _M_pod_data = "p|\225\335\\d\000\000\000\000\000\000\000\000\000"}, _M_manager = 0x645cdac08bc0 , std::allocator >, std::allocator, std::allocator > > > (monster_info const&), std::_Bind, std::allocator >, std::allocator, std::allocator > > > (*(std::_Placeholder<1>, targeter*))(monster_info const&, targeter*)> >::_M_manager(std::_Any_data&, std::_Any_data const&, std::_Manager_operation)>}, _M_invoker = 0x645cdac08740 , std::allocator >, std::allocator, std::allocator > > > (monster_info const&), std::_Bind, std::allocator >, std::allocator, std::allocator > > > (*(std::_Placeholder<1>, targeter*))(monster_info const&, targeter*)> >::_M_invoke(std::_Any_data const&, monster_info const&)>}, default_place = {x = 56, y = 47}} wiz_cast = target_local = {isValid = false, isTarget = false, isEndpoint = false, isCancel = false, choseRay = false, interactive = false, target = {x = 0, y = 0}, delta = {x = 0, y = 0}, ray = {r = {start = {x = 0, y = 0}, dir = {x = 0, y = 0}}, on_corner = false, cycle_idx = -1}, find_target = false, fire_context = 0x0, cmd_result = 2000} beam = {origin_spell = SPELL_SPIKE_LAUNCHER, range = -1, glyph = 42 U'*', colour = 0 '\000', flavour = BEAM_MAGIC, real_flavour = BEAM_MAGIC, drop_item = false, item_mulches = false, item = 0x0, launcher = 0x0, source = {x = 0, y = 0}, target = {x = 0, y = 0}, damage = {num = 0, size = 0}, ench_power = 0, hit = 0, thrower = KILL_NON_ACTOR, ex_size = 0, source_id = 0, source_name = "", name = "", short_name = "", hit_verb = "", loudness = 0, hit_noise_msg = "", explode_noise_msg = "", pierce = false, is_explosion = false, is_death_effect = false, aimed_at_spot = false, aux_source = "", affects_nothing = false, effect_known = true, effect_wanton = false, no_saving_throw = false, draw_delay = 15, explode_delay = 50, redraw_per_cell = true, special_explosion = 0x0, was_missile = false, animate = true, ac_rule = ac_type::normal, obvious_effect = false, seen = false, heard = false, path_taken = std::vector of length 0, capacity 0, extra_range_used = 0, is_tracer = false, is_targeting = false, aimed_at_feet = false, msg_generated = false, noise_generated = false, passed_target = false, in_explosion_phase = false, attitude = ATT_HOSTILE, foe_ratio = 0, hit_count = std::map with 0 elements, foe_info = {count = 0, power = 0, hurt = 0, helped = 0, dont_stop = false}, friend_info = {count = 0, power = 0, hurt = 0, helped = 0, dont_stop = false}, chose_ray = false, beam_cancelled = false, dont_stop_player = false, overshoot_prompt = true, friendly_past_target = false, bounces = 0, bounce_pos = {x = 0, y = 0}, reflections = 0, reflector = 0, use_target_as_pos = false, ray = {r = {start = {x = 0, y = 0}, dir = {x = 0, y = 0}}, on_corner = false, cycle_idx = -1}, tile_beam = 0, tile_explode = 0, can_see_invis = false, nightvision = false, can_trigger_bullseye = false, message_cache = std::set with 0 elements} flags = range = hitfunc = std::unique_ptr = {get() = 0x645cdd9bd180} is_targeted = god = use_targeter = true fail = orig_target_pos = cast_result = #28 0x0000645cdb2579d9 in cast_a_spell (check_range=check_range@entry=false, spell=, _target=_target@entry=0x645cdd42b428, force_failure=force_failure@entry=false) at spl-cast.cc:943 reason = "" cost = 2 hp_cost = cast_result = #29 0x0000645cdb1d0f36 in quiver::spell_action::trigger (this=0x645cdd42b410, t=...) at quiver.cc:1186 do_range_check = #30 0x0000645cdb1c3e94 in quiver::action_cycler::do_target ( 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-9d6bf4ca7f/saves" -DSHARED_DIR_PATH="/crawl-master/crawl-git/saves" -DDATA_DIR_PATH="/crawl-master/crawl-git-9d6bf4ca7f/data/" -DWEB_DIR_PATH="/crawl-master/crawl-git-9d6bf4ca7f/data/web/" -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 LDFLAGS: -rdynamic -fuse-ld=gold -O2 >>>>>>>>>>> Place info: branch = 0, depth = 1 Level id: D:1 Level build method = random_map_for_place, level layout type = corridors, absdepth0 = 0 Level vaults: shiori_arrival_whats_in_store_for_you layout_loops_ring minmay_tetromino_t4 Markers: <<<<<<<<<<<<<<<<<<<<<< Marker #0, type 0 at (6, 34): feature (stone_stairs_up_i) >>>>>>>>>>>>>>>>>>>>>> Messages: <<<<<<<<<<<<<<<<<<<<<< Welcome, Jovis137 the Vine Stalker Forgewright. The heart of this dungeon contains the transcendent artefact, the Orb of Zot. Press ? for a list of commands and other information. Found a staircase leading out of the dungeon. Welcome back, Jovis137 the Vine Stalker Forgewright. Press ? for a list of commands and other information. The purple draconian roars! Aiming: Kinetic Grapnel (safe; 4% risk of failure) Press: ? - help, Q - select action Shift-Dir - straight line Okay, then. The iron dragon roars deafeningly! The ice dragon roars deafeningly! Found an escape hatch in the floor. You open the door. There is an open door here. Found a scale mail. Found a puce potion. Found a stone staircase leading down. A bat comes into view. The bat hits you but does no damage. The bat closely misses you. Aiming: Kinetic Grapnel (safe; 4% risk of failure) Press: ? - help, Q - select action Shift-Dir - straight line Aim: a bat (57% to hit) The kinetic grapnel misses the bat. The bat closely misses you. Aiming: Kinetic Grapnel (safe; 4% risk of failure) Press: ? - help, Q - select action Shift-Dir - straight line Aim: a bat (57% to hit) The kinetic grapnel hits the bat. The bat is moderately wounded. The bat hits you but does no damage. The bat closely misses you. Aiming: Kinetic Grapnel (safe; 4% risk of failure) Press: ? - help, Q - select action Shift-Dir - straight line Aim: a bat (moderately wounded, grapneled, 57% to hit) The kinetic grapnel hits the bat. You kill the bat! Unknown command. You see here a +0 scale mail. d - a +0 scale mail You drop a +0 scale mail. Okay, then. Found a quarterstaff. Found 14 gold pieces. d - a puce potion You now have 14 gold pieces. Welcome back, Jovis137 the Vine Stalker Forgewright. Welcome back, Jovis137 the Vine Stalker Forgewright. Press ? for a list of commands and other information. Magic restored. There is a stone staircase leading down here. An endoplasm comes into view. Aiming: Kinetic Grapnel (safe; 4% risk of failure) Press: ? - help, Q - select action 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 sock the endoplasm! You kill the endoplasm! Found a stone staircase leading down. There is a stone staircase leading down here. You see here a +0 quarterstaff. You see here a +0 scale mail. Found a whip. You now have 27 gold pieces (gained 13). Found a robe. A goblin comes into view. It is wielding a +0 club. The goblin shouts! You hear a loud squeak. Aiming: Kinetic Grapnel (safe; 4% risk of failure) Press: ? - help, Q - select action Shift-Dir - straight line Aim: a goblin, wielding a +0 club (64% to hit) The kinetic grapnel misses the goblin. Unknown command. You sock the goblin! You kill the goblin! You see here a +0 club. A rat comes into view. The rat squeaks loudly. Aiming: Kinetic Grapnel (safe; 4% risk of failure) Press: ? - help, Q - select action Shift-Dir - straight line Aim: a rat (71% to hit) The kinetic grapnel hits the rat. You kill the rat! Found a pair of gloves. You see here a +0 pair of gloves. You start putting on your armour. You continue putting on your +0 pair of gloves. x4 You finish putting on your +0 pair of gloves. A rat comes into view. You see here a +0 spear of flaming. Your +0 spear of flaming bursts into flame! f - a +0 spear of flaming (weapon) The rat squeaks loudly. Aiming: Kinetic Grapnel (safe; 4% risk of failure) Press: ? - help, Q - select action Shift-Dir - straight line Okay, then. Aiming: Kinetic Grapnel (safe; 4% risk of failure) Press: ? - help, Q - select action Shift-Dir - straight line Aim: a rat (71% to hit) The kinetic grapnel hits the rat but does no damage. Unknown command. Aiming: Kinetic Grapnel (safe; 4% risk of failure) Press: ? - help, Q - select action Shift-Dir - straight line Aim: a rat (71% to hit) The kinetic grapnel hits the rat. You kill the rat! Found 5 stones. You see here 5 stones. An endoplasm and a goblin come into view. Found a shiny scale mail, 5 stones, a chain mail, a dagger and a short sword. Found a stone staircase leading down. Aiming: Kinetic Grapnel (safe; 4% risk of failure) Press: ? - help, Q - select action Shift-Dir - straight line Aim: an endoplasm (asleep, 100% to hit) The kinetic grapnel hits the endoplasm. The endoplasm is severely wounded. Unknown command. The grapnel guides your strike. You hit the endoplasm. You burn the endoplasm. You kill the endoplasm! The goblin shouts! You hear an angry hiss. A giant cockroach comes into view. You hear a shout! Aiming: Kinetic Grapnel (safe; 4% risk of failure) Press: ? - help, Q - select action Shift-Dir - straight line Aim: a giant cockroach (wandering, hasn't noticed you, 71% to hit) The kinetic grapnel hits the giant cockroach. You kill the giant cockroach! You have reached level 2! Aiming: Kinetic Grapnel (safe; 4% risk of failure) Press: ? - help, Q - select action Shift-Dir - straight line Aim: a goblin, wielding a +0 dagger (64% to hit) The kinetic grapnel hits the goblin. The goblin is moderately wounded. The goblin misses you. The grapnel guides your strike. You hit the goblin. You burn the goblin. You kill the goblin! Things that are here: a +0 dagger; a goblin corpse You see here a +2 scale mail of positive energy. g - a +2 scale mail of positive energy A frilled lizard comes into view. You see here a +0 chain mail. You see here a +0 dagger. A goblin comes into view. It is wielding a +0 dagger. You see here 5 stones. The goblin shouts! A giant cockroach comes into view. A hobgoblin comes into view. You see here 5 stones. Aiming: Kinetic Grapnel (safe; 4% risk of failure) Press: ? - help, Q - select action Shift-Dir - straight line Aim: a frilled lizard (53% to hit) The kinetic grapnel misses the frilled lizard. The kinetic grapnel hits the goblin. The goblin is heavily wounded. The frilled lizard bites you. You barely miss the frilled lizard. Your bite misses the frilled lizard. The frilled lizard barely misses you. You closely miss the frilled lizard. A ball python comes into view. The frilled lizard bites you but does no damage. You see here a +0 chain mail. The grapnel comes loose from the goblin. The frilled lizard attacks as it pursues you! The frilled lizard bites you but does no damage. Aiming: Kinetic Grapnel (safe; 4% risk of failure) Press: ? - help, Q - select action Shift-Dir - straight line Aim: a frilled lizard (53% to hit) The kinetic grapnel hits the frilled lizard. You kill the frilled lizard! You barely miss the goblin. The goblin is heavily wounded. The goblin hits you with a +0 dagger. You hit the goblin. You burn the goblin. You kill the goblin! The giant cockroach barely misses you. Aiming: Kinetic Grapnel (safe; 4% risk of failure) Press: ? - help, Q - select action Shift-Dir - straight line Aim: a giant cockroach (71% to hit) The kinetic grapnel hits the giant cockroach but does no damage. The giant cockroach bites you but does no damage. Unknown command. Aiming: Kinetic Grapnel (safe; 4% risk of failure) Press: ? - help, Q - select action Shift-Dir - straight line Aim: a giant cockroach (71% to hit) The kinetic grapnel hits the giant cockroach. The giant cockroach is severely wounded. The giant cockroach bites you but does no damage. The grapnel guides your strike. You hit the giant cockroach. You burn the giant cockroach. You kill the giant cockroach! You hit the hobgoblin but do no damage. The hobgoblin closely misses you. You closely miss the hobgoblin. You bite the hobgoblin. You drain its power. You feel invigorated. The hobgoblin is moderately wounded. The hobgoblin barely misses you. You barely miss the hobgoblin. The hobgoblin barely misses you. You barely miss the hobgoblin. You bite the hobgoblin, but do no damage. The hobgoblin hits you. You closely miss the hobgoblin. You bite the hobgoblin, but do no damage. The hobgoblin barely misses you. You hit the hobgoblin but do no damage. Your bite misses the hobgoblin. The hobgoblin hits you. Aiming: Kinetic Grapnel (safe; 3% risk of failure) Press: ? - help, Q - select action Shift-Dir - straight line Aim: a hobgoblin (71% to hit) The kinetic grapnel hits the hobgoblin. You kill the hobgoblin! Unknown command. Items here: ) †††. You start resting. Magic restored. You see here a +0 chain mail. You see here a +0 dagger. You see here 5 stones. No target in view! You start memorising the spell. You continue memorising. x2 You finish memorising. Spell assigned to 'b'. There are no nearby rock walls to construct a spike launcher in. The ball python hisses angrily. Casting: Construct Spike Launcher (safe; 6% risk of failure) Press: ? - help, Q - select action, ( or ) - cycle Dir - look around, f - activate >>>>>>>>>>>>>>>>>>>>>> Version history: Game started: 0.33-a0-517-gafa22cc02a 0.33-a0-533-g9d6bf4ca7f Game state: mouse_enabled: 0, waiting_for_command: 0, terminal_resized: 0 io_inited: 1, need_save: 1, saving_game: 0, updating_scores: 0: seen_hups: 1, map_stat_gen: 0, type: 1, arena_suspended: 0 prev_cmd = CMD_FIRE repeat_cmd = CMD_NO_CMD Player: {{{{{{{{{{{ Name: [Jovis137] Species: Vine Stalker Job: Forgewright HP: 13/13; mods: 0/0 MP: 4/6; mod: 0 Stats: 12 (12) 15 (15) 12 (12) Position: (56, 47), 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 | 0 | 0 | 0 | 0 | 0/59 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 | 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/70 Dodging | X | 1 | 25 | 1 | 190 | 120/142 Stealth | X | 1 | 25 | 2 | 167 | 78/89 Shields | X | 0 | 0 | 0 | 0 | 0/59 Unarmed Combat | X | 0 | 0 | 0 | 0 | 0/50 Spellcasting | X | 1 | 25 | 2 | 223 | 73/150 Conjurations | X | 0 | 0 | 0 | 0 | 0/50 Hexes | X | 0 | 0 | 0 | 0 | 0/50 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 | 1 | 25 | 4 | 536 | 36/250 Fire Magic | X | 0 | 0 | 0 | 0 | 0/50 Ice Magic | X | 0 | 0 | 0 | 0 | 0/50 Air Magic | X | 0 | 0 | 0 | 0 | 0/50 Earth Magic | X | 0 | 0 | 0 | 0 | 0/50 Alchemy | X | 0 | 0 | 0 | 0 | 0/50 Invocations | X | 0 | 0 | 0 | 0 | 0/50 Evocations | X | 0 | 0 | 0 | 0 | 0/59 Shapeshifting | X | 0 | 0 | 0 | 0 | 0/59 Spell bugs: Durations: Attributes: #12: 27 #49: 67 Mutations: fangs: 2 (innate) regeneration: 1 (innate) magic shield: 1 (innate) antimagic bite: 1 (innate) no potion heal: 2 (innate) Inventory bugs: Equipment: eq slot #0, inv slot #5: +0 spear of flaming eq slot #3, inv slot #4: +0 pair of gloves eq slot #6, inv slot #2: +0 robe }}}}}}}}}}} Webtiles message buffer: Webtiles JSON stack: Screenshot: ###. .....# #... #....# .# #.## ##....#### .# #.# ........# .# #.# #.#..##.# .# #.# #.#..##.####.# #.# # #............# #.# ...####..@..###.## #.# ..........#..#...# #.# ..........##S.)#(## #.# ..........#.)[##..#####.# ###..##...).#..#........# #.. #..>.###.).######## #. #........### # #......### ...#.##.# clua stack: dlua stack: Lua persistent data: <<<<<<<<<<<<<<<<<<<<<< >>>>>>>>>>>>>>>>>>>>>> Lua marker contents: <<<<<<<<<<<<<<<<<<<<<< >>>>>>>>>>>>>>>>>>>>>>