#ifndef __ENEMIES_H__
#define __ENEMIES_H__

#include <memory>
#include "enemy.h"

enum race : int;

std::unique_ptr<enemy_base> new_dragon(RNG *rng, const position &pos,
                                       const position &fallback,
                                       const feature enabled_features,
                                       int which_room, const position &guards);

std::unique_ptr<enemy_base> new_enemy(RNG *rng, const position &pos,
                                      const feature enabled_features,
                                      int which_room);

std::unique_ptr<enemy_base> new_enemy(const race &race, const position &pos,
                                      const feature enabled_features,
                                      int which_room, RNG *rng,
                                      const position &guards = {0, 0});

#endif
