summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source
diff options
context:
space:
mode:
authorj-p-e-g <j-p-e-g@c06c8d41-db1a-0410-9941-cceddc491573>2007-10-22 21:30:59 +0000
committerj-p-e-g <j-p-e-g@c06c8d41-db1a-0410-9941-cceddc491573>2007-10-22 21:30:59 +0000
commit82fa0cb1d1d28ae309754c0dbcd620c554f7f1d9 (patch)
tree0d267bfac0bd5bb88e60060e030fe60608064aff /crawl-ref/source
parentaa1ef7b743654c99bca7b4dfc6f7d7bfd50307a0 (diff)
downloadcrawl-ref-82fa0cb1d1d28ae309754c0dbcd620c554f7f1d9.tar.gz
crawl-ref-82fa0cb1d1d28ae309754c0dbcd620c554f7f1d9.zip
Changing screaming mutation to influence both frequency
and volume of shouting -> yelling -> screaming. Reduced frequency of level 2 and 3 to make up for greater range. When paralysed, you are unable to scream. Also cleaning up mutation listings. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@2517 c06c8d41-db1a-0410-9941-cceddc491573
Diffstat (limited to 'crawl-ref/source')
-rw-r--r--crawl-ref/source/effects.cc15
-rw-r--r--crawl-ref/source/items.cc2
-rw-r--r--crawl-ref/source/mutation.cc37
-rw-r--r--crawl-ref/source/player.cc13
4 files changed, 39 insertions, 28 deletions
diff --git a/crawl-ref/source/effects.cc b/crawl-ref/source/effects.cc
index 8cf3b45865..6c18ebf4cc 100644
--- a/crawl-ref/source/effects.cc
+++ b/crawl-ref/source/effects.cc
@@ -1702,7 +1702,7 @@ void yell(bool force)
std::string cap_shout = shout_verb;
cap_shout[0] = toupper(cap_shout[0]);
- int noise_level = 12;
+ int noise_level = 12; // "shout"
// Tweak volume for different kinds of vocalisation.
if (shout_verb == "roar")
@@ -1713,6 +1713,10 @@ void yell(bool force)
noise_level = 4;
else if (shout_verb == "__NONE")
noise_level = 0;
+ else if (shout_verb == "yell")
+ noise_level = 14;
+ else if (shout_verb == "scream")
+ noise_level = 16;
if (silenced(you.x_pos, you.y_pos) || you.cannot_speak())
noise_level = 0;
@@ -1721,10 +1725,11 @@ void yell(bool force)
{
if (force)
{
- if (shout_verb == "__NONE")
- mpr("You must scream but have no lips!");
+ if (shout_verb == "__NONE" || you.paralysed())
+ mprf("You feel a strong urge to %s, but you are unable to make a sound!",
+ shout_verb == "__NONE" ? "scream" : shout_verb.c_str());
else
- mprf("A %s rips itself from your lips, but you make no sound!",
+ mprf("You feel a %s rip itself from your throat, but you make no sound!",
shout_verb.c_str());
}
else
@@ -1735,7 +1740,7 @@ void yell(bool force)
if (force)
{
- mprf("A %s rips itself from your lips!", shout_verb.c_str());
+ mprf("A %s rips itself from your throat!", shout_verb.c_str());
noisy( noise_level, you.x_pos, you.y_pos );
return;
}
diff --git a/crawl-ref/source/items.cc b/crawl-ref/source/items.cc
index 14377c9976..c2988051f0 100644
--- a/crawl-ref/source/items.cc
+++ b/crawl-ref/source/items.cc
@@ -2669,7 +2669,7 @@ void handle_time( long time_delta )
handle_god_time();
if (you.mutation[MUT_SCREAM]
- && (random2(100) <= you.mutation[MUT_SCREAM] * 5) )
+ && (random2(100) <= 2 + you.mutation[MUT_SCREAM] * 3) )
{
yell(true);
}
diff --git a/crawl-ref/source/mutation.cc b/crawl-ref/source/mutation.cc
index fac286c24a..f35591372e 100644
--- a/crawl-ref/source/mutation.cc
+++ b/crawl-ref/source/mutation.cc
@@ -105,6 +105,7 @@ const char *mutation_descrip[][3] = {
{"You are surrounded by a mild repulsion field (ev + 1).",
"You are surrounded by a moderate repulsion field (ev + 3).",
"You are surrounded by a strong repulsion field (ev + 5; repel missiles)."},
+
{"Your system is immune to poisons.", "Your system is immune to poisons.",
"Your system is immune to poisons."},
// 10
@@ -171,7 +172,6 @@ const char *mutation_descrip[][3] = {
"You can sense a large area of your surroundings."},
// 30
-
{"You can breathe flames.", "You can breathe fire.",
"You can breathe blasts of fire."},
@@ -191,8 +191,8 @@ const char *mutation_descrip[][3] = {
"Your muscles are very flexible (Dex +2), but weak (Str -2).",
"Your muscles are extremely flexible (Dex +3), but weak (Str -3)."},
- {"You occasionally scream uncontrollably.",
- "You sometimes scream uncontrollably.",
+ {"You occasionally shout uncontrollably.",
+ "You sometimes yell uncontrollably.",
"You frequently scream uncontrollably."},
{"You possess an exceptional clarity of mind.",
@@ -208,8 +208,8 @@ const char *mutation_descrip[][3] = {
{"Your vision is a little blurry.", "Your vision is quite blurry.",
"Your vision is extremely blurry."},
-// 40
+// 40
{"You are somewhat resistant to further mutation.",
"You are somewhat resistant to both further mutation and mutation removal.",
"Your current mutations are irrevocably fixed, and you can mutate no more."},
@@ -254,6 +254,7 @@ const char *mutation_descrip[][3] = {
"You have claws for hands."},
{"You have hooves in place of feet.", "", ""},
+
// 60 - leave some space for more demonic powers...
{"You have very sharp teeth.", "You have extremely sharp teeth.",
@@ -290,7 +291,6 @@ const char *mutation_descrip[][3] = {
{"", "", ""},
// 70
-
{"You are partially covered in red scales (AC + 1).",
"You are mostly covered in red scales (AC + 2).",
"You are covered in red scales (AC + 4)."},
@@ -332,7 +332,6 @@ const char *mutation_descrip[][3] = {
"You are completely covered in purple scales (AC + 6)."},
// 80
-
{"You are partially covered in speckled scales (AC + 1).",
"You are mostly covered in speckled scales (AC + 2).",
"You are covered in speckled scales (AC + 3)."},
@@ -391,6 +390,7 @@ const char *gain_mutation[][3] = {
"Your repulsive radiation grows stronger."},
{"You feel healthy.", "You feel healthy.", "You feel healthy."},
+
// 10
{"You hunger for flesh.", "You hunger for flesh.", "You hunger for flesh."},
@@ -419,6 +419,7 @@ const char *gain_mutation[][3] = {
{"You feel less intelligent.", "You feel less intelligent.",
"You feel less intelligent."},
+
// 20
{"You feel clumsy.", "You feel clumsy.",
"You feel clumsy."},
@@ -450,8 +451,8 @@ const char *gain_mutation[][3] = {
{"You feel aware of your surroundings.",
"You feel more aware of your surroundings.",
"You feel even more aware of your surroundings."},
-// 30
+// 30
{"Your throat feels hot.", "Your throat feels hot.",
"Your throat feels hot."},
@@ -465,11 +466,11 @@ const char *gain_mutation[][3] = {
{"Your muscles feel sore.", "Your muscles feel sore.",
"Your muscles feel sore."},
- {"You feel the urge to scream.", "You feel the urge to scream.",
- "You feel the urge to scream."},
+ {"Your muscles feel loose.", "Your muscles feel loose.",
+ "Your muscles feel loose."},
- {"You feel a little disoriented.", "You feel a little disoriented.",
- "Where the Hells are you?"},
+ {"You feel the urge to shout.", "You feel a strong urge to yell.",
+ "You feel a strong urge to scream."},
{"Your thoughts seem clearer.", "Your thoughts seem clearer.",
"Your thoughts seem clearer."},
@@ -481,8 +482,8 @@ const char *gain_mutation[][3] = {
"You feel your body start to fall apart."},
{"Your vision blurs.", "Your vision blurs.", "Your vision blurs."},
-// 40
+// 40
{"You feel genetically stable.", "You feel genetically stable.",
"You feel genetically immutable."},
@@ -509,8 +510,8 @@ const char *gain_mutation[][3] = {
"Your hands twist into claws."},
{"Your feet shrivel into cloven hooves.", "", ""},
+
// 60
-
{"Your teeth lengthen and sharpen.",
"Your teeth lengthen and sharpen some more.",
"Your teeth are very long and razor-sharp."},
@@ -541,7 +542,6 @@ const char *gain_mutation[][3] = {
{"", "", ""},
// 70
-
{"Red scales grow over part of your body.",
"Red scales spread over more of your body.",
"Red scales cover you completely."},
@@ -572,8 +572,8 @@ const char *gain_mutation[][3] = {
{"Purple scales grow over part of your body.",
"Purple scales spread over more of your body.",
"Purple scales cover you completely."},
- // 80
+ // 80
{"Speckled scales grow over part of your body.",
"Speckled scales spread over more of your body.",
"Speckled scales cover you completely."},
@@ -676,8 +676,8 @@ const char *lose_mutation[][3] = {
{"You feel slightly disorientated.", "You feel slightly disorientated.",
"You feel slightly disorientated."},
-// 30
+// 30
{"A chill runs up and down your throat.",
"A chill runs up and down your throat.",
"A chill runs up and down your throat."},
@@ -695,7 +695,7 @@ const char *lose_mutation[][3] = {
{"Your muscles feel sore.", "Your muscles feel sore.",
"Your muscles feel sore."},
- {"Your urge to scream disappears.", "Your urge to scream lessens.",
+ {"Your urge to shout disappears.", "Your urge to yell lessens.",
"Your urge to scream lessens."},
{"Your thinking seems confused.", "Your thinking seems confused.",
@@ -709,8 +709,8 @@ const char *lose_mutation[][3] = {
{"Your vision sharpens.", "Your vision sharpens a little.",
"Your vision sharpens a little."},
-// 40
+// 40
{"You feel genetically unstable.", "You feel genetically unstable.",
"You feel genetically unstable."},
@@ -739,6 +739,7 @@ const char *lose_mutation[][3] = {
"Your fingernails look duller.", "Your hands feel fleshier."},
{"Your hooves expand and flesh out into feet!", "", ""},
+
// 60
{"Your teeth shrink to normal size.",
"Your teeth shrink and become duller.",
diff --git a/crawl-ref/source/player.cc b/crawl-ref/source/player.cc
index 161d93a54d..4acec82a45 100644
--- a/crawl-ref/source/player.cc
+++ b/crawl-ref/source/player.cc
@@ -5587,6 +5587,9 @@ bool player::cannot_speak() const
if (silenced(x_pos, y_pos))
return (true);
+ if (you.duration[DUR_PARALYSIS])
+ return (true);
+
// No transform that prevents the player from speaking yet.
return (false);
}
@@ -5605,11 +5608,13 @@ std::string player::shout_verb() const
return "squeak";
case TRAN_AIR:
return "__NONE";
- default:
- if (you.mutation[MUT_SCREAM])
- return "scream";
- else
+ default: // depends on SCREAM mutation
+ if (you.mutation[MUT_SCREAM] <= 1)
+ return "shout";
+ else if (you.mutation[MUT_SCREAM] == 2)
return "yell";
+ else
+ return "scream";
}
}