OSDN Git Service

[Refactor] #37353 アンドロイドの内蔵兵器処理を android_inside_weapon() に分離。 / Separate Android...
authorDeskull <deskull@users.sourceforge.jp>
Wed, 23 Jan 2019 04:09:19 +0000 (13:09 +0900)
committerDeskull <deskull@users.sourceforge.jp>
Wed, 23 Jan 2019 04:10:45 +0000 (13:10 +0900)
src/racial.c
src/spells2.c

index de903f6..f4f2bb4 100644 (file)
@@ -1039,32 +1039,7 @@ static bool cmd_racial_power_aux(s32b command)
                        break;
 
                case RACE_ANDROID:
-                       if (!get_aim_dir(&dir)) return FALSE;
-                       if (plev < 10)
-                       {
-                               msg_print(_("レイガンを発射した。", "You fire your ray gun."));
-                               fire_bolt(GF_MISSILE, dir, (plev+1) / 2);
-                       }
-                       else if (plev < 25)
-                       {
-                               msg_print(_("ブラスターを発射した。", "You fire your blaster."));
-                               fire_bolt(GF_MISSILE, dir, plev);
-                       }
-                       else if (plev < 35)
-                       {
-                               msg_print(_("バズーカを発射した。", "You fire your bazooka."));
-                               fire_ball(GF_MISSILE, dir, plev * 2, 2);
-                       }
-                       else if (plev < 45)
-                       {
-                               msg_print(_("ビームキャノンを発射した。", "You fire a beam cannon."));
-                               fire_beam(GF_MISSILE, dir, plev * 2);
-                       }
-                       else
-                       {
-                               msg_print(_("ロケットを発射した。", "You fire a rocket."));
-                               fire_rocket(GF_ROCKET, dir, plev * 5, 2);
-                       }
+                       return android_inside_weapon(p_ptr);
                        break;
 
                default:
index 17cfd38..4238801 100644 (file)
@@ -5116,5 +5116,37 @@ bool draconian_breath(player_type *creature_ptr)
        msg_format(_("あなたは%sのブレスを吐いた。", "You breathe %s."), Type_desc);
 
        fire_breath(Type, creature_ptr->lev, dir, creature_ptr->lev * 2, (creature_ptr->lev / 15) + 1);
+       return TRUE;
 }
 
+bool android_inside_weapon(player_type *creature_ptr)
+{
+       DIRECTION dir;
+       if (!get_aim_dir(&dir)) return FALSE;
+       if (creature_ptr->lev < 10)
+       {
+               msg_print(_("レイガンを発射した。", "You fire your ray gun."));
+               fire_bolt(GF_MISSILE, dir, (creature_ptr->lev + 1) / 2);
+       }
+       else if (creature_ptr->lev < 25)
+       {
+               msg_print(_("ブラスターを発射した。", "You fire your blaster."));
+               fire_bolt(GF_MISSILE, dir, creature_ptr->lev);
+       }
+       else if (creature_ptr->lev < 35)
+       {
+               msg_print(_("バズーカを発射した。", "You fire your bazooka."));
+               fire_ball(GF_MISSILE, dir, creature_ptr->lev * 2, 2);
+       }
+       else if (creature_ptr->lev < 45)
+       {
+               msg_print(_("ビームキャノンを発射した。", "You fire a beam cannon."));
+               fire_beam(GF_MISSILE, dir, creature_ptr->lev * 2);
+       }
+       else
+       {
+               msg_print(_("ロケットを発射した。", "You fire a rocket."));
+               fire_rocket(GF_ROCKET, dir, creature_ptr->lev * 5, 2);
+       }
+       return TRUE;
+}