#include "core/player-update-types.h"
#include "core/window-redrawer.h"
#include "dungeon/quest.h"
+#include "effect/attribute-types.h"
#include "effect/effect-characteristics.h"
#include "effect/effect-processor.h"
#include "floor/cave.h"
#include "player/player-damage.h"
#include "spell-kind/spells-floor.h"
#include "spell-kind/spells-launcher.h"
-#include "effect/attribute-types.h"
#include "system/floor-type-definition.h"
#include "system/grid-type-definition.h"
#include "system/monster-type-definition.h"
* @details
* Sorry, it becomes not (void)...
*/
-void call_the_void(player_type *player_ptr)
+void call_the_void(PlayerType *player_ptr)
{
bool do_call = true;
auto *floor_ptr = player_ptr->current_floor_ptr;
for (int i = 0; i < 9; i++) {
auto *g_ptr = &floor_ptr->grid_array[player_ptr->y + ddy_ddd[i]][player_ptr->x + ddx_ddd[i]];
- if (!g_ptr->cave_has_flag(FF::PROJECT)) {
- if (!g_ptr->mimic || f_info[g_ptr->mimic].flags.has_not(FF::PROJECT) || !permanent_wall(&f_info[g_ptr->feat])) {
+ if (!g_ptr->cave_has_flag(FloorFeatureType::PROJECT)) {
+ if (!g_ptr->mimic || f_info[g_ptr->mimic].flags.has_not(FloorFeatureType::PROJECT) || !permanent_wall(&f_info[g_ptr->feat])) {
do_call = false;
break;
}
return;
}
- bool is_special_fllor = floor_ptr->inside_quest && quest_type::is_fixed(floor_ptr->inside_quest);
+ bool is_special_fllor = inside_quest(floor_ptr->quest_number) && quest_type::is_fixed(floor_ptr->quest_number);
is_special_fllor |= floor_ptr->dun_level > 0;
if (is_special_fllor) {
msg_print(_("地面が揺れた。", "The ground trembles."));
* @param player_ptr 術者の参照ポインタ
* @return 実際に処理が反映された場合TRUE
*/
-bool vanish_dungeon(player_type *player_ptr)
+bool vanish_dungeon(PlayerType *player_ptr)
{
auto *floor_ptr = player_ptr->current_floor_ptr;
- bool is_special_floor = floor_ptr->inside_quest && quest_type::is_fixed(floor_ptr->inside_quest);
- is_special_floor |= floor_ptr->dun_level > 0;
+ bool is_special_floor = inside_quest(floor_ptr->quest_number) && quest_type::is_fixed(floor_ptr->quest_number);
+ is_special_floor |= (floor_ptr->dun_level == 0);
if (is_special_floor)
return false;
}
}
- if (f_ptr->flags.has(FF::HURT_DISI))
- cave_alter_feat(player_ptr, y, x, FF::HURT_DISI);
+ if (f_ptr->flags.has(FloorFeatureType::HURT_DISI))
+ cave_alter_feat(player_ptr, y, x, FloorFeatureType::HURT_DISI);
}
}
auto *f_ptr = &f_info[g_ptr->mimic];
g_ptr->info &= ~(CAVE_ROOM | CAVE_ICKY);
- if (g_ptr->mimic && f_ptr->flags.has(FF::HURT_DISI)) {
- g_ptr->mimic = feat_state(floor_ptr, g_ptr->mimic, FF::HURT_DISI);
- if (f_info[g_ptr->mimic].flags.has_not(FF::REMEMBER))
+ if (g_ptr->mimic && f_ptr->flags.has(FloorFeatureType::HURT_DISI)) {
+ g_ptr->mimic = feat_state(floor_ptr, g_ptr->mimic, FloorFeatureType::HURT_DISI);
+ if (f_info[g_ptr->mimic].flags.has_not(FloorFeatureType::REMEMBER))
g_ptr->info &= ~(CAVE_MARK);
}
f_ptr = &f_info[g_ptr->mimic];
g_ptr->info &= ~(CAVE_ROOM | CAVE_ICKY);
- if (g_ptr->mimic && f_ptr->flags.has(FF::HURT_DISI)) {
- g_ptr->mimic = feat_state(floor_ptr, g_ptr->mimic, FF::HURT_DISI);
- if (f_info[g_ptr->mimic].flags.has_not(FF::REMEMBER))
+ if (g_ptr->mimic && f_ptr->flags.has(FloorFeatureType::HURT_DISI)) {
+ g_ptr->mimic = feat_state(floor_ptr, g_ptr->mimic, FloorFeatureType::HURT_DISI);
+ if (f_info[g_ptr->mimic].flags.has_not(FloorFeatureType::REMEMBER))
g_ptr->info &= ~(CAVE_MARK);
}
}
auto *f_ptr = &f_info[g_ptr->mimic];
g_ptr->info &= ~(CAVE_ROOM | CAVE_ICKY);
- if (g_ptr->mimic && f_ptr->flags.has(FF::HURT_DISI)) {
- g_ptr->mimic = feat_state(floor_ptr, g_ptr->mimic, FF::HURT_DISI);
- if (f_info[g_ptr->mimic].flags.has_not(FF::REMEMBER))
+ if (g_ptr->mimic && f_ptr->flags.has(FloorFeatureType::HURT_DISI)) {
+ g_ptr->mimic = feat_state(floor_ptr, g_ptr->mimic, FloorFeatureType::HURT_DISI);
+ if (f_info[g_ptr->mimic].flags.has_not(FloorFeatureType::REMEMBER))
g_ptr->info &= ~(CAVE_MARK);
}
f_ptr = &f_info[g_ptr->mimic];
g_ptr->info &= ~(CAVE_ROOM | CAVE_ICKY);
- if (g_ptr->mimic && f_ptr->flags.has(FF::HURT_DISI)) {
- g_ptr->mimic = feat_state(floor_ptr, g_ptr->mimic, FF::HURT_DISI);
- if (f_info[g_ptr->mimic].flags.has_not(FF::REMEMBER))
+ if (g_ptr->mimic && f_ptr->flags.has(FloorFeatureType::HURT_DISI)) {
+ g_ptr->mimic = feat_state(floor_ptr, g_ptr->mimic, FloorFeatureType::HURT_DISI);
+ if (f_info[g_ptr->mimic].flags.has_not(FloorFeatureType::REMEMBER))
g_ptr->info &= ~(CAVE_MARK);
}
}
* @param rad 効力の半径
* @details このファイルにいるのは、spells-trump.c と比べて行数が少なかったため。それ以上の意図はない
*/
-void cast_meteor(player_type *player_ptr, HIT_POINT dam, POSITION rad)
+void cast_meteor(PlayerType *player_ptr, int dam, POSITION rad)
{
int b = 10 + randint1(10);
for (int i = 0; i < b; i++) {
if (d >= 9)
continue;
- floor_type *floor_ptr = player_ptr->current_floor_ptr;
- if (!in_bounds(floor_ptr, y, x) || !projectable(player_ptr, player_ptr->y, player_ptr->x, y, x)
- || !cave_has_flag_bold(floor_ptr, y, x, FF::PROJECT))
+ auto *floor_ptr = player_ptr->current_floor_ptr;
+ if (!in_bounds(floor_ptr, y, x) || !projectable(player_ptr, player_ptr->y, player_ptr->x, y, x) || !cave_has_flag_bold(floor_ptr, y, x, FloorFeatureType::PROJECT))
continue;
break;