summaryrefslogtreecommitdiffstats
path: root/crawl-ref
diff options
context:
space:
mode:
authorCharles Otto <ottochar@gmail.com>2009-10-03 18:05:43 -0400
committerunknown <caotto@.(none)>2009-10-05 23:54:34 -0400
commit3a2c2437079a7513c799793cd365d17a6e9195a4 (patch)
tree6c38a1e08623f1d2b0dd7ea1448cb8d295a35ea2 /crawl-ref
parent5eb01527a7ee911e6a7f2022e9bdfdc236095b99 (diff)
downloadcrawl-ref-3a2c2437079a7513c799793cd365d17a6e9195a4.tar.gz
crawl-ref-3a2c2437079a7513c799793cd365d17a6e9195a4.zip
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.
Diffstat (limited to 'crawl-ref')
-rw-r--r--crawl-ref/source/abl-show.cc21
-rw-r--r--crawl-ref/source/religion.cc10
2 files changed, 20 insertions, 11 deletions
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)