From a59ecb47aaf7a31776f383446c9b5f2788f42d98 Mon Sep 17 00:00:00 2001 From: dolorous Date: Sat, 3 Jan 2009 06:37:43 +0000 Subject: Expand the setting of spell_type in mgen_data to include all monster-creating spells, and avoid assertion failures caused by setting an abjuration duration of 0 and a spell_type to something other than 0. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@8162 c06c8d41-db1a-0410-9941-cceddc491573 --- crawl-ref/source/decks.cc | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) (limited to 'crawl-ref/source/decks.cc') diff --git a/crawl-ref/source/decks.cc b/crawl-ref/source/decks.cc index d2232990d4..b427f6eee2 100644 --- a/crawl-ref/source/decks.cc +++ b/crawl-ref/source/decks.cc @@ -2498,7 +2498,7 @@ static bool _trowel_card(int power, deck_rarity_type rarity) if (create_monster( mgen_data(RANDOM_ELEMENT(golems), - BEH_FRIENDLY, 5, + BEH_FRIENDLY, 5, 0, you.pos(), you.pet_target)) != -1) { mpr("You construct a golem!"); @@ -2684,7 +2684,7 @@ static void _summon_demon_card(int power, deck_rarity_type rarity) create_monster( mgen_data(summon_any_demon(dct), BEH_FRIENDLY, - std::min(power / 50, 6), + std::min(power / 50, 6), 0, you.pos(), you.pet_target)); } @@ -2737,7 +2737,8 @@ static void _summon_any_monster(int power, deck_rarity_type rarity) create_monster( mgen_data(mon_chosen, friendly ? BEH_FRIENDLY : BEH_HOSTILE, - 3, chosen_spot, + 3, 0, + chosen_spot, friendly ? you.pet_target : MHITYOU)); } @@ -2750,7 +2751,7 @@ static void _summon_dancing_weapon(int power, deck_rarity_type rarity) create_monster( mgen_data(MONS_DANCING_WEAPON, friendly ? BEH_FRIENDLY : BEH_HOSTILE, - power_level + 3, you.pos(), + power_level + 3, 0, you.pos(), friendly ? you.pet_target : MHITYOU)); // Given the abundance of Nemelex decks, not setting hard reset @@ -2813,9 +2814,7 @@ static void _summon_flying(int power, deck_rarity_type rarity) // Be nice and don't summon friendly invisibles. monster_type result = MONS_PROGRAM_BUG; do - { result = flytypes[random2(4) + power_level]; - } while (friendly && mons_class_flag(result, M_INVIS) && !player_see_invis()); @@ -2842,7 +2841,7 @@ static void _summon_skeleton(int power, deck_rarity_type rarity) mgen_data( skeltypes[power_level], friendly ? BEH_FRIENDLY : BEH_HOSTILE, - std::min(power / 50, 6), + std::min(power / 50, 6), 0, you.pos(), friendly ? you.pet_target : MHITYOU)); } @@ -2862,7 +2861,7 @@ static void _summon_ugly(int power, deck_rarity_type rarity) create_monster( mgen_data(ugly, friendly ? BEH_FRIENDLY : BEH_HOSTILE, - std::min(power / 50, 6), + std::min(power / 50, 6), 0, you.pos(), friendly ? you.pet_target : MHITYOU)); } -- cgit v1.2.3-54-g00ecf