moved files out of subdirectories, added required documentation

This commit is contained in:
2024-07-25 13:08:39 -04:00
parent 546909b4aa
commit b04884e44a
96 changed files with 141 additions and 171 deletions

View File

@ -7,12 +7,12 @@
#include <sstream>
#include "constants.h"
#include "input/file_input.h"
#include "output/file_output.h"
#include "input/console_input.h"
#include "output/console_output.h"
#include "input/curses_input.h"
#include "output/curses_output.h"
#include "file_input.h"
#include "file_output.h"
#include "console_input.h"
#include "console_output.h"
#include "curses_input.h"
#include "curses_output.h"
#include "rng.h"
feature proc_args(int argc, char **argv,

View File

@ -1,6 +1,6 @@
#include "assassin.h"
#include "../constants.h"
#include "constants.h"
assassin::assassin(RNG *rng, const feature enabled_features):
player_base{rng, enabled_features, race::ASSASSIN} {};

View File

@ -1,7 +1,7 @@
#ifndef __ASSASSIN_H__
#define __ASSASSIN_H__
#include "../player.h"
#include "player.h"
class assassin final: public player_base {
inline static const fraction INF_HIT_RATE = {0x3F3F3F3F, 1};

View File

@ -1,6 +1,6 @@
#include "baby_dragon.h"
#include "../constants.h"
#include "constants.h"
baby_dragon::baby_dragon(RNG *rng, const feature enabled_features,
const position &pos, const int gen_room_num):

View File

@ -1,7 +1,7 @@
#ifndef __BABY_DRAGON_H__
#define __BABY_DRAGON_H__
#include "../enemy.h"
#include "enemy.h"
class baby_dragon final: public enemy_base {
public:

View File

@ -1,7 +1,7 @@
#include "berzerk_brew.h"
#include <algorithm>
#include "../constants.h"
#include "constants.h"
berzerk_brew::berzerk_brew(const position &pos):
potion{potion_type::BERZERK_BREW, DURATION, pos} {}

View File

@ -1,7 +1,7 @@
#ifndef __BERZERK_BREW_H__
#define __BERZERK_BREW_H__
#include "../potion.h"
#include "potion.h"
class berzerk_brew final: public potion {
static const int ATK_MUL = 2;

View File

@ -1,7 +1,7 @@
#include "boost_atk.h"
#include <algorithm>
#include "../constants.h"
#include "constants.h"

View File

@ -1,7 +1,7 @@
#ifndef __BOOST_ATK_H__
#define __BOOST_ATK_H__
#include "../potion.h"
#include "potion.h"
class boost_atk final: public potion {
static const int BOOST_ATK = 5;

View File

@ -1,7 +1,7 @@
#include "boost_def.h"
#include <algorithm>
#include "../constants.h"
#include "constants.h"
boost_def::boost_def(const position &pos):

View File

@ -1,7 +1,7 @@
#ifndef __BOOST_DEF_H__
#define __BOOST_DEF_H__
#include "../potion.h"
#include "potion.h"
class boost_def final: public potion {
static const int BOOST_DEF = 5;

View File

@ -1,7 +1,7 @@
#include "borrow_life.h"
#include <algorithm>
#include "../constants.h"
#include "constants.h"
borrow_life::borrow_life(const position &pos):
potion{potion_type::BORROW_LIFE, DURATION, pos} {}

View File

@ -1,7 +1,7 @@
#ifndef __BORROW_LIFE_H__
#define __BORROW_LIFE_H__
#include "../potion.h"
#include "potion.h"
class borrow_life final: public potion {
static const int GIVE_HP = 50;

View File

@ -1,6 +1,6 @@
#include "brawler.h"
#include "../constants.h"
#include "constants.h"
brawler::brawler(RNG *rng, const feature enabled_features):
player_base{rng, enabled_features, race::BRAWLER} {};

View File

@ -1,7 +1,7 @@
#ifndef __BRAWLER_H__
#define __BRAWLER_H__
#include "../player.h"
#include "player.h"
class brawler final: public player_base {
public:

View File

@ -2,7 +2,7 @@
#include <utility>
#include <string>
#include "../constants.h"
#include "constants.h"
console_input::console_input(std::istream &cin):
in{cin} {}

View File

@ -2,7 +2,7 @@
#define __CONSOLE_INPUT_H__
#include <iostream>
#include "../input.h"
#include "input.h"
class console_input final : public input {
private:

View File

@ -4,7 +4,7 @@
#include <utility>
#include <ncurses.h>
#include "../constants.h"
#include "constants.h"
console_output::console_output(std::ostream &cout): out{cout} {}

View File

@ -2,7 +2,7 @@
#define __CONSOLE_OUTPUT_H__
#include <iostream>
#include "../output.h"
#include "output.h"
class console_output final : public output {
private:

View File

@ -1,7 +1,7 @@
#include "continuous_restoration.h"
#include <algorithm>
#include "../constants.h"
#include "constants.h"
continuous_restoration::continuous_restoration(const position &pos):
potion{potion_type::CONTINUOUS_RESTORATION, DURATION, pos} {}

View File

@ -1,7 +1,7 @@
#ifndef __CONTINUOUS_RESTORATION_H__
#define __CONTINUOUS_RESTORATION_H__
#include "../potion.h"
#include "potion.h"
class continuous_restoration final: public potion {
static const int GAIN_HEALTH = 3;

View File

@ -1,6 +1,6 @@
#include "curses_input.h"
#include "../constants.h"
#include "constants.h"
curses_input::curses_input(cursor *new_curse):
curse{new_curse} {}

View File

@ -2,8 +2,8 @@
#define __CURSES_INPUT_H__
#include <memory>
#include "../input.h"
#include "../cursor.h"
#include "input.h"
#include "cursor.h"
class curses_input final: public input {
private:

View File

@ -1,6 +1,6 @@
#include "curses_output.h"
#include "../constants.h"
#include "constants.h"
curses_output::curses_output(cursor *new_curse):
curse{new_curse} {}

View File

@ -3,8 +3,8 @@
#include <utility>
#include <memory>
#include "../cursor.h"
#include "../output.h"
#include "cursor.h"
#include "output.h"
class curses_output final : public output {
private:

BIN
src/design.pdf Normal file

Binary file not shown.

View File

@ -1,7 +1,7 @@
#include "dragon.h"
#include "../constants.h"
#include "../level.h"
#include "constants.h"
#include "level.h"
dragon::dragon(RNG *rng, const feature enabled_features, const position &pos,
const int gen_room_num, const position &guards):

View File

@ -1,7 +1,7 @@
#ifndef __DRAGON_H__
#define __DRAGON_H__
#include "../enemy.h"
#include "enemy.h"
class dragon final: public enemy_base {
const position guards;

View File

@ -1,6 +1,6 @@
#include "drow.h"
#include "../constants.h"
#include "constants.h"
drow::drow(RNG *rng, const feature enabled_features):
player_base{rng, enabled_features, race::DROW} {}

View File

@ -1,7 +1,7 @@
#ifndef __DROW_H__
#define __DROW_H__
#include "../player.h"
#include "player.h"
class drow final: public player_base {
public:

View File

@ -1,6 +1,6 @@
#include "dwarf.h"
#include "../constants.h"
#include "constants.h"
dwarf::dwarf(RNG *rng, const feature enabled_features, const position &pos,
const int gen_room_num):

View File

@ -1,7 +1,7 @@
#ifndef __DWARF_H__
#define __DWARF_H__
#include "../enemy.h"
#include "enemy.h"
class dwarf final: public enemy_base {
public:

View File

@ -1,7 +1,7 @@
#include "echoing_resilience.h"
#include <algorithm>
#include "../constants.h"
#include "constants.h"
echoing_resilience::echoing_resilience(const position &pos):
potion{potion_type::ECHOING_RESIL, DURATION, pos} {}

View File

@ -1,7 +1,7 @@
#ifndef __ECHOING_RESILIENCE_H__
#define __ECHOING_RESILIENCE_H__
#include "../potion.h"
#include "potion.h"
class echoing_resilience final: public potion {
static const int GAIN_HEALTH = 7;

View File

@ -1,6 +1,6 @@
#include "elf.h"
#include "../constants.h"
#include "constants.h"
elf::elf(RNG *rng, const feature enabled_features, const position &pos,
const int gen_room_num):

View File

@ -1,7 +1,7 @@
#ifndef __ELF_H__
#define __ELF_H__
#include "../enemy.h"
#include "enemy.h"
class elf final: public enemy_base {
public:

View File

@ -1,19 +1,19 @@
#include "enemies.h"
#include "constants.h"
#include "enemies/dragon.h"
#include "enemies/dwarf.h"
#include "enemies/elf.h"
#include "enemies/halfling.h"
#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"
#include "dragon.h"
#include "dwarf.h"
#include "elf.h"
#include "halfling.h"
#include "human.h"
#include "merchant.h"
#include "orc.h"
#include "viking.h"
#include "swordsman.h"
#include "leprechaun.h"
#include "witch.h"
#include "hacker.h"
#include "baby_dragon.h"
std::unique_ptr<enemy_base> new_dragon(RNG *rng, const position &pos,
const position &fallback,

View File

@ -2,7 +2,7 @@
#include <utility>
#include <string>
#include "../constants.h"
#include "constants.h"
file_input::file_input(std::ifstream &&ifs):
in{std::move(ifs)} {}

View File

@ -2,7 +2,7 @@
#define __FILE_INPUT_H__
#include <fstream>
#include "../input.h"
#include "input.h"
class file_input final : public input {
private:

View File

@ -2,7 +2,7 @@
#include <utility>
#include "../constants.h"
#include "constants.h"
file_output::file_output(std::ofstream &&ofs):
out{std::move(ofs)} {}

View File

@ -2,7 +2,7 @@
#define __FILE_OUTPUT_H__
#include <fstream>
#include "../output.h"
#include "output.h"
class file_output final : public output {
private:

View File

@ -1,7 +1,7 @@
#include "fine_booze.h"
#include <algorithm>
#include "../constants.h"
#include "constants.h"
fine_booze::fine_booze(const position &pos):
potion{potion_type::FINE_BOOZE, DURATION, pos} {}

View File

@ -1,8 +1,8 @@
#ifndef __FINE_BOOZE_H__
#define __FINE_BOOZE_H__
#include "../potion.h"
#include "../constants.h"
#include "potion.h"
#include "constants.h"
class fine_booze final: public potion {
static const int GAIN_HP = 2;

View File

@ -2,7 +2,7 @@
#include "constants.h"
#include "pc.h"
#include "enemies/dragon.h"
#include "dragon.h"
game::game(const enum race starting_race,
const feature enabled_features,

View File

@ -1,6 +1,6 @@
#include "goblin.h"
#include "../constants.h"
#include "constants.h"
goblin::goblin(RNG *rng, const feature enabled_features):
player_base{rng, enabled_features, race::GOBLIN} {};

View File

@ -1,7 +1,7 @@
#ifndef __GOBLIN_H__
#define __GOBLIN_H__
#include "../player.h"
#include "player.h"
class goblin final: public player_base {
static const int GAIN_GOLD = 5;

View File

@ -1,6 +1,6 @@
#include "hacker.h"
#include "../constants.h"
#include "constants.h"
hacker::hacker(RNG *rng, const feature enabled_features, const position &pos,
const int gen_room_num):

View File

@ -1,7 +1,7 @@
#ifndef __HACKER_H__
#define __HACKER_H__
#include "../enemy.h"
#include "enemy.h"
class hacker final: public enemy_base {
static const int RAND_STR_LEN_MIN = 10;

View File

@ -1,6 +1,6 @@
#include "halfling.h"
#include "../constants.h"
#include "constants.h"
fraction halfling::HIT_RATE_MUL = {1, 2};

View File

@ -1,7 +1,7 @@
#ifndef __HALFLING_H__
#define __HALFLING_H__
#include "../enemy.h"
#include "enemy.h"
class halfling final: public enemy_base {
static fraction HIT_RATE_MUL;

View File

@ -1,7 +1,7 @@
#include "human.h"
#include "../constants.h"
#include "../level.h"
#include "constants.h"
#include "level.h"
human::human(RNG *rng, const feature enabled_features, const position &pos,
const int gen_room_num):

View File

@ -1,7 +1,7 @@
#ifndef __HUMAN_H__
#define __HUMAN_H__
#include "../enemy.h"
#include "enemy.h"
class human final: public enemy_base {
public:

View File

@ -1,7 +1,7 @@
#include "ironclad_ward.h"
#include <algorithm>
#include "../constants.h"
#include "constants.h"
ironclad_ward::ironclad_ward(const position &pos):
potion{potion_type::IRONCLAD_WARD, DURATION, pos} {}

View File

@ -1,7 +1,7 @@
#ifndef __IRONCLAD_WARD_H__
#define __IRONCLAD_WARD_H__
#include "../potion.h"
#include "potion.h"
class ironclad_ward final: public potion {
inline static const float ATK_MUL = 0.5f;

View File

@ -1,8 +1,8 @@
#include "leprechaun.h"
#include "../constants.h"
#include "../player.h"
#include "../level.h"
#include "constants.h"
#include "player.h"
#include "level.h"
leprechaun::leprechaun(RNG *rng, const feature enabled_features,
const position &pos,

View File

@ -1,7 +1,7 @@
#ifndef __LEPRECHAUN_H__
#define __LEPRECHAUN_H__
#include "../enemy.h"
#include "enemy.h"
class leprechaun final: public enemy_base {
static const int STEAL_GOLD = 3;

View File

@ -1,8 +1,8 @@
#include "merchant.h"
#include "../constants.h"
#include "../gold.h"
#include "../level.h"
#include "constants.h"
#include "gold.h"
#include "level.h"
merchant::merchant(RNG *rng, const feature enabled_features,
const position &pos, const int gen_room_num):

View File

@ -1,7 +1,7 @@
#ifndef __MERCHANT_H__
#define __MERCHANT_H__
#include "../enemy.h"
#include "enemy.h"
class merchant final: public enemy_base {
public:

View File

@ -1,6 +1,6 @@
#include "monk.h"
#include "../constants.h"
#include "constants.h"
monk::monk(RNG *rng, const feature enabled_features):
player_base{rng, enabled_features, MONK} {}

View File

@ -1,7 +1,7 @@
#ifndef __MONK_H__
#define __MONK_H__
#include "../player.h"
#include "player.h"
class monk final: public player_base {
static const int GAIN_HP = 2;

View File

@ -1,6 +1,6 @@
#include "mr_goose.h"
#include "../constants.h"
#include "constants.h"
mr_goose::mr_goose(RNG *rng, const feature enabled_features):
player_base{rng, enabled_features, race::MR_GOOSE} {

View File

@ -1,7 +1,7 @@
#ifndef __MR_GOOSE_H__
#define __MR_GOOSE_H__
#include "../player.h"
#include "player.h"
class mr_goose final: public player_base {
public:

View File

@ -1,6 +1,6 @@
#include "orc.h"
#include "../constants.h"
#include "constants.h"
orc::orc(RNG *rng, const feature enabled_features, const position &pos,
const int gen_room_num):

View File

@ -1,7 +1,7 @@
#ifndef __ORC_H__
#define __ORC_H__
#include "../enemy.h"
#include "enemy.h"
class orc final: public enemy_base {
public:

View File

@ -1,16 +1,16 @@
#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"
#include "goblin.h"
#include "drow.h"
#include "shade.h"
#include "troll.h"
#include "vampire.h"
#include "t_800.h"
#include "assassin.h"
#include "monk.h"
#include "brawler.h"
#include "mr_goose.h"
std::unique_ptr<player_base> init_player(RNG *rng,
const feature enabled_features, const enum race &r) {

View File

@ -1,7 +1,7 @@
#include "poison_health.h"
#include <algorithm>
#include "../constants.h"
#include "constants.h"
poison_health::poison_health(const position &pos):
potion{potion_type::POISON_HEALTH, 1, pos} {}

View File

@ -1,7 +1,7 @@
#ifndef __POISON_HEALTH_H__
#define __POISON_HEALTH_H__
#include "../potion.h"
#include "potion.h"
class poison_health final: public potion {
static const int LOSE_HEALTH = 10;

View File

@ -1,20 +1,20 @@
#include "potions.h"
#include "constants.h"
#include "potions/restore_health.h"
#include "potions/boost_atk.h"
#include "potions/boost_def.h"
#include "potions/poison_health.h"
#include "potions/wound_atk.h"
#include "potions/wound_def.h"
#include "potions/continuous_restoration.h"
#include "potions/savage_strike.h"
#include "potions/echoing_resilience.h"
#include "potions/tempest_tantrum.h"
#include "potions/berzerk_brew.h"
#include "potions/borrow_life.h"
#include "potions/fine_booze.h"
#include "potions/ironclad_ward.h"
#include "restore_health.h"
#include "boost_atk.h"
#include "boost_def.h"
#include "poison_health.h"
#include "wound_atk.h"
#include "wound_def.h"
#include "continuous_restoration.h"
#include "savage_strike.h"
#include "echoing_resilience.h"
#include "tempest_tantrum.h"
#include "berzerk_brew.h"
#include "borrow_life.h"
#include "fine_booze.h"
#include "ironclad_ward.h"
std::unique_ptr<potion> new_potion(potion_type type, const position &pos) {
switch (type) {

View File

@ -1,7 +1,7 @@
#include "restore_health.h"
#include <algorithm>
#include "../constants.h"
#include "constants.h"
restore_health::restore_health(const position &pos):
potion{potion_type::RESTORE_HEALTH, 1, pos} {}

View File

@ -1,7 +1,7 @@
#ifndef __RESTORE_HEALTH_H__
#define __RESTORE_HEALTH_H__
#include "../potion.h"
#include "potion.h"
class restore_health final: public potion {
static const int GAIN_HEALTH = 10;

View File

@ -88,7 +88,7 @@ const char *LOSE_SCREEN =
| | | \\. _|_. | . || |\
| | || |\
| * | * ** * ** |** ** |\
| \\))...../.,(//,,..,,\\||(,,.,\\\\,.((// |\
| \\))....,(//,,..,,\\||(,,.,\\\\,.((// |\
| |\
| Loser! |\
| |\

View File

@ -1,7 +1,7 @@
#include "savage_strike.h"
#include <algorithm>
#include "../constants.h"
#include "constants.h"
savage_strike::savage_strike(const position &pos):
potion{potion_type::SAVAGE_STRIKE, DURATION, pos} {}

View File

@ -1,7 +1,7 @@
#ifndef __SAVAGE_STRIKE_H__
#define __SAVAGE_STRIKE_H__
#include "../potion.h"
#include "potion.h"
class savage_strike final: public potion {
inline static const float ATK_MUL = 1.25f;

View File

@ -1,6 +1,6 @@
#include "shade.h"
#include "../constants.h"
#include "constants.h"
shade::shade(RNG *rng, const feature enabled_features):
player_base{rng, enabled_features, race::SHADE} {}

View File

@ -1,7 +1,7 @@
#ifndef __SHADE_H__
#define __SHADE_H__
#include "../player.h"
#include "player.h"
class shade final: public player_base {
public:

View File

@ -1,6 +1,6 @@
#include "swordsman.h"
#include "../constants.h"
#include "constants.h"
swordsman::swordsman(RNG *rng, const feature enabled_features,
const position &pos,

View File

@ -1,7 +1,7 @@
#ifndef __SWORDSMAN_H__
#define __SWORDSMAN_H__
#include "../enemy.h"
#include "enemy.h"
class swordsman final: public enemy_base {
public:

View File

@ -1,6 +1,6 @@
#include "t_800.h"
#include "../constants.h"
#include "constants.h"
t_800::t_800(RNG *rng, const feature enabled_features):
player_base{rng, enabled_features, race::RT_800} {}

View File

@ -1,7 +1,7 @@
#ifndef __T_800_H__
#define __T_800_H__
#include "../player.h"
#include "player.h"
class potion;
class t_800 final: public player_base {

View File

@ -1,7 +1,7 @@
#include "tempest_tantrum.h"
#include <algorithm>
#include "../constants.h"
#include "constants.h"
tempest_tantrum::tempest_tantrum(const position &pos):
potion{potion_type::TEMPEST_TANTRUM, DURATION, pos} {}

View File

@ -1,7 +1,7 @@
#ifndef __TEMPEST_TANTRUM_H__
#define __TEMPEST_TANTRUM_H__
#include "../potion.h"
#include "potion.h"
class tempest_tantrum final: public potion {
static const int ATK_MUL = 3;

View File

@ -1,6 +1,6 @@
#include "troll.h"
#include "../constants.h"
#include "constants.h"
troll::troll(RNG *rng, const feature enabled_features):
player_base{rng, enabled_features, TROLL} {}

View File

@ -1,7 +1,7 @@
#ifndef __TROLL_H__
#define __TROLL_H__
#include "../player.h"
#include "player.h"
class troll final: public player_base {
static const int GAIN_HP = 5;

View File

BIN
src/uml-final.pdf Normal file

Binary file not shown.

View File

@ -1,6 +1,6 @@
#include "vampire.h"
#include "../constants.h"
#include "constants.h"
vampire::vampire(RNG *rng, const feature enabled_features):
player_base{rng, enabled_features, race::VAMPIRE} {};

View File

@ -1,7 +1,7 @@
#ifndef __VAMPIRE_H__
#define __VAMPIRE_H__
#include "../player.h"
#include "player.h"
class vampire final: public player_base {
static const int GAIN_HP = 5;

View File

@ -1,6 +1,6 @@
#include "viking.h"
#include "../constants.h"
#include "constants.h"
viking::viking(RNG *rng, const feature enabled_features, const position &pos,
const int gen_room_num):

View File

@ -1,7 +1,7 @@
#ifndef __VIKING_H__
#define __VIKING_H__
#include "../enemy.h"
#include "enemy.h"
class viking final: public enemy_base {
public:

View File

@ -1,30 +0,0 @@
t ea ea se se se ne ea ea ea ea ea ea ea no no no no
ea ea ea ea ea ea ea ea ea ea ea ea
no no no so so no no
a no a no a no a no a no a no a no a no
so so so no no no no ea ea ea ea
no no a se a se a se a se a se a se a se ea so
so so so so ea u ne ea ea ea ea ea u ea
ea ea ne
a so a so a so a so a so a so a so a so a so a so a so a so a so a so a so a so
se ea ea ea ea ea ea ea ea ea ea ea ea ea ea ea ea ea ea ea ea ea se ea ea ea ea u ea
ne ne sw ea ea ea ea ea ea ea ea ea ea ea ea ea ea ea
u sw we we we we we we we so we we we we we
a we a we we we we we we
a we a we a we a we a we a we a we a we a we ne
we we we we we we we we we we we we we we we we we we
no no no no no no we we we we we we we we we we we we we we we we
so so so
no no
we u we
ea so we we we we we we
no no no no no
ea ea ea ea ea ea ea ea ea ea ea ea ea ea ea ea ea ea
no no no
so ea ea u ea ea a ea a ea a ea a ea a ea a ea a ea a ea a ea
so ea no
ea ea ea ea ea ea ea ea ea ea ea ea ea ea ea ea ea ea ea ea ea
no no no no
ea ea ea ea ea ea ea ea ea ea ea ea
no no no
no so so no no we we

View File

@ -1,7 +1,7 @@
#include "witch.h"
#include "../constants.h"
#include "../player.h"
#include "constants.h"
#include "player.h"
witch::witch(RNG *rng, const feature enabled_features, const position &pos,
const int gen_room_num):

View File

@ -1,7 +1,7 @@
#ifndef __WITCH_H__
#define __WITCH_H__
#include "../enemy.h"
#include "enemy.h"
class witch final: public enemy_base {
inline static const fraction POTION_RATE = {1, 5};

View File

@ -1,7 +1,7 @@
#include "wound_atk.h"
#include <algorithm>
#include "../constants.h"
#include "constants.h"
wound_atk::wound_atk(const position &pos):
potion{potion_type::WOUND_ATK, -1, pos} {}

View File

@ -1,7 +1,7 @@
#ifndef __WOUND_ATK_H__
#define __WOUND_ATK_H__
#include "../potion.h"
#include "potion.h"
class wound_atk final: public potion {
static const int WOUND_ATK = 5;

View File

@ -1,7 +1,7 @@
#include "wound_def.h"
#include <algorithm>
#include "../constants.h"
#include "constants.h"
wound_def::wound_def(const position &pos):
potion{potion_type::WOUND_DEF, -1, pos} {}

View File

@ -1,7 +1,7 @@
#ifndef __WOUND_DEF_H__
#define __WOUND_DEF_H__
#include "../potion.h"
#include "potion.h"
class wound_def final: public potion {
static const int WOUND_DEF = 5;