#include "floor/cave.h"
#include "floor/floor-object.h"
#include "floor/geometry.h"
-#include "game-option/game-play-options.h"
#include "inventory/inventory-slot-types.h"
#include "io/input-key-requester.h"
#include "monster-race/monster-race.h"
#include "term/screen-processor.h"
#include "util/bit-flags-calculator.h"
#include "view/display-messages.h"
+#include "world/world.h"
#ifdef JP
#else
* @param o_ptr オブジェクト構造体の参照ポインタ
* @return 呪縛可能な武器ならばTRUEを返す
*/
-static bool item_tester_hook_weapon_except_bow(const object_type *o_ptr)
+static bool item_tester_hook_weapon_except_bow(const ObjectType *o_ptr)
{
switch (o_ptr->tval) {
case ItemKindType::SWORD:
* @param mode 処理内容 (SpellProcessType::NAME / SPELL_DESC / SpellProcessType::INFO / SpellProcessType::CAST / SPELL_CONT / SpellProcessType::STOP)
* @return SpellProcessType::NAME / SPELL_DESC / SpellProcessType::INFO 時には文字列ポインタを返す。SpellProcessType::CAST / SPELL_CONT / SpellProcessType::STOP 時はnullptr文字列を返す。
*/
-concptr do_hex_spell(player_type *player_ptr, spell_hex_type spell, SpellProcessType mode)
+concptr do_hex_spell(PlayerType *player_ptr, spell_hex_type spell, SpellProcessType mode)
{
auto name = mode == SpellProcessType::NAME;
auto description = mode == SpellProcessType::DESCRIPTION;
auto continuation = mode == SpellProcessType::CONTNUATION;
auto stop = mode == SpellProcessType::STOP;
auto should_continue = true;
- HIT_POINT power;
+ int power;
switch (spell) {
/*** 1st book (0-7) ***/
case HEX_BLESS:
OBJECT_IDX item;
concptr q, s;
GAME_TEXT o_name[MAX_NLEN];
- object_type *o_ptr;
+ ObjectType *o_ptr;
q = _("どれを呪いますか?", "Which weapon do you curse?");
s = _("武器を装備していない。", "You're not wielding a weapon.");
} else {
int curse_rank = 0;
msg_format(_("恐怖の暗黒オーラがあなたの%sを包み込んだ!", "A terrible black aura blasts your %s!"), o_name);
- o_ptr->curse_flags.set(TRC::CURSED);
+ o_ptr->curse_flags.set(CurseTraitType::CURSED);
if (o_ptr->is_artifact() || o_ptr->is_ego()) {
if (one_in_(3))
- o_ptr->curse_flags.set(TRC::HEAVY_CURSE);
+ o_ptr->curse_flags.set(CurseTraitType::HEAVY_CURSE);
if (one_in_(666)) {
- o_ptr->curse_flags.set(TRC::TY_CURSE);
+ o_ptr->curse_flags.set(CurseTraitType::TY_CURSE);
if (one_in_(666))
- o_ptr->curse_flags.set(TRC::PERMA_CURSE);
+ o_ptr->curse_flags.set(CurseTraitType::PERMA_CURSE);
o_ptr->art_flags.set(TR_AGGRAVATE);
o_ptr->art_flags.set(TR_VORPAL);
project(player_ptr, 0, rad, player_ptr->y, player_ptr->x, power, AttributeType::HELL_FIRE, (PROJECT_STOP | PROJECT_GRID | PROJECT_ITEM | PROJECT_KILL));
}
- if (allow_debug_options) {
+ if (w_ptr->wizard) {
msg_format(_("%d点のダメージを返した。", "You return %d damage."), power);
}
OBJECT_IDX item;
concptr q, s;
GAME_TEXT o_name[MAX_NLEN];
- object_type *o_ptr;
+ ObjectType *o_ptr;
q = _("どれを呪いますか?", "Which piece of armour do you curse?");
s = _("防具を装備していない。", "You're not wearing any armor.");
- o_ptr = choose_object(player_ptr, &item, q, s, (USE_EQUIP), FuncItemTester(&object_type::is_armour));
+ o_ptr = choose_object(player_ptr, &item, q, s, (USE_EQUIP), FuncItemTester(&ObjectType::is_armour));
if (!o_ptr)
return "";
} else {
int curse_rank = 0;
msg_format(_("恐怖の暗黒オーラがあなたの%sを包み込んだ!", "A terrible black aura blasts your %s!"), o_name);
- o_ptr->curse_flags.set(TRC::CURSED);
+ o_ptr->curse_flags.set(CurseTraitType::CURSED);
if (o_ptr->is_artifact() || o_ptr->is_ego()) {
if (one_in_(3))
- o_ptr->curse_flags.set(TRC::HEAVY_CURSE);
+ o_ptr->curse_flags.set(CurseTraitType::HEAVY_CURSE);
if (one_in_(666)) {
- o_ptr->curse_flags.set(TRC::TY_CURSE);
+ o_ptr->curse_flags.set(CurseTraitType::TY_CURSE);
if (one_in_(666))
- o_ptr->curse_flags.set(TRC::PERMA_CURSE);
+ o_ptr->curse_flags.set(CurseTraitType::PERMA_CURSE);
o_ptr->art_flags.set(TR_AGGRAVATE);
o_ptr->art_flags.set(TR_RES_POIS);
if (description)
return _("影のオーラを身にまとい、敵に影のダメージを与える。", "Gives aura of shadow.");
if (cast) {
- object_type *o_ptr = &player_ptr->inventory_list[INVEN_OUTER];
+ auto *o_ptr = &player_ptr->inventory_list[INVEN_OUTER];
if (!o_ptr->k_idx) {
msg_print(_("クロークを身につけていない!", "You are not wearing a cloak."));
}
}
if (continuation) {
- object_type *o_ptr = &player_ptr->inventory_list[INVEN_OUTER];
+ auto *o_ptr = &player_ptr->inventory_list[INVEN_OUTER];
if ((!o_ptr->k_idx) || (!o_ptr->is_cursed())) {
exe_spell(player_ptr, REALM_HEX, spell, SpellProcessType::STOP);
if (cast) {
OBJECT_IDX item;
concptr s, q;
- object_type *o_ptr;
+ ObjectType *o_ptr;
q = _("どの装備品から吸収しますか?", "Which cursed equipment do you drain mana from?");
s = _("呪われたアイテムを装備していない。", "You have no cursed equipment.");
- o_ptr = choose_object(player_ptr, &item, q, s, (USE_EQUIP), FuncItemTester(&object_type::is_cursed));
+ o_ptr = choose_object(player_ptr, &item, q, s, (USE_EQUIP), FuncItemTester(&ObjectType::is_cursed));
if (!o_ptr)
return "";
auto f = object_flags(o_ptr);
player_ptr->csp += (player_ptr->lev / 5) + randint1(player_ptr->lev / 5);
- if (f.has(TR_TY_CURSE) || o_ptr->curse_flags.has(TRC::TY_CURSE))
+ if (f.has(TR_TY_CURSE) || o_ptr->curse_flags.has(CurseTraitType::TY_CURSE))
player_ptr->csp += randint1(5);
if (player_ptr->csp > player_ptr->msp)
player_ptr->csp = player_ptr->msp;
- if (o_ptr->curse_flags.has(TRC::PERMA_CURSE)) {
+ if (o_ptr->curse_flags.has(CurseTraitType::PERMA_CURSE)) {
/* Nothing */
- } else if (o_ptr->curse_flags.has(TRC::HEAVY_CURSE)) {
+ } else if (o_ptr->curse_flags.has(CurseTraitType::HEAVY_CURSE)) {
if (one_in_(7)) {
msg_print(_("呪いを全て吸い取った。", "A heavy curse vanished."));
o_ptr->curse_flags.clear();
}
- } else if (o_ptr->curse_flags.has(TRC::CURSED) && one_in_(3)) {
+ } else if (o_ptr->curse_flags.has(CurseTraitType::CURSED) && one_in_(3)) {
msg_print(_("呪いを全て吸い取った。", "A curse vanished."));
o_ptr->curse_flags.clear();
}
fire_ball(player_ptr, AttributeType::HELL_FIRE, dir, power, 1);
- if (allow_debug_options) {
+ if (w_ptr->wizard) {
msg_format(_("%d点のダメージを返した。", "You return %d damage."), power);
}
} else {