summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorharanp <haranp@c06c8d41-db1a-0410-9941-cceddc491573>2007-06-25 16:09:27 +0000
committerharanp <haranp@c06c8d41-db1a-0410-9941-cceddc491573>2007-06-25 16:09:27 +0000
commite079a2dd1b6c583624f32a097f4a946d3c6c89c7 (patch)
treed7d8c4a0f4fc27858c2cc2135abfe53930d80881
parent1bbfb19443867f8a1eee94732fb895c82c077e78 (diff)
downloadcrawl-ref-e079a2dd1b6c583624f32a097f4a946d3c6c89c7.tar.gz
crawl-ref-e079a2dd1b6c583624f32a097f4a946d3c6c89c7.zip
Elf genocide. I hope I caught all the references.
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@1650 c06c8d41-db1a-0410-9941-cceddc491573
-rw-r--r--crawl-ref/source/enum.h1
-rw-r--r--crawl-ref/source/newgame.cc74
-rw-r--r--crawl-ref/source/player.cc21
-rw-r--r--crawl-ref/source/skills2.cc43
4 files changed, 12 insertions, 127 deletions
diff --git a/crawl-ref/source/enum.h b/crawl-ref/source/enum.h
index 38c9cac85a..0cd8a141fc 100644
--- a/crawl-ref/source/enum.h
+++ b/crawl-ref/source/enum.h
@@ -3225,7 +3225,6 @@ enum special_wield_type // you.special_wield
enum species_type
{
SP_HUMAN = 1, // 1
- SP_ELF,
SP_HIGH_ELF,
SP_GREY_ELF,
SP_DEEP_ELF, // 5
diff --git a/crawl-ref/source/newgame.cc b/crawl-ref/source/newgame.cc
index 6e787655fd..5df33ee42a 100644
--- a/crawl-ref/source/newgame.cc
+++ b/crawl-ref/source/newgame.cc
@@ -515,7 +515,6 @@ static void racialise_starting_equipment()
// now add appropriate species type mod
switch (you.species)
{
- case SP_ELF:
case SP_HIGH_ELF:
case SP_GREY_ELF:
case SP_DEEP_ELF:
@@ -650,7 +649,6 @@ static void give_species_bonus_hp()
inc_max_hp(1);
break;
- case SP_ELF:
case SP_GREY_ELF:
case SP_HIGH_ELF:
dec_max_hp(1);
@@ -970,7 +968,6 @@ static bool class_allowed( species_type speci, job_type char_class )
switch (speci)
{
case SP_CENTAUR:
- case SP_ELF:
case SP_GHOUL:
case SP_GNOME:
case SP_GREY_ELF:
@@ -1054,7 +1051,6 @@ static bool class_allowed( species_type speci, job_type char_class )
case SP_CENTAUR:
case SP_DEMIGOD:
case SP_DEMONSPAWN:
- case SP_ELF:
case SP_GREY_ELF:
case SP_HIGH_ELF:
case SP_HUMAN:
@@ -1218,7 +1214,6 @@ static bool class_allowed( species_type speci, job_type char_class )
switch (speci)
{
- case SP_ELF:
case SP_GREY_ELF:
case SP_HALFLING:
case SP_HIGH_ELF:
@@ -1267,7 +1262,6 @@ static bool class_allowed( species_type speci, job_type char_class )
switch (speci)
{
- case SP_ELF:
case SP_GHOUL:
case SP_GNOME:
case SP_GREY_ELF:
@@ -1294,7 +1288,6 @@ static bool class_allowed( species_type speci, job_type char_class )
switch (speci)
{
case SP_CENTAUR:
- case SP_ELF:
case SP_GNOME:
case SP_GREY_ELF:
case SP_HALFLING:
@@ -1726,7 +1719,6 @@ static void species_stat_init(species_type which_species)
case SP_DEMIGOD: sb = 7; ib = 7; db = 7; break; // 21+7
case SP_DEMONSPAWN: sb = 4; ib = 4; db = 4; break; // 12+7
- case SP_ELF: sb = 5; ib = 8; db = 8; break; // 21
case SP_HIGH_ELF: sb = 5; ib = 9; db = 8; break; // 22
case SP_GREY_ELF: sb = 4; ib = 9; db = 8; break; // 21
case SP_DEEP_ELF: sb = 3; ib = 10; db = 8; break; // 21
@@ -2880,63 +2872,17 @@ static job_type letter_to_class(int keyn)
static species_type letter_to_species(int keyn)
{
- switch (keyn)
- {
- case 'a':
- return SP_HUMAN;
- case 'b':
- return SP_ELF;
- case 'c':
- return SP_HIGH_ELF;
- case 'd':
- return SP_GREY_ELF;
- case 'e':
- return SP_DEEP_ELF;
- case 'f':
- return SP_SLUDGE_ELF;
- case 'g':
- return SP_HILL_DWARF;
- case 'h':
- return SP_MOUNTAIN_DWARF;
- case 'i':
- return SP_HALFLING;
- case 'j':
- return SP_HILL_ORC;
- case 'k':
- return SP_KOBOLD;
- case 'l':
- return SP_MUMMY;
- case 'm':
- return SP_NAGA;
- case 'n':
- return SP_GNOME;
- case 'o':
- return SP_OGRE;
- case 'p':
- return SP_TROLL;
- case 'q':
- return SP_OGRE_MAGE;
- case 'r': // draconian
- return static_cast<species_type>(SP_RED_DRACONIAN + random2(9));
- case 's':
- return SP_CENTAUR;
- case 't':
- return SP_DEMIGOD;
- case 'u':
- return SP_SPRIGGAN;
- case 'v':
- return SP_MINOTAUR;
- case 'w':
- return SP_DEMONSPAWN;
- case 'x':
- return SP_GHOUL;
- case 'y':
- return SP_KENKU;
- case 'z':
- return SP_MERFOLK;
- default:
+ if ( keyn < 'a' || keyn > 'z' )
return SP_UNKNOWN;
- }
+ const int offset = keyn - 'a';
+ int rc;
+ if ( offset + SP_HUMAN < SP_RED_DRACONIAN )
+ rc = offset + SP_HUMAN;
+ else if ( offset + SP_HUMAN == SP_RED_DRACONIAN ) // random draco
+ rc = SP_RED_DRACONIAN + random2(9);
+ else // skip over draconian species
+ rc = offset + (SP_BASE_DRACONIAN - SP_RED_DRACONIAN) + 1;
+ return static_cast<species_type>(rc);
}
static char species_to_letter(int spec)
diff --git a/crawl-ref/source/player.cc b/crawl-ref/source/player.cc
index e2dfda3b8f..17946f615c 100644
--- a/crawl-ref/source/player.cc
+++ b/crawl-ref/source/player.cc
@@ -402,7 +402,6 @@ bool player_genus(unsigned char which_genus, unsigned char species)
case SP_BASE_DRACONIAN:
return (which_genus == GENPC_DRACONIAN);
- case SP_ELF:
case SP_HIGH_ELF:
case SP_GREY_ELF:
case SP_DEEP_ELF:
@@ -796,7 +795,6 @@ int player_res_magic(void)
break;
case SP_HIGH_ELF:
case SP_GREY_ELF:
- case SP_ELF:
case SP_SLUDGE_ELF:
case SP_HILL_DWARF:
case SP_MOUNTAIN_DWARF:
@@ -2299,19 +2297,6 @@ void level_change(void)
modify_stat(STAT_RANDOM, 1, false);
break;
- case SP_ELF:
- if (you.experience_level % 3)
- hp_adjust--;
- else
- mp_adjust++;
-
- if (!(you.experience_level % 4))
- {
- modify_stat( (coinflip() ? STAT_INTELLIGENCE
- : STAT_DEXTERITY), 1, false );
- }
- break;
-
case SP_HIGH_ELF:
if (you.experience_level == 15)
{
@@ -3360,7 +3345,6 @@ char *species_name( int speci, int level, bool genus, bool adj, bool cap )
{
switch (speci)
{
- case SP_ELF:
default:
strcpy( species_buff, "Elf" );
break;
@@ -3553,7 +3537,6 @@ int species_exp_mod(char species)
return 10;
case SP_GNOME:
return 11;
- case SP_ELF:
case SP_SLUDGE_ELF:
case SP_NAGA:
case SP_GHOUL:
@@ -4057,7 +4040,7 @@ void set_mp(int new_amount, bool max_too)
static const char * Species_Abbrev_List[ NUM_SPECIES ] =
- { "XX", "Hu", "El", "HE", "GE", "DE", "SE", "HD", "MD", "Ha",
+ { "XX", "Hu", "HE", "GE", "DE", "SE", "HD", "MD", "Ha",
"HO", "Ko", "Mu", "Na", "Gn", "Og", "Tr", "OM", "Dr", "Dr",
"Dr", "Dr", "Dr", "Dr", "Dr", "Dr", "Dr", "Dr", "Dr", "Dr",
"Ce", "DG", "Sp", "Mi", "DS", "Gh", "Ke", "Mf" };
@@ -5122,7 +5105,7 @@ int player::mons_species() const
{
case SP_HILL_ORC:
return (MONS_ORC);
- case SP_ELF: case SP_HIGH_ELF: case SP_GREY_ELF:
+ case SP_HIGH_ELF: case SP_GREY_ELF:
case SP_DEEP_ELF: case SP_SLUDGE_ELF:
return (MONS_ELF);
default:
diff --git a/crawl-ref/source/skills2.cc b/crawl-ref/source/skills2.cc
index 40f74605b5..2f3507eb17 100644
--- a/crawl-ref/source/skills2.cc
+++ b/crawl-ref/source/skills2.cc
@@ -169,49 +169,6 @@ const int spec_skills[ NUM_SPECIES ][40] =
(100 * 75) / 100, // SK_EVOCATIONS
},
- { // SP_ELF (2)
- 120, // SK_FIGHTING
- 80, // SK_SHORT_BLADES
- 80, // SK_LONG_SWORDS
- 110, // SK_UNUSED_1
- 120, // SK_AXES
- 130, // SK_MACES_FLAILS
- 130, // SK_POLEARMS
- 100, // SK_STAVES
- 120, // SK_SLINGS
- 60, // SK_BOWS
- 100, // SK_CROSSBOWS
- 90, // SK_DARTS
- 80, // SK_RANGED_COMBAT
- 120, // SK_ARMOUR
- 80, // SK_DODGING
- 80, // SK_STEALTH
- 100, // SK_STABBING
- 120, // SK_SHIELDS
- 100, // SK_TRAPS_DOORS
- 110, // SK_UNARMED_COMBAT
- 100, // undefined
- 100, // undefined
- 100, // undefined
- 100, // undefined
- 100, // undefined
- (80 * 130) / 100, // SK_SPELLCASTING
- 105, // SK_CONJURATIONS
- 70, // SK_ENCHANTMENTS
- 100, // SK_SUMMONINGS
- 120, // SK_NECROMANCY
- 100, // SK_TRANSLOCATIONS
- 100, // SK_TRANSMIGRATION
- 100, // SK_DIVINATIONS
- 100, // SK_FIRE_MAGIC
- 100, // SK_ICE_MAGIC
- 70, // SK_AIR_MAGIC
- 130, // SK_EARTH_MAGIC
- 110, // SK_POISON_MAGIC
- (100 * 75) / 100, // SK_INVOCATIONS
- (80 * 75) / 100, // SK_EVOCATIONS
- },
-
{ // SP_HIGH_ELF (3)
100, // SK_FIGHTING
70, // SK_SHORT_BLADES