OSDN Git Service

[Refactor] #3736 activation_type のフィールド変数をconcptr からstring に差し替えた
[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 class ItemEntity;
12 class PlayerType;
13 class EnchanterBase {
14 public:
15     virtual void apply_magic() = 0;
16     virtual ~EnchanterBase() = default;
17
18 protected:
19     EnchanterBase() = default;
20
21     /*!
22      * @brief svalごとの強化処理.
23      * @details
24      * 現在はアミュレット・指輪のみ.
25      * ドラゴン防具シリーズのようなランダム強化アイテムが他にも実装されたらメソッドを分割する.
26      */
27     virtual void sval_enchant() = 0;
28     virtual void give_ego_index() = 0;
29     virtual void give_high_ego_index() = 0;
30     virtual void give_cursed() = 0;
31 };