summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/player.cc
diff options
context:
space:
mode:
authorj-p-e-g <j-p-e-g@c06c8d41-db1a-0410-9941-cceddc491573>2009-06-27 17:04:31 +0000
committerj-p-e-g <j-p-e-g@c06c8d41-db1a-0410-9941-cceddc491573>2009-06-27 17:04:31 +0000
commit1be101fd1fc43a252cdc4debf475edf0c6dba81b (patch)
tree13e5c780e21268c06bb28c48994f934e906ee62e /crawl-ref/source/player.cc
parent39e1fb93fe8332c69e55c4364d28091a02d52ad5 (diff)
downloadcrawl-ref-1be101fd1fc43a252cdc4debf475edf0c6dba81b.tar.gz
crawl-ref-1be101fd1fc43a252cdc4debf475edf0c6dba81b.zip
Apply patch by Adam Borowski, introducing new unique enchantress Kirke.
This includes a new transformation TRAN_PIG that the player can not end at will but rather will have to time out. Pigs (or rather hogs) are fast but cannot use any equipment except amulets, or cast spells. If the transformation would cause death by stat loss (due to equipment loss) the player is paralysed instead. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@10061 c06c8d41-db1a-0410-9941-cceddc491573
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)