aboutsummaryrefslogtreecommitdiff
path: root/src/attack.h
blob: e00eb25fe60c813a0a6a229e72b796435032de17 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#pragma once
#include "features/feature.h"
#include "weapon.h"

namespace creature {
    class Creature;
}

namespace entry {
    class Attack : public Feature {
        public:
            virtual ~Attack() {}

            virtual std::string getText(const creature::Creature& c) const override {return getWeapon().getText(c) + " " + Entry::getText();}
            Weapon getWeapon(void) const {return attack;}

            NLOHMANN_DEFINE_DERIVED_TYPE_INTRUSIVE(Feature, Attack, attack);

        private:
            Weapon attack;
    };
}