OSDN Git Service

Reworded English description for sniper's exploding arrow ability.
[hengband/hengband.git] / src / mind / mind-sniper.c
index 08cb3c7..c18c447 100644 (file)
@@ -63,20 +63,20 @@ static concptr const snipe_tips[MAX_SNIPE_POWERS] =
        "敵の急所にめがけて矢を放つ。成功すると敵を一撃死させる。失敗すると1ダメージ。",
        "全てのモンスターに高威力を発揮する矢を放つ。反動による副次効果を受ける。",
 #else
-       "Concentrate your mind fot shooting.",
-       "Shot an allow with brightness.",
+       "Concentrate your mind for shooting.",
+       "Shoot a glowing arrow effective against light-sensitive foes.",
        "Blink after shooting.",
-       "Shot an allow able to shatter traps.",
-       "Deals extra damege of fire.",
-       "Shot an allow able to shatter rocks.",
-       "Deals extra damege of ice.",
+       "Shoot an arrow able to shatter traps.",
+       "Deals extra damage of fire.",
+       "Shoot an arrow able to shatter rocks.",
+       "Deals extra damage of ice.",
        "An allow rushes away a target.",
        "An allow pierces some monsters.",
        "Deals more damage to good monsters.",
        "Deals more damage to evil monsters.",
-       "An allow explodes when it hits a monster.",
+       "Shoot an arrow that explodes when it hits a monster.",
        "Shot allows twice.",
-       "Deals extra damege of lightning.",
+       "Deals extra damage of lightning.",
        "Deals quick death or 1 damage.",
        "Deals great damage to all monsters, and some side effects to you.",
 #endif
@@ -105,7 +105,7 @@ static snipe_power const snipe_powers[MAX_SNIPE_POWERS] =
        { 48,  7,  "セイントスターアロー" },
 #else
        {  1,  0,  "Concentration" },
-       {  2,  1,  "Flush Arrow" },
+       {  2,  1,  "Flash Arrow" },
        {  3,  1,  "Shoot & Away" },
        {  5,  1,  "Disarm Shot" },
        {  8,  2,  "Fire Shot" },
@@ -194,12 +194,14 @@ void display_snipe_list(player_type *sniper_ptr)
                /* Access the available spell */
                spell = snipe_powers[i];
                if (spell.min_lev > plev) continue;
-               if (spell.mana_cost > (int)sniper_ptr->concent) continue;
 
                sprintf(psi_desc, "  %c) %-30s%2d %4d",
                        I2A(i), spell.name, spell.min_lev, spell.mana_cost);
 
-               term_putstr(x, y + i + 1, -1, TERM_WHITE, psi_desc);
+               if (spell.mana_cost > (int)sniper_ptr->concent)
+                       term_putstr(x, y + i + 1, -1, TERM_SLATE, psi_desc);
+               else
+                       term_putstr(x, y + i + 1, -1, TERM_WHITE, psi_desc);
        }
        return;
 }
@@ -292,32 +294,41 @@ static int get_snipe_power(player_type *sniper_ptr, COMMAND_CODE *sn, bool only_
                        /* Show the list */
                        if (!redraw)
                        {
-                               char psi_desc[80];
+                               char psi_index[6];
+                               char psi_desc[75];
                                redraw = TRUE;
                                if (!only_browse) screen_save();
 
                                /* Display a list of spells */
                                prt("", y, x);
                                put_str(_("名前", "Name"), y, x + 5);
-                               if (only_browse) put_str(_("Lv   集中度", "Lv Pow"), y, x + 35);
+                               put_str(_("Lv   集中度", "Lv Pow"), y, x + 35);
 
                                /* Dump the spells */
                                for (i = 0; i < MAX_SNIPE_POWERS; i++)
                                {
+                                       term_color_type tcol = TERM_WHITE;
                                        term_erase(x, y + i + 1, 255);
 
                                        /* Access the spell */
                                        spell = snipe_powers[i];
-                                       if (spell.min_lev > plev) continue;
-                                       if (!only_browse && (spell.mana_cost > (int)sniper_ptr->concent)) continue;
 
                                        /* Dump the spell --(-- */
-                                       if (only_browse)
-                                               sprintf(psi_desc, "  %c) %-30s%2d %4d",
-                                                       I2A(i), spell.name,     spell.min_lev, spell.mana_cost);
+                                       if (spell.min_lev > plev)
+                                               sprintf(psi_index, "   ) ");
                                        else
-                                               sprintf(psi_desc, "  %c) %-30s", I2A(i), spell.name);
-                                       prt(psi_desc, y + i + 1, x);
+                                               sprintf(psi_index, "  %c) ", I2A(i));
+
+                                       sprintf(psi_desc, "%-30s%2d %4d",
+                                               spell.name,     spell.min_lev, spell.mana_cost);
+
+                                       if (spell.min_lev > plev)
+                                               tcol = TERM_SLATE;
+                                       else if (spell.mana_cost > (int)sniper_ptr->concent)
+                                               tcol = TERM_L_BLUE;
+
+                                       term_putstr(x, y + i + 1, -1, tcol, psi_index);
+                                       term_putstr(x + 5, y + i + 1, -1, tcol, psi_desc);
                                }
 
                                /* Clear the bottom line */