/*
 * CS 246 Final Project
 * File: map.h
 * Purpose: handles map functionality
 */

#ifndef __RACES_H__
#define __RACES_H__
#include "characters.h"

// IMPORTANT: assumes all available positions have excluded chlist

class shade final: public character {
public:
        shade(const position_list &available_positions); // spawn at a random place
        virtual result move(const direction dir,
                            const position_list &available_positions) override;
        virtual result attack(const direction dir,
                              const character_list &chlist) override;
        virtual result move_or_attack(const direction dir,
                                      const position_list &available_positions,
                                      const character_list &chlist) override;
        virtual result get_hit(const enum race &race, const int atk,
                               const float hitrate) override;
};

// TODO: fill out the other races
// TODO: implement enemie movement

#endif
