OSDN Git Service

[modify] #37914 (2.2.1.3) ブレス処理をfire_ball()からfire_breath()に分離。 / Separate fire_breath...
[hengband/hengband.git] / src / racial.c
index 91b7f4e..347f65c 100644 (file)
@@ -115,7 +115,7 @@ static bool do_cmd_archer(void)
                        q_ptr = &forge;
 
                        /* Hack -- Give the player some small firestones */
-                       object_prep(q_ptr, lookup_kind(TV_SHOT, m_bonus(1, p_ptr->lev) + 1));
+                       object_prep(q_ptr, lookup_kind(TV_SHOT, (OBJECT_SUBTYPE_VALUE)m_bonus(1, p_ptr->lev) + 1));
                        q_ptr->number = (byte)rand_range(15,30);
                        object_aware(q_ptr);
                        object_known(q_ptr);
@@ -166,7 +166,7 @@ static bool do_cmd_archer(void)
                q_ptr = &forge;
 
                /* Hack -- Give the player some small firestones */
-               object_prep(q_ptr, lookup_kind(TV_ARROW, m_bonus(1, p_ptr->lev)+ 1));
+               object_prep(q_ptr, lookup_kind(TV_ARROW, (OBJECT_SUBTYPE_VALUE)m_bonus(1, p_ptr->lev)+ 1));
                q_ptr->number = (byte)rand_range(5, 10);
                object_aware(q_ptr);
                object_known(q_ptr);
@@ -225,7 +225,7 @@ static bool do_cmd_archer(void)
                q_ptr = &forge;
 
                /* Hack -- Give the player some small firestones */
-               object_prep(q_ptr, lookup_kind(TV_BOLT, m_bonus(1, p_ptr->lev)+1));
+               object_prep(q_ptr, lookup_kind(TV_BOLT, (OBJECT_SUBTYPE_VALUE)m_bonus(1, p_ptr->lev)+1));
                q_ptr->number = (byte)rand_range(4, 8);
                object_aware(q_ptr);
                object_known(q_ptr);
@@ -318,7 +318,7 @@ bool gain_magic(void)
 
        if (o_ptr->tval == TV_ROD)
        {
-               p_ptr->magic_num2[o_ptr->sval + ext] += o_ptr->number;
+               p_ptr->magic_num2[o_ptr->sval + ext] += (MAGIC_NUM2)o_ptr->number;
                if (p_ptr->magic_num2[o_ptr->sval + ext] > 99) p_ptr->magic_num2[o_ptr->sval + ext] = 99;
        }
        else
@@ -334,7 +334,7 @@ bool gain_magic(void)
                                gain_num = (gain_num/3 + randint0(gain_num/3)) / 256;
                                if (gain_num < 1) gain_num = 1;
                        }
-                       p_ptr->magic_num2[o_ptr->sval + ext] += gain_num;
+                       p_ptr->magic_num2[o_ptr->sval + ext] += (MAGIC_NUM2)gain_num;
                        if (p_ptr->magic_num2[o_ptr->sval + ext] > 99) p_ptr->magic_num2[o_ptr->sval + ext] = 99;
                        p_ptr->magic_num1[o_ptr->sval + ext] += pval * 0x10000;
                        if (p_ptr->magic_num1[o_ptr->sval + ext] > 99 * 0x10000) p_ptr->magic_num1[o_ptr->sval + ext] = 99 * 0x10000;
@@ -1027,7 +1027,7 @@ static bool cmd_racial_power_aux(s32b command)
                case CLASS_BARD:
                {
                        /* Singing is already stopped */
-                       if (!p_ptr->magic_num1[0] && !p_ptr->magic_num1[1]) return FALSE;
+                       if (!SINGING_SONG_EFFECT(p_ptr) && !INTERUPTING_SONG_EFFECT(p_ptr)) return FALSE;
 
                        stop_singing();
                        p_ptr->energy_use = 10;
@@ -1233,7 +1233,7 @@ static bool cmd_racial_power_aux(s32b command)
                        msg_format("You breathe %s.",((type == GF_NETHER) ? "nether" : "fire"));
 #endif
 
-                       fire_ball(type, dir, plev * 3, -(plev / 15) - 1);
+                       fire_breath(type, dir, plev * 3, (plev / 15) + 1);
                        break;
                }
                case MIMIC_VAMPIRE:
@@ -1263,7 +1263,7 @@ static bool cmd_racial_power_aux(s32b command)
 
                                msg_print(_("あなたはニヤリとして牙をむいた...", "You grin and bare your fangs..."));
                                dummy = plev + randint1(plev) * MAX(1, plev / 10);   /* Dmg */
-                               if (drain_life(dir, dummy))
+                               if (hypodynamic_bolt(dir, dummy))
                                {
                                        if (p_ptr->food < PY_FOOD_FULL)
                                                /* No heal if we are "full" */
@@ -1617,7 +1617,7 @@ static bool cmd_racial_power_aux(s32b command)
 
                                msg_print(_("あなたはニヤリとして牙をむいた...", "You grin and bare your fangs..."));
                                dummy = plev + randint1(plev) * MAX(1, plev / 10);   /* Dmg */
-                               if (drain_life(dir, dummy))
+                               if (hypodynamic_bolt(dir, dummy))
                                {
                                        if (p_ptr->food < PY_FOOD_FULL)
                                                /* No heal if we are "full" */
@@ -1662,7 +1662,7 @@ static bool cmd_racial_power_aux(s32b command)
                                msg_format("You breathe %s.",((type == GF_NETHER) ? "nether" : "fire"));
 #endif
 
-                               fire_ball(type, dir, plev * 3, -(plev / 15) - 1);
+                               fire_breath(type, dir, plev * 3, (plev / 15) + 1);
                        }
                        break;
 
@@ -2093,7 +2093,7 @@ void do_cmd_racial_power(void)
                        power_desc[num++].number = -1;
                        break;
                case MIMIC_VAMPIRE:
-                       strcpy(power_desc[num].name, _("生命力吸収", "Drain Life"));
+                       strcpy(power_desc[num].name, _("吸血", "Vampiric Drain"));
                        power_desc[num].level = 2;
                        power_desc[num].cost = 1 + (lvl / 3);
                        power_desc[num].stat = A_CON;
@@ -2291,7 +2291,7 @@ void do_cmd_racial_power(void)
                        power_desc[num++].number = -1;
                        break;
                case RACE_VAMPIRE:
-                       strcpy(power_desc[num].name, _("生命力吸収", "Drain Life"));
+                       strcpy(power_desc[num].name, _("吸血", "Vampiric Drain"));
                        power_desc[num].level = 2;
                        power_desc[num].cost = 1 + (lvl / 3);
                        power_desc[num].stat = A_CON;
@@ -2442,7 +2442,7 @@ void do_cmd_racial_power(void)
 
                if (p_ptr->muta1 & MUT1_VAMPIRISM)
                {
-                       strcpy(power_desc[num].name, _("吸血ドレイン", "Vampiric Drain"));
+                       strcpy(power_desc[num].name, _("吸血", "Vampiric Drain"));
                        power_desc[num].level = 2;
                        power_desc[num].cost = (1 + (lvl / 3));
                        power_desc[num].stat = A_CON;
@@ -2850,7 +2850,7 @@ if (!repeat_pull(&i) || i<0 || i>=num) {
                                ask = (isupper(choice));
 
                                /* Lowercase */
-                               if (ask) choice = tolower(choice);
+                               if (ask) choice = (char)tolower(choice);
 
                                /* Extract request */
                                i = (islower(choice) ? A2I(choice) : -1);