diff options
author | j-p-e-g <j-p-e-g@c06c8d41-db1a-0410-9941-cceddc491573> | 2008-07-01 23:17:21 +0000 |
---|---|---|
committer | j-p-e-g <j-p-e-g@c06c8d41-db1a-0410-9941-cceddc491573> | 2008-07-01 23:17:21 +0000 |
commit | d87ab3b04c8c9c7a17db26b4c46befc4c1da94ab (patch) | |
tree | 1e0a2746603cf044723d82f0bcf4c462ea108a5f /crawl-ref/source/newgame.cc | |
parent | 9064de4ac58eaf7b3c4edd9ca908bd5e30dcaf6c (diff) | |
download | crawl-ref-d87ab3b04c8c9c7a17db26b4c46befc4c1da94ab.tar.gz crawl-ref-d87ab3b04c8c9c7a17db26b4c46befc4c1da94ab.zip |
Reorder classes in yet another part of newgame.cc. Also, make DrBe
restricted.
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@6309 c06c8d41-db1a-0410-9941-cceddc491573
Diffstat (limited to 'crawl-ref/source/newgame.cc')
-rw-r--r-- | crawl-ref/source/newgame.cc | 331 |
1 files changed, 167 insertions, 164 deletions
diff --git a/crawl-ref/source/newgame.cc b/crawl-ref/source/newgame.cc index ba3b15445b..90ceb7be97 100644 --- a/crawl-ref/source/newgame.cc +++ b/crawl-ref/source/newgame.cc @@ -1344,62 +1344,35 @@ static char_choice_restriction _class_allowed( species_type speci, return CC_UNRESTRICTED; } - case JOB_WIZARD: - switch (speci) - { - case SP_MOUNTAIN_DWARF: - case SP_HALFLING: - case SP_HILL_ORC: - case SP_GNOME: - case SP_OGRE: - case SP_TROLL: - case SP_CENTAUR: - case SP_SPRIGGAN: - case SP_MINOTAUR: - case SP_GHOUL: - case SP_MERFOLK: - return CC_RESTRICTED; - default: - return CC_UNRESTRICTED; - } - - case JOB_PRIEST: + case JOB_GLADIATOR: switch (speci) { - case SP_DEMIGOD: - return CC_BANNED; - case SP_HIGH_ELF: case SP_GREY_ELF: case SP_DEEP_ELF: - case SP_SLUDGE_ELF: case SP_HALFLING: + case SP_HILL_ORC: case SP_KOBOLD: + case SP_MUMMY: case SP_NAGA: case SP_GNOME: case SP_OGRE: - case SP_TROLL: case SP_OGRE_MAGE: case SP_RED_DRACONIAN: case SP_CENTAUR: case SP_SPRIGGAN: - case SP_MINOTAUR: - case SP_GHOUL: - case SP_KENKU: - case SP_MERFOLK: - case SP_VAMPIRE: return CC_RESTRICTED; default: return CC_UNRESTRICTED; } - case JOB_THIEF: - return CC_RESTRICTED; - - case JOB_GLADIATOR: + case JOB_MONK: switch (speci) { + case SP_HUMAN: + case SP_HIGH_ELF: case SP_GREY_ELF: case SP_DEEP_ELF: + case SP_MOUNTAIN_DWARF: case SP_HALFLING: case SP_HILL_ORC: case SP_KOBOLD: @@ -1408,28 +1381,36 @@ static char_choice_restriction _class_allowed( species_type speci, case SP_GNOME: case SP_OGRE: case SP_OGRE_MAGE: - case SP_RED_DRACONIAN: - case SP_CENTAUR: + case SP_DEMIGOD: case SP_SPRIGGAN: + case SP_KENKU: + case SP_DEMONSPAWN: return CC_RESTRICTED; default: return CC_UNRESTRICTED; } - case JOB_NECROMANCER: + case JOB_BERSERKER: switch (speci) { + case SP_DEMIGOD: + return CC_BANNED; case SP_HIGH_ELF: case SP_GREY_ELF: - case SP_MOUNTAIN_DWARF: + case SP_DEEP_ELF: + case SP_SLUDGE_ELF: case SP_HALFLING: + case SP_KOBOLD: + case SP_MUMMY: + case SP_NAGA: case SP_GNOME: - case SP_OGRE: - case SP_TROLL: + case SP_OGRE_MAGE: case SP_CENTAUR: case SP_SPRIGGAN: - case SP_MINOTAUR: + case SP_RED_DRACONIAN: + case SP_GHOUL: case SP_MERFOLK: + case SP_VAMPIRE: return CC_RESTRICTED; default: return CC_UNRESTRICTED; @@ -1464,114 +1445,142 @@ static char_choice_restriction _class_allowed( species_type speci, return CC_UNRESTRICTED; } - case JOB_ASSASSIN: + case JOB_PRIEST: switch (speci) { + case SP_DEMIGOD: + return CC_BANNED; case SP_HIGH_ELF: + case SP_GREY_ELF: case SP_DEEP_ELF: - case SP_MOUNTAIN_DWARF: - case SP_HILL_ORC: + case SP_SLUDGE_ELF: + case SP_HALFLING: + case SP_KOBOLD: case SP_NAGA: + case SP_GNOME: case SP_OGRE: case SP_TROLL: case SP_OGRE_MAGE: case SP_RED_DRACONIAN: case SP_CENTAUR: + case SP_SPRIGGAN: case SP_MINOTAUR: + case SP_GHOUL: + case SP_KENKU: + case SP_MERFOLK: + case SP_VAMPIRE: return CC_RESTRICTED; default: return CC_UNRESTRICTED; } - case JOB_BERSERKER: + case JOB_CHAOS_KNIGHT: switch (speci) { case SP_DEMIGOD: return CC_BANNED; - case SP_HIGH_ELF: case SP_GREY_ELF: case SP_DEEP_ELF: - case SP_SLUDGE_ELF: - case SP_HALFLING: - case SP_KOBOLD: - case SP_MUMMY: case SP_NAGA: - case SP_GNOME: case SP_OGRE_MAGE: - case SP_CENTAUR: case SP_SPRIGGAN: - case SP_GHOUL: - case SP_MERFOLK: - case SP_VAMPIRE: + case SP_KENKU: return CC_RESTRICTED; default: return CC_UNRESTRICTED; } - case JOB_HUNTER: + case JOB_DEATH_KNIGHT: + switch (speci) + { + case SP_GREY_ELF: + case SP_NAGA: + case SP_OGRE_MAGE: + case SP_SPRIGGAN: + case SP_KENKU: + return CC_RESTRICTED; + default: + return CC_UNRESTRICTED; + } + + case JOB_HEALER: switch (speci) { - case SP_HALFLING: - case SP_KOBOLD: case SP_MUMMY: + case SP_DEMIGOD: + case SP_DEMONSPAWN: + case SP_GHOUL: + case SP_VAMPIRE: + return CC_BANNED; + case SP_DEEP_ELF: + case SP_HALFLING: case SP_NAGA: case SP_GNOME: case SP_OGRE: case SP_TROLL: case SP_OGRE_MAGE: - case SP_RED_DRACONIAN: case SP_SPRIGGAN: - case SP_GHOUL: - case SP_VAMPIRE: + case SP_MERFOLK: return CC_RESTRICTED; default: return CC_UNRESTRICTED; } - case JOB_CONJURER: + case JOB_CRUSADER: switch (speci) { - case SP_HALFLING: + case SP_SLUDGE_ELF: + case SP_MOUNTAIN_DWARF: case SP_HILL_ORC: - case SP_GNOME: + case SP_MUMMY: + case SP_NAGA: case SP_OGRE: case SP_TROLL: + case SP_OGRE_MAGE: case SP_CENTAUR: case SP_SPRIGGAN: case SP_MINOTAUR: case SP_GHOUL: - case SP_MERFOLK: + case SP_KENKU: case SP_VAMPIRE: return CC_RESTRICTED; default: return CC_UNRESTRICTED; } - case JOB_ENCHANTER: + case JOB_REAVER: switch (speci) { + case SP_HUMAN: case SP_SLUDGE_ELF: - case SP_MOUNTAIN_DWARF: + case SP_HALFLING: case SP_HILL_ORC: + case SP_KOBOLD: case SP_MUMMY: case SP_NAGA: + case SP_GNOME: case SP_OGRE: case SP_TROLL: case SP_OGRE_MAGE: case SP_RED_DRACONIAN: case SP_CENTAUR: + case SP_SPRIGGAN: case SP_MINOTAUR: + case SP_DEMONSPAWN: case SP_GHOUL: case SP_KENKU: + case SP_VAMPIRE: return CC_RESTRICTED; default: return CC_UNRESTRICTED; } - case JOB_FIRE_ELEMENTALIST: + case JOB_WIZARD: switch (speci) { + case SP_MOUNTAIN_DWARF: case SP_HALFLING: + case SP_HILL_ORC: case SP_GNOME: case SP_OGRE: case SP_TROLL: @@ -1580,17 +1589,14 @@ static char_choice_restriction _class_allowed( species_type speci, case SP_MINOTAUR: case SP_GHOUL: case SP_MERFOLK: - case SP_VAMPIRE: - case SP_RED_DRACONIAN: return CC_RESTRICTED; default: return CC_UNRESTRICTED; } - case JOB_ICE_ELEMENTALIST: + case JOB_CONJURER: switch (speci) { - case SP_MOUNTAIN_DWARF: case SP_HALFLING: case SP_HILL_ORC: case SP_GNOME: @@ -1600,8 +1606,29 @@ static char_choice_restriction _class_allowed( species_type speci, case SP_SPRIGGAN: case SP_MINOTAUR: case SP_GHOUL: + case SP_MERFOLK: case SP_VAMPIRE: + return CC_RESTRICTED; + default: + return CC_UNRESTRICTED; + } + + case JOB_ENCHANTER: + switch (speci) + { + case SP_SLUDGE_ELF: + case SP_MOUNTAIN_DWARF: + case SP_HILL_ORC: + case SP_MUMMY: + case SP_NAGA: + case SP_OGRE: + case SP_TROLL: + case SP_OGRE_MAGE: case SP_RED_DRACONIAN: + case SP_CENTAUR: + case SP_MINOTAUR: + case SP_GHOUL: + case SP_KENKU: return CC_RESTRICTED; default: return CC_UNRESTRICTED; @@ -1632,39 +1659,46 @@ static char_choice_restriction _class_allowed( species_type speci, return CC_UNRESTRICTED; } - case JOB_AIR_ELEMENTALIST: + case JOB_NECROMANCER: switch (speci) { + case SP_HIGH_ELF: + case SP_GREY_ELF: case SP_MOUNTAIN_DWARF: - case SP_HILL_ORC: - case SP_MUMMY: + case SP_HALFLING: case SP_GNOME: case SP_OGRE: case SP_TROLL: case SP_CENTAUR: + case SP_SPRIGGAN: case SP_MINOTAUR: - case SP_GHOUL: case SP_MERFOLK: - case SP_VAMPIRE: return CC_RESTRICTED; default: return CC_UNRESTRICTED; } - case JOB_EARTH_ELEMENTALIST: + case JOB_WARPER: switch (speci) { - case SP_HIGH_ELF: + case SP_HUMAN: case SP_GREY_ELF: + case SP_DEEP_ELF: + case SP_SLUDGE_ELF: + case SP_MOUNTAIN_DWARF: case SP_HALFLING: case SP_HILL_ORC: + case SP_KOBOLD: + case SP_MUMMY: case SP_NAGA: + case SP_GNOME: case SP_OGRE: case SP_TROLL: + case SP_OGRE_MAGE: case SP_RED_DRACONIAN: case SP_CENTAUR: - case SP_SPRIGGAN: case SP_MINOTAUR: + case SP_DEMONSPAWN: case SP_GHOUL: case SP_KENKU: case SP_MERFOLK: @@ -1674,46 +1708,55 @@ static char_choice_restriction _class_allowed( species_type speci, return CC_UNRESTRICTED; } - case JOB_CRUSADER: + case JOB_TRANSMUTER: switch (speci) { - case SP_SLUDGE_ELF: + case SP_HUMAN: + case SP_HIGH_ELF: + case SP_GREY_ELF: + case SP_DEEP_ELF: case SP_MOUNTAIN_DWARF: + case SP_HALFLING: case SP_HILL_ORC: + case SP_KOBOLD: case SP_MUMMY: - case SP_NAGA: + case SP_GNOME: case SP_OGRE: case SP_TROLL: case SP_OGRE_MAGE: + case SP_RED_DRACONIAN: case SP_CENTAUR: - case SP_SPRIGGAN: case SP_MINOTAUR: + case SP_DEMONSPAWN: case SP_GHOUL: case SP_KENKU: - case SP_VAMPIRE: return CC_RESTRICTED; default: return CC_UNRESTRICTED; } - case JOB_DEATH_KNIGHT: + case JOB_FIRE_ELEMENTALIST: switch (speci) { - case SP_GREY_ELF: - case SP_NAGA: - case SP_OGRE_MAGE: + case SP_HALFLING: + case SP_GNOME: + case SP_OGRE: + case SP_TROLL: + case SP_CENTAUR: case SP_SPRIGGAN: - case SP_KENKU: + case SP_MINOTAUR: + case SP_GHOUL: + case SP_MERFOLK: + case SP_VAMPIRE: + case SP_RED_DRACONIAN: return CC_RESTRICTED; default: return CC_UNRESTRICTED; } - case JOB_VENOM_MAGE: + case JOB_ICE_ELEMENTALIST: switch (speci) { - case SP_HIGH_ELF: - case SP_GREY_ELF: case SP_MOUNTAIN_DWARF: case SP_HALFLING: case SP_HILL_ORC: @@ -1721,101 +1764,72 @@ static char_choice_restriction _class_allowed( species_type speci, case SP_OGRE: case SP_TROLL: case SP_CENTAUR: + case SP_SPRIGGAN: case SP_MINOTAUR: case SP_GHOUL: case SP_VAMPIRE: + case SP_RED_DRACONIAN: return CC_RESTRICTED; default: return CC_UNRESTRICTED; } - case JOB_CHAOS_KNIGHT: - switch (speci) - { - case SP_DEMIGOD: - return CC_BANNED; - case SP_GREY_ELF: - case SP_DEEP_ELF: - case SP_NAGA: - case SP_OGRE_MAGE: - case SP_SPRIGGAN: - case SP_KENKU: - return CC_RESTRICTED; - default: - return CC_UNRESTRICTED; - } - - case JOB_TRANSMUTER: + case JOB_AIR_ELEMENTALIST: switch (speci) { - case SP_HUMAN: - case SP_HIGH_ELF: - case SP_GREY_ELF: - case SP_DEEP_ELF: case SP_MOUNTAIN_DWARF: - case SP_HALFLING: case SP_HILL_ORC: - case SP_KOBOLD: case SP_MUMMY: case SP_GNOME: case SP_OGRE: case SP_TROLL: - case SP_OGRE_MAGE: - case SP_RED_DRACONIAN: case SP_CENTAUR: case SP_MINOTAUR: - case SP_DEMONSPAWN: case SP_GHOUL: - case SP_KENKU: + case SP_MERFOLK: + case SP_VAMPIRE: return CC_RESTRICTED; default: return CC_UNRESTRICTED; } - case JOB_HEALER: + case JOB_EARTH_ELEMENTALIST: switch (speci) { - case SP_MUMMY: - case SP_DEMIGOD: - case SP_DEMONSPAWN: - case SP_GHOUL: - case SP_VAMPIRE: - return CC_BANNED; - case SP_DEEP_ELF: + case SP_HIGH_ELF: + case SP_GREY_ELF: case SP_HALFLING: + case SP_HILL_ORC: case SP_NAGA: - case SP_GNOME: case SP_OGRE: case SP_TROLL: - case SP_OGRE_MAGE: + case SP_RED_DRACONIAN: + case SP_CENTAUR: case SP_SPRIGGAN: + case SP_MINOTAUR: + case SP_GHOUL: + case SP_KENKU: case SP_MERFOLK: + case SP_VAMPIRE: return CC_RESTRICTED; default: return CC_UNRESTRICTED; } - case JOB_REAVER: + case JOB_VENOM_MAGE: switch (speci) { - case SP_HUMAN: - case SP_SLUDGE_ELF: + case SP_HIGH_ELF: + case SP_GREY_ELF: + case SP_MOUNTAIN_DWARF: case SP_HALFLING: case SP_HILL_ORC: - case SP_KOBOLD: - case SP_MUMMY: - case SP_NAGA: case SP_GNOME: case SP_OGRE: case SP_TROLL: - case SP_OGRE_MAGE: - case SP_RED_DRACONIAN: case SP_CENTAUR: - case SP_SPRIGGAN: case SP_MINOTAUR: - case SP_DEMONSPAWN: case SP_GHOUL: - case SP_KENKU: case SP_VAMPIRE: return CC_RESTRICTED; default: @@ -1842,41 +1856,32 @@ static char_choice_restriction _class_allowed( species_type speci, return CC_UNRESTRICTED; } - case JOB_MONK: + case JOB_THIEF: + return CC_RESTRICTED; + + case JOB_ASSASSIN: switch (speci) { - case SP_HUMAN: case SP_HIGH_ELF: - case SP_GREY_ELF: case SP_DEEP_ELF: case SP_MOUNTAIN_DWARF: - case SP_HALFLING: case SP_HILL_ORC: - case SP_KOBOLD: - case SP_MUMMY: case SP_NAGA: - case SP_GNOME: case SP_OGRE: + case SP_TROLL: case SP_OGRE_MAGE: - case SP_DEMIGOD: - case SP_SPRIGGAN: - case SP_KENKU: - case SP_DEMONSPAWN: + case SP_RED_DRACONIAN: + case SP_CENTAUR: + case SP_MINOTAUR: return CC_RESTRICTED; default: return CC_UNRESTRICTED; } - case JOB_WARPER: + case JOB_HUNTER: switch (speci) { - case SP_HUMAN: - case SP_GREY_ELF: - case SP_DEEP_ELF: - case SP_SLUDGE_ELF: - case SP_MOUNTAIN_DWARF: case SP_HALFLING: - case SP_HILL_ORC: case SP_KOBOLD: case SP_MUMMY: case SP_NAGA: @@ -1885,12 +1890,8 @@ static char_choice_restriction _class_allowed( species_type speci, case SP_TROLL: case SP_OGRE_MAGE: case SP_RED_DRACONIAN: - case SP_CENTAUR: - case SP_MINOTAUR: - case SP_DEMONSPAWN: + case SP_SPRIGGAN: case SP_GHOUL: - case SP_KENKU: - case SP_MERFOLK: case SP_VAMPIRE: return CC_RESTRICTED; default: @@ -2463,6 +2464,8 @@ static bool _is_valid_religion(god_type god) if (god == GOD_BEOGH) return (you.species == SP_HILL_ORC); + else if (you.char_class == GOD_PRIEST && you.species == SP_HILL_ORC) + return (CC_RESTRICTED); switch (you.species) { |