summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/transfor.cc
diff options
context:
space:
mode:
Diffstat (limited to 'crawl-ref/source/transfor.cc')
-rw-r--r--crawl-ref/source/transfor.cc72
1 files changed, 33 insertions, 39 deletions
diff --git a/crawl-ref/source/transfor.cc b/crawl-ref/source/transfor.cc
index 3dc1d8e6a9..b49013bacf 100644
--- a/crawl-ref/source/transfor.cc
+++ b/crawl-ref/source/transfor.cc
@@ -205,8 +205,7 @@ bool transform(int pow, transformation_type which_trans)
if (you.duration[DUR_TRANSFORMATION] > 60)
you.duration[DUR_TRANSFORMATION] = 60;
- modify_stat( STAT_DEXTERITY, 5, true,
- "gaining the spider transformation");
+ modify_stat( STAT_DEXTERITY, 5, true );
you.symbol = 's';
you.colour = BROWN;
@@ -228,10 +227,8 @@ bool transform(int pow, transformation_type which_trans)
if (you.duration[DUR_TRANSFORMATION] > 100)
you.duration[DUR_TRANSFORMATION] = 100;
- modify_stat( STAT_DEXTERITY, 5, true,
- "gaining the bat transformation");
- modify_stat( STAT_STRENGTH, -5, true,
- "gaining the bat transformation" );
+ modify_stat( STAT_DEXTERITY, 5, true );
+ modify_stat( STAT_STRENGTH, -5, true );
you.symbol = 'b';
you.colour = DARKGREY;
@@ -306,10 +303,8 @@ bool transform(int pow, transformation_type which_trans)
if (you.duration[ DUR_TRANSFORMATION ] > 100)
you.duration[ DUR_TRANSFORMATION ] = 100;
- modify_stat( STAT_DEXTERITY, -2, true,
- "gaining the statue transformation" );
- modify_stat( STAT_STRENGTH, 2, true,
- "gaining the statue transformation");
+ modify_stat( STAT_DEXTERITY, -2, true );
+ modify_stat( STAT_STRENGTH, 2, true );
extra_hp(15); // must occur after attribute set
if (you.duration[DUR_STONEMAIL] || you.duration[DUR_STONESKIN])
@@ -337,8 +332,7 @@ bool transform(int pow, transformation_type which_trans)
if (you.duration[ DUR_TRANSFORMATION ] > 100)
you.duration[ DUR_TRANSFORMATION ] = 100;
- modify_stat( STAT_STRENGTH, 10, true,
- "gaining the dragon transformation" );
+ modify_stat( STAT_STRENGTH, 10, true );
extra_hp(16); // must occur after attribute set
you.symbol = 'D';
@@ -384,8 +378,7 @@ bool transform(int pow, transformation_type which_trans)
if (you.duration[ DUR_TRANSFORMATION ] > 100)
you.duration[ DUR_TRANSFORMATION ] = 100;
- modify_stat( STAT_STRENGTH, 3, true,
- "gaining the lich transformation" );
+ modify_stat( STAT_STRENGTH, 3, true );
you.symbol = 'L';
you.colour = LIGHTGREY;
you.is_undead = US_UNDEAD;
@@ -415,8 +408,7 @@ bool transform(int pow, transformation_type which_trans)
if (you.duration[ DUR_TRANSFORMATION ] > 150)
you.duration[ DUR_TRANSFORMATION ] = 150;
- modify_stat( STAT_DEXTERITY, 8, true,
- "gaining the air transformation" );
+ modify_stat( STAT_DEXTERITY, 8, true );
you.symbol = '#';
you.colour = DARKGREY;
@@ -445,8 +437,7 @@ bool transform(int pow, transformation_type which_trans)
if (you.duration[ DUR_TRANSFORMATION ] > 120)
you.duration[ DUR_TRANSFORMATION ] = 120;
- modify_stat( STAT_STRENGTH, 13, true,
- "gaining the Serpent of Hell transformation");
+ modify_stat( STAT_STRENGTH, 13, true );
extra_hp(17); // must occur after attribute set
you.symbol = 'S';
@@ -488,16 +479,13 @@ void untransform(void)
{
case TRAN_SPIDER:
mpr("Your transformation has ended.", MSGCH_DURATION);
- modify_stat( STAT_DEXTERITY, -5, true,
- "losing the spider transformation" );
+ modify_stat( STAT_DEXTERITY, -5, true );
break;
case TRAN_BAT:
mpr("Your transformation has ended.", MSGCH_DURATION);
- modify_stat( STAT_DEXTERITY, -5, true,
- "losing the bat transformation" );
- modify_stat( STAT_STRENGTH, 5, true,
- "losing the bat transformation" );
+ modify_stat( STAT_DEXTERITY, -5, true );
+ modify_stat( STAT_STRENGTH, 5, true );
break;
case TRAN_BLADE_HANDS:
@@ -507,10 +495,8 @@ void untransform(void)
case TRAN_STATUE:
mpr( "You revert to your normal fleshy form.", MSGCH_DURATION );
- modify_stat( STAT_DEXTERITY, 2, true,
- "losing the statue transformation" );
- modify_stat( STAT_STRENGTH, -2, true,
- "losing the statue transformation");
+ modify_stat( STAT_DEXTERITY, 2, true );
+ modify_stat( STAT_STRENGTH, -2, true );
// Note: if the core goes down, the combined effect soon disappears,
// but the reverse isn't true. -- bwr
@@ -538,8 +524,7 @@ void untransform(void)
case TRAN_DRAGON:
mpr( "Your transformation has ended.", MSGCH_DURATION );
- modify_stat(STAT_STRENGTH, -10, true,
- "losing the dragon transformation" );
+ modify_stat(STAT_STRENGTH, -10, true);
// re-check terrain now that be may no longer be flying.
move_player_to_grid( you.x_pos, you.y_pos, false, true, true );
@@ -550,21 +535,18 @@ void untransform(void)
case TRAN_LICH:
mpr( "You feel yourself come back to life.", MSGCH_DURATION );
- modify_stat(STAT_STRENGTH, -3, true,
- "losing the lich transformation" );
+ modify_stat(STAT_STRENGTH, -3, true);
you.is_undead = US_ALIVE;
break;
case TRAN_AIR:
mpr( "Your body solidifies.", MSGCH_DURATION );
- modify_stat(STAT_DEXTERITY, -8, true,
- "losing the air transformation");
+ modify_stat(STAT_DEXTERITY, -8, true);
break;
case TRAN_SERPENT_OF_HELL:
mpr( "Your transformation has ended.", MSGCH_DURATION );
- modify_stat(STAT_STRENGTH, -13, true,
- "losing the Serpent of Hell transformation");
+ modify_stat(STAT_STRENGTH, -13, true);
hp_downscale = 17;
break;
@@ -605,7 +587,19 @@ bool can_equip( equipment_type use_which, bool ignore_temporary )
if (ignore_temporary || !player_is_shapechanged())
/* or a transformation which doesn't change overall shape */
{
- if (use_which == EQ_HELMET)
+ if (use_which == EQ_BOOTS)
+ {
+ switch (you.species)
+ {
+ case SP_NAGA:
+ case SP_CENTAUR:
+ case SP_KENKU:
+ return (false);
+ default:
+ break;
+ }
+ }
+ else if (use_which == EQ_HELMET)
{
switch (you.species)
{
@@ -620,10 +614,10 @@ bool can_equip( equipment_type use_which, bool ignore_temporary )
if (use_which == EQ_HELMET && you.mutation[MUT_HORNS])
return (false);
- if (use_which == EQ_BOOTS && !player_has_feet())
+ if (use_which == EQ_BOOTS && you.mutation[MUT_HOOVES])
return (false);
- if (use_which == EQ_GLOVES && you.has_claws(false) >= 3)
+ if (use_which == EQ_GLOVES && you.mutation[MUT_CLAWS] >= 3)
return (false);
if (!ignore_temporary)