OSDN Git Service

Merge remote-tracking branch 'remotes/origin/CHARGEMAN'
[hengband/hengband.git] / src / player-damage.c
index 05e2ac0..92601f1 100644 (file)
@@ -254,7 +254,7 @@ int inven_damage(inven_func typ, int perc)
        INVENTORY_IDX i;
        int j, k, amt;
        object_type *o_ptr;
-       char o_name[MAX_NLEN];
+       GAME_TEXT o_name[MAX_NLEN];
 
        if (CHECK_MULTISHADOW()) return 0;
 
@@ -334,16 +334,16 @@ int inven_damage(inven_func typ, int perc)
 /*!
 * @brief 酸攻撃による装備のAC劣化処理 /
 * Acid has hit the player, attempt to affect some armor.
-* @return ACが実際に劣化したらTRUEを返す
+* @return 装備による軽減があったならTRUEを返す
 * @details
 * Note that the "base armor" of an object never changes.
 * If any armor is damaged (or resists), the player takes less damage.
 */
-static bool minus_ac(void)
+static bool acid_minus_ac(void)
 {
        object_type *o_ptr = NULL;
        BIT_FLAGS flgs[TR_FLAG_SIZE];
-       char o_name[MAX_NLEN];
+       GAME_TEXT o_name[MAX_NLEN];
 
        /* Pick a (possibly empty) inventory slot */
        switch (randint1(7))
@@ -357,16 +357,16 @@ static bool minus_ac(void)
        case 7: o_ptr = &inventory[INVEN_FEET]; break;
        }
 
-       /* Nothing to damage */
        if (!o_ptr->k_idx) return (FALSE);
-
        if (!object_is_armour(o_ptr)) return (FALSE);
 
        /* No damage left to be done */
-       if (o_ptr->ac + o_ptr->to_a <= 0) return (FALSE);
+       if (o_ptr->ac + o_ptr->to_a <= 0)
+       {
+               msg_format(_("%sは既にボロボロだ!", "Your %s is already crumble!"), o_name);
+               return (FALSE);
+       }
        object_desc(o_name, o_ptr, (OD_OMIT_PREFIX | OD_NAME_ONLY));
-
-       /* Extract the flags */
        object_flags(o_ptr, flgs);
 
        /* Object resists */
@@ -376,7 +376,7 @@ static bool minus_ac(void)
                return (TRUE);
        }
 
-       msg_format(_("%sがダメージを受けた!", "Your %s is damaged!"), o_name);
+       msg_format(_("%sが酸で腐食した!", "Your %s is corroded!"), o_name);
 
        /* Damage the item */
        o_ptr->to_a--;
@@ -401,7 +401,7 @@ static bool minus_ac(void)
 * @param aura オーラよるダメージが原因ならばTRUE
 * @return 修正HPダメージ量
 */
-HIT_POINT acid_dam(HIT_POINT dam, cptr kb_str, int monspell, bool aura)
+HIT_POINT acid_dam(HIT_POINT dam, concptr kb_str, int monspell, bool aura)
 {
        HIT_POINT get_damage;
        int inv = (dam < 30) ? 1 : (dam < 60) ? 2 : 3;
@@ -429,7 +429,7 @@ HIT_POINT acid_dam(HIT_POINT dam, cptr kb_str, int monspell, bool aura)
                        (void)do_dec_stat(A_CHR);
 
                /* If any armor gets hit, defend the player */
-               if (minus_ac()) dam = (dam + 1) / 2;
+               if (acid_minus_ac()) dam = (dam + 1) / 2;
        }
 
        get_damage = take_hit(aura ? DAMAGE_NOESCAPE : DAMAGE_ATTACK, dam, kb_str, monspell);
@@ -450,7 +450,7 @@ HIT_POINT acid_dam(HIT_POINT dam, cptr kb_str, int monspell, bool aura)
 * @param aura オーラよるダメージが原因ならばTRUE
 * @return 修正HPダメージ量
 */
-HIT_POINT elec_dam(HIT_POINT dam, cptr kb_str, int monspell, bool aura)
+HIT_POINT elec_dam(HIT_POINT dam, concptr kb_str, int monspell, bool aura)
 {
        HIT_POINT get_damage;
        int inv = (dam < 30) ? 1 : (dam < 60) ? 2 : 3;
@@ -498,7 +498,7 @@ HIT_POINT elec_dam(HIT_POINT dam, cptr kb_str, int monspell, bool aura)
 * @param aura オーラよるダメージが原因ならばTRUE
 * @return 修正HPダメージ量
 */
-HIT_POINT fire_dam(HIT_POINT dam, cptr kb_str, int monspell, bool aura)
+HIT_POINT fire_dam(HIT_POINT dam, concptr kb_str, int monspell, bool aura)
 {
        HIT_POINT get_damage;
        int inv = (dam < 30) ? 1 : (dam < 60) ? 2 : 3;
@@ -546,7 +546,7 @@ HIT_POINT fire_dam(HIT_POINT dam, cptr kb_str, int monspell, bool aura)
 * @param aura オーラよるダメージが原因ならばTRUE
 * @return 修正HPダメージ量
 */
-HIT_POINT cold_dam(HIT_POINT dam, cptr kb_str, int monspell, bool aura)
+HIT_POINT cold_dam(HIT_POINT dam, concptr kb_str, int monspell, bool aura)
 {
        HIT_POINT get_damage;
        int inv = (dam < 30) ? 1 : (dam < 60) ? 2 : 3;