OSDN Git Service

[Refactor] #933 Renamed accessory-enchanter-base.h to enchanter-base.h
[hengbandforosx/hengbandosx.git] / src / object-enchant / enchanter-base.h
1 #pragma once
2
3 /*
4  * @file enchanter-base.h
5  * @brief エゴ・ランダムアーティファクト・呪われたアイテムをベースアイテムから生成する処理の基底クラス
6  * @author Hourier
7  * @date 2021/04/30
8  * @details 純粋仮想関数につき、必要なメンバ変数は派生クラスで設定すること
9  */
10
11 #include "system/angband.h"
12
13 typedef struct object_type object_type;
14 typedef struct player_type player_type;
15 class EnchanterBase {
16 public:
17     virtual void apply_magic() = 0;
18
19 protected:
20     EnchanterBase() = default;
21     virtual ~EnchanterBase() = default;
22     virtual void enchant() = 0;
23     virtual void give_ego_index() = 0;
24     virtual void give_high_ego_index() = 0;
25     virtual void give_cursed() = 0;
26 };