summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Ploog <dploog@users.sourceforge.net>2009-10-06 06:47:01 +0200
committerDavid Ploog <dploog@users.sourceforge.net>2009-10-06 06:47:01 +0200
commit16f1079a86d8c94db9c4d6c466271e07eb6c68c1 (patch)
tree22c4ddb45202d79831820afc9f96ecfae3568780
parentfcb71db1fcffedef3196865d271fc897e562448d (diff)
parent4f27387b9013fc5f79c00b4291c075bc564e5fc4 (diff)
downloadcrawl-ref-16f1079a86d8c94db9c4d6c466271e07eb6c68c1.tar.gz
crawl-ref-16f1079a86d8c94db9c4d6c466271e07eb6c68c1.zip
Merge branch 'master' of ssh://dploog@crawl-ref.git.sourceforge.net/gitroot/crawl-ref/crawl-ref
-rw-r--r--crawl-ref/source/abl-show.cc21
-rw-r--r--crawl-ref/source/religion.cc10
-rw-r--r--crawl-ref/source/spl-book.cc1
3 files changed, 20 insertions, 12 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)
diff --git a/crawl-ref/source/spl-book.cc b/crawl-ref/source/spl-book.cc
index 0cb0960c9b..d9532c3c30 100644
--- a/crawl-ref/source/spl-book.cc
+++ b/crawl-ref/source/spl-book.cc
@@ -1238,7 +1238,6 @@ bool you_cannot_memorise(spell_type spell)
case SPELL_SPIDER_FORM:
case SPELL_STATUE_FORM:
case SPELL_STONESKIN:
- case SPELL_SUMMON_HORRIBLE_THINGS:
case SPELL_SYMBOL_OF_TORMENT:
case SPELL_TAME_BEASTS:
rc = true;