1 #include "blue-magic/blue-magic-summon.h"
2 #include "blue-magic/blue-magic-util.h"
3 #include "monster-floor/monster-summon.h"
4 #include "monster-floor/place-monster-types.h"
5 #include "spell/spells-summon.h"
6 #include "spell/summon-types.h"
7 #include "view/display-messages.h"
9 bool cast_blue_summon_kin(player_type *caster_ptr, bmc_type *bmc_ptr)
11 msg_print(_("援軍を召喚した。", "You summon one of your kin."));
12 for (int k = 0; k < 1; k++) {
13 if (summon_kin_player(caster_ptr, bmc_ptr->summon_lev, caster_ptr->y, caster_ptr->x, (bmc_ptr->pet ? PM_FORCE_PET : 0L))) {
15 msg_print(_("召喚された仲間は怒っている!", "The summoned companion is angry!"));
17 bmc_ptr->no_trump = TRUE;
24 bool cast_blue_summon_cyber(player_type *caster_ptr, bmc_type *bmc_ptr)
26 msg_print(_("サイバーデーモンを召喚した!", "You summon a Cyberdemon!"));
27 for (int k = 0; k < 1; k++) {
28 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)) {
30 msg_print(_("召喚されたサイバーデーモンは怒っている!", "The summoned Cyberdemon is angry!"));
32 bmc_ptr->no_trump = TRUE;
39 bool cast_blue_summon_monster(player_type *caster_ptr, bmc_type *bmc_ptr)
41 msg_print(_("仲間を召喚した。", "You summon help."));
42 for (int k = 0; k < 1; k++) {
43 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)) {
45 msg_print(_("召喚されたモンスターは怒っている!", "The summoned monster is angry!"));
47 bmc_ptr->no_trump = TRUE;
54 bool cast_blue_summon_monsters(player_type *caster_ptr, bmc_type *bmc_ptr)
56 msg_print(_("モンスターを召喚した!", "You summon monsters!"));
57 for (int k = 0; k < bmc_ptr->plev / 15 + 2; k++) {
58 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))) {
60 msg_print(_("召喚されたモンスターは怒っている!", "The summoned monsters are angry!"));
62 bmc_ptr->no_trump = TRUE;
69 bool cast_blue_summon_ant(player_type *caster_ptr, bmc_type *bmc_ptr)
71 msg_print(_("アリを召喚した。", "You summon ants."));
73 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))) {
75 msg_print(_("召喚されたアリは怒っている!", "The summoned ants are angry!"));
77 bmc_ptr->no_trump = TRUE;
83 bool cast_blue_summon_spider(player_type *caster_ptr, bmc_type *bmc_ptr)
85 msg_print(_("蜘蛛を召喚した。", "You summon spiders."));
87 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))) {
89 msg_print(_("召喚された蜘蛛は怒っている!", "The summoned spiders are angry!"));
91 bmc_ptr->no_trump = TRUE;
97 bool cast_blue_summon_hound(player_type *caster_ptr, bmc_type *bmc_ptr)
99 msg_print(_("ハウンドを召喚した。", "You summon hounds."));
101 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))) {
103 msg_print(_("召喚されたハウンドは怒っている!", "The summoned hounds are angry!"));
105 bmc_ptr->no_trump = TRUE;
111 bool cast_blue_summon_hydra(player_type *caster_ptr, bmc_type *bmc_ptr)
113 msg_print(_("ヒドラを召喚した。", "You summon a hydras."));
115 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))) {
117 msg_print(_("召喚されたヒドラは怒っている!", "The summoned hydras are angry!"));
119 bmc_ptr->no_trump = TRUE;
125 bool cast_blue_summon_angel(player_type *caster_ptr, bmc_type *bmc_ptr)
127 msg_print(_("天使を召喚した!", "You summon an angel!"));
129 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))) {
131 msg_print(_("召喚された天使は怒っている!", "The summoned angel is angry!"));
133 bmc_ptr->no_trump = TRUE;
139 bool cast_blue_summon_demon(player_type *caster_ptr, bmc_type *bmc_ptr)
141 msg_print(_("混沌の宮廷から悪魔を召喚した!", "You summon a demon from the Courts of Chaos!"));
143 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))) {
145 msg_print(_("召喚されたデーモンは怒っている!", "The summoned demon is angry!"));
147 bmc_ptr->no_trump = TRUE;
153 bool cast_blue_summon_undead(player_type *caster_ptr, bmc_type *bmc_ptr)
155 msg_print(_("アンデッドの強敵を召喚した!", "You summon an undead adversary!"));
157 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))) {
159 msg_print(_("召喚されたアンデッドは怒っている!", "The summoned undead is angry!"));
161 bmc_ptr->no_trump = TRUE;
167 bool cast_blue_summon_dragon(player_type *caster_ptr, bmc_type *bmc_ptr)
169 msg_print(_("ドラゴンを召喚した!", "You summon a dragon!"));
171 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))) {
173 msg_print(_("召喚されたドラゴンは怒っている!", "The summoned dragon is angry!"));
175 bmc_ptr->no_trump = TRUE;
181 bool cast_blue_summon_high_undead(player_type *caster_ptr, bmc_type *bmc_ptr)
183 msg_print(_("強力なアンデッドを召喚した!", "You summon a greater undead!"));
184 if (summon_specific(caster_ptr, (bmc_ptr->pet ? -1 : 0), caster_ptr->y, caster_ptr->x, bmc_ptr->summon_lev, SUMMON_HI_UNDEAD,
185 (bmc_ptr->g_mode | bmc_ptr->p_mode | bmc_ptr->u_mode))) {
187 msg_print(_("召喚された上級アンデッドは怒っている!", "The summoned greater undead is angry!"));
189 bmc_ptr->no_trump = TRUE;
195 bool cast_blue_summon_high_dragon(player_type *caster_ptr, bmc_type *bmc_ptr)
197 msg_print(_("古代ドラゴンを召喚した!", "You summon an ancient dragon!"));
198 if (summon_specific(caster_ptr, (bmc_ptr->pet ? -1 : 0), caster_ptr->y, caster_ptr->x, bmc_ptr->summon_lev, SUMMON_HI_DRAGON,
199 (bmc_ptr->g_mode | bmc_ptr->p_mode | bmc_ptr->u_mode))) {
201 msg_print(_("召喚された古代ドラゴンは怒っている!", "The summoned ancient dragon is angry!"));
203 bmc_ptr->no_trump = TRUE;
209 bool cast_blue_summon_amberite(player_type *caster_ptr, bmc_type *bmc_ptr)
211 msg_print(_("アンバーの王族を召喚した!", "You summon a Lord of Amber!"));
212 if (summon_specific(caster_ptr, (bmc_ptr->pet ? -1 : 0), caster_ptr->y, caster_ptr->x, bmc_ptr->summon_lev, SUMMON_AMBERITES,
213 (bmc_ptr->g_mode | bmc_ptr->p_mode | bmc_ptr->u_mode))) {
215 msg_print(_("召喚されたアンバーの王族は怒っている!", "The summoned Lord of Amber is angry!"));
217 bmc_ptr->no_trump = TRUE;
223 bool cast_blue_summon_unique(player_type *caster_ptr, bmc_type *bmc_ptr)
226 msg_print(_("特別な強敵を召喚した!", "You summon a special opponent!"));
227 for (int k = 0; k < 1; k++) {
228 if (summon_specific(caster_ptr, (bmc_ptr->pet ? -1 : 0), caster_ptr->y, caster_ptr->x, bmc_ptr->summon_lev, SUMMON_UNIQUE,
229 (bmc_ptr->g_mode | bmc_ptr->p_mode | PM_ALLOW_UNIQUE))) {
232 msg_print(_("召喚されたユニーク・モンスターは怒っている!", "The summoned special opponent is angry!"));
236 for (int k = count; k < 1; k++) {
237 if (summon_specific(caster_ptr, (bmc_ptr->pet ? -1 : 0), caster_ptr->y, caster_ptr->x, bmc_ptr->summon_lev, SUMMON_HI_UNDEAD,
238 (bmc_ptr->g_mode | bmc_ptr->p_mode | PM_ALLOW_UNIQUE))) {
241 msg_print(_("召喚された上級アンデッドは怒っている!", "The summoned greater undead is angry!"));
246 bmc_ptr->no_trump = TRUE;