diff options
author | j-p-e-g <j-p-e-g@c06c8d41-db1a-0410-9941-cceddc491573> | 2008-04-28 19:43:31 +0000 |
---|---|---|
committer | j-p-e-g <j-p-e-g@c06c8d41-db1a-0410-9941-cceddc491573> | 2008-04-28 19:43:31 +0000 |
commit | 7fbcd22e430fcc3db5bf8e09a6dc02b80adeda77 (patch) | |
tree | dc6be651f1132a3e33a0e8b4cd8d428dfe29f10e | |
parent | b30be80f8944e4ca675add68e8d769788f00cd7d (diff) | |
download | crawl-ref-7fbcd22e430fcc3db5bf8e09a6dc02b80adeda77.tar.gz crawl-ref-7fbcd22e430fcc3db5bf8e09a6dc02b80adeda77.zip |
Fix sort_menus option to let "any" override the default "pickup" setting
and still use any as "anything but those already defined" when needed.
(If that makes any sense.)
Remove need for prayer for Vehumet's prayer boost effects. I admit I'm
not entirely convinced of this change myself, but currently the problem
is that there's hardly ever any reason *not* to pray. What we'd need
instead are sensible drawbacks...
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@4757 c06c8d41-db1a-0410-9941-cceddc491573
-rw-r--r-- | crawl-ref/source/invent.cc | 2 | ||||
-rw-r--r-- | crawl-ref/source/output.cc | 12 | ||||
-rw-r--r-- | crawl-ref/source/player.cc | 4 | ||||
-rw-r--r-- | crawl-ref/source/religion.cc | 7 | ||||
-rw-r--r-- | crawl-ref/source/spl-cast.cc | 5 |
5 files changed, 14 insertions, 16 deletions
diff --git a/crawl-ref/source/invent.cc b/crawl-ref/source/invent.cc index cfe295166b..0674a06890 100644 --- a/crawl-ref/source/invent.cc +++ b/crawl-ref/source/invent.cc @@ -534,7 +534,7 @@ void init_item_sort_comparators(item_sort_comparators &list, const menu_sort_condition *InvMenu::find_menu_sort_condition() const { - for (int i = 0, size = Options.sort_menus.size(); i < size; ++i) + for (int i = Options.sort_menus.size() - 1; i >= 0; --i) if (Options.sort_menus[i].matches(type)) return &Options.sort_menus[i]; diff --git a/crawl-ref/source/output.cc b/crawl-ref/source/output.cc index 32c1bea0f5..68dd12a5e0 100644 --- a/crawl-ref/source/output.cc +++ b/crawl-ref/source/output.cc @@ -1566,9 +1566,9 @@ std::vector<formatted_string> get_full_detail(bool calc_unid, long sc) } const int rinvi = player_see_invis(calc_unid); - const int rward = wearing_amulet(AMU_WARDING, calc_unid) || - (you.religion == GOD_VEHUMET && you.duration[DUR_PRAYER] && - !player_under_penance() && you.piety >= piety_breakpoint(2)); + const int rward = (wearing_amulet(AMU_WARDING, calc_unid) + || you.religion == GOD_VEHUMET && !player_under_penance() + && you.piety >= piety_breakpoint(2)); const int rcons = wearing_amulet(AMU_CONSERVATION, calc_unid); const int rcorr = wearing_amulet(AMU_RESIST_CORROSION, calc_unid); @@ -1935,9 +1935,9 @@ std::vector<MenuEntry *> _get_overview_screen_results() const int rinvi = player_see_invis(calc_unid); - const int rward = wearing_amulet(AMU_WARDING, calc_unid) || - (you.religion == GOD_VEHUMET && you.duration[DUR_PRAYER] && - !player_under_penance() && you.piety >= piety_breakpoint(2)); + const int rward = (wearing_amulet(AMU_WARDING, calc_unid) + || you.religion == GOD_VEHUMET && !player_under_penance() + && you.piety >= piety_breakpoint(2)); const int rcons = wearing_amulet(AMU_CONSERVATION, calc_unid); const int rcorr = wearing_amulet(AMU_RESIST_CORROSION, calc_unid); const int rclar = wearing_amulet(AMU_CLARITY, calc_unid); diff --git a/crawl-ref/source/player.cc b/crawl-ref/source/player.cc index 973b73f3f0..108462a7e1 100644 --- a/crawl-ref/source/player.cc +++ b/crawl-ref/source/player.cc @@ -6013,8 +6013,8 @@ int player::warding() const if (wearing_amulet(AMU_WARDING)) return (30); - if (religion == GOD_VEHUMET && duration[DUR_PRAYER] - && !player_under_penance() && piety >= piety_breakpoint(2)) + if (religion == GOD_VEHUMET && !player_under_penance() + && piety >= piety_breakpoint(2)) { // Clamp piety at 160 and scale that down to a max of 30. const int wardpiety = piety > 160? 160 : piety; diff --git a/crawl-ref/source/religion.cc b/crawl-ref/source/religion.cc index 3ad061bdfb..6534e9b4fc 100644 --- a/crawl-ref/source/religion.cc +++ b/crawl-ref/source/religion.cc @@ -1516,8 +1516,7 @@ static void _do_god_gift(bool prayed_for) else if (!you.had_book[BOOK_ANNIHILATIONS]) gift = BOOK_ANNIHILATIONS; // conj books - if (you.skills[SK_CONJURATIONS] < - you.skills[SK_SUMMONINGS] + if (you.skills[SK_CONJURATIONS] < you.skills[SK_SUMMONINGS] || gift == NUM_BOOKS) { if (!you.had_book[BOOK_CALLINGS]) @@ -4933,8 +4932,8 @@ bool god_hates_butchery(god_type god) harm_protection_type god_protects_from_harm(god_type god, bool actual) { const int min_piety = piety_breakpoint(0); - bool praying = (you.duration[DUR_PRAYER] && - random2(you.piety) >= min_piety); + bool praying = (you.duration[DUR_PRAYER] + && random2(you.piety) >= min_piety); bool anytime = (one_chance_in(10) || you.piety > random2(1000)); bool penance = you.penance[god]; diff --git a/crawl-ref/source/spl-cast.cc b/crawl-ref/source/spl-cast.cc index c797a21d46..f6fa59eecd 100644 --- a/crawl-ref/source/spl-cast.cc +++ b/crawl-ref/source/spl-cast.cc @@ -242,8 +242,7 @@ static int _apply_spellcasting_success_boosts(spell_type spell, int chance) int wiz_factor = 87; if (you.religion == GOD_VEHUMET - && you.duration[DUR_PRAYER] - && (!player_under_penance() && you.piety >= 50) + && !player_under_penance() && you.piety >= 50 && (spell_typematch(spell, SPTYP_CONJURATION) || spell_typematch(spell, SPTYP_SUMMONING))) { @@ -453,7 +452,7 @@ int spell_fail(spell_type spell) } } - // Apply the effects of Vehumet prayer and items of wizardry. + // Apply the effects of Vehumet and items of wizardry. chance2 = _apply_spellcasting_success_boosts(spell, chance2); if (chance2 > 100) |