1 #include "blue-magic/blue-magic-caster.h"
2 #include "blue-magic/blue-magic-ball-bolt.h"
3 #include "blue-magic/blue-magic-breath.h"
4 #include "blue-magic/blue-magic-spirit-curse.h"
5 #include "blue-magic/blue-magic-status.h"
6 #include "blue-magic/blue-magic-util.h"
7 #include "blue-magic/learnt-info.h"
8 #include "core/hp-mp-processor.h"
9 #include "floor/cave.h"
10 #include "floor/floor.h"
11 #include "grid/grid.h"
12 #include "io/targeting.h"
13 #include "monster-floor/monster-summon.h"
14 #include "monster-floor/place-monster-types.h"
15 #include "monster-race/monster-race.h"
16 #include "monster-race/race-flags-resistance.h"
17 #include "monster-race/race-flags1.h"
18 #include "monster/monster-describer.h"
19 #include "monster/monster-info.h"
20 #include "monster/monster-status.h"
21 #include "mspell/mspell-damage-calculator.h"
22 #include "mspell/mspell-type.h"
23 #include "spell-kind/spells-launcher.h"
24 #include "spell-kind/spells-lite.h"
25 #include "spell-kind/spells-neighbor.h"
26 #include "spell-kind/spells-sight.h"
27 #include "spell-kind/spells-teleport.h"
28 #include "spell-kind/spells-world.h"
29 #include "spell/spell-types.h"
30 #include "spell/spells-status.h"
31 #include "spell/spells-summon.h"
32 #include "status/bad-status-setter.h"
33 #include "status/body-improvement.h"
34 #include "status/buff-setter.h"
35 #include "system/floor-type-definition.h"
36 #include "view/display-messages.h"
38 static bool cast_blue_dispel(player_type *caster_ptr)
40 if (!target_set(caster_ptr, TARGET_KILL))
43 MONSTER_IDX m_idx = caster_ptr->current_floor_ptr->grid_array[target_row][target_col].m_idx;
44 if ((m_idx == 0) || !player_has_los_bold(caster_ptr, target_row, target_col)
45 || !projectable(caster_ptr, caster_ptr->y, caster_ptr->x, target_row, target_col))
48 dispel_monster_status(caster_ptr, m_idx);
52 static bool cast_blue_rocket(player_type *caster_ptr, bmc_type *bmc_ptr)
54 if (!get_aim_dir(caster_ptr, &bmc_ptr->dir))
57 msg_print(_("ロケットを発射した。", "You fire a rocket."));
58 bmc_ptr->damage = monspell_bluemage_damage(caster_ptr, (MS_ROCKET), bmc_ptr->plev, DAM_ROLL);
59 fire_rocket(caster_ptr, GF_ROCKET, bmc_ptr->dir, bmc_ptr->damage, 2);
63 static bool cast_blue_shoot(player_type *caster_ptr, bmc_type *bmc_ptr)
65 if (!get_aim_dir(caster_ptr, &bmc_ptr->dir))
68 msg_print(_("矢を放った。", "You fire an arrow."));
69 bmc_ptr->damage = monspell_bluemage_damage(caster_ptr, (MS_SHOOT), bmc_ptr->plev, DAM_ROLL);
70 fire_bolt(caster_ptr, GF_ARROW, bmc_ptr->dir, bmc_ptr->damage);
74 static bool cast_blue_hand_doom(player_type *caster_ptr, bmc_type *bmc_ptr)
76 if (!get_aim_dir(caster_ptr, &bmc_ptr->dir))
79 msg_print(_("<破滅の手>を放った!", "You invoke the Hand of Doom!"));
80 fire_ball_hide(caster_ptr, GF_HAND_DOOM, bmc_ptr->dir, bmc_ptr->plev * 3, 0);
84 static bool exe_blue_teleport_back(player_type *caster_ptr, GAME_TEXT *m_name)
88 floor_type *floor_ptr = caster_ptr->current_floor_ptr;
89 if ((floor_ptr->grid_array[target_row][target_col].m_idx == 0) || !player_has_los_bold(caster_ptr, target_row, target_col)
90 || !projectable(caster_ptr, caster_ptr->y, caster_ptr->x, target_row, target_col))
93 m_ptr = &floor_ptr->m_list[floor_ptr->grid_array[target_row][target_col].m_idx];
94 r_ptr = &r_info[m_ptr->r_idx];
95 monster_desc(caster_ptr, m_name, m_ptr, 0);
96 if ((r_ptr->flagsr & RFR_RES_TELE) == 0)
99 if ((r_ptr->flags1 & RF1_UNIQUE) || (r_ptr->flagsr & RFR_RES_ALL)) {
100 if (is_original_ap_and_seen(caster_ptr, m_ptr))
101 r_ptr->r_flagsr |= RFR_RES_TELE;
103 msg_format(_("%sには効果がなかった!", "%s is unaffected!"), m_name);
107 if (r_ptr->level <= randint1(100))
110 if (is_original_ap_and_seen(caster_ptr, m_ptr))
111 r_ptr->r_flagsr |= RFR_RES_TELE;
113 msg_format(_("%sには耐性がある!", "%s resists!"), m_name);
117 bool cast_blue_teleport_back(player_type *caster_ptr)
119 if (!target_set(caster_ptr, TARGET_KILL))
122 GAME_TEXT m_name[MAX_NLEN];
123 if (exe_blue_teleport_back(caster_ptr, m_name))
126 msg_format(_("%sを引き戻した。", "You command %s to return."), m_name);
128 caster_ptr, caster_ptr->current_floor_ptr->grid_array[target_row][target_col].m_idx, caster_ptr->y, caster_ptr->x, 100, TELEPORT_PASSIVE);
132 bool cast_blue_teleport_away(player_type *caster_ptr, bmc_type *bmc_ptr)
134 if (!get_aim_dir(caster_ptr, &bmc_ptr->dir))
137 (void)fire_beam(caster_ptr, GF_AWAY_ALL, bmc_ptr->dir, 100);
141 bool cast_blue_psy_spear(player_type *caster_ptr, bmc_type *bmc_ptr)
143 if (!get_aim_dir(caster_ptr, &bmc_ptr->dir))
146 msg_print(_("光の剣を放った。", "You throw a psycho-spear."));
147 bmc_ptr->damage = monspell_bluemage_damage(caster_ptr, (MS_PSY_SPEAR), bmc_ptr->plev, DAM_ROLL);
148 (void)fire_beam(caster_ptr, GF_PSY_SPEAR, bmc_ptr->dir, bmc_ptr->damage);
152 bool cast_blue_make_trap(player_type *caster_ptr)
154 if (!target_set(caster_ptr, TARGET_KILL))
157 msg_print(_("呪文を唱えて邪悪に微笑んだ。", "You cast a spell and cackle evilly."));
158 trap_creation(caster_ptr, target_row, target_col);
162 bool cast_blue_summon_kin(player_type *caster_ptr, bmc_type *bmc_ptr)
164 msg_print(_("援軍を召喚した。", "You summon one of your kin."));
165 for (int k = 0; k < 1; k++) {
166 if (summon_kin_player(caster_ptr, bmc_ptr->summon_lev, caster_ptr->y, caster_ptr->x, (bmc_ptr->pet ? PM_FORCE_PET : 0L))) {
168 msg_print(_("召喚された仲間は怒っている!", "The summoned companion is angry!"));
170 bmc_ptr->no_trump = TRUE;
177 bool cast_blue_summon_cyber(player_type *caster_ptr, bmc_type *bmc_ptr)
179 msg_print(_("サイバーデーモンを召喚した!", "You summon a Cyberdemon!"));
180 for (int k = 0; k < 1; k++) {
181 if (summon_specific(caster_ptr, (bmc_ptr->pet ? -1 : 0), caster_ptr->y, caster_ptr->x, bmc_ptr->summon_lev, SUMMON_CYBER, bmc_ptr->p_mode)) {
183 msg_print(_("召喚されたサイバーデーモンは怒っている!", "The summoned Cyberdemon are angry!"));
185 bmc_ptr->no_trump = TRUE;
192 bool cast_blue_summon_monster(player_type *caster_ptr, bmc_type *bmc_ptr)
194 msg_print(_("仲間を召喚した。", "You summon help."));
195 for (int k = 0; k < 1; k++) {
196 if (summon_specific(caster_ptr, (bmc_ptr->pet ? -1 : 0), caster_ptr->y, caster_ptr->x, bmc_ptr->summon_lev, 0, bmc_ptr->p_mode)) {
198 msg_print(_("召喚されたモンスターは怒っている!", "The summoned monster is angry!"));
200 bmc_ptr->no_trump = TRUE;
207 bool cast_blue_summon_monsters(player_type *caster_ptr, bmc_type *bmc_ptr)
209 msg_print(_("モンスターを召喚した!", "You summon monsters!"));
210 for (int k = 0; k < bmc_ptr->plev / 15 + 2; k++) {
211 if (summon_specific(caster_ptr, (bmc_ptr->pet ? -1 : 0), caster_ptr->y, caster_ptr->x, bmc_ptr->summon_lev, 0, (bmc_ptr->p_mode | bmc_ptr->u_mode))) {
213 msg_print(_("召喚されたモンスターは怒っている!", "The summoned monsters are angry!"));
215 bmc_ptr->no_trump = TRUE;
222 bool cast_blue_summon_ant(player_type *caster_ptr, bmc_type *bmc_ptr)
224 msg_print(_("アリを召喚した。", "You summon ants."));
226 caster_ptr, (bmc_ptr->pet ? -1 : 0), caster_ptr->y, caster_ptr->x, bmc_ptr->summon_lev, SUMMON_ANT, (PM_ALLOW_GROUP | bmc_ptr->p_mode))) {
228 msg_print(_("召喚されたアリは怒っている!", "The summoned ants are angry!"));
230 bmc_ptr->no_trump = TRUE;
236 bool cast_blue_summon_spider(player_type *caster_ptr, bmc_type *bmc_ptr)
238 msg_print(_("蜘蛛を召喚した。", "You summon spiders."));
240 caster_ptr, (bmc_ptr->pet ? -1 : 0), caster_ptr->y, caster_ptr->x, bmc_ptr->summon_lev, SUMMON_SPIDER, (PM_ALLOW_GROUP | bmc_ptr->p_mode))) {
242 msg_print(_("召喚された蜘蛛は怒っている!", "Summoned spiders are angry!"));
244 bmc_ptr->no_trump = TRUE;
250 bool cast_blue_summon_hound(player_type *caster_ptr, bmc_type *bmc_ptr)
252 msg_print(_("ハウンドを召喚した。", "You summon hounds."));
254 caster_ptr, (bmc_ptr->pet ? -1 : 0), caster_ptr->y, caster_ptr->x, bmc_ptr->summon_lev, SUMMON_HOUND, (PM_ALLOW_GROUP | bmc_ptr->p_mode))) {
256 msg_print(_("召喚されたハウンドは怒っている!", "Summoned hounds are angry!"));
258 bmc_ptr->no_trump = TRUE;
264 bool cast_blue_summon_hydra(player_type *caster_ptr, bmc_type *bmc_ptr)
266 msg_print(_("ヒドラを召喚した。", "You summon a hydras."));
268 caster_ptr, (bmc_ptr->pet ? -1 : 0), caster_ptr->y, caster_ptr->x, bmc_ptr->summon_lev, SUMMON_HYDRA, (bmc_ptr->g_mode | bmc_ptr->p_mode))) {
270 msg_print(_("召喚されたヒドラは怒っている!", "Summoned hydras are angry!"));
272 bmc_ptr->no_trump = TRUE;
278 bool cast_blue_summon_angel(player_type *caster_ptr, bmc_type *bmc_ptr)
280 msg_print(_("天使を召喚した!", "You summon an angel!"));
282 caster_ptr, (bmc_ptr->pet ? -1 : 0), caster_ptr->y, caster_ptr->x, bmc_ptr->summon_lev, SUMMON_ANGEL, (bmc_ptr->g_mode | bmc_ptr->p_mode))) {
284 msg_print(_("召喚された天使は怒っている!", "The summoned angel is angry!"));
286 bmc_ptr->no_trump = TRUE;
292 bool cast_blue_summon_demon(player_type *caster_ptr, bmc_type *bmc_ptr)
294 msg_print(_("混沌の宮廷から悪魔を召喚した!", "You summon a demon from the Courts of Chaos!"));
296 caster_ptr, (bmc_ptr->pet ? -1 : 0), caster_ptr->y, caster_ptr->x, bmc_ptr->summon_lev, SUMMON_DEMON, (bmc_ptr->g_mode | bmc_ptr->p_mode))) {
298 msg_print(_("召喚されたデーモンは怒っている!", "The summoned demon is angry!"));
300 bmc_ptr->no_trump = TRUE;
306 bool cast_blue_summon_undead(player_type *caster_ptr, bmc_type *bmc_ptr)
308 msg_print(_("アンデッドの強敵を召喚した!", "You summon an undead adversary!"));
310 caster_ptr, (bmc_ptr->pet ? -1 : 0), caster_ptr->y, caster_ptr->x, bmc_ptr->summon_lev, SUMMON_UNDEAD, (bmc_ptr->g_mode | bmc_ptr->p_mode))) {
312 msg_print(_("召喚されたアンデッドは怒っている!", "The summoned undead is angry!"));
314 bmc_ptr->no_trump = TRUE;
320 bool cast_blue_summon_dragon(player_type *caster_ptr, bmc_type *bmc_ptr)
322 msg_print(_("ドラゴンを召喚した!", "You summon a dragon!"));
324 caster_ptr, (bmc_ptr->pet ? -1 : 0), caster_ptr->y, caster_ptr->x, bmc_ptr->summon_lev, SUMMON_DRAGON, (bmc_ptr->g_mode | bmc_ptr->p_mode))) {
326 msg_print(_("召喚されたドラゴンは怒っている!", "The summoned dragon is angry!"));
328 bmc_ptr->no_trump = TRUE;
334 bool cast_blue_summon_high_undead(player_type *caster_ptr, bmc_type *bmc_ptr)
336 msg_print(_("強力なアンデッドを召喚した!", "You summon a greater undead!"));
337 if (summon_specific(caster_ptr, (bmc_ptr->pet ? -1 : 0), caster_ptr->y, caster_ptr->x, bmc_ptr->summon_lev, SUMMON_HI_UNDEAD,
338 (bmc_ptr->g_mode | bmc_ptr->p_mode | bmc_ptr->u_mode))) {
340 msg_print(_("召喚された上級アンデッドは怒っている!", "The summoned greater undead is angry!"));
342 bmc_ptr->no_trump = TRUE;
348 bool cast_blue_summon_high_dragon(player_type *caster_ptr, bmc_type *bmc_ptr)
350 msg_print(_("古代ドラゴンを召喚した!", "You summon an ancient dragon!"));
351 if (summon_specific(caster_ptr, (bmc_ptr->pet ? -1 : 0), caster_ptr->y, caster_ptr->x, bmc_ptr->summon_lev, SUMMON_HI_DRAGON,
352 (bmc_ptr->g_mode | bmc_ptr->p_mode | bmc_ptr->u_mode))) {
354 msg_print(_("召喚された古代ドラゴンは怒っている!", "The summoned ancient dragon is angry!"));
356 bmc_ptr->no_trump = TRUE;
362 bool cast_blue_summon_amberite(player_type *caster_ptr, bmc_type *bmc_ptr)
364 msg_print(_("アンバーの王族を召喚した!", "You summon a Lord of Amber!"));
365 if (summon_specific(caster_ptr, (bmc_ptr->pet ? -1 : 0), caster_ptr->y, caster_ptr->x, bmc_ptr->summon_lev, SUMMON_AMBERITES,
366 (bmc_ptr->g_mode | bmc_ptr->p_mode | bmc_ptr->u_mode))) {
368 msg_print(_("召喚されたアンバーの王族は怒っている!", "The summoned Lord of Amber is angry!"));
370 bmc_ptr->no_trump = TRUE;
376 bool cast_blue_summon_unique(player_type *caster_ptr, bmc_type *bmc_ptr)
379 msg_print(_("特別な強敵を召喚した!", "You summon a special opponent!"));
380 for (int k = 0; k < 1; k++) {
381 if (summon_specific(caster_ptr, (bmc_ptr->pet ? -1 : 0), caster_ptr->y, caster_ptr->x, bmc_ptr->summon_lev, SUMMON_UNIQUE,
382 (bmc_ptr->g_mode | bmc_ptr->p_mode | PM_ALLOW_UNIQUE))) {
385 msg_print(_("召喚されたユニーク・モンスターは怒っている!", "The summoned special opponent is angry!"));
389 for (int k = count; k < 1; k++) {
390 if (summon_specific(caster_ptr, (bmc_ptr->pet ? -1 : 0), caster_ptr->y, caster_ptr->x, bmc_ptr->summon_lev, SUMMON_HI_UNDEAD,
391 (bmc_ptr->g_mode | bmc_ptr->p_mode | PM_ALLOW_UNIQUE))) {
394 msg_print(_("召喚された上級アンデッドは怒っている!", "The summoned greater undead is angry!"));
399 bmc_ptr->no_trump = TRUE;
406 * do_cmd_cast calls this function if the player's class is 'blue-mage'.
407 * @param spell 発動するモンスター攻撃のID
408 * @param success TRUEは成功時、FALSEは失敗時の処理を行う
409 * @return 処理を実行したらTRUE、キャンセルした場合FALSEを返す。
411 bool cast_learned_spell(player_type *caster_ptr, int spell, const bool success)
414 bmc_type *bmc_ptr = initialize_blue_magic_type(caster_ptr, &tmp_bm, success, get_pseudo_monstetr_level);
417 msg_print(_("かん高い金切り声をあげた。", "You make a high pitched shriek."));
418 aggravate_monsters(caster_ptr, 0);
419 break; // 関数分割後に'return TRUE;' に差し替え.
424 break; // 関数分割後に'return TRUE;' に差し替え.
426 if (!cast_blue_dispel(caster_ptr))
431 if (!cast_blue_rocket(caster_ptr, bmc_ptr))
436 if (!cast_blue_shoot(caster_ptr, bmc_ptr))
441 if (!cast_blue_breath_acid(caster_ptr, bmc_ptr))
446 if (!cast_blue_breath_elec(caster_ptr, bmc_ptr))
451 if (!cast_blue_breath_fire(caster_ptr, bmc_ptr))
456 if (!cast_blue_breath_cold(caster_ptr, bmc_ptr))
461 if (!cast_blue_breath_pois(caster_ptr, bmc_ptr))
466 if (!cast_blue_breath_nether(caster_ptr, bmc_ptr))
471 if (!cast_blue_breath_lite(caster_ptr, bmc_ptr))
476 if (!cast_blue_breath_dark(caster_ptr, bmc_ptr))
481 if (!cast_blue_breath_conf(caster_ptr, bmc_ptr))
486 if (!cast_blue_breath_sound(caster_ptr, bmc_ptr))
491 if (!cast_blue_breath_chaos(caster_ptr, bmc_ptr))
496 if (!cast_blue_breath_disenchant(caster_ptr, bmc_ptr))
501 if (!cast_blue_breath_nexus(caster_ptr, bmc_ptr))
506 if (!cast_blue_breath_time(caster_ptr, bmc_ptr))
511 if (!cast_blue_breath_inertia(caster_ptr, bmc_ptr))
516 if (!cast_blue_breath_gravity(caster_ptr, bmc_ptr))
521 if (!cast_blue_breath_shards(caster_ptr, bmc_ptr))
526 if (!cast_blue_breath_plasma(caster_ptr, bmc_ptr))
531 if (!cast_blue_breath_force(caster_ptr, bmc_ptr))
536 if (!cast_blue_breath_mana(caster_ptr, bmc_ptr))
541 if (!cast_blue_breath_nuke(caster_ptr, bmc_ptr))
546 if (!cast_blue_breath_disintegration(caster_ptr, bmc_ptr))
551 if (!cast_blue_ball_acid(caster_ptr, bmc_ptr))
556 if (!cast_blue_ball_elec(caster_ptr, bmc_ptr))
561 if (!cast_blue_ball_fire(caster_ptr, bmc_ptr))
566 if (!cast_blue_ball_cold(caster_ptr, bmc_ptr))
571 if (!cast_blue_ball_pois(caster_ptr, bmc_ptr))
576 if (!cast_blue_ball_nuke(caster_ptr, bmc_ptr))
581 if (!cast_blue_ball_nether(caster_ptr, bmc_ptr))
586 if (!cast_blue_ball_chaos(caster_ptr, bmc_ptr))
591 if (!cast_blue_ball_water(caster_ptr, bmc_ptr))
596 if (!cast_blue_ball_star_burst(caster_ptr, bmc_ptr))
601 if (!cast_blue_ball_dark_storm(caster_ptr, bmc_ptr))
606 if (!cast_blue_ball_mana_storm(caster_ptr, bmc_ptr))
611 if (!cast_blue_drain_mana(caster_ptr, bmc_ptr))
616 if (!cast_blue_mind_blast(caster_ptr, bmc_ptr))
621 if (!cast_blue_brain_smash(caster_ptr, bmc_ptr))
626 if (!cast_blue_curse_1(caster_ptr, bmc_ptr))
631 if (!cast_blue_curse_2(caster_ptr, bmc_ptr))
636 if (!cast_blue_curse_3(caster_ptr, bmc_ptr))
641 if (!cast_blue_curse_4(caster_ptr, bmc_ptr))
646 if (!cast_blue_bolt_acid(caster_ptr, bmc_ptr))
651 if (!cast_blue_bolt_elec(caster_ptr, bmc_ptr))
656 if (!cast_blue_bolt_fire(caster_ptr, bmc_ptr))
661 if (!cast_blue_bolt_cold(caster_ptr, bmc_ptr))
666 if (!cast_blue_bolt_nether(caster_ptr, bmc_ptr))
671 if (!cast_blue_bolt_water(caster_ptr, bmc_ptr))
676 if (!cast_blue_bolt_mana(caster_ptr, bmc_ptr))
681 if (!cast_blue_bolt_plasma(caster_ptr, bmc_ptr))
686 if (!cast_blue_bolt_icee(caster_ptr, bmc_ptr))
690 case MS_MAGIC_MISSILE:
691 if (!cast_blue_bolt_missile(caster_ptr, bmc_ptr))
696 if (!cast_blue_scare(caster_ptr, bmc_ptr))
701 if (!cast_blue_blind(caster_ptr, bmc_ptr))
706 if (!cast_blue_confusion(caster_ptr, bmc_ptr))
711 if (!cast_blue_slow(caster_ptr, bmc_ptr))
716 if (!cast_blue_sleep(caster_ptr, bmc_ptr))
721 (void)set_fast(caster_ptr, randint1(20 + bmc_ptr->plev) + bmc_ptr->plev, FALSE);
722 break; // 関数分割後に'return TRUE;' に差し替え
724 if (!cast_blue_hand_doom(caster_ptr, bmc_ptr))
729 msg_print(_("自分の傷に念を集中した。", "You concentrate on your wounds!"));
730 (void)hp_player(caster_ptr, bmc_ptr->plev * 4);
731 (void)set_stun(caster_ptr, 0);
732 (void)set_cut(caster_ptr, 0);
733 break; // 関数分割後に'return TRUE;' に差し替え
735 msg_print(_("無傷の球の呪文を唱えた。", "You cast a Globe of Invulnerability."));
736 (void)set_invuln(caster_ptr, randint1(4) + 4, FALSE);
737 break; // 関数分割後に'return TRUE;' に差し替え
739 teleport_player(caster_ptr, 10, TELEPORT_SPONTANEOUS);
740 break; // 関数分割後に'return TRUE;' に差し替え
742 teleport_player(caster_ptr, bmc_ptr->plev * 5, TELEPORT_SPONTANEOUS);
743 break; // 関数分割後に'return TRUE;' に差し替え
745 (void)time_walk(caster_ptr);
746 break; // 関数分割後に'return TRUE;' に差し替え
748 break; // 関数分割後に'return TRUE;' に差し替え
750 if (!cast_blue_teleport_back(caster_ptr))
755 if (!cast_blue_teleport_away(caster_ptr, bmc_ptr))
760 return teleport_level_other(caster_ptr);
762 if (!cast_blue_psy_spear(caster_ptr, bmc_ptr))
767 msg_print(_("暗闇の中で手を振った。", "You gesture in shadow."));
768 (void)unlite_area(caster_ptr, 10, 3);
771 if (!cast_blue_make_trap(caster_ptr))
776 msg_print(_("しかし何も起きなかった。", "Nothing happen."));
777 break; // 関数分割後に'return TRUE;' に差し替え.
779 msg_print(_("死者復活の呪文を唱えた。", "You animate the dead."));
780 (void)animate_dead(caster_ptr, 0, caster_ptr->y, caster_ptr->x);
781 break; // 関数分割後に'return TRUE;' に差し替え.
783 (void)cast_blue_summon_kin(caster_ptr, bmc_ptr);
784 break; // 関数分割後に'return cast_...();' に差し替え.
786 (void)cast_blue_summon_cyber(caster_ptr, bmc_ptr);
789 (void)cast_blue_summon_monster(caster_ptr, bmc_ptr);
790 break; // 関数分割後に'return cast_...();' に差し替え.
792 (void)cast_blue_summon_monsters(caster_ptr, bmc_ptr);
793 break; // 関数分割後に'return cast_...();' に差し替え.
795 (void)cast_blue_summon_ant(caster_ptr, bmc_ptr);
796 break; // 関数分割後に'return cast_...();' に差し替え.
798 (void)cast_blue_summon_spider(caster_ptr, bmc_ptr);
799 break; // 関数分割後に'return cast_...();' に差し替え.
801 (void)cast_blue_summon_hound(caster_ptr, bmc_ptr);
802 break; // 関数分割後に'return cast_...();' に差し替え.
804 (void)cast_blue_summon_hydra(caster_ptr, bmc_ptr);
805 break; // 関数分割後に'return cast_...();' に差し替え.
807 (void)cast_blue_summon_angel(caster_ptr, bmc_ptr);
808 break; // 関数分割後に'return cast_...();' に差し替え.
810 (void)cast_blue_summon_demon(caster_ptr, bmc_ptr);
811 break; // 関数分割後に'return cast_...();' に差し替え.
813 (void)cast_blue_summon_undead(caster_ptr, bmc_ptr);
814 break; // 関数分割後に'return cast_...();' に差し替え.
816 (void)cast_blue_summon_dragon(caster_ptr, bmc_ptr);
817 break; // 関数分割後に'return cast_...();' に差し替え.
819 (void)cast_blue_summon_high_undead(caster_ptr, bmc_ptr);
820 break; // 関数分割後に'return cast_...();' に差し替え.
822 (void)cast_blue_summon_high_dragon(caster_ptr, bmc_ptr);
823 break; // 関数分割後に'return cast_...();' に差し替え.
825 (void)cast_blue_summon_amberite(caster_ptr, bmc_ptr);
826 break; // 関数分割後に'return cast_...();' に差し替え.
828 (void)cast_blue_summon_unique(caster_ptr, bmc_ptr);
829 break; // 関数分割後に'return cast_...();' に差し替え.
832 break; // 関数分割後に'return TRUE;' に差し替え.
835 if (bmc_ptr->no_trump)
836 msg_print(_("何も現れなかった。", "No one appeared."));