#include "mspell/mspell-summon.h"
+#include "core/disturbance.h"
#include "effect/effect-characteristics.h"
+#include "effect/effect-processor.h"
+#include "floor/cave.h"
#include "game-option/birth-options.h"
#include "monster-floor/monster-summon.h"
#include "monster-floor/place-monster-types.h"
#include "monster/monster-description-types.h"
#include "monster/monster-info.h"
#include "monster/monster-status.h"
-#include "mspell/monster-spell.h"
#include "mspell/mspell-util.h"
-#include "player/player-move.h"
+#include "mspell/specified-summon.h"
#include "spell-kind/spells-launcher.h"
-#include "spell/process-effect.h"
-#include "spell/spells-summon.h"
#include "spell/spell-types.h"
+#include "spell/spells-summon.h"
+#include "spell/summon-types.h"
+#include "system/floor-type-definition.h"
#include "view/display-messages.h"
+/* summoning number */
+#define S_NUM_6 (easy_band ? 2 : 6)
+#define S_NUM_4 (easy_band ? 1 : 4)
+
/*!
* @brief 特定条件のモンスター召喚のみPM_ALLOW_UNIQUEを許可する /
* @param floor_ptr 現在フロアへの参照ポインタ
}
/*!
- * @brief 鷹召喚の処理。 /
+ * @brief 救援召喚の通常処理。同シンボルのモンスターを召喚する。 /
* @param target_ptr プレーヤーへの参照ポインタ
* @param y 対象の地点のy座標
* @param x 対象の地点のx座標
* @param m_idx 呪文を唱えるモンスターID
* @return 召喚したモンスターの数を返す。
*/
-MONSTER_NUMBER summon_EAGLE(player_type *target_ptr, POSITION y, POSITION x, int rlev, MONSTER_IDX m_idx)
+MONSTER_NUMBER summon_Kin(player_type *target_ptr, POSITION y, POSITION x, int rlev, MONSTER_IDX m_idx)
{
int count = 0;
- int num = 4 + randint1(3);
- for (int k = 0; k < num; k++) {
- count += summon_specific(target_ptr, m_idx, y, x, rlev, SUMMON_EAGLES, (PM_ALLOW_GROUP | PM_ALLOW_UNIQUE));
+ for (int k = 0; k < 4; k++) {
+ count += summon_specific(target_ptr, m_idx, y, x, rlev, SUMMON_KIN, PM_ALLOW_GROUP);
}
return count;
}
-/*!
- * @brief インターネット・エクスプローダー召喚の処理。 /
- * @param target_ptr プレーヤーへの参照ポインタ
- * @param y 対象の地点のy座標
- * @param x 対象の地点のx座標
- * @param rlev 呪文を唱えるモンスターのレベル
- * @param m_idx 呪文を唱えるモンスターID
- * @return 召喚したモンスターの数を返す。
- */
-MONSTER_NUMBER summon_IE(player_type *target_ptr, POSITION y, POSITION x, int rlev, MONSTER_IDX m_idx)
+static void decide_summon_kin_caster(
+ player_type *target_ptr, MONSTER_IDX m_idx, MONSTER_IDX t_idx, int target_type, concptr m_name, concptr m_poss, const bool known)
{
- BIT_FLAGS mode = 0L;
- int count = 0;
- int num = 2 + randint1(1 + rlev / 20);
- for (int k = 0; k < num; k++) {
- count += summon_named_creature(target_ptr, m_idx, y, x, MON_IE, mode);
+ floor_type *floor_ptr = target_ptr->current_floor_ptr;
+ monster_type *m_ptr = &floor_ptr->m_list[m_idx];
+ bool see_either = see_monster(target_ptr, m_idx) || see_monster(target_ptr, t_idx);
+ bool mon_to_mon = target_type == MONSTER_TO_MONSTER;
+ bool mon_to_player = target_type == MONSTER_TO_PLAYER;
+ if (m_ptr->r_idx == MON_SERPENT || m_ptr->r_idx == MON_ZOMBI_SERPENT) {
+ monspell_message(target_ptr, m_idx, t_idx, _("%^sが何かをつぶやいた。", "%^s mumbles."),
+ _("%^sがダンジョンの主を召喚した。", "%^s magically summons guardians of dungeons."),
+ _("%^sがダンジョンの主を召喚した。", "%^s magically summons guardians of dungeons."), target_type);
+ return;
}
- return count;
-}
-
-/*!
- * @brief ダンジョンの主召喚の処理。 /
- * @param target_ptr プレーヤーへの参照ポインタ
- * @param y 対象の地点のy座標
- * @param x 対象の地点のx座標
- * @param rlev 呪文を唱えるモンスターのレベル
- * @param m_idx 呪文を唱えるモンスターID
- * @param t_idx 呪文を受けるモンスターID。プレイヤーの場合はdummyで0とする。
- * @param TARGET_TYPE プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
- * @return 召喚したモンスターの数を返す。
- */
-MONSTER_NUMBER summon_guardian(player_type *target_ptr, POSITION y, POSITION x, int rlev, MONSTER_IDX m_idx, MONSTER_IDX t_idx, int TARGET_TYPE)
-{
- int num = 2 + randint1(3);
- bool mon_to_mon = (TARGET_TYPE == MONSTER_TO_MONSTER);
- bool mon_to_player = (TARGET_TYPE == MONSTER_TO_PLAYER);
-
- if (r_info[MON_JORMUNGAND].cur_num < r_info[MON_JORMUNGAND].max_num && one_in_(6)) {
- simple_monspell_message(target_ptr, m_idx, t_idx, _("地面から水が吹き出した!", "Water blew off from the ground!"),
- _("地面から水が吹き出した!", "Water blew off from the ground!"), TARGET_TYPE);
+ if (mon_to_player || (mon_to_mon && known && see_either))
+ disturb(target_ptr, TRUE, TRUE);
+ if (target_ptr->blind) {
if (mon_to_player)
- fire_ball_hide(target_ptr, GF_WATER_FLOW, 0, 3, 8);
- else if (mon_to_mon)
- project(target_ptr, t_idx, 8, y, x, 3, GF_WATER_FLOW, PROJECT_GRID | PROJECT_HIDE, -1);
- }
-
- int count = 0;
- for (int k = 0; k < num; k++) {
- count += summon_specific(target_ptr, m_idx, y, x, rlev, SUMMON_GUARDIANS, (PM_ALLOW_GROUP | PM_ALLOW_UNIQUE));
- }
-
- return count;
-}
-
-/*!
- * @brief ロックのクローン召喚の処理。 /
- * @param target_ptr プレーヤーへの参照ポインタ
- * @param y 対象の地点のy座標
- * @param x 対象の地点のx座標
- * @param m_idx 呪文を唱えるモンスターID
- * @return 召喚したモンスターの数を返す。
- */
-MONSTER_NUMBER summon_LOCKE_CLONE(player_type *target_ptr, POSITION y, POSITION x, MONSTER_IDX m_idx)
-{
- BIT_FLAGS mode = 0L;
- int count = 0;
- int num = randint1(3);
- for (int k = 0; k < num; k++) {
- count += summon_named_creature(target_ptr, m_idx, y, x, MON_LOCKE_CLONE, mode);
- }
-
- return count;
-}
-
-/*!
- * @brief シラミ召喚の処理。 /
- * @param target_ptr プレーヤーへの参照ポインタ
- * @param y 対象の地点のy座標
- * @param x 対象の地点のx座標
- * @param rlev 呪文を唱えるモンスターのレベル
- * @param m_idx 呪文を唱えるモンスターID
- * @return 召喚したモンスターの数を返す。
- */
-MONSTER_NUMBER summon_LOUSE(player_type *target_ptr, POSITION y, POSITION x, int rlev, MONSTER_IDX m_idx)
-{
- int count = 0;
- int num = 2 + randint1(3);
- for (int k = 0; k < num; k++) {
- count += summon_specific(target_ptr, m_idx, y, x, rlev, SUMMON_LOUSE, PM_ALLOW_GROUP);
+ msg_format(_("%^sが何かをつぶやいた。", "%^s mumbles."), m_name);
+ } else if (mon_to_player || (mon_to_mon && known && see_either)) {
+ monster_race *r_ptr = &r_info[m_ptr->r_idx];
+#ifdef JP
+ (void)m_poss;
+#endif
+ _(msg_format("%sが魔法で%sを召喚した。", m_name, ((r_ptr->flags1 & RF1_UNIQUE) ? "手下" : "仲間")),
+ msg_format("%^s magically summons %s %s.", m_name, m_poss, ((r_ptr->flags1 & RF1_UNIQUE) ? "minions" : "kin")));
}
- return count;
-}
-
-/*!
- * @brief 救援召喚の通常処理。同シンボルのモンスターを召喚する。 /
- * @param target_ptr プレーヤーへの参照ポインタ
- * @param y 対象の地点のy座標
- * @param x 対象の地点のx座標
- * @param rlev 呪文を唱えるモンスターのレベル
- * @param m_idx 呪文を唱えるモンスターID
- * @return 召喚したモンスターの数を返す。
- */
-MONSTER_NUMBER summon_Kin(player_type *target_ptr, POSITION y, POSITION x, int rlev, MONSTER_IDX m_idx)
-{
- int count = 0;
- for (int k = 0; k < 4; k++) {
- count += summon_specific(target_ptr, m_idx, y, x, rlev, SUMMON_KIN, PM_ALLOW_GROUP);
- }
-
- return count;
+ if (mon_to_mon && known && !see_either)
+ floor_ptr->monster_noise = TRUE;
}
/*!
* @param x 対象の地点のx座標
* @param m_idx 呪文を唱えるモンスターID
* @param t_idx 呪文を受けるモンスターID。プレイヤーの場合はdummyで0とする。
- * @param TARGET_TYPE プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
+ * @param target_type プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
* @return 召喚したモンスターの数を返す。
*/
-void spell_RF6_S_KIN(player_type *target_ptr, POSITION y, POSITION x, MONSTER_IDX m_idx, MONSTER_IDX t_idx, int TARGET_TYPE)
+void spell_RF6_S_KIN(player_type *target_ptr, POSITION y, POSITION x, MONSTER_IDX m_idx, MONSTER_IDX t_idx, int target_type)
{
floor_type *floor_ptr = target_ptr->current_floor_ptr;
monster_type *m_ptr = &floor_ptr->m_list[m_idx];
- monster_race *r_ptr = &r_info[m_ptr->r_idx];
DEPTH rlev = monster_level_idx(floor_ptr, m_idx);
- int count = 0;
GAME_TEXT m_name[MAX_NLEN], t_name[MAX_NLEN], m_poss[80];
monster_name(target_ptr, m_idx, m_name);
monster_name(target_ptr, t_idx, t_name);
disturb(target_ptr, TRUE, TRUE);
bool known = monster_near_player(floor_ptr, m_idx, t_idx);
- bool see_either = see_monster(target_ptr, m_idx) || see_monster(target_ptr, t_idx);
- bool mon_to_mon = (TARGET_TYPE == MONSTER_TO_MONSTER);
- bool mon_to_player = (TARGET_TYPE == MONSTER_TO_PLAYER);
- if (m_ptr->r_idx == MON_SERPENT || m_ptr->r_idx == MON_ZOMBI_SERPENT) {
- monspell_message(target_ptr, m_idx, t_idx, _("%^sが何かをつぶやいた。", "%^s mumbles."),
- _("%^sがダンジョンの主を召喚した。", "%^s magically summons guardians of dungeons."),
- _("%^sがダンジョンの主を召喚した。", "%^s magically summons guardians of dungeons."), TARGET_TYPE);
- } else {
- if (mon_to_player || (mon_to_mon && known && see_either))
- disturb(target_ptr, TRUE, TRUE);
-
- if (target_ptr->blind) {
- if (mon_to_player)
- msg_format(_("%^sが何かをつぶやいた。", "%^s mumbles."), m_name);
- } else {
- if (mon_to_player || (mon_to_mon && known && see_either)) {
- _(msg_format("%sが魔法で%sを召喚した。", m_name, ((r_ptr->flags1 & RF1_UNIQUE) ? "手下" : "仲間")),
- msg_format("%^s magically summons %s %s.", m_name, m_poss, ((r_ptr->flags1 & RF1_UNIQUE) ? "minions" : "kin")));
- }
- }
-
- if (mon_to_mon && known && !see_either)
- floor_ptr->monster_noise = TRUE;
- }
-
+ decide_summon_kin_caster(target_ptr, m_idx, t_idx, target_type, m_name, m_poss, known);
+ int count = 0;
switch (m_ptr->r_idx) {
case MON_MENELDOR:
case MON_GWAIHIR:
case MON_THORONDOR:
count += summon_EAGLE(target_ptr, y, x, rlev, m_idx);
break;
-
case MON_BULLGATES:
- count += summon_IE(target_ptr, y, x, rlev, m_idx);
+ count += summon_EDGE(target_ptr, y, x, rlev, m_idx);
break;
-
case MON_SERPENT:
case MON_ZOMBI_SERPENT:
- count += summon_guardian(target_ptr, y, x, rlev, m_idx, t_idx, TARGET_TYPE);
+ count += summon_guardian(target_ptr, y, x, rlev, m_idx, t_idx, target_type);
break;
-
case MON_CALDARM:
count += summon_LOCKE_CLONE(target_ptr, y, x, m_idx);
break;
-
case MON_LOUSY:
count += summon_LOUSE(target_ptr, y, x, rlev, m_idx);
break;
-
+ case MON_VAIF:
+ count += summon_MOAI(target_ptr, y, x, rlev, m_idx);
+ break;
+ case MON_DEMON_SLAYER_SENIOR:
+ count += summon_DEMON_SLAYER(target_ptr, y, x, m_idx);
+ break;
+ case MON_ALDUIN:
+ count += summon_HIGHEST_DRAGON(target_ptr, y, x, m_idx);
+ break;
+ case MON_MIRAAK:
+ count += summon_APOCRYPHA(target_ptr, y, x, m_idx);
+ break;
+ case MON_IMHOTEP:
+ count += summon_PYRAMID(target_ptr, y, x, rlev, m_idx);
+ break;
+ case MON_JOBZ:
+ count += summon_EYE_PHORN(target_ptr, y, x, rlev, m_idx);
+ break;
+ case MON_QUEEN_VESPOID:
+ count += summon_VESPOID(target_ptr, y, x, rlev, m_idx);
+ break;
default:
count += summon_Kin(target_ptr, y, x, rlev, m_idx);
break;
}
- if (target_ptr->blind && count && mon_to_player)
+ if (target_ptr->blind && count && (target_type == MONSTER_TO_PLAYER))
msg_print(_("多くのものが間近に現れた音がする。", "You hear many things appear nearby."));
- if (known && !see_monster(target_ptr, t_idx) && count && mon_to_mon)
+ if (known && !see_monster(target_ptr, t_idx) && count && (target_type == MONSTER_TO_MONSTER))
floor_ptr->monster_noise = TRUE;
}
* @param x 対象の地点のx座標
* @param m_idx 呪文を唱えるモンスターID
* @param t_idx 呪文を受けるモンスターID。プレイヤーの場合はdummyで0とする。
- * @param TARGET_TYPE プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
+ * @param target_type プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
* @return 召喚したモンスターの数を返す。
*/
void spell_RF6_S_CYBER(player_type *target_ptr, POSITION y, POSITION x, MONSTER_IDX m_idx, MONSTER_IDX t_idx, int TARGET_TYPE)
* @param x 対象の地点のx座標
* @param m_idx 呪文を唱えるモンスターID
* @param t_idx 呪文を受けるモンスターID。プレイヤーの場合はdummyで0とする。
- * @param TARGET_TYPE プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
+ * @param target_type プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
* @return 召喚したモンスターの数を返す。
*/
void spell_RF6_S_MONSTER(player_type *target_ptr, POSITION y, POSITION x, MONSTER_IDX m_idx, MONSTER_IDX t_idx, int TARGET_TYPE)
* @param x 対象の地点のx座標
* @param m_idx 呪文を唱えるモンスターID
* @param t_idx 呪文を受けるモンスターID。プレイヤーの場合はdummyで0とする。
- * @param TARGET_TYPE プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
+ * @param target_type プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
* @return 召喚したモンスターの数を返す。
*/
void spell_RF6_S_MONSTERS(player_type *target_ptr, POSITION y, POSITION x, MONSTER_IDX m_idx, MONSTER_IDX t_idx, int TARGET_TYPE)
* @param x 対象の地点のx座標
* @param m_idx 呪文を唱えるモンスターID
* @param t_idx 呪文を受けるモンスターID。プレイヤーの場合はdummyで0とする。
- * @param TARGET_TYPE プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
+ * @param target_type プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
* @return 召喚したモンスターの数を返す。
*/
void spell_RF6_S_ANT(player_type *target_ptr, POSITION y, POSITION x, MONSTER_IDX m_idx, MONSTER_IDX t_idx, int TARGET_TYPE)
* @param x 対象の地点のx座標
* @param m_idx 呪文を唱えるモンスターID
* @param t_idx 呪文を受けるモンスターID。プレイヤーの場合はdummyで0とする。
- * @param TARGET_TYPE プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
+ * @param target_type プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
* @return 召喚したモンスターの数を返す。
*/
void spell_RF6_S_SPIDER(player_type *target_ptr, POSITION y, POSITION x, MONSTER_IDX m_idx, MONSTER_IDX t_idx, int TARGET_TYPE)
* @param x 対象の地点のx座標
* @param m_idx 呪文を唱えるモンスターID
* @param t_idx 呪文を受けるモンスターID。プレイヤーの場合はdummyで0とする。
- * @param TARGET_TYPE プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
+ * @param target_type プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
* @return 召喚したモンスターの数を返す。
*/
void spell_RF6_S_HOUND(player_type *target_ptr, POSITION y, POSITION x, MONSTER_IDX m_idx, MONSTER_IDX t_idx, int TARGET_TYPE)
* @param x 対象の地点のx座標
* @param m_idx 呪文を唱えるモンスターID
* @param t_idx 呪文を受けるモンスターID。プレイヤーの場合はdummyで0とする。
- * @param TARGET_TYPE プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
+ * @param target_type プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
* @return 召喚したモンスターの数を返す。
*/
void spell_RF6_S_HYDRA(player_type *target_ptr, POSITION y, POSITION x, MONSTER_IDX m_idx, MONSTER_IDX t_idx, int TARGET_TYPE)
* @param x 対象の地点のx座標
* @param m_idx 呪文を唱えるモンスターID
* @param t_idx 呪文を受けるモンスターID。プレイヤーの場合はdummyで0とする。
- * @param TARGET_TYPE プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
+ * @param target_type プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
* @return 召喚したモンスターの数を返す。
*/
void spell_RF6_S_ANGEL(player_type *target_ptr, POSITION y, POSITION x, MONSTER_IDX m_idx, MONSTER_IDX t_idx, int TARGET_TYPE)
* @param x 対象の地点のx座標
* @param m_idx 呪文を唱えるモンスターID
* @param t_idx 呪文を受けるモンスターID。プレイヤーの場合はdummyで0とする。
- * @param TARGET_TYPE プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
+ * @param target_type プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
* @return 召喚したモンスターの数を返す。
*/
void spell_RF6_S_DEMON(player_type *target_ptr, POSITION y, POSITION x, MONSTER_IDX m_idx, MONSTER_IDX t_idx, int TARGET_TYPE)
* @param x 対象の地点のx座標
* @param m_idx 呪文を唱えるモンスターID
* @param t_idx 呪文を受けるモンスターID。プレイヤーの場合はdummyで0とする。
- * @param TARGET_TYPE プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
+ * @param target_type プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
* @return 召喚したモンスターの数を返す。
*/
void spell_RF6_S_UNDEAD(player_type *target_ptr, POSITION y, POSITION x, MONSTER_IDX m_idx, MONSTER_IDX t_idx, int TARGET_TYPE)
* @param x 対象の地点のx座標
* @param m_idx 呪文を唱えるモンスターID
* @param t_idx 呪文を受けるモンスターID。プレイヤーの場合はdummyで0とする。
- * @param TARGET_TYPE プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
+ * @param target_type プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
* @return 召喚したモンスターの数を返す。
*/
void spell_RF6_S_DRAGON(player_type *target_ptr, POSITION y, POSITION x, MONSTER_IDX m_idx, MONSTER_IDX t_idx, int TARGET_TYPE)
}
/*!
- * @brief ナズグル戦隊召喚の処理。 /
- * @param target_ptr プレーヤーへの参照ポインタ
- * @param y 対象の地点のy座標
- * @param x 対象の地点のx座標
- * @param m_idx 呪文を唱えるモンスターID
- * @return 召喚したモンスターの数を返す。
- */
-MONSTER_NUMBER summon_NAZGUL(player_type *target_ptr, POSITION y, POSITION x, MONSTER_IDX m_idx)
-{
- BIT_FLAGS mode = 0L;
- POSITION cy = y;
- POSITION cx = x;
- GAME_TEXT m_name[MAX_NLEN];
- monster_name(target_ptr, m_idx, m_name);
-
- if (target_ptr->blind)
- msg_format(_("%^sが何かをつぶやいた。", "%^s mumbles."), m_name);
- else
- msg_format(_("%^sが魔法で幽鬼戦隊を召喚した!", "%^s magically summons rangers of Nazgul!"), m_name);
-
- msg_print(NULL);
-
- int count = 0;
- for (int k = 0; k < 30; k++) {
- if (!summon_possible(target_ptr, cy, cx) || !is_cave_empty_bold(target_ptr, cy, cx)) {
- int j;
- for (j = 100; j > 0; j--) {
- scatter(target_ptr, &cy, &cx, y, x, 2, 0);
- if (is_cave_empty_bold(target_ptr, cy, cx))
- break;
- }
-
- if (!j)
- break;
- }
-
- if (!is_cave_empty_bold(target_ptr, cy, cx))
- continue;
-
- if (!summon_named_creature(target_ptr, m_idx, cy, cx, MON_NAZGUL, mode))
- continue;
-
- y = cy;
- x = cx;
- count++;
- if (count == 1)
- msg_format(_("「幽鬼戦隊%d号、ナズグル・ブラック!」", "A Nazgul says 'Nazgul-Rangers Number %d, Nazgul-Black!'"), count);
- else
- msg_format(_("「同じく%d号、ナズグル・ブラック!」", "Another one says 'Number %d, Nazgul-Black!'"), count);
-
- msg_print(NULL);
- }
-
- msg_format(_("「%d人そろって、リングレンジャー!」", "They say 'The %d meets! We are the Ring-Ranger!'."), count);
- msg_print(NULL);
- return count;
-}
-
-/*!
* @brief RF6_S_HI_UNDEADの処理。強力なアンデッド召喚。 /
* @param target_ptr プレーヤーへの参照ポインタ
* @param y 対象の地点のy座標
* @param x 対象の地点のx座標
* @param m_idx 呪文を唱えるモンスターID
* @param t_idx 呪文を受けるモンスターID。プレイヤーの場合はdummyで0とする。
- * @param TARGET_TYPE プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
+ * @param target_type プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
* @return 召喚したモンスターの数を返す。
*/
void spell_RF6_S_HI_UNDEAD(player_type *target_ptr, POSITION y, POSITION x, MONSTER_IDX m_idx, MONSTER_IDX t_idx, int TARGET_TYPE)
* @param x 対象の地点のx座標
* @param m_idx 呪文を唱えるモンスターID
* @param t_idx 呪文を受けるモンスターID。プレイヤーの場合はdummyで0とする。
- * @param TARGET_TYPE プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
+ * @param target_type プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
* @return 召喚したモンスターの数を返す。
*/
void spell_RF6_S_HI_DRAGON(player_type *target_ptr, POSITION y, POSITION x, MONSTER_IDX m_idx, MONSTER_IDX t_idx, int TARGET_TYPE)
* @param x 対象の地点のx座標
* @param m_idx 呪文を唱えるモンスターID
* @param t_idx 呪文を受けるモンスターID。プレイヤーの場合はdummyで0とする。
- * @param TARGET_TYPE プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
+ * @param target_type プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
* @return 召喚したモンスターの数を返す。
*/
void spell_RF6_S_AMBERITES(player_type *target_ptr, POSITION y, POSITION x, MONSTER_IDX m_idx, MONSTER_IDX t_idx, int TARGET_TYPE)
* @param x 対象の地点のx座標
* @param m_idx 呪文を唱えるモンスターID
* @param t_idx 呪文を受けるモンスターID。プレイヤーの場合はdummyで0とする。
- * @param TARGET_TYPE プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
+ * @param target_type プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
* @return 召喚したモンスターの数を返す。
*/
void spell_RF6_S_UNIQUE(player_type *target_ptr, POSITION y, POSITION x, MONSTER_IDX m_idx, MONSTER_IDX t_idx, int TARGET_TYPE)