From 3a2c2437079a7513c799793cd365d17a6e9195a4 Mon Sep 17 00:00:00 2001 From: Charles Otto Date: Sat, 3 Oct 2009 18:05:43 -0400 Subject: Increase the piety gain from decomposition, list the fruit cost for growth and evolution on the a and ^ screens. Add toadstools to the list of monsters Feawn protects. --- crawl-ref/source/abl-show.cc | 21 +++++++++++++++++---- crawl-ref/source/religion.cc | 10 +++------- 2 files changed, 20 insertions(+), 11 deletions(-) (limited to 'crawl-ref/source') diff --git a/crawl-ref/source/abl-show.cc b/crawl-ref/source/abl-show.cc index 29303e611a..a7ca2511d2 100644 --- a/crawl-ref/source/abl-show.cc +++ b/crawl-ref/source/abl-show.cc @@ -75,7 +75,8 @@ enum ability_flag_type ABFLAG_INSTANT = 0x00000020, // doesn't take time to use ABFLAG_PERMANENT_HP = 0x00000040, // costs permanent HPs ABFLAG_PERMANENT_MP = 0x00000080, // costs permanent MPs - ABFLAG_CONF_OK = 0x00000100 // can use even if confused + ABFLAG_CONF_OK = 0x00000100, // can use even if confused + ABFLAG_FRUIT = 0x00000200 // ability requires fruit }; static void _lugonu_bends_space(); @@ -332,10 +333,10 @@ static const ability_def Ability_List[] = { ABIL_FEAWN_PLANTWALK, "Plant Walking", 0, 0, 0, 0, ABFLAG_NONE }, { ABIL_FEAWN_FUNGAL_BLOOM, "Decomposition", 0, 0, 0, 0, ABFLAG_NONE }, { ABIL_FEAWN_SUNLIGHT, "Sunlight", 2, 0, 0, 0, ABFLAG_NONE}, - { ABIL_FEAWN_PLANT_RING, "Growth", 2, 0, 0, 1, ABFLAG_NONE}, + { ABIL_FEAWN_PLANT_RING, "Growth", 2, 0, 0, 1, ABFLAG_FRUIT}, { ABIL_FEAWN_RAIN, "Rain", 4, 0, 100, 2, ABFLAG_NONE}, { ABIL_FEAWN_SPAWN_SPORES, "Reproduction", 4, 0, 50, 2, ABFLAG_NONE}, - { ABIL_FEAWN_EVOLUTION, "Evolution", 4, 0, 50, 2, ABFLAG_NONE}, + { ABIL_FEAWN_EVOLUTION, "Evolution", 4, 0, 0, 2, ABFLAG_FRUIT}, { ABIL_HARM_PROTECTION, "Protection From Harm", 0, 0, 0, 0, ABFLAG_NONE }, @@ -480,6 +481,13 @@ const std::string make_cost_description(ability_type ability) ret << "Instant"; // not really a cost, more of a bonus -bwr } + if (abil.flags & ABFLAG_FRUIT) + { + if(!ret.str().empty()) + ret << ", "; + + ret << "Fruit"; + } // If we haven't output anything so far, then the effect has no cost if (ret.str().empty()) @@ -1968,7 +1976,12 @@ static bool _do_ability(const ability_def& abil) // where level = 10 // so the chance of gaining 1 piety from a corpse sacrifice to a blood // god is (14/20 == 70/100) - int piety_gain = binomial_generator(count, 70); + // + // Doubling the expected value per sacrifice to approximate the + // extra piety gain blood god worshipers get for the initial kill. + // -cao + + int piety_gain = binomial_generator(count*2, 70); gain_piety(piety_gain); break; } diff --git a/crawl-ref/source/religion.cc b/crawl-ref/source/religion.cc index bd1d3447aa..d795add735 100644 --- a/crawl-ref/source/religion.cc +++ b/crawl-ref/source/religion.cc @@ -6587,8 +6587,7 @@ bool feawn_passthrough(const monsters * target) && mons_is_stationary(target)); } -// Feawn worshipers are on the hook for most plants and fungi, but not -// toadstools and giant spores because they die too easily. +// Feawn worshipers are on the hook for most plants and fungi // // If feawn worshipers kill a protected monster they lose piety, // if they attack a friendly one they get penance, @@ -6596,7 +6595,6 @@ bool feawn_passthrough(const monsters * target) bool feawn_protects_species(int mc) { return (mons_class_is_plant(mc) - && mc != MONS_TOADSTOOL && mc != MONS_GIANT_SPORE); } @@ -6605,12 +6603,10 @@ bool feawn_protects(const monsters * target) return target && feawn_protects_species(target->mons_species()); } -// Feawn neutralises most plants and fungi but skips toadstools to prevent -// message spam (and killing them doesn't even cause piety loss). +// Feawn neutralises most plants and fungi bool feawn_neutralises(const monsters * target) { - return (target && mons_is_plant(target) - && target->mons_species() != MONS_TOADSTOOL); + return (target && mons_is_plant(target)); } void jiyva_convert_slime(monsters* slime) -- cgit v1.2.3-54-g00ecf