summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/newgame.cc
diff options
context:
space:
mode:
authorj-p-e-g <j-p-e-g@c06c8d41-db1a-0410-9941-cceddc491573>2008-07-01 23:17:21 +0000
committerj-p-e-g <j-p-e-g@c06c8d41-db1a-0410-9941-cceddc491573>2008-07-01 23:17:21 +0000
commitd87ab3b04c8c9c7a17db26b4c46befc4c1da94ab (patch)
tree1e0a2746603cf044723d82f0bcf4c462ea108a5f /crawl-ref/source/newgame.cc
parent9064de4ac58eaf7b3c4edd9ca908bd5e30dcaf6c (diff)
downloadcrawl-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.cc331
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)
{