ASSERT(is_weapon_brand_ok(item.sub_type, rc, true)) in 'makeitem.cc' at line 299 failed. Version: Dungeon Crawl Chili 1.0-a0-316-g3af901601f Platform: unix Bits: 64 Game mode: normal Tiles: online Seed: 14415497082112930175, deterministic pregen: 1 Command line: /usr/games/crawl-dcchili -name MrSquiggles -rc /dgldir/rcfiles/crawl-dcchili/MrSquiggles.rc -macro /dgldir/rcfiles/crawl-dcchili/MrSquiggles.macro -morgue /dgldir/morgue/MrSquiggles/ -webtiles-socket /crawl-master/webserver/sockets/MrSquiggles:2026-07-26.23:21:40.sock -await-connection RC options: restart_after_game = false Crash caused by signal #6: Aborted Obtained 36 stack frames. /usr/games/crawl-dcchili(_Z17write_stack_traceP8_IO_FILE+0x3f) [0x61b2a5a02f7f]: write_stack_trace(_IO_FILE*) /usr/games/crawl-dcchili(_Z13do_crash_dumpv+0x43a) [0x61b2a5a111fa]: do_crash_dump() /usr/games/crawl-dcchili(_Z20crash_signal_handleri+0x1fa) [0x61b2a5a0347a]: crash_signal_handler(int) /lib/x86_64-linux-gnu/libc.so.6(+0x45330) [0x74451e6f0330]: /lib/x86_64-linux-gnu/libc.so.6(pthread_kill+0x11c) [0x74451e749b2c]: /lib/x86_64-linux-gnu/libc.so.6(gsignal+0x1e) [0x74451e6f027e]: /usr/games/crawl-dcchili(+0x51b5cd) [0x61b2a5a105cd]: /usr/games/crawl-dcchili(_Z12AssertFailedPKcS0_iS0_z+0x1c7) [0x61b2a5a10ad7]: AssertFailed(char const*, char const*, int, char const*, ...) /usr/games/crawl-dcchili(+0x80a72a) [0x61b2a5cff72a]: /usr/games/crawl-dcchili(_Z5itemsb17object_class_typeiiiibNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPK14CrawlHashTableP7monster+0x1b22) [0x61b2a5d03172]: items(bool, object_class_type, int, int, int, int, bool, std::__cxx11::basic_string, std::allocator >, CrawlHashTable const*, monster*) /usr/games/crawl-dcchili(_Z16make_mons_weapon12monster_typeib+0x19a4) [0x61b2a5e06c84]: make_mons_weapon(monster_type, int, bool) /usr/games/crawl-dcchili(+0x91dddc) [0x61b2a5e12ddc]: /usr/games/crawl-dcchili(_Z9give_itemP7monsterib+0x27d) [0x61b2a5e13fed]: give_item(monster*, int, bool) /usr/games/crawl-dcchili(+0x940fea) [0x61b2a5e35fea]: /usr/games/crawl-dcchili(_Z13place_monster9mgen_databb+0x274) [0x61b2a5e381b4]: place_monster(mgen_data, bool, bool) /usr/games/crawl-dcchili(_Z17dgn_place_monsterR9mons_spec9coord_defbbb+0x519) [0x61b2a5ad87a9]: dgn_place_monster(mons_spec&, coord_def, bool, bool, bool) /usr/games/crawl-dcchili(+0x5e6d57) [0x61b2a5adbd57]: /usr/games/crawl-dcchili(+0x5e74eb) [0x61b2a5adc4eb]: /usr/games/crawl-dcchili(_ZN15vault_placement10apply_gridEv+0x538) [0x61b2a5adcab8]: vault_placement::apply_grid() /usr/games/crawl-dcchili(+0x5e8369) [0x61b2a5add369]: /usr/games/crawl-dcchili(+0x5eb758) [0x61b2a5ae0758]: /usr/games/crawl-dcchili(+0x5ef144) [0x61b2a5ae4144]: /usr/games/crawl-dcchili(_Z7builderb+0x2ba) [0x61b2a5ae739a]: builder(bool) /usr/games/crawl-dcchili(_Z14generate_levelRK8level_id+0x4d7) [0x61b2a5b20307]: generate_level(level_id const&) /usr/games/crawl-dcchili(_Z14pregen_dungeonRK8level_id+0x427) [0x61b2a5b21047]: pregen_dungeon(level_id const&) /usr/games/crawl-dcchili(_Z10load_level20dungeon_feature_type14load_mode_typeRK8level_id+0x34d) [0x61b2a5b21b6d]: load_level(dungeon_feature_type, load_mode_type, level_id const&) /usr/games/crawl-dcchili(_Z16floor_transition20dungeon_feature_typeS_8level_idbbbb+0xe1b) [0x61b2a605989b]: floor_transition(dungeon_feature_type, dungeon_feature_type, level_id, bool, bool, bool, bool) /usr/games/crawl-dcchili(_Z11take_stairs20dungeon_feature_typebbb+0xb9) [0x61b2a605b679]: take_stairs(dungeon_feature_type, bool, bool, bool) /usr/games/crawl-dcchili(_ZN5Delay6handleEv+0x46) [0x61b2a5a2e9b6]: Delay::handle() /usr/games/crawl-dcchili(_Z12handle_delayv+0x39) [0x61b2a5a2e439]: handle_delay() /usr/games/crawl-dcchili(+0xcf2816) [0x61b2a61e7816]: /usr/games/crawl-dcchili(+0xcf31ed) [0x61b2a61e81ed]: /usr/games/crawl-dcchili(main+0x1f7) [0x61b2a5934987]: /lib/x86_64-linux-gnu/libc.so.6(+0x2a1ca) [0x74451e6d51ca]: /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0x8b) [0x74451e6d528b]: /usr/games/crawl-dcchili(_start+0x25) [0x61b2a5935475]: Trying to run gdb. GNU gdb (Ubuntu 15.1-1ubuntu1~24.04.1) 15.1 Copyright (C) 2024 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "x86_64-linux-gnu". Type "show configuration" for configuration details. For bug reporting instructions, please see: . Find the GDB manual and other documentation resources online at: . For help, type "help". Type "apropos word" to search for commands related to "word". [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1". 0x000074451e7bb7d7 in wait4 () from /lib/x86_64-linux-gnu/libc.so.6 #0 0x000074451e7bb7d7 in wait4 () from /lib/x86_64-linux-gnu/libc.so.6 No symbol table info available. #1 0x000061b2a5a0364c in call_gdb (file=0x74451e8af4e0 <_IO_2_1_stderr_>) at crash.cc:434 gdb = attach_cmd = "attach 6838\000\000\000\000\000\000\000\000" #2 0x000061b2a5a11218 in do_crash_dump () at dbg-asrt.cc:682 t = 1785112390 dir = "/dgldir/morgue/MrSquiggles/" name = "/dgldir/morgue/MrSquiggles/crash-MrSquiggles-20260727-003310.txt", '\000' signal_info = "Crash caused by signal #6: Aborted" cause_msg = "ASSERT(is_weapon_brand_ok(item.sub_type, rc, true)) in 'makeitem.cc' at line 299 failed." file = 0x74451e8af4e0 <_IO_2_1_stderr_> #3 0x000061b2a5a0347a in crash_signal_handler (sig_num=6) at crash.cc:195 No locals. #4 No symbol table info available. #5 0x000074451e749b2c in pthread_kill () from /lib/x86_64-linux-gnu/libc.so.6 No symbol table info available. #6 0x000074451e6f027e in raise () from /lib/x86_64-linux-gnu/libc.so.6 No symbol table info available. #7 0x000061b2a5a105cd in _BreakStrToDebugger (mesg=mesg@entry=0x7fff67c29c10 "ASSERT(is_weapon_brand_ok(item.sub_type, rc, true)) in 'makeitem.cc' at line 299 failed.", assert=true) at dbg-asrt.cc:820 No locals. #8 0x000061b2a5a10ad7 in AssertFailed (expr=expr@entry=0x61b2a62bf920 "is_weapon_brand_ok(item.sub_type, rc, true)", file=file@entry=0x61b2a623ef1f "makeitem.cc", line=line@entry=299, text=text@entry=0x0) at dbg-asrt.cc:861 mesg = "ASSERT(is_weapon_brand_ok(item.sub_type, rc, true)) in 'makeitem.cc' at line 299 failed.", '\000' , "\377\377", '\000' , "\377\377", '\000' , "\377\377", '\000' , "\377\377", '\000' , "\377\377", '\000' ... args = {{gp_offset = 0, fp_offset = 65535, overflow_arg_area = 0x0, reg_save_area = 0x0}} fileName = #9 0x000061b2a5cff72a in determine_weapon_brand (item=..., item_level=item_level@entry=11) at makeitem.cc:299 wpn_type = WPN_WHIP tries = rc = #10 0x000061b2a5d03172 in determine_weapon_brand (item_level=11, item=...) at makeitem.cc:289 wpn_type = tries = rc = count = #11 _generate_weapon_item (mons=0x0, acquirement=false, agent=, item_level=11, force_type=, allow_uniques=false, item=...) at makeitem.cc:524 place = BRANCH_ORC force_good = forced_ego = false no_brand = false place = force_good = forced_ego = no_brand = ego = i = #12 items (allow_uniques=allow_uniques@entry=false, force_class=force_class@entry=OBJ_WEAPONS, force_type=, force_type@entry=1, item_level=, force_ego=, agent=agent@entry=-1, acquirement=false, custom_name="", fixed_props=0x0, mons=0x0) at makeitem.cc:2140 item_rng = {current = {state_ = 5325123890619302161, inc_ = 9061842248619079841, count_ = 3}, previous = 0x7fff67c2adc0, previous_main = rng::SUB_GENERATOR} p = 3 item = @0x61b2a67ea3a8: {base_type = OBJ_WEAPONS, sub_type = 1 '\001', {plus = 0, mon_type = MONS_PROGRAM_BUG, skill = SK_FIGHTING, charges = 0, tithe_state = 0}, {plus2 = 0, skill_points = 0, stash_freshness = 0}, {special = 0, unrand_idx = 0, subtype_rnd = 0, brand = 0, freshness = 0}, rnd = 0 '\000', quantity = 1, flags = 0, pos = {x = 0, y = 0}, link = 27000, slot = 0, orig_place = {branch = BRANCH_DUNGEON, depth = -1}, orig_monnum = 0, inscription = "", props = {, std::allocator >, CrawlStoreValue, std::less, std::allocator > >, std::allocator, std::allocator > const, CrawlStoreValue> > >> = std::map with 0 elements, }} force_good = #13 0x000061b2a5e06c84 in make_mons_weapon (type=, level=, level@entry=11, melee_only=melee_only@entry=false) at mon-gear.cc:1507 item_rng = {current = {state_ = 6902724513914710806, inc_ = 12409072853388747777, count_ = 7}, previous = 0x7fff67c32b70, previous_main = rng::SUB_GENERATOR} GOBLIN_WEAPONS = std::vector of length 2, capacity 2 = {{first = WPN_DAGGER, second = 1}, {first = WPN_CLUB, second = 1}} GNOLL_WEAPONS = std::vector of length 5, capacity 5 = {{first = WPN_SPEAR, second = 8}, {first = WPN_HALBERD, second = 4}, {first = WPN_CLUB, second = 6}, {first = WPN_WHIP, second = 6}, {first = WPN_FLAIL, second = 6}} ORC_WEAPONS = std::vector of length 11, capacity 11 = {{first = WPN_CLUB, second = 100}, {first = WPN_DAGGER, second = 80}, {first = WPN_FLAIL, second = 60}, {first = WPN_SHORT_SWORD, second = 60}, {first = WPN_HAND_AXE, second = 80}, {first = WPN_WHIP, second = 45}, {first = WPN_MACE, second = 40}, {first = WPN_TRIDENT, second = 20}, {first = WPN_FALCHION, second = 20}, {first = WPN_WAR_AXE, second = 14}, {first = WPN_MORNINGSTAR, second = 6}} DE_KNIGHT_WEAPONS = std::vector of length 5, capacity 5 = {{first = WPN_LONG_SWORD, second = 22}, {first = WPN_SHORT_SWORD, second = 22}, {first = WPN_SCIMITAR, second = 17}, {first = WPN_SHORTBOW, second = 17}, {first = WPN_LONGBOW, second = 5}} DE_MAGE_WEAPONS = std::vector of length 4, capacity 4 = {{first = WPN_LONG_SWORD, second = 2}, {first = WPN_SHORT_SWORD, second = 1}, {first = WPN_RAPIER, second = 1}, {first = WPN_DAGGER, second = 1}} OCCULT_WEAPONS = std::vector of length 3, capacity 3 = {{first = WPN_DAGGER, second = 4}, {first = WPN_WHIP, second = 2}, {first = WPN_ATHAME, second = 1}} RITUAL_WEAPONS = std::vector of length 2, capacity 2 = {{first = WPN_DAGGER, second = 4}, {first = WPN_ATHAME, second = 1}} DRAC_MAGE_WEAPONS = std::vector of length 5, capacity 5 = {{first = WPN_LONG_SWORD, second = 2}, {first = WPN_SHORT_SWORD, second = 1}, {first = WPN_RAPIER, second = 1}, {first = WPN_DAGGER, second = 1}, {first = WPN_WHIP, second = 1}} NAGA_WEAPONS = std::vector of length 15, capacity 15 = {{first = WPN_LONG_SWORD, second = 10}, {first = WPN_SHORT_SWORD, second = 10}, {first = WPN_SCIMITAR, second = 10}, {first = WPN_BATTLEAXE, second = 10}, {first = WPN_HAND_AXE, second = 10}, {first = WPN_HALBERD, second = 10}, {first = WPN_GLAIVE, second = 10}, {first = WPN_MACE, second = 10}, {first = WPN_DIRE_FLAIL, second = 10}, {first = WPN_TRIDENT, second = 10}, {first = WPN_WAR_AXE, second = 9}, {first = WPN_FLAIL, second = 9}, {first = WPN_PARTISAN, second = 2}, {first = WPN_BROAD_AXE, second = 1}, {first = WPN_MORNINGSTAR, second = 1}} ORC_KNIGHT_WEAPONS = std::vector of length 11, capacity 11 = {{first = WPN_GREAT_SWORD, second = 8}, {first = WPN_LONG_SWORD, second = 8}, {first = WPN_BATTLEAXE, second = 8}, {first = WPN_WAR_AXE, second = 8}, {first = WPN_GREAT_MACE, second = 6}, {first = WPN_DIRE_FLAIL, second = 4}, {first = WPN_BARDICHE, second = 2}, {first = WPN_GLAIVE, second = 2}, {first = WPN_BROAD_AXE, second = 2}, {first = WPN_HALBERD, second = 2}, {first = WPN_PARTISAN, second = 1}} ORC_KNIGHT_WSPEC = {types = std::vector of length 11, capacity 11 = {{first = WPN_GREAT_SWORD, second = 8}, {first = WPN_LONG_SWORD, second = 8}, {first = WPN_BATTLEAXE, second = 8}, {first = WPN_WAR_AXE, second = 8}, {first = WPN_GREAT_MACE, second = 6}, {first = WPN_DIRE_FLAIL, second = 4}, {first = WPN_BARDICHE, second = 2}, {first = WPN_GLAIVE, second = 2}, {first = WPN_BROAD_AXE, second = 2}, {first = WPN_HALBERD, second = 2}, {first = WPN_PARTISAN, second = 1}}, plusses = {odds = 4, min = 1, max = 3, nrolls = 0}, brands = std::vector of length 0, capacity 0, good_chance = 0} ORC_WARLORD_WSPEC = {types = std::vector of length 11, capacity 11 = {{first = WPN_GREAT_SWORD, second = 8}, {first = WPN_LONG_SWORD, second = 8}, {first = WPN_BATTLEAXE, second = 8}, {first = WPN_WAR_AXE, second = 8}, {first = WPN_GREAT_MACE, second = 6}, {first = WPN_DIRE_FLAIL, second = 4}, {first = WPN_BARDICHE, second = 2}, {first = WPN_GLAIVE, second = 2}, {first = WPN_BROAD_AXE, second = 2}, {first = WPN_HALBERD, second = 2}, {first = WPN_PARTISAN, second = 1}}, plusses = {odds = 4, min = 1, max = 3, nrolls = 0}, brands = std::vector of length 0, capacity 0, good_chance = 3} IRON_WEAPONS = std::vector of length 5, capacity 5 = {{first = WPN_GREAT_MACE, second = 3}, {first = WPN_DIRE_FLAIL, second = 2}, {first = WPN_FLAIL, second = 2}, {first = WPN_MORNINGSTAR, second = 2}, {first = WPN_MACE, second = 1}} OGRE_WEAPONS = std::vector of length 2, capacity 2 = {{first = WPN_GIANT_CLUB, second = 2}, {first = WPN_GIANT_SPIKED_CLUB, second = 1}} DOUBLE_OGRE_WEAPONS = std::vector of length 4, capacity 4 = {{first = WPN_GIANT_CLUB, second = 60}, {first = WPN_GIANT_SPIKED_CLUB, second = 30}, {first = WPN_DIRE_FLAIL, second = 9}, {first = WPN_GREAT_MACE, second = 1}} FAUN_WEAPONS = std::vector of length 3, capacity 3 = {{first = WPN_SPEAR, second = 2}, {first = WPN_CLUB, second = 1}, {first = WPN_QUARTERSTAFF, second = 1}} EFREET_WSPEC = {types = std::vector of length 1, capacity 1 = {{first = WPN_SCIMITAR, second = 1}}, plusses = {odds = 1, min = 0, max = 4, nrolls = 0}, brands = std::vector of length 1, capacity 1 = {{first = SPWPN_FLAMING, second = 1}}, good_chance = 0} DAEVA_WSPEC = {types = std::vector of length 3, capacity 3 = {{first = WPN_EUDEMON_BLADE, second = 1}, {first = WPN_SCIMITAR, second = 2}, {first = WPN_LONG_SWORD, second = 1}}, plusses = {odds = 1, min = 2, max = 5, nrolls = 0}, brands = std::vector of length 1, capacity 1 = {{first = SPWPN_HOLY_WRATH, second = 1}}, good_chance = 0} DE_VILE_MAGE_WEAPONS = {types = std::vector of length 4, capacity 4 = {{first = WPN_SCIMITAR, second = 2}, {first = WPN_FALCHION, second = 1}, {first = WPN_RAPIER, second = 1}, {first = WPN_ATHAME, second = 1}}, plusses = {odds = 1, min = 0, max = 4, nrolls = 0}, brands = std::vector of length 3, capacity 3 = {{first = SPWPN_FLAMING, second = 1}, {first = SPWPN_FREEZING, second = 1}, {first = NUM_SPECIAL_WEAPONS, second = 3}}, good_chance = 0} HELL_KNIGHT_BRANDS = std::vector of length 6, capacity 6 = {{first = SPWPN_FLAMING, second = 13}, {first = SPWPN_DRAINING, second = 4}, {first = SPWPN_HEAVY, second = 4}, {first = SPWPN_DISTORTION, second = 2}, {first = SPWPN_PAIN, second = 2}, {first = NUM_SPECIAL_WEAPONS, second = 20}} URUG_WEAPONS = std::vector of length 12, capacity 12 = {{first = WPN_HALBERD, second = 5}, {first = WPN_GLAIVE, second = 5}, {first = WPN_WAR_AXE, second = 6}, {first = WPN_GREAT_MACE, second = 6}, {first = WPN_BATTLEAXE, second = 7}, {first = WPN_LONG_SWORD, second = 8}, {first = WPN_SCIMITAR, second = 8}, {first = WPN_GREAT_SWORD, second = 8}, {first = WPN_BROAD_AXE, second = 9}, {first = WPN_DOUBLE_SWORD, second = 10}, {first = WPN_EVENINGSTAR, second = 13}, {first = WPN_PARTISAN, second = 15}} SP_DEFENDER_WEAPONS = std::vector of length 5, capacity 5 = {{first = WPN_LAJATANG, second = 1}, {first = WPN_QUICK_BLADE, second = 1}, {first = WPN_RAPIER, second = 1}, {first = WPN_DEMON_WHIP, second = 1}, {first = WPN_FLAIL, second = 1}} DS_WEAPONS = std::vector of length 7, capacity 7 = {{first = WPN_GREAT_SWORD, second = 3}, {first = WPN_DEMON_BLADE, second = 2}, {first = WPN_DIRE_FLAIL, second = 3}, {first = WPN_DEMON_WHIP, second = 2}, {first = WPN_GLAIVE, second = 3}, {first = WPN_DEMON_TRIDENT, second = 2}, {first = WPN_ATHAME, second = 3}} GARGOYLE_WEAPONS = std::vector of length 4, capacity 4 = {{first = WPN_MACE, second = 15}, {first = WPN_FLAIL, second = 10}, {first = WPN_MORNINGSTAR, second = 5}, {first = WPN_DIRE_FLAIL, second = 2}} primary_weapon_specs = std::map with 183 elements = {[MONS_DANCING_WEAPON] = {types = std::vector of length 15, capacity 15 = {{first = WPN_LONG_SWORD, second = 10}, {first = WPN_SHORT_SWORD, second = 10}, {first = WPN_SCIMITAR, second = 10}, {first = WPN_BATTLEAXE, second = 10}, {first = WPN_HAND_AXE, second = 10}, {first = WPN_HALBERD, second = 10}, {first = WPN_GLAIVE, second = 10}, {first = WPN_MACE, second = 10}, {first = WPN_DIRE_FLAIL, second = 10}, {first = WPN_TRIDENT, second = 10}, {first = WPN_WAR_AXE, second = 9}, {first = WPN_FLAIL, second = 9}, {first = WPN_PARTISAN, second = 2}, {first = WPN_BROAD_AXE, second = 1}, {first = WPN_MORNINGSTAR, second = 1}}, plusses = {odds = 0, min = 0, max = 0, nrolls = 0}, brands = std::vector of length 0, capacity 0, good_chance = 1}, [MONS_GARGOYLE] = {types = std::vector of length 4, capacity 4 = {{first = WPN_MACE, second = 15}, {first = WPN_FLAIL, second = 10}, {first = WPN_MORNINGSTAR, second = 5}, {first = WPN_DIRE_FLAIL, second = 2}}, plusses = {odds = 0, min = 0, max = 0, nrolls = 0}, brands = std::vector of length 0, capacity 0, good_chance = 0}, [MONS_WAR_GARGOYLE] = {types = std::vector of length 5, capacity 5 = {{first = WPN_MORNINGSTAR, second = 10}, {first = WPN_FLAIL, second = 10}, {first = WPN_DIRE_FLAIL, second = 5}, {first = WPN_GREAT_MACE, second = 5}, {first = WPN_LAJATANG, second = 1}}, plusses = {odds = 0, min = 0, max = 0, nrolls = 0}, brands = std::vector of length 0, capacity 0, good_chance = 4}, [MONS_MOLTEN_GARGOYLE] = {types = std::vector of length 4, capacity 4 = {{first = WPN_MACE, second = 15}, {first = WPN_FLAIL, second = 10}, {first = WPN_MORNINGSTAR, second = 5}, {first = WPN_DIRE_FLAIL, second = 2}}, plusses = {odds = 0, min = 0, max = 0, nrolls = 0}, brands = std::vector of length 0, capacity 0, good_chance = 0}, [MONS_GOBLIN] = {types = std::vector of length 2, capacity 2 = {{first = WPN_DAGGER, second = 1}, {first = WPN_CLUB, second = 1}}, plusses = {odds = 0, min = 0, max = 0, nrolls = 0}, brands = std::vector of length 0, capacity 0, good_chance = 0}, [MONS_GNOLL] = {types = std::vector of length 5, capacity 5 = {{first = WPN_SPEAR, second = 8}, {first = WPN_HALBERD, second = 4}, {first = WPN_CLUB, second = 6}, {first = WPN_WHIP, second = 6}, {first = WPN_FLAIL, second = 6}}, plusses = {odds = 0, min = 0, max = 0, nrolls = 0}, brands = std::vector of length 0, capacity 0, good_chance = 0}, [MONS_GNOLL_BOUDA] = {types = std::vector of length 2, capacity 2 = {{first = WPN_CLUB, second = 1}, {first = WPN_WHIP, second = 1}}, plusses = {odds = 0, min = 0, max = 0, nrolls = 0}, brands = std::vector of length 0, capacity 0, good_chance = 0}, [MONS_GNOLL_SERGEANT] = {types = std::vector of length 2, capacity 2 = {{first = WPN_SPEAR, second = 2}, {first = WPN_TRIDENT, second = 1}}, plusses = {odds = 0, min = 0, max = 0, nrolls = 0}, brands = std::vector of length 0, capacity 0, good_chance = 3}, [MONS_KOBOLD_DEMONOLOGIST] = {types = std::vector of length 3, capacity 3 = {{first = WPN_DAGGER, second = 4}, {first = WPN_WHIP, second = 2}, {first = WPN_ATHAME, second = 1}}, plusses = {odds = 0, min = 0, max = 0, nrolls = 0}, brands = std::vector of length 0, capacity 0, good_chance = 0}, [MONS_ORC] = {types = std::vector of length 11, capacity 11 = {{first = WPN_CLUB, second = 100}, {first = WPN_DAGGER, second = 80}, {first = WPN_FLAIL, second = 60}, {first = WPN_SHORT_SWORD, second = 60}, {first = WPN_HAND_AXE, second = 80}, {first = WPN_WHIP, second = 45}, {first = WPN_MACE, second = 40}, {first = WPN_TRIDENT, second = 20}, {first = WPN_FALCHION, second = 20}, {first = WPN_WAR_AXE, second = 14}, {first = WPN_MORNINGSTAR, second = 6}}, plusses = {odds = 0, min = 0, max = 0, nrolls = 0}, brands = std::vector of length 0, capacity 0, good_chance = 0}, [MONS_ORC_WARRIOR] = {types = std::vector of length 15, capacity 15 = {{first = WPN_LONG_SWORD, second = 10}, {first = WPN_SHORT_SWORD, second = 10}, {first = WPN_SCIMITAR, second = 10}, {first = WPN_BATTLEAXE, second = 10}, {first = WPN_HAND_AXE, second = 10}, {first = WPN_HALBERD, second = 10}, {first = WPN_GLAIVE, second = 10}, {first = WPN_MACE, second = 10}, {first = WPN_DIRE_FLAIL, second = 10}, {first = WPN_TRIDENT, second = 10}, {first = WPN_WAR_AXE, second = 9}, {first = WPN_FLAIL, second = 9}, {first = WPN_PARTISAN, second = 2}, {first = WPN_BROAD_AXE, second = 1}, {first = WPN_MORNINGSTAR, second = 1}}, plusses = {odds = 0, min = 0, max = 0, nrolls = 0}, brands = std::vector of length 0, capacity 0, good_chance = 0}, [MONS_ORC_PRIEST] = {types = std::vector of length 11, capacity 11 = {{first = WPN_CLUB, second = 100}, {first = WPN_DAGGER, second = 80}, {first = WPN_FLAIL, second = 60}, {first = WPN_SHORT_SWORD, second = 60}, {first = WPN_HAND_AXE, second = 80}, {first = WPN_WHIP, second = 45}, {first = WPN_MACE, second = 40}, {first = WPN_TRIDENT, second = 20}, {first = WPN_FALCHION, second = 20}, {first = WPN_WAR_AXE, second = 14}, {first = WPN_MORNINGSTAR, second = 6}}, plusses = {odds = 0, min = 0, max = 0, nrolls = 0}, brands = std::vector of length 0, capacity 0, good_chance = 0}, [MONS_ORC_HIGH_PRIEST] = {types = std::vector of length 15, capacity 15 = {{first = WPN_LONG_SWORD, second = 10}, {first = WPN_SHORT_SWORD, second = 10}, {first = WPN_SCIMITAR, second = 10}, {first = WPN_BATTLEAXE, second = 10}, {first = WPN_HAND_AXE, second = 10}, {first = WPN_HALBERD, second = 10}, {first = WPN_GLAIVE, second = 10}, {first = WPN_MACE, second = 10}, {first = WPN_DIRE_FLAIL, second = 10}, {first = WPN_TRIDENT, second = 10}, {first = WPN_WAR_AXE, second = 9}, {first = WPN_FLAIL, second = 9}, {first = WPN_PARTISAN, second = 2}, {first = WPN_BROAD_AXE, second = 1}, {first = WPN_MORNINGSTAR, second = 1}}, plusses = {odds = 0, min = 0, max = 0, nrolls = 0}, brands = std::vector of length 0, capacity 0, good_chance = 0}, [MONS_ORC_WIZARD] = {types = std::vector of length 1, capacity 1 = {{first = WPN_DAGGER, second = 1}}, plusses = {odds = 0, min = 0, max = 0, nrolls = 0}, brands = std::vector of length 0, capacity 0, good_chance = 0}, [MONS_ORC_KNIGHT] = {types = std::vector of length 11, capacity 11 = {{first = WPN_GREAT_SWORD, second = 8}, {first = WPN_LONG_SWORD, second = 8}, {first = WPN_BATTLEAXE, second = 8}, {first = WPN_WAR_AXE, second = 8}, {first = WPN_GREAT_MACE, second = 6}, {first = WPN_DIRE_FLAIL, second = 4}, {first = WPN_BARDICHE, second = 2}, {first = WPN_GLAIVE, second = 2}, {first = WPN_BROAD_AXE, second = 2}, {first = WPN_HALBERD, second = 2}, {first = WPN_PARTISAN, second = 1}}, plusses = {odds = 4, min = 1, max = 3, nrolls = 0}, brands = std::vector of length 0, capacity 0, good_chance = 0}, [MONS_ORC_SORCERER] = {types = std::vector of length 2, capacity 2 = {{first = WPN_DAGGER, second = 9}, {first = WPN_ATHAME, second = 1}}, plusses = {odds = 0, min = 0, max = 0, nrolls = 0}, brands = std::vector of length 0, capacity 0, good_chance = 0}, [MONS_ORC_WARLORD] = {types = std::vector of length 11, capacity 11 = {{first = WPN_GREAT_SWORD, second = 8}, {first = WPN_LONG_SWORD, second = 8}, {first = WPN_BATTLEAXE, second = 8}, {first = WPN_WAR_AXE, second = 8}, {first = WPN_GREAT_MACE, second = 6}, {first = WPN_DIRE_FLAIL, second = 4}, {first = WPN_BARDICHE, second = 2}, {first = WPN_GLAIVE, second = 2}, {first = WPN_BROAD_AXE, second = 2}, {first = WPN_HALBERD, second = 2}, {first = WPN_PARTISAN, second = 1}}, plusses = {odds = 4, min = 1, max = 3, nrolls = 0}, brands = std::vector of length 0, capacity 0, good_chance = 3}, [MONS_DEATH_KNIGHT] = {types = std::vector of length 6, capacity 6 = {{first = WPN_GREAT_MACE, second = 5}, {first = WPN_HALBERD, second = 6}, {first = WPN_GREAT_SWORD, second = 5}, {first = WPN_GLAIVE, second = 10}, {first = WPN_BROAD_AXE, second = 10}, {first = WPN_BATTLEAXE, second = 16}}, plusses = {odds = 2, min = 1, max = 4, nrolls = 0}, brands = std::vector of length 2, capacity 2 = {{first = SPWPN_DRAINING, second = 1}, {first = NUM_SPECIAL_WEAPONS, second = 1}}, good_chance = 0}, [MONS_DEEP_ELF_KNIGHT] = {types = std::vector of length 5, capacity 5 = {{first = WPN_LONG_SWORD, second = 22}, {first = WPN_SHORT_SWORD, second = 22}, {first = WPN_SCIMITAR, second = 17}, {first = WPN_SHORTBOW, second = 17}, {first = WPN_LONGBOW, second = 5}}, plusses = {odds = 0, min = 0, max = 0, nrolls = 0}, brands = std::vector of length 0, capacity 0, good_chance = 0}, [MONS_DEEP_ELF_PYROMANCER] = {types = std::vector of length 4, capacity 4 = {{first = WPN_LONG_SWORD, second = 2}, {first = WPN_SHORT_SWORD, second = 1}, {first = WPN_RAPIER, second = 1}, {first = WPN_DAGGER, second = 1}}, plusses = {odds = 0, min = 0, max = 0, nrolls = 0}, brands = std::vector of length 0, capacity 0, good_chance = 0}, [MONS_DEEP_ELF_HIGH_PRIEST] = {types = std::vector of length 5, capacity 5 = {{first = WPN_LONG_SWORD, second = 22}, {first = WPN_SHORT_SWORD, second = 22}, {first = WPN_SCIMITAR, second = 17}, {first = WPN_SHORTBOW, second = 17}, {first = WPN_LONGBOW, second = 5}}, plusses = {odds = 0, min = 0, max = 0, nrolls = 0}, brands = std::vector of length 0, capacity 0, good_chance = 0}, [MONS_DEEP_ELF_DEMONOLOGIST] = {types = std::vector of length 4, capacity 4 = {{first = WPN_SCIMITAR, second = 2}, {first = WPN_FALCHION, second = 1}, {first = WPN_RAPIER, second = 1}, {first = WPN_ATHAME, second = 1}}, plusses = {odds = 1, min = 0, max = 4, nrolls = 0}, brands = std::vector of length 3, capacity 3 = {{first = SPWPN_FLAMING, second = 1}, {first = SPWPN_FREEZING, second = 1}, {first = NUM_SPECIAL_WEAPONS, second = 3}}, good_chance = 0}, [MONS_DEEP_ELF_ANNIHILATOR] = {types = std::vector of length 4, capacity 4 = {{first = WPN_LONG_SWORD, second = 2}, {first = WPN_SHORT_SWORD, second = 1}, {first = WPN_RAPIER, second = 1}, {first = WPN_DAGGER, second = 1}}, plusses = {odds = 0, min = 0, max = 0, nrolls = 0}, brands = std::vector of length 0, capacity 0, good_chance = 0}, [MONS_DEEP_ELF_SORCERER] = {types = std::vector of length 4, capacity 4 = {{first = WPN_SCIMITAR, second = 2}, {first = WPN_FALCHION, second = 1}, {first = WPN_RAPIER, second = 1}, {first = WPN_ATHAME, second = 1}}, plusses = {odds = 1, min = 0, max = 4, nrolls = 0}, brands = std::vector of length 3, capacity 3 = {{first = SPWPN_FLAMING, second = 1}, {first = SPWPN_FREEZING, second = 1}, {first = NUM_SPECIAL_WEAPONS, second = 3}}, good_chance = 0}, [MONS_DEEP_ELF_DEATH_MAGE] = {types = std::vector of length 4, capacity 4 = {{first = WPN_SCIMITAR, second = 2}, {first = WPN_FALCHION, second = 1}, {first = WPN_RAPIER, second = 1}, {first = WPN_ATHAME, second = 1}}, plusses = {odds = 1, min = 0, max = 4, nrolls = 0}, brands = std::vector of length 3, capacity 3 = {{first = SPWPN_FLAMING, second = 1}, {first = SPWPN_FREEZING, second = 1}, {first = NUM_SPECIAL_WEAPONS, second = 3}}, good_chance = 0}, [MONS_DEEP_ELF_BLADEMASTER] = {types = std::vector of length 3, capacity 3 = {{first = WPN_RAPIER, second = 20}, {first = WPN_SHORT_SWORD, second = 5}, {first = WPN_QUICK_BLADE, second = 1}}, plusses = {odds = 0, min = 0, max = 0, nrolls = 0}, brands = std::vector of length 0, capacity 0, good_chance = 0}, [MONS_DEEP_ELF_MASTER_ARCHER] = {types = std::vector of length 1, capacity 1 = {{first = WPN_LONGBOW, second = 1}}, plusses = {odds = 0, min = 0, max = 0, nrolls = 0}, brands = std::vector of length 0, capacity 0, good_chance = 0}, [MONS_SPRIGGAN] = {types = std::vector of length 3, capacity 3 = {{first = WPN_DAGGER, second = 1}, {first = WPN_SHORT_SWORD, second = 1}, {first = WPN_RAPIER, second = 1}}, plusses = {odds = 0, min = 0, max = 0, nrolls = 0}, brands = std::vector of length 0, capacity 0, good_chance = 0}, [MONS_SPRIGGAN_DRUID] = {types = std::vector of length 1, capacity 1 = {{first = WPN_QUARTERSTAFF, second = 1}}, plusses = {odds = 0, min = 0, max = 0, nrolls = 0}, brands = std::vector of length 2, capacity 2 = {{first = SPWPN_SPECTRAL, second = 1}, {first = NUM_SPECIAL_WEAPONS, second = 5}}, good_chance = 0}, [MONS_SPRIGGAN_RIDER] = {types = std::vector of length 1, capacity 1 = {{first = WPN_SPEAR, second = 1}}, plusses = {odds = 0, min = 0, max = 0, nrolls = 0}, brands = std::vector of length 0, capacity 0, good_chance = 0}, [MONS_SPRIGGAN_BERSERKER] = {types = std::vector of length 6, capacity 6 = {{first = WPN_QUARTERSTAFF, second = 10}, {first = WPN_HAND_AXE, second = 9}, {first = WPN_WAR_AXE, second = 12}, {first = WPN_BROAD_AXE, second = 5}, {first = WPN_FLAIL, second = 5}, {first = WPN_RAPIER, second = 10}}, plusses = {odds = 0, min = 0, max = 0, nrolls = 0}, brands = std::vector of length 2, capacity 2 = {{first = SPWPN_ANTIMAGIC, second = 1}, {first = NUM_SPECIAL_WEAPONS, second = 3}}, good_chance = 0}, [MONS_SPRIGGAN_DEFENDER] = {types = std::vector of length 5, capacity 5 = {{first = WPN_LAJATANG, second = 1}, {first = WPN_QUICK_BLADE, second = 1}, {first = WPN_RAPIER, second = 1}, {first = WPN_DEMON_WHIP, second = 1}, {first = WPN_FLAIL, second = 1}}, plusses = {odds = 0, min = 0, max = 0, nrolls = 0}, brands = std::vector of length 0, capacity 0, good_chance = 1}, [MONS_TENGU] = {types = std::vector of length 15, capacity 15 = {{first = WPN_LONG_SWORD, second = 10}, {first = WPN_SHORT_SWORD, second = 10}, {first = WPN_SCIMITAR, second = 10}, {first = WPN_BATTLEAXE, second = 10}, {first = WPN_HAND_AXE, second = 10}, {first = WPN_HALBERD, second = 10}, {first = WPN_GLAIVE, second = 10}, {first = WPN_MACE, second = 10}, {first = WPN_DIRE_FLAIL, second = 10}, {first = WPN_TRIDENT, second = 10}, {first = WPN_WAR_AXE, second = 9}, {first = WPN_FLAIL, second = 9}, {first = WPN_PARTISAN, second = 2}, {first = WPN_BROAD_AXE, second = 1}, {first = WPN_MORNINGSTAR, second = 1}}, plusses = {odds = 0, min = 0, max = 0, nrolls = 0}, brands = std::vector of length 0, capacity 0, good_chance = 0}, [MONS_NAGA] = {types = std::vector of length 15, capacity 15 = {{first = WPN_LONG_SWORD, second = 10}, {first = WPN_SHORT_SWORD, second = 10}, {first = WPN_SCIMITAR, second = 10}, {first = WPN_BATTLEAXE, second = 10}, {first = WPN_HAND_AXE, second = 10}, {first = WPN_HALBERD, second = 10}, {first = WPN_GLAIVE, second = 10}, {first = WPN_MACE, second = 10}, {first = WPN_DIRE_FLAIL, second = 10}, {first = WPN_TRIDENT, second = 10}, {first = WPN_WAR_AXE, second = 9}, {first = WPN_FLAIL, second = 9}, {first = WPN_PARTISAN, second = 2}, {first = WPN_BROAD_AXE, second = 1}, {first = WPN_MORNINGSTAR, second = 1}}, plusses = {odds = 0, min = 0, max = 0, nrolls = 0}, brands = std::vector of length 0, capacity 0, good_chance = 0}, [MONS_NAGA_WARRIOR] = {types = std::vector of length 15, capacity 15 = {{first = WPN_LONG_SWORD, second = 10}, {first = WPN_SHORT_SWORD, second = 10}, {first = WPN_SCIMITAR, second = 10}, {first = WPN_BATTLEAXE, second = 10}, {first = WPN_HAND_AXE, second = 10}, {first = WPN_HALBERD, second = 10}, {first = WPN_GLAIVE, second = 10}, {first = WPN_MACE, second = 10}, {first = WPN_DIRE_FLAIL, second = 10}, {first = WPN_TRIDENT, second = 10}, {first = WPN_WAR_AXE, second = 9}, {first = WPN_FLAIL, second = 9}, {first = WPN_PARTISAN, second = 2}, {first = WPN_BROAD_AXE, second = 1}, {first = WPN_MORNINGSTAR, second = 1}}, plusses = {odds = 0, min = 0, max = 0, nrolls = 0}, brands = std::vector of length 0, capacity 0, good_chance = 0}, [MONS_NAGA_MAGE] = {types = std::vector of length 5, capacity 5 = {{first = WPN_SPEAR, second = 8}, {first = WPN_HALBERD, second = 4}, {first = WPN_CLUB, second = 6}, {first = WPN_WHIP, second = 6}, {first = WPN_FLAIL, second = 6}}, plusses = {odds = 0, min = 0, max = 0, nrolls = 0}, brands = std::vector of length 0, capacity 0, good_chance = 0}, [MONS_NAGARAJA] = {types = std::vector of length 5, capacity 5 = {{first = WPN_SPEAR, second = 8}, {first = WPN_HALBERD, second = 4}, {first = WPN_CLUB, second = 6}, {first = WPN_WHIP, second = 6}, {first = WPN_FLAIL, second = 6}}, plusses = {odds = 0, min = 0, max = 0, nrolls = 0}, brands = std::vector of length 0, capacity 0, good_chance = 0}, [MONS_MERFOLK] = {types = std::vector of length 2, capacity 2 = {{first = WPN_TRIDENT, second = 1}, {first = WPN_LEIOMANO, second = 1}}, plusses = {odds = 0, min = 0, max = 0, nrolls = 0}, brands = std::vector of length 0, capacity 0, good_chance = 0}, [MONS_MERFOLK_SIREN] = {types = std::vector of length 2, capacity 2 = {{first = WPN_TRIDENT, second = 1}, {first = WPN_LEIOMANO, second = 2}}, plusses = {odds = 0, min = 0, max = 0, nrolls = 0}, brands = std::vector of length 0, capacity 0, good_chance = 0}, [MONS_MERFOLK_IMPALER] = {types = std::vector of length 2, capacity 2 = {{first = WPN_TRIDENT, second = 20}, {first = WPN_DEMON_TRIDENT, second = 3}}, plusses = {odds = 0, min = 0, max = 0, nrolls = 0}, brands = std::vector of length 0, capacity 0, good_chance = 0}, [MONS_MERFOLK_AQUAMANCER] = {types = std::vector of length 1, capacity 1 = {{first = WPN_LEIOMANO, second = 1}}, plusses = {odds = 0, min = 0, max = 0, nrolls = 0}, brands = std::vector of length 0, capacity 0, good_chance = 2}, [MONS_MERFOLK_JAVELINEER] = {types = std::vector of length 1, capacity 1 = {{first = WPN_SPEAR, second = 1}}, plusses = {odds = 0, min = 0, max = 0, nrolls = 0}, brands = std::vector of length 0, capacity 0, good_chance = 0}, [MONS_CENTAUR] = {types = std::vector of length 2, capacity 2 = {{first = WPN_SHORTBOW, second = 1}, {first = WPN_ORCBOW, second = 1}}, plusses = {odds = 0, min = 0, max = 0, nrolls = 0}, brands = std::vector of length 0, capacity 0, good_chance = 0}, [MONS_CENTAUR_WARRIOR] = {types = std::vector of length 2, capacity 2 = {{first = WPN_SHORTBOW, second = 1}, {first = WPN_ORCBOW, second = 1}}, plusses = {odds = 0, min = 0, max = 0, nrolls = 0}, brands = std::vector of length 0, capacity 0, good_chance = 0}, [MONS_YAKTAUR] = {types = std::vector of length 1, capacity 1 = {{first = WPN_ARBALEST, second = 1}}, plusses = {odds = 0, min = 0, max = 0, nrolls = 0}, brands = std::vector of length 0, capacity 0, good_chance = 0}, [MONS_YAKTAUR_CAPTAIN] = {types = std::vector of length 2, capacity 2 = {{first = WPN_ARBALEST, second = 19}, {first = WPN_HAND_CANNON, second = 1}}, plusses = {odds = 0, min = 0, max = 0, nrolls = 0}, brands = std::vector of length 0, capacity 0, good_chance = 0}, [MONS_OGRE] = {types = std::vector of length 2, capacity 2 = {{first = WPN_GIANT_CLUB, second = 2}, {first = WPN_GIANT_SPIKED_CLUB, second = 1}}, plusses = {odds = 0, min = 0, max = 0, nrolls = 0}, brands = std::vector of length 0, capacity 0, good_chance = 0}, [MONS_TWO_HEADED_OGRE] = {types = std::vector of length 4, capacity 4 = {{first = WPN_GIANT_CLUB, second = 60}, {first = WPN_GIANT_SPIKED_CLUB, second = 30}, {first = WPN_DIRE_FLAIL, second = 9}, {first = WPN_GREAT_MACE, second = 1}}, plusses = {odds = 0, min = 0, max = 0, nrolls = 0}, brands = std::vector of length 0, capacity 0, good_chance = 0}, [MONS_OGRE_MAGE] = {types = std::vector of length 5, capacity 5 = {{first = WPN_SPEAR, second = 8}, {first = WPN_HALBERD, second = 4}, {first = WPN_CLUB, second = 6}, {first = WPN_WHIP, second = 6}, {first = WPN_FLAIL, second = 6}}, plusses = {odds = 0, min = 0, max = 0, nrolls = 0}, brands = std::vector of length 0, capacity 0, good_chance = 0}, [MONS_ETTIN] = {types = std::vector of length 2, capacity 2 = {{first = WPN_DIRE_FLAIL, second = 9}, {first = WPN_GREAT_MACE, second = 1}}, plusses = {odds = 0, min = 0, max = 0, nrolls = 0}, brands = std::vector of length 0, capacity 0, good_chance = 0}, [MONS_FIRE_GIANT] = {types = std::vector of length 1, capacity 1 = {{first = WPN_GREAT_SWORD, second = 1}}, plusses = {odds = 0, min = 0, max = 0, nrolls = 0}, brands = std::vector of length 1, capacity 1 = {{first = SPWPN_FLAMING, second = 1}}, good_chance = 0}, [MONS_FROST_GIANT] = {types = std::vector of length 1, capacity 1 = {{first = WPN_BATTLEAXE, second = 1}}, plusses = {odds = 0, min = 0, max = 0, nrolls = 0}, brands = std::vector of length 1, capacity 1 = {{first = SPWPN_FREEZING, second = 1}}, good_chance = 0}, [MONS_HELL_KNIGHT] = {types = std::vector of length 13, capacity 13 = {{first = WPN_DEMON_WHIP, second = 1}, {first = WPN_DEMON_BLADE, second = 1}, {first = WPN_DEMON_TRIDENT, second = 1}, {first = WPN_HALBERD, second = 1}, {first = WPN_GLAIVE, second = 1}, {first = WPN_WAR_AXE, second = 1}, {first = WPN_GREAT_MACE, second = 1}, {first = WPN_BATTLEAXE, second = 1}, {first = WPN_LONG_SWORD, second = 1}, {first = WPN_SCIMITAR, second = 1}, {first = WPN_GREAT_SWORD, second = 1}, {first = WPN_PARTISAN, second = 1}, {first = WPN_BROAD_AXE, second = 1}}, plusses = {odds = 1, min = 0, max = 5, nrolls = 0}, brands = std::vector of length 6, capacity 6 = {{first = SPWPN_FLAMING, second = 13}, {first = SPWPN_DRAINING, second = 4}, {first = SPWPN_HEAVY, second = 4}, {first = SPWPN_DISTORTION, second = 2}, {first = SPWPN_PAIN, second = 2}, {first = NUM_SPECIAL_WEAPONS, second = 20}}, good_chance = 0}, [MONS_NECROMANCER] = {types = std::vector of length 3, capacity 3 = {{first = WPN_DAGGER, second = 4}, {first = WPN_WHIP, second = 2}, {first = WPN_ATHAME, second = 1}}, plusses = {odds = 0, min = 0, max = 0, nrolls = 0}, brands = std::vector of length 0, capacity 0, good_chance = 0}, [MONS_OCCULTIST] = {types = std::vector of length 3, capacity 3 = {{first = WPN_DAGGER, second = 4}, {first = WPN_WHIP, second = 2}, {first = WPN_ATHAME, second = 1}}, plusses = {odds = 0, min = 0, max = 0, nrolls = 0}, brands = std::vector of length 0, capacity 0, good_chance = 0}, [MONS_VAULT_GUARD] = {types = std::vector of length 11, capacity 11 = {{first = WPN_GREAT_SWORD, second = 8}, {first = WPN_LONG_SWORD, second = 8}, {first = WPN_BATTLEAXE, second = 8}, {first = WPN_WAR_AXE, second = 8}, {first = WPN_GREAT_MACE, second = 6}, {first = WPN_DIRE_FLAIL, second = 4}, {first = WPN_BARDICHE, second = 2}, {first = WPN_GLAIVE, second = 2}, {first = WPN_BROAD_AXE, second = 2}, {first = WPN_HALBERD, second = 2}, {first = WPN_PARTISAN, second = 1}}, plusses = {odds = 4, min = 1, max = 3, nrolls = 0}, brands = std::vector of length 0, capacity 0, good_chance = 0}, [MONS_KILLER_KLOWN] = {types = std::vector of length 1, capacity 1 = {{first = WPN_CLUB, second = 10}}, plusses = {odds = 1, min = 8, max = 12, nrolls = 0}, brands = std::vector of length 13, capacity 13 = {{first = SPWPN_NORMAL, second = 20}, {first = SPWPN_FLAMING, second = 20}, {first = SPWPN_FREEZING, second = 10}, {first = SPWPN_HEAVY, second = 10}, {first = SPWPN_ELECTROCUTION, second = 10}, {first = SPWPN_VENOM, second = 10}, {first = SPWPN_VAMPIRISM, second = 5}, {first = SPWPN_ANTIMAGIC, second = 5}, {first = SPWPN_SPECTRAL, second = 5}, {first = SPWPN_PAIN, second = 4}, {first = SPWPN_HOLY_WRATH, second = 3}, {first = SPWPN_DISTORTION, second = 2}, {first = SPWPN_CHAOS, second = 1}}, good_chance = 0}, [MONS_DRACONIAN] = {types = std::vector of length 11, capacity 11 = {{first = WPN_CLUB, second = 100}, {first = WPN_DAGGER, second = 80}, {first = WPN_FLAIL, second = 60}, {first = WPN_SHORT_SWORD, second = 60}, {first = WPN_HAND_AXE, second = 80}, {first = WPN_WHIP, second = 45}, {first = WPN_MACE, second = 40}, {first = WPN_TRIDENT, second = 20}, {first = WPN_FALCHION, second = 20}, {first = WPN_WAR_AXE, second = 14}, {first = WPN_MORNINGSTAR, second = 6}}, plusses = {odds = 0, min = 0, max = 0, nrolls = 0}, brands = std::vector of length 0, capacity 0, good_chance = 0}, [MONS_BLACK_DRACONIAN] = {types = std::vector of length 15, capacity 15 = {{first = WPN_LONG_SWORD, second = 10}, {first = WPN_SHORT_SWORD, second = 10}, {first = WPN_SCIMITAR, second = 10}, {first = WPN_BATTLEAXE, second = 10}, {first = WPN_HAND_AXE, second = 10}, {first = WPN_HALBERD, second = 10}, {first = WPN_GLAIVE, second = 10}, {first = WPN_MACE, second = 10}, {first = WPN_DIRE_FLAIL, second = 10}, {first = WPN_TRIDENT, second = 10}, {first = WPN_WAR_AXE, second = 9}, {first = WPN_FLAIL, second = 9}, {first = WPN_PARTISAN, second = 2}, {first = WPN_BROAD_AXE, second = 1}, {first = WPN_MORNINGSTAR, second = 1}}, plusses = {odds = 0, min = 0, max = 0, nrolls = 0}, brands = std::vector of length 0, capacity 0, good_chance = 0}, [MONS_YELLOW_DRACONIAN] = {types = std::vector of length 15, capacity 15 = {{first = WPN_LONG_SWORD, second = 10}, {first = WPN_SHORT_SWORD, second = 10}, {first = WPN_SCIMITAR, second = 10}, {first = WPN_BATTLEAXE, second = 10}, {first = WPN_HAND_AXE, second = 10}, {first = WPN_HALBERD, second = 10}, {first = WPN_GLAIVE, second = 10}, {first = WPN_MACE, second = 10}, {first = WPN_DIRE_FLAIL, second = 10}, {first = WPN_TRIDENT, second = 10}, {first = WPN_WAR_AXE, second = 9}, {first = WPN_FLAIL, second = 9}, {first = WPN_PARTISAN, second = 2}, {first = WPN_BROAD_AXE, second = 1}, {first = WPN_MORNINGSTAR, second = 1}}, plusses = {odds = 0, min = 0, max = 0, nrolls = 0}, brands = std::vector of length 0, capacity 0, good_chance = 0}, [MONS_GREEN_DRACONIAN] = {types = std::vector of length 15, capacity 15 = {{first = WPN_LONG_SWORD, second = 10}, {first = WPN_SHORT_SWORD, second = 10}, {first = WPN_SCIMITAR, second = 10}, {first = WPN_BATTLEAXE, second = 10}, {first = WPN_HAND_AXE, second = 10}, {first = WPN_HALBERD, second = 10}, {first = WPN_GLAIVE, second = 10}, {first = WPN_MACE, second = 10}, {first = WPN_DIRE_FLAIL, second = 10}, {first = WPN_TRIDENT, second = 10}, {first = WPN_WAR_AXE, second = 9}, {first = WPN_FLAIL, second = 9}, {first = WPN_PARTISAN, second = 2}, {first = WPN_BROAD_AXE, second = 1}, {first = WPN_MORNINGSTAR, second = 1}}, plusses = {odds = 0, min = 0, max = 0, nrolls = 0}, brands = std::vector of length 0, capacity 0, good_chance = 0}, [MONS_PURPLE_DRACONIAN] = {types = std::vector of length 15, capacity 15 = {{first = WPN_LONG_SWORD, second = 10}, {first = WPN_SHORT_SWORD, second = 10}, {first = WPN_SCIMITAR, second = 10}, {first = WPN_BATTLEAXE, second = 10}, {first = WPN_HAND_AXE, second = 10}, {first = WPN_HALBERD, second = 10}, {first = WPN_GLAIVE, second = 10}, {first = WPN_MACE, second = 10}, {first = WPN_DIRE_FLAIL, second = 10}, {first = WPN_TRIDENT, second = 10}, {first = WPN_WAR_AXE, second = 9}, {first = WPN_FLAIL, second = 9}, {first = WPN_PARTISAN, second = 2}, {first = WPN_BROAD_AXE, second = 1}, {first = WPN_MORNINGSTAR, second = 1}}, plusses = {odds = 0, min = 0, max = 0, nrolls = 0}, brands = std::vector of length 0, capacity 0, good_chance = 0}, [MONS_RED_DRACONIAN] = {types = std::vector of length 15, capacity 15 = {{first = WPN_LONG_SWORD, second = 10}, {first = WPN_SHORT_SWORD, second = 10}, {first = WPN_SCIMITAR, second = 10}, {first = WPN_BATTLEAXE, second = 10}, {first = WPN_HAND_AXE, second = 10}, {first = WPN_HALBERD, second = 10}, {first = WPN_GLAIVE, second = 10}, {first = WPN_MACE, second = 10}, {first = WPN_DIRE_FLAIL, second = 10}, {first = WPN_TRIDENT, second = 10}, {first = WPN_WAR_AXE, second = 9}, {first = WPN_FLAIL, second = 9}, {first = WPN_PARTISAN, second = 2}, {first = WPN_BROAD_AXE, second = 1}, {first = WPN_MORNINGSTAR, second = 1}}, plusses = {odds = 0, min = 0, max = 0, nrolls = 0}, brands = std::vector of length 0, capacity 0, good_chance = 0}, [MONS_WHITE_DRACONIAN] = {types = std::vector of length 15, capacity 15 = {{first = WPN_LONG_SWORD, second = 10}, {first = WPN_SHORT_SWORD, second = 10}, {first = WPN_SCIMITAR, second = 10}, {first = WPN_BATTLEAXE, second = 10}, {first = WPN_HAND_AXE, second = 10}, {first = WPN_HALBERD, second = 10}, {first = WPN_GLAIVE, second = 10}, {first = WPN_MACE, second = 10}, {first = WPN_DIRE_FLAIL, second = 10}, {first = WPN_TRIDENT, second = 10}, {first = WPN_WAR_AXE, second = 9}, {first = WPN_FLAIL, second = 9}, {first = WPN_PARTISAN, second = 2}, {first = WPN_BROAD_AXE, second = 1}, {first = WPN_MORNINGSTAR, second = 1}}, plusses = {odds = 0, min = 0, max = 0, nrolls = 0}, brands = std::vector of length 0, capacity 0, good_chance = 0}, [MONS_GREY_DRACONIAN] = {types = std::vector of length 15, capacity 15 = {{first = WPN_LONG_SWORD, second = 10}, {first = WPN_SHORT_SWORD, second = 10}, {first = WPN_SCIMITAR, second = 10}, {first = WPN_BATTLEAXE, second = 10}, {first = WPN_HAND_AXE, second = 10}, {first = WPN_HALBERD, second = 10}, {first = WPN_GLAIVE, second = 10}, {first = WPN_MACE, second = 10}, {first = WPN_DIRE_FLAIL, second = 10}, {first = WPN_TRIDENT, second = 10}, {first = WPN_WAR_AXE, second = 9}, {first = WPN_FLAIL, second = 9}, {first = WPN_PARTISAN, second = 2}, {first = WPN_BROAD_AXE, second = 1}, {first = WPN_MORNINGSTAR, second = 1}}, plusses = {odds = 0, min = 0, max = 0, nrolls = 0}, brands = std::vector of length 0, capacity 0, good_chance = 0}, [MONS_PALE_DRACONIAN] = {types = std::vector of length 15, capacity 15 = {{first = WPN_LONG_SWORD, second = 10}, {first = WPN_SHORT_SWORD, second = 10}, {first = WPN_SCIMITAR, second = 10}, {first = WPN_BATTLEAXE, second = 10}, {first = WPN_HAND_AXE, second = 10}, {first = WPN_HALBERD, second = 10}, {first = WPN_GLAIVE, second = 10}, {first = WPN_MACE, second = 10}, {first = WPN_DIRE_FLAIL, second = 10}, {first = WPN_TRIDENT, second = 10}, {first = WPN_WAR_AXE, second = 9}, {first = WPN_FLAIL, second = 9}, {first = WPN_PARTISAN, second = 2}, {first = WPN_BROAD_AXE, second = 1}, {first = WPN_MORNINGSTAR, second = 1}}, plusses = {odds = 0, min = 0, max = 0, nrolls = 0}, brands = std::vector of length 0, capacity 0, good_chance = 0}, [MONS_DRACONIAN_STORMCALLER] = {types = std::vector of length 5, capacity 5 = {{first = WPN_LONG_SWORD, second = 2}, {first = WPN_SHORT_SWORD, second = 1}, {first = WPN_RAPIER, second = 1}, {first = WPN_DAGGER, second = 1}, {first = WPN_WHIP, second = 1}}, plusses = {odds = 0, min = 0, max = 0, nrolls = 0}, brands = std::vector of length 0, capacity 0, good_chance = 0}, [MONS_DRACONIAN_SHIFTER] = {types = std::vector of length 5, capacity 5 = {{first = WPN_LONG_SWORD, second = 2}, {first = WPN_SHORT_SWORD, second = 1}, {first = WPN_RAPIER, second = 1}, {first = WPN_DAGGER, second = 1}, {first = WPN_WHIP, second = 1}}, plusses = {odds = 0, min = 0, max = 0, nrolls = 0}, brands = std::vector of length 0, capacity 0, good_chance = 0}, [MONS_DRACONIAN_ANNIHILATOR] = {types = std::vector of length 5, capacity 5 = {{first = WPN_LONG_SWORD, second = 2}, {first = WPN_SHORT_SWORD, second = 1}, {first = WPN_RAPIER, second = 1}, {first = WPN_DAGGER, second = 1}, {first = WPN_WHIP, second = 1}}, plusses = {odds = 0, min = 0, max = 0, nrolls = 0}, brands = std::vector of length 0, capacity 0, good_chance = 0}, [MONS_DRACONIAN_KNIGHT] = {types = std::vector of length 11, capacity 11 = {{first = WPN_GREAT_SWORD, second = 8}, {first = WPN_LONG_SWORD, second = 8}, {first = WPN_BATTLEAXE, second = 8}, {first = WPN_WAR_AXE, second = 8}, {first = WPN_GREAT_MACE, second = 6}, {first = WPN_DIRE_FLAIL, second = 4}, {first = WPN_BARDICHE, second = 2}, {first = WPN_GLAIVE, second = 2}, {first = WPN_BROAD_AXE, second = 2}, {first = WPN_HALBERD, second = 2}, {first = WPN_PARTISAN, second = 1}}, plusses = {odds = 4, min = 1, max = 3, nrolls = 0}, brands = std::vector of length 0, capacity 0, good_chance = 3}, [MONS_DRACONIAN_SCORCHER] = {types = std::vector of length 5, capacity 5 = {{first = WPN_LONG_SWORD, second = 2}, {first = WPN_SHORT_SWORD, second = 1}, {first = WPN_RAPIER, second = 1}, {first = WPN_DAGGER, second = 1}, {first = WPN_WHIP, second = 1}}, plusses = {odds = 0, min = 0, max = 0, nrolls = 0}, brands = std::vector of length 0, capacity 0, good_chance = 0}, [MONS_RED_DEVIL] = {types = std::vector of length 2, capacity 2 = {{first = WPN_TRIDENT, second = 4}, {first = WPN_DEMON_TRIDENT, second = 1}}, plusses = {odds = 0, min = 0, max = 0, nrolls = 0}, brands = std::vector of length 0, capacity 0, good_chance = 0}, [MONS_REAPER] = {types = std::vector of length 1, capacity 1 = {{first = WPN_HALBERD, second = 1}}, plusses = {odds = 0, min = 0, max = 0, nrolls = 0}, brands = std::vector of length 0, capacity 0, good_chance = 1}, [MONS_BALRUG] = {types = std::vector of length 1, capacity 1 = {{first = WPN_DEMON_WHIP, second = 1}}, plusses = {odds = 0, min = 0, max = 0, nrolls = 0}, brands = std::vector of length 0, capacity 0, good_chance = 0}, [MONS_EFREET] = {types = std::vector of length 1, capacity 1 = {{first = WPN_SCIMITAR, second = 1}}, plusses = {odds = 1, min = 0, max = 4, nrolls = 0}, brands = std::vector of length 1, capacity 1 = {{first = SPWPN_FLAMING, second = 1}}, good_chance = 0}, [MONS_RAKSHASA] = {types = std::vector of length 3, capacity 3 = {{first = WPN_WHIP, second = 1}, {first = WPN_TRIDENT, second = 1}, {first = WPN_LONG_SWORD, second = 1}}, plusses = {odds = 0, min = 0, max = 0, nrolls = 0}, brands = std::vector of length 0, capacity 0, good_chance = 0}, [MONS_VAMPIRE_KNIGHT] = {types = std::vector of length 11, capacity 11 = {{first = WPN_GREAT_SWORD, second = 8}, {first = WPN_LONG_SWORD, second = 8}, {first = WPN_BATTLEAXE, second = 8}, {first = WPN_WAR_AXE, second = 8}, {first = WPN_GREAT_MACE, second = 6}, {first = WPN_DIRE_FLAIL, second = 4}, {first = WPN_BARDICHE, second = 2}, {first = WPN_GLAIVE, second = 2}, {first = WPN_BROAD_AXE, second = 2}, {first = WPN_HALBERD, second = 2}, {first = WPN_PARTISAN, second = 1}}, plusses = {odds = 4, min = 1, max = 3, nrolls = 0}, brands = std::vector of length 0, capacity 0, good_chance = 0}, [MONS_WIGHT] = {types = std::vector of length 16, capacity 16 = {{first = WPN_MORNINGSTAR, second = 4}, {first = WPN_DIRE_FLAIL, second = 4}, {first = WPN_WAR_AXE, second = 4}, {first = WPN_TRIDENT, second = 4}, {first = WPN_MACE, second = 7}, {first = WPN_FLAIL, second = 7}, {first = WPN_FALCHION, second = 7}, {first = WPN_DAGGER, second = 7}, {first = WPN_SHORT_SWORD, second = 7}, {first = WPN_LONG_SWORD, second = 7}, {first = WPN_SCIMITAR, second = 7}, {first = WPN_GREAT_SWORD, second = 7}, {first = WPN_HAND_AXE, second = 7}, {first = WPN_BATTLEAXE, second = 7}, {first = WPN_SPEAR, second = 7}, {first = WPN_HALBERD, second = 7}}, plusses = {odds = 0, min = 0, max = 0, nrolls = 0}, brands = std::vector of length 0, capacity 0, good_chance = 0}, [MONS_SKELETAL_WARRIOR] = {types = std::vector of length 15, capacity 15 = {{first = WPN_LONG_SWORD, second = 10}, {first = WPN_SHORT_SWORD, second = 10}, {first = WPN_SCIMITAR, second = 10}, {first = WPN_BATTLEAXE, second = 10}, {first = WPN_HAND_AXE, second = 10}, {first = WPN_HALBERD, second = 10}, {first = WPN_GLAIVE, second = 10}, {first = WPN_MACE, second = 10}, {first = WPN_DIRE_FLAIL, second = 10}, {first = WPN_TRIDENT, second = 10}, {first = WPN_WAR_AXE, second = 9}, {first = WPN_FLAIL, second = 9}, {first = WPN_PARTISAN, second = 2}, {first = WPN_BROAD_AXE, second = 1}, {first = WPN_MORNINGSTAR, second = 1}}, plusses = {odds = 0, min = 0, max = 0, nrolls = 0}, brands = std::vector of length 0, capacity 0, good_chance = 0}, [MONS_PROFANE_SERVITOR] = {types = std::vector of length 2, capacity 2 = {{first = WPN_DEMON_WHIP, second = 1}, {first = WPN_WHIP, second = 3}}, plusses = {odds = 1, min = 1, max = 3, nrolls = 0}, brands = std::vector of length 0, capacity 0, good_chance = 0}, [MONS_ANGEL] = {types = std::vector of length 2, capacity 2 = {{first = WPN_WHIP, second = 3}, {first = WPN_SACRED_SCOURGE, second = 1}}, plusses = {odds = 1, min = 1, max = 3, nrolls = 0}, brands = std::vector of length 1, capacity 1 = {{first = SPWPN_HOLY_WRATH, second = 1}}, good_chance = 0}, [MONS_DAEVA] = {types = std::vector of length 3, capacity 3 = {{first = WPN_EUDEMON_BLADE, second = 1}, {first = WPN_SCIMITAR, second = 2}, {first = WPN_LONG_SWORD, second = 1}}, plusses = {odds = 1, min = 2, max = 5, nrolls = 0}, brands = std::vector of length 1, capacity 1 = {{first = SPWPN_HOLY_WRATH, second = 1}}, good_chance = 0}, [MONS_CHERUB] = {types = std::vector of length 4, capacity 4 = {{first = WPN_FLAIL, second = 1}, {first = WPN_LONG_SWORD, second = 1}, {first = WPN_SCIMITAR, second = 1}, {first = WPN_FALCHION, second = 1}}, plusses = {odds = 1, min = 0, max = 4, nrolls = 0}, brands = std::vector of length 1, capacity 1 = {{first = SPWPN_FLAMING, second = 1}}, good_chance = 0}, [MONS_SERAPH] = {types = std::vector of length 1, capacity 1 = {{first = WPN_GREAT_SWORD, second = 1}}, plusses = {odds = 1, min = 3, max = 8, nrolls = 0}, brands = std::vector of length 1, capacity 1 = {{first = SPWPN_FLAMING, second = 1}}, good_chance = 0}, [MONS_ENCHANTRESS] = {types = std::vector of length 5, capacity 5 = {{first = WPN_LAJATANG, second = 1}, {first = WPN_QUICK_BLADE, second = 1}, {first = WPN_RAPIER, second = 1}, {first = WPN_DEMON_WHIP, second = 1}, {first = WPN_FLAIL, second = 1}}, plusses = {odds = 0, min = 0, max = 0, nrolls = 0}, brands = std::vector of length 0, capacity 0, good_chance = 1}, [MONS_IJYB] = {types = std::vector of length 2, capacity 2 = {{first = WPN_DAGGER, second = 1}, {first = WPN_CLUB, second = 1}}, plusses = {odds = 0, min = 0, max = 0, nrolls = 0}, brands = std::vector of length 0, capacity 0, good_chance = 0}, [MONS_JESSICA] = {types = std::vector of length 2, capacity 2 = {{first = WPN_DAGGER, second = 1}, {first = WPN_CLUB, second = 1}}, plusses = {odds = 0, min = 0, max = 0, nrolls = 0}, brands = std::vector of length 0, capacity 0, good_chance = 0}, [MONS_SIGMUND] = {types = std::vector of length 1, capacity 1 = {{first = WPN_HALBERD, second = 1}}, plusses = {odds = 0, min = 0, max = 0, nrolls = 0}, brands = std::vector of length 0, capacity 0, good_chance = 0}, [MONS_TERENCE] = {types = std::vector of length 7, capacity 7 = {{first = WPN_FLAIL, second = 30}, {first = WPN_HAND_AXE, second = 20}, {first = WPN_SHORT_SWORD, second = 20}, {first = WPN_MACE, second = 20}, {first = WPN_TRIDENT, second = 10}, {first = WPN_FALCHION, second = 10}, {first = WPN_MORNINGSTAR, second = 3}}, plusses = {odds = 0, min = 0, max = 0, nrolls = 0}, brands = std::vector of length 0, capacity 0, good_chance = 0}, [MONS_BLORKULA_THE_ORCULA] = {types = std::vector of length 15, capacity 15 = {{first = WPN_LONG_SWORD, second = 10}, {first = WPN_SHORT_SWORD, second = 10}, {first = WPN_SCIMITAR, second = 10}, {first = WPN_BATTLEAXE, second = 10}, {first = WPN_HAND_AXE, second = 10}, {first = WPN_HALBERD, second = 10}, {first = WPN_GLAIVE, second = 10}, {first = WPN_MACE, second = 10}, {first = WPN_DIRE_FLAIL, second = 10}, {first = WPN_TRIDENT, second = 10}, {first = WPN_WAR_AXE, second = 9}, {first = WPN_FLAIL, second = 9}, {first = WPN_PARTISAN, second = 2}, {first = WPN_BROAD_AXE, second = 1}, {first = WPN_MORNINGSTAR, second = 1}}, plusses = {odds = 0, min = 0, max = 0, nrolls = 0}, brands = std::vector of length 0, capacity 0, good_chance = 0}, [MONS_EDMUND] = {types = std::vector of length 2, capacity 2 = {{first = WPN_DIRE_FLAIL, second = 1}, {first = WPN_FLAIL, second = 2}}, plusses = {odds = 0, min = 0, max = 0, nrolls = 0}, brands = std::vector of length 0, capacity 0, good_chance = 1}, [MONS_EROLCHA] = {types = std::vector of length 2, capacity 2 = {{first = WPN_GIANT_CLUB, second = 2}, {first = WPN_GIANT_SPIKED_CLUB, second = 1}}, plusses = {odds = 0, min = 0, max = 0, nrolls = 0}, brands = std::vector of length 0, capacity 0, good_chance = 0}, [MONS_DONALD] = {types = std::vector of length 7, capacity 7 = {{first = WPN_SCIMITAR, second = 12}, {first = WPN_LONG_SWORD, second = 10}, {first = WPN_BROAD_AXE, second = 9}, {first = WPN_PARTISAN, second = 9}, {first = WPN_EVENINGSTAR, second = 7}, {first = WPN_DOUBLE_SWORD, second = 7}, {first = WPN_WAR_AXE, second = 3}}, plusses = {odds = 0, min = 0, max = 0, nrolls = 0}, brands = std::vector of length 0, capacity 0, good_chance = 0}, [MONS_URUG] = {types = std::vector of length 12, capacity 12 = {{first = WPN_HALBERD, second = 5}, {first = WPN_GLAIVE, second = 5}, {first = WPN_WAR_AXE, second = 6}, {first = WPN_GREAT_MACE, second = 6}, {first = WPN_BATTLEAXE, second = 7}, {first = WPN_LONG_SWORD, second = 8}, {first = WPN_SCIMITAR, second = 8}, {first = WPN_GREAT_SWORD, second = 8}, {first = WPN_BROAD_AXE, second = 9}, {first = WPN_DOUBLE_SWORD, second = 10}, {first = WPN_EVENINGSTAR, second = 13}, {first = WPN_PARTISAN, second = 15}}, plusses = {odds = 0, min = 0, max = 0, nrolls = 0}, brands = std::vector of length 0, capacity 0, good_chance = 0}, [MONS_JOSEPH] = {types = std::vector of length 1, capacity 1 = {{first = WPN_QUARTERSTAFF, second = 1}}, plusses = {odds = 0, min = 0, max = 0, nrolls = 0}, brands = std::vector of length 0, capacity 0, good_chance = 0}, [MONS_ERICA] = {types = std::vector of length 1, capacity 1 = {{first = WPN_SCIMITAR, second = 1}}, plusses = {odds = 1, min = 0, max = 4, nrolls = 0}, brands = std::vector of length 1, capacity 1 = {{first = SPWPN_FLAMING, second = 1}}, good_chance = 0}, [MONS_JOSEPHINE] = {types = std::vector of length 2, capacity 2 = {{first = WPN_DAGGER, second = 4}, {first = WPN_ATHAME, second = 1}}, plusses = {odds = 0, min = 0, max = 0, nrolls = 0}, brands = std::vector of length 0, capacity 0, good_chance = 0}, [MONS_HAROLD] = {types = std::vector of length 15, capacity 15 = {{first = WPN_LONG_SWORD, second = 10}, {first = WPN_SHORT_SWORD, second = 10}, {first = WPN_SCIMITAR, second = 10}, {first = WPN_BATTLEAXE, second = 10}, {first = WPN_HAND_AXE, second = 10}, {first = WPN_HALBERD, second = 10}, {first = WPN_GLAIVE, second = 10}, {first = WPN_MACE, second = 10}, {first = WPN_DIRE_FLAIL, second = 10}, {first = WPN_TRIDENT, second = 10}, {first = WPN_WAR_AXE, second = 9}, {first = WPN_FLAIL, second = 9}, {first = WPN_PARTISAN, second = 2}, {first = WPN_BROAD_AXE, second = 1}, {first = WPN_MORNINGSTAR, second = 1}}, plusses = {odds = 0, min = 0, max = 0, nrolls = 0}, brands = std::vector of length 0, capacity 0, good_chance = 0}, [MONS_AGNES] = {types = std::vector of length 1, capacity 1 = {{first = WPN_LAJATANG, second = 1}}, plusses = {odds = 0, min = 0, max = 0, nrolls = 0}, brands = std::vector of length 0, capacity 0, good_chance = 0}, [MONS_LOUISE] = {types = std::vector of length 5, capacity 5 = {{first = WPN_MORNINGSTAR, second = 1}, {first = WPN_EVENINGSTAR, second = 1}, {first = WPN_TRIDENT, second = 1}, {first = WPN_PARTISAN, second = 1}, {first = WPN_DEMON_TRIDENT, second = 1}}, plusses = {odds = 0, min = 0, max = 0, nrolls = 0}, brands = std::vector of length 0, capacity 0, good_chance = 1}...} ORC_KNIGHT_BOWS = std::vector of length 2, capacity 2 = {{first = WPN_ARBALEST, second = 1}, {first = NUM_WEAPONS, second = 8}} secondary_weapon_specs = std::map with 17 elements = {[MONS_ORC_WARRIOR] = {types = std::vector of length 3, capacity 3 = {{first = WPN_ORCBOW, second = 3}, {first = WPN_ARBALEST, second = 1}, {first = NUM_WEAPONS, second = 32}}, plusses = {odds = 0, min = 0, max = 0, nrolls = 0}, brands = std::vector of length 0, capacity 0, good_chance = 0}, [MONS_ORC_KNIGHT] = {types = std::vector of length 2, capacity 2 = {{first = WPN_ARBALEST, second = 1}, {first = NUM_WEAPONS, second = 8}}, plusses = {odds = 0, min = 0, max = 0, nrolls = 0}, brands = std::vector of length 0, capacity 0, good_chance = 0}, [MONS_ORC_WARLORD] = {types = std::vector of length 2, capacity 2 = {{first = WPN_ARBALEST, second = 1}, {first = NUM_WEAPONS, second = 8}}, plusses = {odds = 0, min = 0, max = 0, nrolls = 0}, brands = std::vector of length 0, capacity 0, good_chance = 0}, [MONS_SALAMANDER] = {types = std::vector of length 5, capacity 5 = {{first = WPN_HALBERD, second = 5}, {first = WPN_TRIDENT, second = 5}, {first = WPN_SPEAR, second = 3}, {first = WPN_PARTISAN, second = 2}, {first = WPN_SHORTBOW, second = 5}}, plusses = {odds = 4, min = 0, max = 4, nrolls = 0}, brands = std::vector of length 0, capacity 0, good_chance = 0}, [MONS_CHERUB] = {types = std::vector of length 3, capacity 3 = {{first = WPN_SLING, second = 1}, {first = WPN_SHORTBOW, second = 1}, {first = WPN_LONGBOW, second = 1}}, plusses = {odds = 0, min = 0, max = 0, nrolls = 0}, brands = std::vector of length 0, capacity 0, good_chance = 0}, [MONS_JOSEPH] = {types = std::vector of length 1, capacity 1 = {{first = WPN_SLING, second = 1}}, plusses = {odds = 0, min = 0, max = 0, nrolls = 0}, brands = std::vector of length 0, capacity 0, good_chance = 0}, [MONS_SAINT_ROKA] = {types = std::vector of length 2, capacity 2 = {{first = WPN_ARBALEST, second = 1}, {first = NUM_WEAPONS, second = 8}}, plusses = {odds = 0, min = 0, max = 0, nrolls = 0}, brands = std::vector of length 0, capacity 0, good_chance = 0}, [MONS_VAULT_SENTINEL] = {types = std::vector of length 3, capacity 3 = {{first = WPN_ARBALEST, second = 19}, {first = WPN_HAND_CANNON, second = 1}, {first = NUM_WEAPONS, second = 40}}, plusses = {odds = 0, min = 0, max = 0, nrolls = 0}, brands = std::vector of length 0, capacity 0, good_chance = 0}, [MONS_VAULT_WARDEN] = {types = std::vector of length 2, capacity 2 = {{first = WPN_ARBALEST, second = 1}, {first = NUM_WEAPONS, second = 8}}, plusses = {odds = 0, min = 0, max = 0, nrolls = 0}, brands = std::vector of length 0, capacity 0, good_chance = 0}, [MONS_FAUN] = {types = std::vector of length 1, capacity 1 = {{first = WPN_SLING, second = 1}}, plusses = {odds = 0, min = 0, max = 0, nrolls = 0}, brands = std::vector of length 0, capacity 0, good_chance = 0}, [MONS_SATYR] = {types = std::vector of length 1, capacity 1 = {{first = WPN_LONGBOW, second = 1}}, plusses = {odds = 0, min = 0, max = 0, nrolls = 0}, brands = std::vector of length 0, capacity 0, good_chance = 0}, [MONS_TENGU_WARRIOR] = {types = std::vector of length 2, capacity 2 = {{first = WPN_ARBALEST, second = 1}, {first = NUM_WEAPONS, second = 8}}, plusses = {odds = 0, min = 0, max = 0, nrolls = 0}, brands = std::vector of length 0, capacity 0, good_chance = 0}, [MONS_DEMONSPAWN_WARMONGER] = {types = std::vector of length 4, capacity 4 = {{first = WPN_LONGBOW, second = 10}, {first Compilation info: <<<<<<<<<<< Compiled with GCC 13.3.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 contrib/install/x86_64-linux-gnu/include -g -DWIZARD -DASSERTS -DREGEX_PCRE -DCLUA_BINDINGS -DDGAMELAUNCH -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 LDFLAGS: -rdynamic -fuse-ld=gold -O2 >>>>>>>>>>> Place info: branch = 2, depth = 2 Level id: Orc:2 Currently generating level. Vault being placed: st_orc_congregation Level build method = random_map_for_place, level layout type = , absdepth0 = 11 Markers: <<<<<<<<<<<<<<<<<<<<<< >>>>>>>>>>>>>>>>>>>>>> Messages: <<<<<<<<<<<<<<<<<<<<<< Makhleb accepts your kill. As you open the door, it creaks loudly! You encounter a spectral orc warrior. x2 The spectral orc warrior misses you. You encounter a spectral orc warrior. There is an open door here. You hit the spectral orc warrior. You freeze the spectral orc warrior. The spectral orc warrior is moderately damaged. You encounter an orc zombie. You block the spectral orc warrior's attack. You barely miss the spectral orc warrior. The spectral orc warrior is moderately damaged. You block the spectral orc warrior's attack. You encounter a gargoyle. It is wielding a +0 war axe. You hit the spectral orc warrior. The spectral orc warrior is moderately damaged. The spectral orc warrior completely misses you. The spectral orc warrior attacks as it pursues you! You block the spectral orc warrior's attack. Aiming: Unleash Destruction (0% risk of failure) Press: ? - help, Shift-Dir - straight line Aim: a spectral orc warrior (moderately damaged, 87% to hit) The flurry of cold misses the spectral orc warrior. The flurry of cold hits the gargoyle. The gargoyle is lightly damaged. The gargoyle is flash-frozen. The flurry of cold hits the spectral orc warrior! The spectral orc warrior resists. The spectral orc warrior is heavily damaged. The spectral orc warrior is flash-frozen. The spectral orc warrior hits you. The spectral orc warrior is no longer encased in ice. There is a gate leading back out of this place here. Aiming: Unleash Destruction (0% risk of failure) Press: ? - help, Shift-Dir - straight line Aim: a gargoyle, wielding a +0 war axe (lightly damaged, encased in ice, 92% to hit) The flurry of ice hits the spectral orc warrior! The spectral orc warrior partially resists. The spectral orc warrior is almost destroyed. The flurry of ice hits the gargoyle! The gargoyle is heavily damaged. The flurry of ice hits the spectral orc warrior! The spectral orc warrior partially resists. You destroy the spectral orc warrior! Makhleb accepts your kill. Aiming: Unleash Destruction (0% risk of failure) Press: ? - help, Shift-Dir - straight line Aim: an orc zombie (94% to hit) The wail of negative energy hits the spectral orc warrior. The spectral orc warrior completely resists. The spectral orc warrior is almost destroyed. The wail of negative energy misses the spectral orc warrior. The wail of negative energy hits the gargoyle. The gargoyle completely resists. The gargoyle is heavily damaged. The wail of negative energy hits the orc zombie. The orc zombie completely resists. The gargoyle is no longer encased in ice. The spectral orc warrior completely misses you. Aiming: Unleash Destruction (0% risk of failure) Press: ? - help, Shift-Dir - straight line Aim: an orc zombie (94% to hit) The torrent of electricity hits the spectral orc warrior!! You destroy the spectral orc warrior! Makhleb accepts your kill. You feel better. The torrent of electricity hits the spectral orc warrior!! You destroy the spectral orc warrior! Makhleb accepts your kill. You feel better. The torrent of electricity misses the gargoyle. The torrent of electricity hits the orc zombie!! You destroy the orc zombie! Makhleb accepts your kill. You feel better. Aiming: Unleash Destruction (0% risk of failure) Press: ? - help, Shift-Dir - straight line Aim: a gargoyle, wielding a +0 war axe (heavily damaged, 92% to hit) The flurry of ice hits the gargoyle but does no damage. The gargoyle is heavily damaged. The gargoyle hurls a stone arrow at you. The stone arrow hits you!! * * * LOW HITPOINT WARNING * * * Welcome back to the Dungeon! There is an empty arch of ancient stone here. You start resting. HP restored. You see here a +0 hand axe. You enter the shallow water. You open the door. There is an open door here. You encounter a goblin. It is wielding a +0 hand axe. A goblin is nearby! You encounter an orc. It is wielding a +0 hand axe and quivering boomerangs. You encounter a gnoll. It is wielding a +0 hand axe. You enter the shallow water. The helpless goblin fails to defend itself. You skewer the goblin like a kebab!!! You freeze the goblin. You kill the goblin! Makhleb accepts your kill. Found 11 gold pieces. The helpless orc fails to defend itself. You skewer the orc like a kebab!!! You freeze the orc. You kill the orc! Makhleb accepts your kill. The helpless gnoll fails to defend itself. You spit the gnoll like a pig!!! You freeze the gnoll. You kill the gnoll! Makhleb accepts your kill. You encounter an orc and a goblin. The orc is quivering boomerangs. You encounter a gnoll. It is wielding a +0 hand axe. The helpless goblin fails to defend itself. You perforate the goblin like a sieve!!! You freeze the goblin. You kill the goblin! Makhleb accepts your kill. The gnoll shouts! The orc shouts! You block the orc's attack. You puncture the gnoll! You freeze the gnoll. You kill the gnoll! Makhleb accepts your kill. The orc completely misses you. You puncture the orc! You freeze the orc. You kill the orc! Makhleb accepts your kill. No target in view! d - 5 boomerangs (gained 2) You see here a +0 hand axe. Things that are here: a +0 hand axe; a gnoll corpse You enter the shallow water. Found a stone staircase leading up. You enter the shallow water. Things that are here: a +0 hand axe; a gnoll corpse d - 7 boomerangs (gained 2) Things that are here: a +0 hand axe; an orc corpse You see here a +0 hand axe. You enter the shallow water. You encounter a gnoll and an orc. The orc is quivering boomerangs. You encounter a centaur. It is carrying a +0 shortbow. The centaur shouts! The orc shouts! The gnoll shouts! The centaur wields a +0 shortbow. The centaur shoots an arrow. You block the arrow with an invisible shield... and reflect it back! The arrow hits the centaur! You puncture the gnoll! You freeze the gnoll. You kill the gnoll! Makhleb accepts your kill. You hear a splash. You encounter a goblin. It is wielding a +0 hand axe. The goblin shouts! The orc throws a boomerang. You block the boomerang with an invisible shield... and reflect it back! The boomerang misses the orc. The centaur shoots an arrow. You block the arrow with an invisible shield... and reflect it back! The arrow hits the centaur! You see here a +3 hand axe. The centaur unwields a +0 shortbow. You block the centaur's attack. x2 The orc splashes around in the water. x2 You puncture the centaur! You freeze the centaur. You kill the centaur! Makhleb accepts your kill. The orc misses you. The orc splashes around in the water. Training target 10.0 for Conjurations reached! Your Conjurations skill increases to level 10! You need to enable at least one skill for training. You puncture the orc! You freeze the orc. You kill the orc! Makhleb accepts your kill. You hear a splash. x2 The goblin closely misses you. Things that are here: a +0 hand axe; a boomerang You hit the goblin. You freeze the goblin. You kill the goblin! Makhleb accepts your kill. No target in view! No target in view! d - 8 boomerangs (gained 1) You see here a +0 hand axe. You now have 749 gold pieces (gained 11). Found a stone staircase leading down. Found a spear. There is a stone staircase leading down here. c - 6 potions of curing (gained 1) You open the door. There is an open door here. Found a stone staircase leading down. You open the large door. You open the door. You encounter a shadowghast. There is an open door here. The helpless shadowghast fails to defend itself. You impale the shadowghast!! You destroy the shadowghast! Makhleb accepts your kill. You have reached level 14! Okay, then. Unknown command. You open the door. There is an open door here. You now have 769 gold pieces (gained 20). You open the door. There is an open door here. Found a stone staircase leading up. You open the door. There is an open door here. You open the door. There is an open door here. You encounter an arcanist. It is wielding a +0 dagger. The arcanist shouts! The arcanist mumbles some strange words. The arcanist seems to speed up. Aiming: Unleash Destruction (0% risk of failure) Press: ? - help, Shift-Dir - straight line Aim: an arcanist, wielding a +0 dagger and wearing a +0 robe (fast, 72% to hit) The torrent of electricity misses the arcanist. The arcanist mumbles some strange words. The arcanist's hands start to glow. The arcanist points at you and mumbles some strange words. You resist with significant effort. Aiming: Unleash Destruction (0% risk of failure) Press: ? - help, Shift-Dir - straight line Aim: an arcanist, wielding a +0 dagger and wearing a +0 robe (fast, 72% to hit) The flurry of ice hits the arcanist! The arcanist is moderately wounded. You hear a shout! Aiming: Unleash Destruction (0% risk of failure) Press: ? - help, Shift-Dir - straight line Aim: an arcanist, wielding a +0 dagger and wearing a +0 robe (moderately wounded, fast, 72% to hit) The flurry of ice misses the arcanist. You encounter an arcanist. It is wielding a +0 dagger. The arcanist casts a spell at you. You resist with significant effort. Aiming: Unleash Destruction (0% risk of failure) Press: ? - help, Shift-Dir - straight line Aim: an arcanist, wielding a +0 dagger and wearing a +0 robe (72% to hit) The flurry of cold hits the arcanist!! The arcanist is severely wounded. The arcanist is flash-frozen. The flurry of cold hits the arcanist! The arcanist is moderately wounded. The arcanist is flash-frozen. The arcanist gestures wildly while chanting. The arcanist seems to speed up. You hear a shout! Aiming: Unleash Destruction (0% risk of failure) Press: ? - help, Shift-Dir - straight line Aim: an arcanist, wielding a +0 dagger and wearing a +0 robe (moderately wounded, fast, encased in ice, 72% to hit) The flurry of cold misses the arcanist. The flurry of cold hits the arcanist! The arcanist is severely wounded. Aiming: Unleash Destruction (0% risk of failure) Press: ? - help, Shift-Dir - straight line Aim: an arcanist, wielding a +0 dagger and wearing a +0 robe (severely wounded, fast, encased in ice, 72% to hit) The flurry of ice misses the arcanist. The flurry of ice hits the arcanist!! You kill the arcanist! Makhleb accepts your kill. You feel better. Aiming: Unleash Destruction (0% risk of failure) Press: ? - help, Shift-Dir - straight line Aim: an arcanist, wielding a +0 dagger and wearing a +0 robe (severely wounded, fast, encased in ice, 72% to hit) The wail of negative energy hits the arcanist. The arcanist is drained! The arcanist is almost dead. You encounter an arcanist. It is wielding a +0 dagger of speed. Aiming: Unleash Destruction (0% risk of failure) Press: ? - help, Shift-Dir - straight line Aim: an arcanist, wielding a +0 dagger of speed and wearing a +0 robe (72% to hit) The flurry of cold misses the arcanist. x2 The arcanist is no longer encased in ice. The arcanist barely misses you. Aiming: Unleash Destruction (0% risk of failure) Press: ? - help, Shift-Dir - straight line Aim: an arcanist, wielding a +0 dagger of speed and wearing a +0 robe (72% to hit) The wail of negative energy misses the arcanist. The wail of negative energy hits the arcanist! The arcanist is drained! The arcanist is moderately wounded. The arcanist hits you with a +0 dagger! * * * LOW HITPOINT WARNING * * * You block the arcanist's attack. Aiming: Unleash Destruction (0% risk of failure) Press: ? - help, Shift-Dir - straight line Aim: an arcanist, wielding a +0 dagger of speed and wearing a +0 robe (moderately wounded, lightly drained, 72% to hit) The torrent of electricity hits the arcanist!! You kill the arcanist! Makhleb accepts your kill. You feel better. The torrent of electricity hits the arcanist!! The arcanist is severely wounded. * * * LOW HITPOINT WARNING * * * The arcanist mumbles some strange words. The arcanist seems to speed up. Okay, then. Aiming: Fastroot Press: ? - help, Shift-Dir - straight line Aim: an arcanist, wielding a +0 dagger of speed and wearing a +0 robe (severely wounded, fast, lightly drained) The roots erupt in riotous growth! The roots grab the arcanist! The grasping roots constrict the arcanist! You hear a shout! The arcanist breaks free of the grasping roots! Aiming: Fastroot Press: ? - help, Shift-Dir - straight line Aim: an arcanist, wielding a +0 dagger of speed and wearing a +0 robe (almost dead, fast, lightly drained) The roots erupt in riotous growth! The roots grab the arcanist! The grasping roots constrict the arcanist! You kill the arcanist! Makhleb accepts your kill. You feel better. There is a stone staircase leading up here. You climb upwards. Level annotation: Maurice There is a stone staircase leading down here. You start resting. HP restored. You climb downwards. There is a stone staircase leading up here. Things that are here: a +0 robe; a +0 dagger of speed Found a scarab talisman. You open the door. There is an open door here. m - 4 potions of might (gained 2) There is an open door here. You see here a scarab talisman. a - a wand of flame (11) (gained 7 charges) You encounter an orc wizard. It is wielding a +0 dagger. You throw a dart. The dart hits the orc wizard! The orc wizard is poisoned. The orc wizard shouts! You hear a shout! You start waiting. You encounter an orc wizard. It is wielding a +0 dagger. There are monsters nearby! You throw a dart. The dart hits the orc wizard! The orc wizard is poisoned. The orc wizard shouts! The orc wizard casts a spell at you. The magic dart hits you! You encounter an orc. It is wielding a +0 dagger of freezing. You encounter an orc. It is wielding a +0 mace. The orc wizard hits you with a +0 dagger. You closely miss the orc wizard. You grab the orc wizard. You squeeze the orc wizard! You kill the orc wizard! Makhleb accepts your kill. You block the orc wizard's attack. You puncture the orc wizard! You freeze the orc wizard. You kill the orc wizard! Makhleb accepts your kill. You feel better. No target in view! No target in view! Things that are here: a +0 dagger; a +0 robe; an orc corpse Found a parchment of Tukima's Dance. The orc completely misses you. You barely miss the orc. You grab the orc. You constrict the orc! You kill the orc! Makhleb accepts your kill. You feel better. No target in view! No target in view! Things that are here: a +0 mace; a +0 leather armour You pick up a parchment of Tukima's Dance and begin reading... You add the spell Tukima's Dance to your library. i - 13 poisoned darts (gained 1) Found a staircase to the Orcish Mines. i - 14 poisoned darts (gained 1) You encounter an orc. It is wielding a +0 trident. You throw a dart. The dart hits the orc. The orc is poisoned. The orc shouts! You hear a shout! You hear a howl! You encounter an orc. It is wielding a +0 hand axe. You kill the orc! Makhleb accepts your kill. You encounter a gnoll. It is wielding a +0 spear. You encounter a gnoll sergeant and a gnoll. You hit the orc. You freeze the orc. You grab the orc. You squeeze the orc. The orc is severely wounded. You constrict the orc. You kill the orc! Makhleb accepts your kill. No target in view! No target in view! You open the door. There is an open door here. You open the door. Found an escape hatch in the ceiling. There is an open door here. You open the door. Found 15 gold pieces. There is an open door here. You see here 15 gold pieces. You throw a dart. The dart hits the gnoll. The gnoll is poisoned. The gnoll shouts! You encounter a gnoll. It is wielding a +0 spear. You encounter a gnoll. It is wielding a +0 whip. Aiming: Unleash Destruction (0% risk of failure) Press: ? - help, Shift-Dir - straight line Aim: a gnoll, wielding a +0 spear (moderately wounded, poisoned, 85% to hit) The wail of negative energy hits the gnoll sergeant! The gnoll sergeant is drained! The gnoll sergeant is severely wounded. The wail of negative energy hits the gnoll! The gnoll is drained! You kill the gnoll! Makhleb accepts your kill. You feel better. The wail of negative energy hits the gnoll! The gnoll is drained! You kill the gnoll! Makhleb accepts your kill. You encounter a gnoll. It is wielding a +0 spear. Aiming: Unleash Destruction (0% risk of failure) Press: ? - help, Shift-Dir - straight line Aim: a gnoll sergeant, wielding a +0 trident, wearing a +0 scale mail and wearing a +0 kite shield (severely wounded, lightly drained, 89% to hit) The flurry of ice hits the gnoll sergeant! You kill the gnoll sergeant! Makhleb accepts your kill. The flurry of ice hits the gnoll! You kill the gnoll! Makhleb accepts your kill. You feel better. You puncture the gnoll! You freeze the gnoll. You grab the gnoll. The gnoll is severely wounded. You constrict the gnoll. You kill the gnoll! Makhleb accepts your kill. You feel better. You see here a +0 whip. No target in view! No target in view! No target in view! Things that are here: a +0 trident; a +0 scale mail; a +0 kite shield You see here a +0 spear. A gnoll is nearby! You block the gnoll's attack. You puncture the gnoll! You freeze the gnoll. You kill the gnoll! Makhleb accepts your kill. You feel better. No target in view! HP restored. i - 13 poisoned darts (gained 1) You now have 784 gold pieces (gained 15). You see here a +0 whip. Things that are here: a +0 trident; a +0 scale mail; a +0 kite shield You see here a +0 spear. i - 14 poisoned darts (gained 1) You encounter a warg. A warg is nearby! Aiming: Unleash Destruction (0% risk of failure) Press: ? - help, Shift-Dir - straight line Aim: a warg (wandering, hasn't noticed you, 78% to hit) The torrent of electricity misses the warg. Aiming: Unleash Destruction (0% risk of failure) Press: ? - help, Shift-Dir - straight line Aim: a warg (wandering, hasn't noticed you, 78% to hit) The flurry of ice hits the warg! The warg is moderately wounded. The warg howls! Aiming: Unleash Destruction (0% risk of failure) Press: ? - help, Shift-Dir - straight line Aim: a warg (moderately wounded, 78% to hit) The wail of negative energy hits the warg! The warg is drained! The warg is severely wounded. Aiming: Unleash Destruction (0% risk of failure) Press: ? - help, Shift-Dir - straight line Aim: a warg (severely wounded, lightly drained, 78% to hit) The wail of negative energy misses the warg. Aiming: Unleash Destruction (0% risk of failure) Press: ? - help, Shift-Dir - straight line Aim: a warg (severely wounded, lightly drained, 78% to hit) The torrent of electricity hits the warg! You kill the warg! Makhleb accepts your kill. j - a purple potion You open the door. There is an open door here. Key pressed, stopping explore. You open the door. You encounter an orc wizard and an orc. You encounter an orc. It is wielding a +0 mace. Found 13 gold pieces. There is an open door here. The helpless orc wizard fails to defend itself. You perforate the orc wizard like a sieve!!! You freeze the orc wizard! You kill the orc wizard! Makhleb accepts your kill. The helpless orc fails to defend itself. You stick the orc like a pincushion!!! You freeze the orc. You kill the orc! Makhleb accepts your kill. Things that are here: a +0 dagger; a +0 robe The helpless orc fails to defend itself. You spit the orc like a pig!!! You freeze the orc. You kill the orc! Makhleb accepts your kill. No target in view! You now have 797 gold pieces (gained 13). There is an open door here. Key pressed, stopping explore. Things that are here: a +0 mace; a +0 leather armour You pick up a parchment of Volatile Blastmotes and begin reading... You add the spell Volatile Blastmotes to your library. You now have 827 gold pieces (gained 30). You encounter an arcanist. It is wielding a +0 dagger. An arcanist is nearby! Aiming: Unleash Destruction (0% risk of failure) Press: ? - help, Shift-Dir - straight line Aim: an arcanist, wielding a +0 dagger and wearing a +0 robe (wandering, hasn't noticed you, 72% to hit) The flurry of ice hits the arcanist!! The arcanist is heavily wounded. Aiming: Unleash Destruction (0% risk of failure) Press: ? - help, Shift-Dir - straight line Aim: an arcanist, wielding a +0 dagger and wearing a +0 robe (heavily wounded, 72% to hit) The wail of negative energy misses the arcanist. Aiming: Unleash Destruction (0% risk of failure) Press: ? - help, Shift-Dir - straight line Aim: an arcanist, wielding a +0 dagger and wearing a +0 robe (heavily wounded, 72% to hit) The torrent of electricity hits the arcanist!! You kill the arcanist! Makhleb accepts your kill. Found a war axe. Found a short sword. You encounter an arcanist. It is wielding a +0 dagger. The arcanist shouts! You encounter an orc warrior. It is wielding a +0 mace. The arcanist leaves your sight. The orc warrior leaves your sight. Aiming: Unleash Destruction (0% risk of failure) Press: ? - help, Shift-Dir - straight line Aim: an arcanist, wielding a +0 dagger and wearing a +0 robe (purple smoke, 72% to hit) The wail of negative energy hits the arcanist!! The arcanist is drained! The arcanist is severely wounded. You hear a shout! The arcanist casts a spell at you. You resist with some effort. Aiming: Unleash Destruction (0% risk of failure) Press: ? - help, Shift-Dir - straight line Aim: an arcanist, wielding a +0 dagger and wearing a +0 robe (severely wounded, lightly drained, 72% to hit) The flurry of ice misses the arcanist. Aiming: Unleash Destruction (0% risk of failure) Press: ? - help, Shift-Dir - straight line Aim: an arcanist, wielding a +0 dagger and wearing a +0 robe (heavily wounded, lightly drained, 72% to hit) The torrent of electricity hits the arcanist!! You kill the arcanist! Makhleb accepts your kill. You feel better. Your Alchemy skill increases to level 11! You start resting. An orc warrior comes into view. You throw a dart. The dart closely misses the orc warrior. You start resting. HP restored. You start waiting. An orc warrior comes into view. The orc warrior barely misses you. You hit the orc warrior. You freeze the orc warrior. You grab the orc warrior. You squeeze the orc warrior! The orc warrior is heavily wounded. You constrict the orc warrior! You block the orc warrior's attack. You puncture the orc warrior! You freeze the orc warrior. You kill the orc warrior! Makhleb accepts your kill. No target in view! No target in view! Things that are here: a +0 dagger; a +0 robe i - 14 poisoned darts (gained 1) You encounter an arcanist. It is wielding a +0 dagger. You catch the helpless arcanist completely off-guard! You puncture the arcanist! You freeze the arcanist. You grab the arcanist. The arcanist is heavily wounded. You constrict the arcanist. The arcanist closely misses you. You barely miss the arcanist. You squeeze the arcanist. The arcanist is severely wounded. You constrict the arcanist. The arcanist shouts, "You are history!" The arcanist gestures wildly while chanting. The arcanist seems to speed up. You puncture the arcanist! You freeze the arcanist. You kill the arcanist! Makhleb accepts your kill. Things that are here: a +0 dagger; a +0 robe You encounter an arcanist. It is wielding a +0 dagger. The helpless arcanist fails to defend itself. You spit the arcanist like a pig!!! You freeze the arcanist. You kill the arcanist! Makhleb accepts your kill. You now have 843 gold pieces (gained 16). B - 5 scrolls labelled PAYNAI SANKI (gained 1) y - 3 scrolls labelled SEEMUQ ER HOTSI (gained 1) You encounter an arcanist. It is wielding a +0 dagger of venom. The helpless arcanist fails to defend itself. You spit the arcanist like a pig!!! You freeze the arcanist! You kill the arcanist! Makhleb accepts your kill. Things that are here: a +0 dagger of venom; a +0 robe You encounter an arcanist. It is wielding a +0 dagger. Found the +3 warlock's mirror {omnireflect}. You encounter an arcanist. It is wielding a +0 dagger. The arcanist shouts! Aiming: Unleash Destruction (0% risk of failure) Press: ? - help, Shift-Dir - straight line Aim: an arcanist, wielding a +0 dagger and wearing a +0 robe (72% to hit) The flurry of ice misses the arcanist. x2 The arcanist shouts! You miss the arcanist. Your grab misses the arcanist. You block the arcanist's attack. You closely miss the arcanist. Your grab misses the arcanist. Your squeeze misses the arcanist. You hit the arcanist. You freeze the arcanist. You grab the arcanist. You squeeze the arcanist, but do no damage. The arcanist is lightly wounded. You constrict the arcanist. You block the arcanist's attack. The arcanist points at you and mumbles some strange words. The bolt of cold hits you! You resist. You hit the arcanist. You freeze the arcanist. You grab the arcanist. The arcanist is lightly wounded. You constrict the arcanist. You constrict the arcanist! The arcanist gestures at you while chanting. The bolt of cold hits you! You resist. The arcanist misses you. You hit the arcanist. You freeze the arcanist. The arcanist is heavily wounded. You constrict the arcanist! You constrict the arcanist. You block the arcanist's attack. The arcanist completely misses you. You hit the arcanist. You freeze the arcanist. The arcanist is severely wounded. You constrict the arcanist. x2; You block the arcanist's attack. x2 You hit the arcanist but do no damage. You squeeze the arcanist. The arcanist is almost dead. You constrict the arcanist. x2 The arcanist casts a spell at you. The searing ray misses you. The arcanist points at you and mumbles some strange words. The bolt of cold hits you! You resist. You hit the arcanist. You freeze the arcanist. You squeeze the arcanist. You kill the arcanist! Makhleb accepts your kill. You feel better. You constrict the arcanist. The searing ray hits you! You puncture the arcanist! You freeze the arcanist. You kill the arcanist! Makhleb accepts your kill. i - 17 poisoned darts (gained 3) You pick up a manual of Ranged Weapons and begin studying. i - 4 scrolls of identify (gained 1) You see here the +3 warlock's mirror {omnireflect}. y - the +3 warlock's mirror {omnireflect} You start removing your armour. You continue removing your +0 buckler. x5 You finish removing your +0 buckler. You start putting on your armour. You continue putting on the +3 warlock's mirror {omnireflect}. You finish putting on the +3 warlock's mirror {omnireflect}. You start resting. HP restored. Things that are here: a +0 dagger; a +0 robe Things that are here: a +0 dagger; a +0 robe Things that are here: a +0 dagger; a +0 robe You see here a +0 war axe. You encounter an arcanist. It is wielding a +0 dagger. Aiming: Unleash Destruction (0% risk of failure) Press: ? - help, Shift-Dir - straight line Aim: an arcanist, wielding a +0 dagger and wearing a +0 robe (asleep, 100% to hit) The torrent of electricity hits the arcanist!! The arcanist is heavily wounded. The arcanist shouts! Aiming: Unleash Destruction (0% risk of failure) Press: ? - help, Shift-Dir - straight line Aim: an arcanist, wielding a +0 dagger and wearing a +0 robe (heavily wounded, 72% to hit) The torrent of electricity hits the arcanist!! The arcanist is almost dead. Aiming: Unleash Destruction (0% risk of failure) Press: ? - help, Shift-Dir - straight line Aim: an arcanist, wielding a +0 dagger and wearing a +0 robe (almost dead, 72% to hit) The flurry of ice misses the arcanist. Aiming: Unleash Destruction (0% risk of failure) Press: ? - help, Shift-Dir - straight line Aim: an arcanist, wielding a +0 dagger and wearing a +0 robe (almost dead, 72% to hit) The flurry of cold hits the arcanist! You kill the arcanist! Makhleb accepts your kill. You feel better. Things that are here: a +0 dagger; a +0 robe; a human corpse You open the door. Found a stone staircase leading down. There is an open door here. You encounter 4 wights. A wight is wielding a +4 spear of freezing. Found a scroll labelled UCEOL JEMIGEA. There is an open door here. There is an open door here. Throw: 8 boomerangs Press: ? - help, Shift-Dir - straight line Aim: a wight, wielding a +3 long sword and wearing a +0 robe (dormant, 97% to hit) You throw a boomerang. The boomerang hits the wight but does no damage. The wight closely misses you. You hit the wight. Your grab misses the wight. The wight is moderately damaged. You block the wight's attack. You hit the wight. You grab the wight. You squeeze the wight. You destroy the wight! Makhleb accepts your kill. No target in view! Things that are here: a +3 long sword; a +0 robe You start waiting. A wight comes into view. Throw: 8 boomerangs Press: ? - help, Shift-Dir - straight line Aim: a wight, wielding a +4 spear of freezing and wearing a +0 robe (wandering, hasn't noticed you, 67% to hit) You throw a boomerang. The boomerang completely misses the wight. Throw: 8 boomerangs Press: ? - help, Shift-Dir - straight line Aim: a wight, wielding a +4 spear of freezing and wearing a +0 robe (wandering, hasn't noticed you, 67% to hit) You throw a boomerang. The boomerang completely misses the wight. Throw: 8 boomerangs Press: ? - help, Shift-Dir - straight line Aim: a wight, wielding a +4 spear of freezing and wearing a +0 robe (wandering, hasn't noticed you, 67% to hit) You throw a boomerang. The boomerang hits the wight but does no damage. Throw: 8 boomerangs Press: ? - help, Shift-Dir - straight line Aim: a wight, wielding a +4 spear of freezing and wearing a +0 robe (67% to hit) You throw a boomerang. The boomerang hits the wight but does no damage. Throw: 8 boomerangs Press: ? - help, Shift-Dir - straight line Aim: a wight, wielding a +4 spear of freezing and wearing a +0 robe (67% to hit) You throw a boomerang. The boomerang hits the wight! The wight is heavily damaged. Things that are here: a +3 long sword; a +0 robe You block the wight's attack. The wight leaves your sight. You closely miss the wight. Your grab misses the wight. Your squeeze misses the wight. The wight is heavily damaged. You block the wight's attack. You hit the wight but do no damage. Your grab misses the wight. You squeeze the wight. The wight is heavily damaged. You block the wight's attack. You hit the wight. You grab the wight. You squeeze the wight. The wight is almost destroyed. You constrict the wight! You destroy the wight! Makhleb accepts your kill. Items here: )) [[. You puncture the wight! You grab the wight. The wight is heavily damaged. You constrict the wight. The wight hits you with a +3 dagger! You hit the wight. The wight is severely damaged. You constrict the wight! You destroy the wight! Makhleb accepts your kill. You feel better. Training target 12.0 for Alchemy reached! Your Alchemy skill increases to level 12! You need to enable at least one skill for training. HP restored. Things that are here: a +3 dagger; a +0 robe q - 3 scrolls labelled UCEOL JEMIGEA (gained 1) You encounter an orc and an orc wizard. The orc wizard is wielding a +2 dagger of venom. You encounter an orc. It is wielding a +1 short sword of speed. You encounter an orc wizard. It is wielding a +0 dagger. You encounter an orc. It is wielding a +0 club. Found a potion of curing. The orc wizard mumbles some strange words. The orc wizard flickers and vanishes for a moment. The orc shouts! x3 The orc wizard shouts! The orc wizard casts a spell at you. The magic dart hits you. You block the orc's attack. You block the orc's attack. You block the orc wizard's attack. The orc hits you with a +0 trident. You hit the orc wizard. You freeze the orc wizard. Your grab misses the orc wizard. Your squeeze misses the orc wizard. The orc wizard is moderately wounded. You puncture the orc wizard! You freeze the orc wizard. You kill the orc wizard! Makhleb accepts your kill. You feel better. You block the orc's attack. x2 You hit the orc. You freeze the orc. You kill the orc! Makhleb accepts your kill. You block the orc's attack. You hit the orc wizard. You freeze the orc wizard. You grab the orc wizard. You squeeze the orc wizard. The orc wizard is severely wounded. You constrict the orc wizard! You kill the orc wizard! Makhleb accepts your kill. The orc closely misses you. You block the orc's attack. The orc hits you with a +1 short sword of speed. You block the orc's attack. The orc completely misses you. Things that are here: a +0 dagger; a +0 robe; an orc corpse You puncture the orc! You freeze the orc. You kill the orc! Makhleb accepts your kill. You feel better. You block the orc's attack. You puncture the orc! You freeze the orc. You kill the orc! Makhleb accepts your kill. You feel better. No target in view! No target in view! Items here: )) [ †. Things that are here: a +2 dagger of venom; a +0 robe; an orc corpse c - 7 potions of curing (gained 1) You now have 858 gold pieces (gained 15). You open the door. Found an escape hatch in the floor. There is an open door here. You open the door. There is an open door here. You open the door. Done exploring. Done exploring. Okay, then. This spell is dangerous to cast! You start memorising the spell. You continue memorising. x5 You finish memorising. Spell assigned to 'c'. What level of the Orcish Mines? (default 1, ? - help) There is an open door here. There is an open door here. A wight comes into view. You hit the wight but do no damage. You grab the wight. You squeeze the wight. The wight is moderately damaged. You constrict the wight. You block the wight's attack. You hit the wight. You squeeze the wight. The wight is almost destroyed. You constrict the wight! You destroy the wight! Makhleb accepts your kill. The orc shouts! You puncture the orc! You freeze the orc. You kill the orc! Makhleb accepts your kill. No target in view! No target in view! You see here a +0 dagger of freezing. There is a staircase to the Orcish Mines here. You climb downwards. Welcome to the Orcish Mines! You encounter an orc high priest and an orc warrior. Found 14 gold pieces. There is a staircase back to the Dungeon here. You encounter an orc warrior. It is wielding a +0 flail. You encounter an orc. It is wielding a +0 whip. You encounter an orc warrior. It is wielding a +0 trident. The helpless orc high priest fails to defend itself. You spit the orc high priest like a pig!!! You freeze the orc high priest. You kill the orc high priest! Makhleb accepts your kill. Your Spellcasting skill increases to level 1! The helpless orc warrior fails to defend itself. You impale the orc warrior!! You freeze the orc warrior! You kill the orc warrior! Makhleb accepts your kill. The orc warrior shouts! The orc shouts! The orc warrior completely misses you. You hit the orc warrior. You freeze the orc warrior. You grab the orc warrior. The orc warrior is lightly wounded. You constrict the orc warrior. You block the orc warrior's attack. The orc warrior misses you. You hit the orc warrior but do no damage. You squeeze the orc warrior, but do no damage. The orc warrior is moderately wounded. You constrict the orc warrior, but do no damage. The orc warrior hits you with a +0 flail! You block the orc warrior's attack. You hit the orc warrior. You freeze the orc warrior. The orc warrior is heavily wounded. You constrict the orc warrior. The orc hits you with a +0 whip. You block the orc warrior's attack. x2 You hit the orc warrior but do no damage. The orc warrior is severely wounded. You constrict the orc warrior. You block the orc's attack. The orc warrior closely misses you. The orc warrior hits you from afar with a +0 trident! You completely miss the orc warrior. The orc warrior is severely wounded. You constrict the orc warrior. The orc hits you but does no damage. You block the orc warrior's attack. The orc warrior misses you. You puncture the orc! You freeze the orc. You kill the orc! Makhleb accepts your kill. You feel better. You constrict the orc warrior, but do no damage. You puncture the orc warrior! You freeze the orc warrior. You kill the orc warrior! Makhleb accepts your kill. You block the orc warrior's attack. The orc warrior barely misses you. You see here a +0 whip. You hit the orc warrior. You freeze the orc warrior. You grab the orc warrior. The orc warrior is lightly wounded. You constrict the orc warrior. You block the orc warrior's attack. You hit the orc warrior. You freeze the orc warrior. The orc warrior is moderately wounded. You constrict the orc warrior. The orc warrior hits you with a +0 trident! You puncture the orc warrior! You freeze the orc warrior. You squeeze the orc warrior. The orc warrior is almost dead. You constrict the orc warrior. You kill the orc warrior! Makhleb accepts your kill. You feel better. No target in view! No target in view! HP restored. You now have 872 gold pieces (gained 14). You now have 896 gold pieces (gained 24). You now have 902 gold pieces (gained 6). You now have 931 gold pieces (gained 29). Key pressed, stopping explore. There is a staircase back to the Dungeon here. Found a stone staircase leading down. You encounter an orc warrior and an orc wizard. You encounter an orc. It is wielding a +0 club. You encounter 2 orcs. An orc is wielding a +0 falchion of holy wrath and quivering boomerangs. The orc warrior shouts! The orc wizard shouts! You hear a shout! The orc shouts! You encounter an orc. It is wielding a +2 flail of draining. You hit the orc warrior but do no damage. You grab the orc warrior. You squeeze the orc warrior. The orc warrior is lightly wounded. You constrict the orc warrior. The orc warrior completely misses you. You puncture the orc warrior! You freeze the orc warrior. You squeeze the orc warrior, but do no damage. The orc warrior is almost dead. You constrict the orc warrior. You kill the orc warrior! Makhleb accepts your kill. You barely miss the orc wizard. Your grab misses the orc wizard. You puncture the orc wizard! You freeze the orc wizard. You grab the orc wizard. The orc wizard is severely wounded. You constrict the orc wizard! You kill the orc wizard! Makhleb accepts your kill. You puncture the orc! You freeze the orc. You kill the orc! Makhleb accepts your kill. The orc throws a boomerang. You block the boomerang with your +3 warlock's mirror {omnireflect}... and reflect it back! The boomerang hits the orc. You puncture the orc! You freeze the orc. You kill the orc! Makhleb accepts your kill. You puncture the orc! You freeze the orc. You kill the orc! Makhleb accepts your kill. The orc barely misses you. Items here: ))))) [[[ ††. You barely miss the orc. Your grab misses the orc. You block the orc's attack. You hit the orc. You freeze the orc. You kill the orc! Makhleb accepts your kill. No target in view! No target in view! d - 11 boomerangs (gained 3) Things that are here: a +0 falchion of holy wrath; an orc corpse You now have 956 gold pieces (gained 25). You now have 981 gold pieces (gained 25). You now have 1005 gold pieces (gained 24). Items here: ))))) [[[ ††. There is a stone staircase leading down here. You encounter an ogre. It is wielding a +0 giant spiked club. You see here 27 gold pieces. The helpless ogre fails to defend itself. You impale the ogre!! You freeze the ogre. You kill the ogre! Makhleb accepts your kill. You now have 1030 gold pieces (gained 25). You now have 1057 gold pieces (gained 27). You see here a +0 giant spiked club. Done exploring. Done exploring. There is a stone staircase leading down here. You climb downwards. >>>>>>>>>>>>>>>>>>>>>> Version history: Game started: 1.0-a0-316-g3af901601f Game state: mouse_enabled: 0, waiting_for_command: 0, terminal_resized: 0 io_inited: 1, need_save: 1, saving_game: 0, updating_scores: 0: seen_hups: 0, map_stat_gen: 0, type: 1, arena_suspended: 0 prev_cmd = CMD_INTERLEVEL_TRAVEL repeat_cmd = CMD_NO_CMD Player: {{{{{{{{{{{ Name: [MrSquiggles] Species: Octopode Job: Brigand HP: 103/103; mods: 0/0 MP: 20/20; mod: 0 Stats: 11 16 21 Position: (0, 0) , god: Makhleb (8), turn_is_over: 0, banished: 0 Runrest: mode: -4 mp: 0 hp: 0 pos: (0, 0) Delayed (2): type: descending_stairs duration: 0 type: travel duration: 1 Skills (mode: manual) Name | can_currently_train | train | training | level | points | progress Fighting | X | 0 | 0 | 12 | 4050 | 0/750 Short Blades | X | 0 | 0 | 3 | 300 | 0/200 Long Blades | X | 0 | 0 | 0 | 0 | 0/50 Axes | X | 0 | 0 | 0 | 0 | 0/50 Maces & Flails | X | 0 | 0 | 0 | 0 | 0/50 Polearms | X | 0 | 0 | 0 | 0 | 0/50 Staves | X | 0 | 0 | 0 | 0 | 0/50 Ranged Weapons | X | 0 | 0 | 0 | 0 | 0/50 Throwing | X | 0 | 0 | 3 | 300 | 0/200 Dodging | X | 0 | 0 | 10 | 2775 | 0/600 Stealth | X | 0 | 0 | 9 | 1125 | 0/262 Shields | X | 0 | 0 | 5 | 750 | 0/300 Unarmed Combat | X | 0 | 0 | 0 | 0 | 0/50 Spellcasting | X | 1 | 100 | 1 | 171 | 112/119 Conjurations | X | 0 | 0 | 10 | 2775 | 0/600 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 | 0 | 0 | 0 | 0 | 0/50 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 | 12 | 3405 | 0/631 Invocations | X | 0 | 0 | 9 | 1892 | 0/441 Evocations | X | 0 | 0 | 6 | 882 | 0/295 Shapeshifting | X | 0 | 0 | 0 | 0 | 0/59 Spell bugs: Durations: #114: 22 Attributes: #12: 1057 #49: 1350 #73: 194213 Mutations: camouflage: 1 (innate) gelatinous body: 1 (innate) nimble swimmer: 1 (innate) tentacles: 1 (innate) Cocytus destruction: 1 (innate) Inventory bugs: Equipment: eq slot #9, inv slot #2: ring of protection from cold eq slot #9, inv slot #5: +6 ring of dexterity eq slot #10, inv slot #10: amulet of reflection eq slot #1, inv slot #12: +8 short sword of the Valley {freeze, rN+ rCorr} eq slot #9, inv slot #13: ring of protection from cold eq slot #9, inv slot #14: ring of resist corrosion eq slot #9, inv slot #17: ring of protection from cold eq slot #9, inv slot #20: ring of see invisible eq slot #2, inv slot #24: +3 warlock's mirror {omnireflect} }}}}}}}}}}} Unlinked temporary item: whip item #3: base: 0; sub: 1; plus: 0; plus2: 0; special: 0 quant: 1; ident: 0x00000000; ident_type: 0 x: 0; y: 0; link: 27000 Webtiles message buffer: Webtiles JSON stack: Map: ################################################################################ ################################################################################ ################################################################################ ################################################################################ ################################################################################ ################################################################################ ################################################################################ ################################################################################ ################################################################################ ################################################################################ ################################################################################ ################################################################################ ################################################################################ ################################################################################ ################################################################################ ################################################################################ ################################################################################ ################################################################################ ################################################################################ #############################.....##∩..#####..∩##.....########################## #############################......##∩..###..∩##......########################## #############################.......##...#...##.......########################## ##############################.......###...###.......########################### ###############################.....................############################ ################################...................############################# ################################..###.........###..############################# ################################..###.........###..############################# ################################..###.........###..############################# ################################..###....⌠....###..############################# ################################..###.........###..############################# ################################..###.........###..############################# ################################..###.........###..############################# ################################...................############################# #############################.........................########################## #############################.........................########################## #############################.....###.........###.....########################## #############################.....###.........###.....########################## #####################################.........################################## #####################################.........################################## #####################################.........################################## #######################################.....#################################### #####################################.........################################## #######################################.....#################################### ################################################################################ ################################################################################ ################################################################################ ################################################################################ ################################################################################ ################################################################################ ################################################################################ ################################################################################ ################################################################################ ################################################################################ ################################################################################ ################################################################################ ################################################################################ ################################################################################ ################################################################################ ################################################################################ ################################################################################ ################################################################################ ################################################################################ ################################################################################ ################################################################################ ################################################################################ ################################################################################ ################################################################################ ################################################################################ ################################################################################ ################################################################################ dlua errors: clua stack: dlua stack: Lua persistent data: <<<<<<<<<<<<<<<<<<<<<< necropolis_difficulty: pre_temple_d bailey_type: bailey_axe >>>>>>>>>>>>>>>>>>>>>> Lua marker contents: <<<<<<<<<<<<<<<<<<<<<< >>>>>>>>>>>>>>>>>>>>>>