summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/player.cc
diff options
context:
space:
mode:
Diffstat (limited to 'crawl-ref/source/player.cc')
-rw-r--r--crawl-ref/source/player.cc13
1 files changed, 11 insertions, 2 deletions
diff --git a/crawl-ref/source/player.cc b/crawl-ref/source/player.cc
index c04ea520bf..287d8efdf0 100644
--- a/crawl-ref/source/player.cc
+++ b/crawl-ref/source/player.cc
@@ -506,6 +506,8 @@ bool is_player_same_species(const int mon, bool transform)
return (mons_genus(mon) == MONS_WOLF_SPIDER);
case TRAN_DRAGON:
return (mons_genus(mon) == MONS_DRAGON); // Includes all drakes.
+ case TRAN_PIG:
+ return (mons_genus(mon) == MONS_HOG);
default:
break; // Check real (non-transformed) form.
}
@@ -729,8 +731,8 @@ bool you_tran_can_wear(int eq, bool check_mutation)
if (transform == TRAN_NONE || transform == TRAN_LICH)
return (true);
- // Bats cannot wear anything except amulets.
- if (transform == TRAN_BAT && eq != EQ_AMULET)
+ // Bats and pigs cannot wear anything except amulets.
+ if ((transform == TRAN_BAT || transform == TRAN_PIG) && eq != EQ_AMULET)
return (false);
// Everyone else can wear jewellery, at least.
@@ -1966,6 +1968,8 @@ int player_movement_speed(void)
mv = 8;
else if (player_in_bat_form())
mv = 5; // but allowed minimum is six
+ else if (you.attribute[ATTR_TRANSFORMATION] == TRAN_PIG)
+ mv = 7;
// armour
if (player_equip_ego_type( EQ_BOOTS, SPARM_RUNNING ))
@@ -3970,6 +3974,9 @@ void display_char_status()
case TRAN_LICH:
text += "You are in lich-form.";
break;
+ case TRAN_PIG:
+ text += "You are a filthy swine.";
+ break;
}
mpr(text.c_str());
}
@@ -6255,6 +6262,8 @@ std::string player::shout_verb() const
return "hiss";
case TRAN_BAT:
return "squeak";
+ case TRAN_PIG:
+ return "squeal";
default: // depends on SCREAM mutation
int level = player_mutation_level(MUT_SCREAM);
if (level <= 1)