2 * @brief クロークに耐性等の追加効果を付与する処理
7 #include "object-enchant/apply-magic-cloak.h"
8 #include "artifact/random-art-generator.h"
9 #include "inventory/inventory-slot-types.h"
10 #include "object-enchant/object-ego.h"
11 #include "sv-definition/sv-protector-types.h"
12 #include "system/object-type-definition.h"
16 * @param owner_ptr プレーヤーへの参照ポインタ
17 * @param o_ptr 強化を与えたいオブジェクトの構造体参照ポインタ
21 CloakEnchanter::CloakEnchanter(player_type *owner_ptr, object_type *o_ptr, DEPTH level, int power)
22 : AbstractProtectorEnchanter{ o_ptr, level, power }
23 , owner_ptr(owner_ptr)
28 * @details power > 2はデバッグ専用.
30 void CloakEnchanter::apply_magic()
32 if (this->o_ptr->sval == SV_ELVEN_CLOAK) {
33 this->o_ptr->pval = randint1(4);
36 if (this->power > 1) {
37 if (one_in_(20) || (this->power > 2)) {
38 become_random_artifact(this->owner_ptr, this->o_ptr, false);
42 this->o_ptr->name2 = get_random_ego(INVEN_OUTER, true);
46 if (this->power < -1) {
47 this->o_ptr->name2 = get_random_ego(INVEN_OUTER, false);