#include "player-status/player-energy.h"
#include "racial/racial-switcher.h"
#include "racial/racial-util.h"
-#include "system/object-type-definition.h"
+#include "system/item-entity.h"
#include "system/player-type-definition.h"
#include "term/screen-processor.h"
+#include "timed-effect/player-confusion.h"
#include "timed-effect/player-stun.h"
#include "timed-effect/timed-effects.h"
#include "view/display-messages.h"
*/
PERCENTAGE racial_chance(PlayerType *player_ptr, rpi_type *rpi_ptr)
{
- if ((player_ptr->lev < rpi_ptr->min_level) || player_ptr->confused) {
+ if ((player_ptr->lev < rpi_ptr->min_level) || player_ptr->effects()->confusion()->is_confused()) {
return 0;
}
}
auto special_easy = PlayerClass(player_ptr).equals(PlayerClassType::IMITATOR);
- special_easy &= player_ptr->inventory_list[INVEN_NECK].fixed_artifact_idx == ART_GOGO_PENDANT;
+ special_easy &= player_ptr->inventory_list[INVEN_NECK].is_specific_artifact(FixedArtifactId::GOGO_PENDANT);
special_easy &= rpi_ptr->racial_name.compare("倍返し") == 0;
if (special_easy) {
difficulty -= 12;
}
difficulty = difficulty / 2;
- const BASE_STATUS stat = player_ptr->stat_cur[rpi_ptr->stat];
- int sum = 0;
- for (int i = 1; i <= stat; i++) {
+ const auto stat = player_ptr->stat_cur[rpi_ptr->stat];
+ auto sum = 0;
+ for (auto i = 1; i <= stat; i++) {
int val = i - difficulty;
if (val > 0) {
sum += (val <= difficulty) ? val : difficulty;