diff options
Diffstat (limited to 'crawl-ref/source/player.cc')
-rw-r--r-- | crawl-ref/source/player.cc | 13 |
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) |