added extra enemies

This commit is contained in:
2024-07-18 18:37:01 -04:00
parent 1a9c04ad5a
commit ea691a3bb1
11 changed files with 175 additions and 18 deletions

View File

@ -8,6 +8,12 @@
#include "enemies/human.h"
#include "enemies/merchant.h"
#include "enemies/orc.h"
#include "enemies/viking.h"
#include "enemies/swordsman.h"
#include "enemies/leprechaun.h"
#include "enemies/witch.h"
#include "enemies/hacker.h"
#include "enemies/baby_dragon.h"
std::unique_ptr<enemy_base> new_dragon(RNG *rng, const position &pos,
const position &fallback,
@ -23,9 +29,10 @@ std::unique_ptr<enemy_base> new_dragon(RNG *rng, const position &pos,
fallback, which_room);
}
const int EXCNT = 6;
const int EXCNT = 12;
const race EXCHOICES[EXCNT] = {
rhuman, rdwarf, rhalfling, relf, rorc, rmerchant
rhuman, rdwarf, rhalfling, relf, rorc, rmerchant,
rviking, rswordsman, rleprechaun, rwitch, rhacker, rbaby_dragon
};
const int CNT = 18;
const race CHOICES[CNT] = {
@ -61,32 +68,50 @@ std::unique_ptr<enemy_base> new_enemy(RNG *rng, const position &pos,
case rdwarf:
return make_unique<dwarf>(rng, enabled_features,
pos, which_room);
break;
case rhuman:
return make_unique<human>(rng, enabled_features,
pos, which_room);
break;
case relf:
return make_unique<elf>(rng, enabled_features,
pos, which_room);
break;
case rorc:
return make_unique<orc>(rng, enabled_features,
pos, which_room);
break;
case rmerchant:
return make_unique<merchant>(rng, enabled_features,
pos, which_room);
break;
case rhalfling:
return make_unique<halfling>(rng, enabled_features,
pos, which_room);
break;
case rviking:
return make_unique<viking>(rng, enabled_features,
pos, which_room);
case rswordsman:
return make_unique<swordsman>(rng, enabled_features,
pos, which_room);
case rleprechaun:
return make_unique<leprechaun>(rng, enabled_features,
pos, which_room);
case rwitch:
return make_unique<witch>(rng, enabled_features,
pos, which_room);
case rhacker:
return make_unique<hacker>(rng, enabled_features,
pos, which_room);
case rbaby_dragon:
return make_unique<baby_dragon>(rng, enabled_features,
pos, which_room);
default:
break;