Files
cc3k/src/pc.cc

56 lines
1.4 KiB
C++

#include "pc.h"
#include "constants.h"
#include "player/goblin.h"
#include "player/drow.h"
#include "player/shade.h"
#include "player/troll.h"
#include "player/vampire.h"
#include "player/t_800.h"
#include "player/assassin.h"
#include "player/monk.h"
#include "player/brawler.h"
#include "player/mr_goose.h"
std::unique_ptr<player_base> init_player(RNG *rng,
const feature enabled_features, const enum race &r) {
using std::make_unique;
switch (r) {
case rgoblin:
return make_unique<goblin>(rng, enabled_features);
case rdrow:
return make_unique<drow>(rng, enabled_features);
case rshade:
return make_unique<shade>(rng, enabled_features);
case rtroll:
return make_unique<troll>(rng, enabled_features);
case rvampire:
return make_unique<vampire>(rng, enabled_features);
case rt_800:
return make_unique<t_800>(rng, enabled_features);
case rassassin:
return make_unique<assassin>(rng, enabled_features);
case rmonk:
return make_unique<monk>(rng, enabled_features);
case rbrawler:
return make_unique<brawler>(rng, enabled_features);
case rmr_goose:
return make_unique<mr_goose>(rng, enabled_features);
default:
break;
}
return nullptr;
}