diff options
author | Neil Moore <neil@s-z.org> | 2013-05-29 22:06:06 -0400 |
---|---|---|
committer | Neil Moore <neil@s-z.org> | 2013-05-29 22:06:06 -0400 |
commit | 3259975a78f2e202c4f348a76db3fecec76a19ae (patch) | |
tree | 4cb9fb5c9677b95a943c4050fd9048593c5fa246 /crawl-ref/source/species.cc | |
parent | fad644818c9b5118a796b3e3ec486dc38c53cd52 (diff) | |
parent | bad48d64c2a38978bf4ccf19931ea0483f60c843 (diff) | |
download | crawl-ref-3259975a78f2e202c4f348a76db3fecec76a19ae.tar.gz crawl-ref-3259975a78f2e202c4f348a76db3fecec76a19ae.zip |
Merge branch 'lava_djinn' into master
Conflicts:
crawl-ref/source/enum.h
Diffstat (limited to 'crawl-ref/source/species.cc')
-rw-r--r-- | crawl-ref/source/species.cc | 38 |
1 files changed, 36 insertions, 2 deletions
diff --git a/crawl-ref/source/species.cc b/crawl-ref/source/species.cc index 94c4cf4e5d..85e0013c6a 100644 --- a/crawl-ref/source/species.cc +++ b/crawl-ref/source/species.cc @@ -21,7 +21,7 @@ static species_type species_order[] = { SP_HUMAN, SP_HIGH_ELF, SP_DEEP_ELF, SP_SLUDGE_ELF, SP_DEEP_DWARF, SP_HILL_ORC, - SP_MERFOLK, + SP_LAVA_ORC, SP_MERFOLK, // small species SP_HALFLING, SP_KOBOLD, SP_SPRIGGAN, @@ -32,6 +32,7 @@ static species_type species_order[] = { SP_BASE_DRACONIAN, // celestial species SP_DEMIGOD, SP_DEMONSPAWN, + SP_DJINNI, // undead species SP_MUMMY, SP_GHOUL, SP_VAMPIRE, @@ -59,7 +60,7 @@ static const char * Species_Abbrev_List[NUM_SPECIES] = // the draconians "Dr", "Dr", "Dr", "Dr", "Dr", "Dr", "Dr", "Dr", "Dr", "Dr", "Ce", "Dg", "Sp", "Mi", "Ds", "Gh", "Te", "Mf", "Vp", "DD", - "Fe", "Op", + "Fe", "Op", "Dj", "LO", // placeholders "El", "HD", "OM", "GE", "Gn", "MD", }; @@ -160,6 +161,21 @@ string species_name(species_type speci, bool genus, bool adj) } } break; + case GENPC_ORCISH: + if (adj) // doesn't care about species/genus + res = "Orcish"; + else if (genus) + res = "Orc"; + else + { + switch (speci) + { + case SP_HILL_ORC: res = "Hill Orc"; break; + case SP_LAVA_ORC: res = "Lava Orc"; break; + default: res = "Orc"; break; + } + } + break; case GENPC_NONE: default: switch (speci) @@ -194,6 +210,7 @@ string species_name(species_type speci, bool genus, bool adj) case SP_GHOUL: res = (adj ? "Ghoulish" : "Ghoul"); break; case SP_MERFOLK: res = (adj ? "Merfolkian" : "Merfolk"); break; case SP_VAMPIRE: res = (adj ? "Vampiric" : "Vampire"); break; + case SP_DJINNI: res = (adj ? "Djinn" : "Djinni"); break; default: res = (adj ? "Yakish" : "Yak"); break; } } @@ -222,6 +239,11 @@ bool species_likes_water(species_type species) || species == SP_OCTOPODE); } +bool species_likes_lava(species_type species) +{ + return (species == SP_LAVA_ORC); +} + genus_type species_genus(species_type species) { switch (species) @@ -243,6 +265,10 @@ genus_type species_genus(species_type species) case SP_SLUDGE_ELF: return GENPC_ELVEN; + case SP_HILL_ORC: + case SP_LAVA_ORC: + return GENPC_ORCISH; + default: return GENPC_NONE; } @@ -289,6 +315,8 @@ monster_type player_species_to_mons_species(species_type species) return MONS_HALFLING; case SP_HILL_ORC: return MONS_ORC; + case SP_LAVA_ORC: + return MONS_LAVA_ORC; case SP_KOBOLD: return MONS_KOBOLD; case SP_MUMMY: @@ -343,6 +371,8 @@ monster_type player_species_to_mons_species(species_type species) return MONS_FELID; case SP_OCTOPODE: return MONS_OCTOPODE; + case SP_DJINNI: + return MONS_DJINNI; case SP_ELF: case SP_HILL_DWARF: case SP_MOUNTAIN_DWARF: @@ -402,6 +432,8 @@ int species_exp_modifier(species_type species) case SP_VAMPIRE: case SP_TROLL: case SP_DEMONSPAWN: + case SP_DJINNI: + case SP_LAVA_ORC: return -1; case SP_DEMIGOD: return -2; @@ -426,6 +458,7 @@ int species_hp_modifier(species_type species) case SP_SLUDGE_ELF: case SP_HALFLING: case SP_OCTOPODE: + case SP_DJINNI: return -1; default: return 0; @@ -443,6 +476,7 @@ int species_hp_modifier(species_type species) case SP_PALE_DRACONIAN: case SP_GHOUL: case SP_HILL_ORC: + case SP_LAVA_ORC: case SP_MINOTAUR: return 1; case SP_DEEP_DWARF: |