OSDN Git Service

[Refactor] #38997 panic_hit() にplayer_type * 引数を追加し、定数も含めてhit_and_away()に改名 / Added...
authorHourier <hourier@users.sourceforge.jp>
Tue, 7 Jan 2020 12:10:29 +0000 (21:10 +0900)
committerHourier <hourier@users.sourceforge.jp>
Tue, 7 Jan 2020 12:10:29 +0000 (21:10 +0900)
src/mutation.c
src/player-status.h
src/racial.c
src/selfinfo.c
src/spells.h
src/spells2.c

index 43b133d..7933437 100644 (file)
@@ -206,7 +206,7 @@ bool gain_mutation(player_type *creature_ptr, MUTATION_IDX choose_mut)
                        break;
                case 60: case 61:
                        muta_class = &(creature_ptr->muta1);
-                       muta_which = MUT1_PANIC_HIT;
+                       muta_which = MUT1_HIT_AND_AWAY;
                        muta_desc = _("突然、泥棒の気分が分かるようになった。", "You suddenly understand how thieves feel.");
                        break;
                        
@@ -1045,7 +1045,7 @@ bool lose_mutation(player_type *creature_ptr, MUTATION_IDX choose_mut)
                        break;
                case 60: case 61:
                        muta_class = &(creature_ptr->muta1);
-                       muta_which = MUT1_PANIC_HIT;
+                       muta_which = MUT1_HIT_AND_AWAY;
                        muta_desc = _( "あちこちへ跳べる気分がなくなった。",  "You no longer feel jumpy.");
 
                        break;
@@ -1650,7 +1650,7 @@ void dump_mutations(player_type *creature_ptr, FILE *OutFile)
                        fprintf(OutFile, _(" あなたは集団的生殖不能を起こすことができる。\n", " You can cause mass impotence.\n"));
 
                }
-               if (creature_ptr->muta1 & MUT1_PANIC_HIT)
+               if (creature_ptr->muta1 & MUT1_HIT_AND_AWAY)
                {
                        fprintf(OutFile, _(" あなたは攻撃した後身を守るため逃げることができる。\n", " You can run for your life after hitting something.\n"));
 
@@ -2270,8 +2270,8 @@ bool exe_mutation_power(player_type *creature_ptr, int power)
                        creature_ptr->current_floor_ptr->num_repro += MAX_REPRO;
                        break;
 
-               case MUT1_PANIC_HIT:
-                       if(!panic_hit()) return FALSE;
+               case MUT1_HIT_AND_AWAY:
+                       if(!hit_and_away()) return FALSE;
                        break;
 
                case MUT1_DAZZLE:
index 27db78d..8ada293 100644 (file)
@@ -246,7 +246,7 @@ struct player_type
 #define MUT1_EAT_MAGIC                  0x00400000L /*!< 突然変異: 魔力喰い */
 #define MUT1_WEIGH_MAG                  0x00800000L /*!< 突然変異: 魔力感知 */
 #define MUT1_STERILITY                  0x01000000L /*!< 突然変異: 増殖阻止 */
-#define MUT1_PANIC_HIT                  0x02000000L /*!< 突然変異: ヒットアンドアウェイ */
+#define MUT1_HIT_AND_AWAY               0x02000000L /*!< 突然変異: ヒットアンドアウェイ */
 #define MUT1_DAZZLE                     0x04000000L /*!< 突然変異: 眩惑 */
 #define MUT1_LASER_EYE                  0x08000000L /*!< 突然変異: レーザー・アイ */
 #define MUT1_RECALL                     0x10000000L /*!< 突然変異: 帰還 */
index 4bedbd4..5726b29 100644 (file)
@@ -428,7 +428,7 @@ static bool exe_racial_power(player_type *creature_ptr, s32b command)
                }
                case CLASS_ROGUE:
                {
-                       if(!panic_hit()) return FALSE;
+                       if(!hit_and_away(creature_ptr)) return FALSE;
                        break;
                }
                case CLASS_RANGER:
@@ -1734,14 +1734,14 @@ void do_cmd_racial_power(player_type *creature_ptr)
                        power_desc[num++].number = MUT1_STERILITY;
                }
 
-               if (creature_ptr->muta1 & MUT1_PANIC_HIT)
+               if (creature_ptr->muta1 & MUT1_HIT_AND_AWAY)
                {
                        strcpy(power_desc[num].name, _("ヒット&アウェイ", "Panic Hit"));
                        power_desc[num].level = 10;
                        power_desc[num].cost = 12;
                        power_desc[num].stat = A_DEX;
                        power_desc[num].fail = 14;
-                       power_desc[num++].number = MUT1_PANIC_HIT;
+                       power_desc[num++].number = MUT1_HIT_AND_AWAY;
                }
 
                if (creature_ptr->muta1 & MUT1_DAZZLE)
index 0d7bec2..275db48 100644 (file)
@@ -630,7 +630,7 @@ void self_knowledge(player_type *creature_ptr)
                {
                        info[i++] = _("あなたは集団的生殖不能を起こすことができる。", "You can cause mass impotence.");
                }
-               if (creature_ptr->muta1 & MUT1_PANIC_HIT)
+               if (creature_ptr->muta1 & MUT1_HIT_AND_AWAY)
                {
                        info[i++] = _("あなたは攻撃した後身を守るため逃げることができる。", "You can run for your life after hitting something.");
                }
index 3865cfe..daeb2b3 100644 (file)
@@ -256,7 +256,7 @@ extern void cast_invoke_spirits(player_type *caster_ptr, DIRECTION dir);
 extern void cast_shuffle(player_type *caster_ptr);
 extern void stop_mouth(player_type *caster_ptr);
 extern bool_hack vampirism(player_type *caster_ptr);
-extern bool panic_hit(void);
+extern bool hit_and_away(player_type *caster_ptr);
 extern bool psychometry(player_type *caster_ptr);
 extern bool draconian_breath(player_type *creature_ptr);
 extern bool android_inside_weapon(player_type *creature_ptr);
index 379701c..d518fd5 100644 (file)
@@ -4084,29 +4084,30 @@ bool_hack vampirism(player_type *caster_ptr)
 }
 
 
-bool panic_hit(void)
+/*!
+* ヒット&アウェイのレイシャルパワー/突然変異
+* @param caster_ptr プレーヤーへの参照ポインタ
+* @return コマンドの入力先にモンスターがいたらTRUE
+*/
+bool hit_and_away(player_type *caster_ptr)
 {
        DIRECTION dir;
-       POSITION x, y;
-
-       if (!get_direction(p_ptr, &dir, FALSE, FALSE)) return FALSE;
-       y = p_ptr->y + ddy[dir];
-       x = p_ptr->x + ddx[dir];
-       if (p_ptr->current_floor_ptr->grid_array[y][x].m_idx)
+       if (!get_direction(caster_ptr, &dir, FALSE, FALSE)) return FALSE;
+       POSITION y = caster_ptr->y + ddy[dir];
+       POSITION x = caster_ptr->x + ddx[dir];
+       if (caster_ptr->current_floor_ptr->grid_array[y][x].m_idx)
        {
-               py_attack(p_ptr, y, x, 0);
-               if (randint0(p_ptr->skill_dis) < 7)
+               py_attack(caster_ptr, y, x, 0);
+               if (randint0(caster_ptr->skill_dis) < 7)
                        msg_print(_("うまく逃げられなかった。", "You failed to run away."));
                else
-                       teleport_player(p_ptr, 30, 0L);
+                       teleport_player(caster_ptr, 30, 0L);
                return TRUE;
        }
-       else
-       {
-               msg_print(_("その方向にはモンスターはいません。", "You don't see any monster in this direction"));
-               msg_print(NULL);
-               return FALSE;
-       }
+       
+       msg_print(_("その方向にはモンスターはいません。", "You don't see any monster in this direction"));
+       msg_print(NULL);
+       return FALSE;
 }
 
 
@@ -4611,7 +4612,7 @@ bool rodeo(player_type *creature_ptr)
 
        if (!do_cmd_riding(creature_ptr, TRUE)) return TRUE;
 
-       m_ptr = &p_ptr->current_floor_ptr->m_list[creature_ptr->riding];
+       m_ptr = &creature_ptr->current_floor_ptr->m_list[creature_ptr->riding];
        r_ptr = &r_info[m_ptr->r_idx];
        monster_desc(m_name, m_ptr, 0);
        msg_format(_("%sに乗った。", "You ride on %s."), m_name);
@@ -4633,7 +4634,7 @@ bool rodeo(player_type *creature_ptr)
        else
        {
                msg_format(_("%sに振り落とされた!", "You have thrown off by %s."), m_name);
-               rakuba(p_ptr, 1, TRUE);
+               rakuba(creature_ptr, 1, TRUE);
                /* 落馬処理に失敗してもとにかく乗馬解除 */
                creature_ptr->riding = 0;
        }