OSDN Git Service

[Refactor] #37353 コメント整理。 / Refactor comments.
[hengband/hengband.git] / src / player-damage.c
index 936578c..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;
 
@@ -286,11 +286,9 @@ int inven_damage(inven_func typ, int perc)
                        /* Some casualities */
                        if (amt)
                        {
-                               /* Get a description */
                                object_desc(o_name, o_ptr, OD_OMIT_PREFIX);
 
                                msg_format(_("%s(%c)が%s壊れてしまった!", "%sour %s (%c) %s destroyed!"),
-
 #ifdef JP
                                        o_name, index_to_label(i), ((o_ptr->number > 1) ?
                                                ((amt == o_ptr->number) ? "全部" : (amt > 1 ? "何個か" : "一個")) : ""));
@@ -302,6 +300,11 @@ int inven_damage(inven_func typ, int perc)
 #ifdef JP
                                if ((p_ptr->pseikaku == SEIKAKU_COMBAT) || (inventory[INVEN_BOW].name1 == ART_CRIMSON))
                                        msg_print("やりやがったな!");
+                               else if ((p_ptr->pseikaku == SEIKAKU_CHARGEMAN))
+                               {
+                                       if (randint0(2) == 0) msg_print(_("ジュラル星人め!", ""));
+                                       else msg_print(_("弱い者いじめは止めるんだ!", ""));
+                               }
 #endif
 
                                /* Potions smash open */
@@ -331,17 +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 int 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))
@@ -355,19 +357,16 @@ static int 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);
-
-
-       /* Describe */
+       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 */
@@ -377,7 +376,7 @@ static int 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--;
@@ -402,7 +401,7 @@ static int 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;
@@ -430,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);
@@ -451,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;
@@ -499,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;
@@ -547,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;