1 #include "spell-realm/spells-demon.h"
2 #include "core/disturbance.h"
3 #include "core/stuff-handler.h"
4 #include "game-option/disturbance-options.h"
5 #include "system/player-type-definition.h"
6 #include "system/redrawing-flags-updater.h"
7 #include "view/display-messages.h"
10 * @brief 一時的火炎のオーラの継続時間をセットする / Set "tim_sh_fire", notice observable changes
12 * @param do_dec 現在の継続時間より長い値のみ上書きする
13 * @return ステータスに影響を及ぼす変化があった場合TRUEを返す。
15 bool set_tim_sh_fire(PlayerType *player_ptr, TIME_EFFECT v, bool do_dec)
18 v = (v > 10000) ? 10000 : (v < 0) ? 0
21 if (player_ptr->is_dead) {
26 if (player_ptr->tim_sh_fire && !do_dec) {
27 if (player_ptr->tim_sh_fire > v) {
30 } else if (!player_ptr->tim_sh_fire) {
31 msg_print(_("体が炎のオーラで覆われた。", "You are enveloped by a fiery aura!"));
35 if (player_ptr->tim_sh_fire) {
36 msg_print(_("炎のオーラが消えた。", "The fiery aura disappeared."));
41 player_ptr->tim_sh_fire = v;
42 auto &rfu = RedrawingFlagsUpdater::get_instance();
43 rfu.set_flag(MainWindowRedrawingFlag::TIMED_EFFECT);
50 disturb(player_ptr, false, false);
53 rfu.set_flag(StatusRecalculatingFlag::BONUS);
54 handle_stuff(player_ptr);