Permalink
Browse files

Disable gnolls in the stable release

After some discussion it was felt that there needs to be more work on
this species, specifically the way it tries to achieve its aim of
pushing the player to learn many skills. Several crawl skills yield high
reward for low XP investment, which is a general problem with crawl's
skill system, but the Gnoll aptitude system especially pushes the player
toward these skills. Crawl already does push players to train a variety
of of the most impactful skills, so if Gnolls are to be the species that
pushes players to hybridize in a meaningfully different way, it would be
better if it didn't try to prevent specialization using aptitude
decreases or skill level cutoffs. A secondary problem is that gnolls
require more careful checking of skill levels since each skill aptitude
independently changes based on the skill's training.

One alternative being considered is to lock Gnolls into very low stat
levels, but to still give them high aptitudes.  This or any other rework
will likely not be ready in time for play-testing before feature freeze,
so this commit disables Gnolls in stable. When re-enabling Gnolls for
stable, simply revert this commit.
  • Loading branch information...
gammafunk committed May 10, 2017
1 parent bb42413 commit b7cbeb9e666479f7749ea0a3ee10663f9d683381
Showing with 8 additions and 0 deletions.
  1. +8 −0 crawl-ref/source/newgame.cc
@@ -30,6 +30,7 @@
#ifdef USE_TILE_LOCAL
#include "tilereg-crt.h"
#endif
#include "version.h"
static void _choose_gamemode_map(newgame_def& ng, newgame_def& ng_choice,
const newgame_def& defaults);
@@ -202,6 +203,10 @@ COMPILE_CHECK(ARRAYSZ(species_order) <= NUM_SPECIES);
bool is_starting_species(species_type species)
{
// Trunk-only until we finish the species.
if (species == SP_GNOLL && Version::ReleaseType != VER_ALPHA)
return false;
return find(species_order, species_order + ARRAYSZ(species_order),
species) != species_order + ARRAYSZ(species_order);
}
@@ -894,6 +899,9 @@ void species_group::attach(const newgame_def& ng, const newgame_def& defaults,
if (this_species == SP_UNKNOWN)
break;
if (ng.job == JOB_UNKNOWN && !is_starting_species(this_species))
continue;
if (ng.job != JOB_UNKNOWN
&& species_allowed(ng.job, this_species) == CC_BANNED)
{

0 comments on commit b7cbeb9

Please sign in to comment.