<ClInclude Include="..\..\src\info-reader\random-grid-effect-types.h" />\r
<ClInclude Include="..\..\src\info-reader\skill-reader.h" />\r
<ClInclude Include="..\..\src\info-reader\vault-reader.h" />\r
+ <ClInclude Include="..\..\src\mind\drs-types.h" />\r
<ClInclude Include="..\..\src\monster-race\race-indice-types.h" />\r
<ClInclude Include="..\..\src\object-enchant\activation-info-table.h" />\r
<ClInclude Include="..\..\src\object-enchant\dragon-breaths-table.h" />\r
<ClInclude Include="..\..\src\monster-race\monster-race-hook.h">
<Filter>monster-race</Filter>
</ClInclude>
+ <ClInclude Include="..\..\src\mind\drs-types.h">
+ <Filter>mind</Filter>
+ </ClInclude>
</ItemGroup>
<ItemGroup>
<None Include="..\..\src\wall.bmp" />
melee/melee-switcher.c melee/melee-switcher.h \
melee/melee-util.c melee/melee-util.h \
\
+ mind/drs-typs.h \
mind/mind.c mind/mind.h \
mind/mind-cavalry.c mind/mind-cavalry.h \
mind/mind-force-trainer.c mind/mind-force-trainer.h \
--- /dev/null
+#pragma once
+
+/*
+ * Some things which induce learning
+ */
+typedef enum drs_type {
+ DRS_ACID = 1,
+ DRS_ELEC = 2,
+ DRS_FIRE = 3,
+ DRS_COLD = 4,
+ DRS_POIS = 5,
+ DRS_NETH = 6,
+ DRS_LITE = 7,
+ DRS_DARK = 8,
+ DRS_FEAR = 9,
+ DRS_CONF = 10,
+ DRS_CHAOS = 11,
+ DRS_DISEN = 12,
+ DRS_BLIND = 13,
+ DRS_NEXUS = 14,
+ DRS_SOUND = 15,
+ DRS_SHARD = 16,
+ DRS_FREE = 30,
+ DRS_MANA = 31,
+ DRS_REFLECT = 32,
+} drs_type;
#include "monster-attack/monster-attack-switcher.h"
#include "monster-attack/monster-attack-status.h"
#include "monster-attack/monster-eating.h"
+#include "mind/drs-types.h"
#include "mind/mind-mirror-master.h"
#include "player/player-damage.h"
#include "player/player-effects.h"
extern bool multiply_monster(player_type *player_ptr, MONSTER_IDX m_idx, bool clone, BIT_FLAGS mode);
extern bool summon_specific(player_type *player_ptr, MONSTER_IDX who, POSITION y1, POSITION x1, DEPTH lev, int type, BIT_FLAGS mode);
extern bool summon_named_creature(player_type *player_ptr, MONSTER_IDX who, POSITION oy, POSITION ox, MONRACE_IDX r_idx, BIT_FLAGS mode);
-
-/*
- * Some things which induce learning
- */
-#define DRS_ACID 1
-#define DRS_ELEC 2
-#define DRS_FIRE 3
-#define DRS_COLD 4
-#define DRS_POIS 5
-#define DRS_NETH 6
-#define DRS_LITE 7
-#define DRS_DARK 8
-#define DRS_FEAR 9
-#define DRS_CONF 10
-#define DRS_CHAOS 11
-#define DRS_DISEN 12
-#define DRS_BLIND 13
-#define DRS_NEXUS 14
-#define DRS_SOUND 15
-#define DRS_SHARD 16
-#define DRS_FREE 30
-#define DRS_MANA 31
-#define DRS_REFLECT 32
extern void update_smart_learn(player_type *player_ptr, MONSTER_IDX m_idx, int what);
-
extern void choose_new_monster(player_type *player_ptr, MONSTER_IDX m_idx, bool born, MONRACE_IDX r_idx);
extern SPEED get_mspeed(player_type *player_ptr, monster_race *r_ptr);
extern void monster_drop_carried_objects(player_type *player_ptr, monster_type *m_ptr);
#include "io/targeting.h"
#include "io/write-diary.h"
#include "main/sound-definitions-table.h"
+#include "mind/drs-types.h"
#include "monster-attack/monster-attack-types.h"
#include "monster-race/race-indice-types.h"
#include "monster/creature.h"
-#include "system/angband.h"
+#include "mspell/mspell-ball.h"
#include "floor/floor.h"
+#include "mind/drs-types.h"
#include "monster-race/race-indice-types.h"
-#include "mspell/mspell-ball.h"
-#include "mspell/mspell-type.h"
+#include "monster/monster-status.h"
#include "mspell/monster-spell.h"
-#include "spell/spells-type.h"
-#include "mspell/mspell-util.h"
#include "mspell/mspell-damage-calculator.h"
-#include "monster/monster-status.h"
+#include "mspell/mspell-type.h"
+#include "mspell/mspell-util.h"
+#include "spell/spells-type.h"
/*!
* @brief RF4_BA_NUKEの処理。放射能球。 /
* @param TARGET_TYPE プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
* @return ダメージ量を返す。
*/
-HIT_POINT spell_RF4_BA_NUKE(player_type* target_ptr, POSITION y, POSITION x, MONSTER_IDX m_idx, MONSTER_IDX t_idx, int TARGET_TYPE)
+HIT_POINT spell_RF4_BA_NUKE(player_type *target_ptr, POSITION y, POSITION x, MONSTER_IDX m_idx, MONSTER_IDX t_idx, int TARGET_TYPE)
{
HIT_POINT dam;
- monspell_message(target_ptr, m_idx, t_idx,
- _("%^sが何かをつぶやいた。", "%^s mumbles."),
- _("%^sが放射能球を放った。", "%^s casts a ball of radiation."),
- _("%^sが%sに放射能球を放った。", "%^s casts a ball of radiation at %s."),
- TARGET_TYPE);
+ monspell_message(target_ptr, m_idx, t_idx, _("%^sが何かをつぶやいた。", "%^s mumbles."), _("%^sが放射能球を放った。", "%^s casts a ball of radiation."),
+ _("%^sが%sに放射能球を放った。", "%^s casts a ball of radiation at %s."), TARGET_TYPE);
dam = monspell_damage(target_ptr, (MS_BALL_NUKE), m_idx, DAM_ROLL);
breath(target_ptr, y, x, m_idx, GF_NUKE, dam, 2, FALSE, MS_BALL_NUKE, TARGET_TYPE);
* @param TARGET_TYPE プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
* @return ダメージ量を返す。
*/
-HIT_POINT spell_RF4_BA_CHAO(player_type* target_ptr, POSITION y, POSITION x, MONSTER_IDX m_idx, MONSTER_IDX t_idx, int TARGET_TYPE)
+HIT_POINT spell_RF4_BA_CHAO(player_type *target_ptr, POSITION y, POSITION x, MONSTER_IDX m_idx, MONSTER_IDX t_idx, int TARGET_TYPE)
{
HIT_POINT dam;
- monspell_message(target_ptr, m_idx, t_idx,
- _("%^sが恐ろしげにつぶやいた。", "%^s mumbles frighteningly."),
- _("%^sが純ログルスを放った。", "%^s invokes a raw Logrus."),
- _("%^sが%sに純ログルスを放った。", "%^s invokes raw Logrus upon %s."),
- TARGET_TYPE);
+ monspell_message(target_ptr, m_idx, t_idx, _("%^sが恐ろしげにつぶやいた。", "%^s mumbles frighteningly."),
+ _("%^sが純ログルスを放った。", "%^s invokes a raw Logrus."), _("%^sが%sに純ログルスを放った。", "%^s invokes raw Logrus upon %s."), TARGET_TYPE);
dam = monspell_damage(target_ptr, (MS_BALL_CHAOS), m_idx, DAM_ROLL);
breath(target_ptr, y, x, m_idx, GF_CHAOS, dam, 4, FALSE, MS_BALL_CHAOS, TARGET_TYPE);
* @param TARGET_TYPE プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
* @return ダメージ量を返す。
*/
-HIT_POINT spell_RF5_BA_ACID(player_type* target_ptr, POSITION y, POSITION x, MONSTER_IDX m_idx, MONSTER_IDX t_idx, int TARGET_TYPE)
+HIT_POINT spell_RF5_BA_ACID(player_type *target_ptr, POSITION y, POSITION x, MONSTER_IDX m_idx, MONSTER_IDX t_idx, int TARGET_TYPE)
{
HIT_POINT dam, rad;
- monspell_message(target_ptr, m_idx, t_idx,
- _("%^sが何かをつぶやいた。", "%^s mumbles."),
+ monspell_message(target_ptr, m_idx, t_idx, _("%^sが何かをつぶやいた。", "%^s mumbles."),
_("%^sがアシッド・ボールの呪文を唱えた。", "%^s casts an acid ball."),
- _("%^sが%sに向かってアシッド・ボールの呪文を唱えた。",
- "%^s casts an acid ball at %s."),
- TARGET_TYPE);
+ _("%^sが%sに向かってアシッド・ボールの呪文を唱えた。", "%^s casts an acid ball at %s."), TARGET_TYPE);
rad = monster_is_powerful(target_ptr->current_floor_ptr, m_idx) ? 4 : 2;
dam = monspell_damage(target_ptr, (MS_BALL_ACID), m_idx, DAM_ROLL);
* @param TARGET_TYPE プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
* @return ダメージ量を返す。
*/
-HIT_POINT spell_RF5_BA_ELEC(player_type* target_ptr, POSITION y, POSITION x, MONSTER_IDX m_idx, MONSTER_IDX t_idx, int TARGET_TYPE)
+HIT_POINT spell_RF5_BA_ELEC(player_type *target_ptr, POSITION y, POSITION x, MONSTER_IDX m_idx, MONSTER_IDX t_idx, int TARGET_TYPE)
{
HIT_POINT dam, rad;
- monspell_message(target_ptr, m_idx, t_idx,
- _("%^sが何かをつぶやいた。", "%^s mumbles."),
+ monspell_message(target_ptr, m_idx, t_idx, _("%^sが何かをつぶやいた。", "%^s mumbles."),
_("%^sがサンダー・・ボールの呪文を唱えた。", "%^s casts a lightning ball."),
- _("%^sが%sに向かってサンダー・ボールの呪文を唱えた。",
- "%^s casts a lightning ball at %s."),
- TARGET_TYPE);
+ _("%^sが%sに向かってサンダー・ボールの呪文を唱えた。", "%^s casts a lightning ball at %s."), TARGET_TYPE);
rad = monster_is_powerful(target_ptr->current_floor_ptr, m_idx) ? 4 : 2;
dam = monspell_damage(target_ptr, (MS_BALL_ELEC), m_idx, DAM_ROLL);
* @param TARGET_TYPE プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
* @return ダメージ量を返す。
*/
-HIT_POINT spell_RF5_BA_FIRE(player_type* target_ptr, POSITION y, POSITION x, MONSTER_IDX m_idx, MONSTER_IDX t_idx, int TARGET_TYPE)
+HIT_POINT spell_RF5_BA_FIRE(player_type *target_ptr, POSITION y, POSITION x, MONSTER_IDX m_idx, MONSTER_IDX t_idx, int TARGET_TYPE)
{
HIT_POINT dam, rad;
- monster_type* m_ptr = &target_ptr->current_floor_ptr->m_list[m_idx];
+ monster_type *m_ptr = &target_ptr->current_floor_ptr->m_list[m_idx];
if (m_ptr->r_idx == MON_ROLENTO) {
- monspell_message(target_ptr, m_idx, t_idx,
- _("%sが何かを投げた。", "%^s throws something."),
- _("%sは手榴弾を投げた。", "%^s throws a hand grenade."),
- _("%^sが%^sに向かって手榴弾を投げた。", "%^s throws a hand grenade."),
- TARGET_TYPE);
+ monspell_message(target_ptr, m_idx, t_idx, _("%sが何かを投げた。", "%^s throws something."), _("%sは手榴弾を投げた。", "%^s throws a hand grenade."),
+ _("%^sが%^sに向かって手榴弾を投げた。", "%^s throws a hand grenade."), TARGET_TYPE);
} else {
- monspell_message(target_ptr, m_idx, t_idx,
- _("%^sが何かをつぶやいた。", "%^s mumbles."),
+ monspell_message(target_ptr, m_idx, t_idx, _("%^sが何かをつぶやいた。", "%^s mumbles."),
_("%^sがファイア・ボールの呪文を唱えた。", "%^s casts a fire ball."),
- _("%^sが%sに向かってファイア・ボールの呪文を唱えた。",
- "%^s casts a fire ball at %s."),
- TARGET_TYPE);
+ _("%^sが%sに向かってファイア・ボールの呪文を唱えた。", "%^s casts a fire ball at %s."), TARGET_TYPE);
}
rad = monster_is_powerful(target_ptr->current_floor_ptr, m_idx) ? 4 : 2;
dam = monspell_damage(target_ptr, (MS_BALL_FIRE), m_idx, DAM_ROLL);
* @param TARGET_TYPE プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
* @return ダメージ量を返す。
*/
-HIT_POINT spell_RF5_BA_COLD(player_type* target_ptr, POSITION y, POSITION x, MONSTER_IDX m_idx, MONSTER_IDX t_idx, int TARGET_TYPE)
+HIT_POINT spell_RF5_BA_COLD(player_type *target_ptr, POSITION y, POSITION x, MONSTER_IDX m_idx, MONSTER_IDX t_idx, int TARGET_TYPE)
{
HIT_POINT dam, rad;
- monspell_message(target_ptr, m_idx, t_idx,
- _("%^sが何かをつぶやいた。", "%^s mumbles."),
+ monspell_message(target_ptr, m_idx, t_idx, _("%^sが何かをつぶやいた。", "%^s mumbles."),
_("%^sがアイス・ボールの呪文を唱えた。", "%^s casts a frost ball."),
- _("%^sが%sに向かってアイス・ボールの呪文を唱えた。",
- "%^s casts a frost ball at %s."),
- TARGET_TYPE);
+ _("%^sが%sに向かってアイス・ボールの呪文を唱えた。", "%^s casts a frost ball at %s."), TARGET_TYPE);
rad = monster_is_powerful(target_ptr->current_floor_ptr, m_idx) ? 4 : 2;
dam = monspell_damage(target_ptr, (MS_BALL_COLD), m_idx, DAM_ROLL);
* @param TARGET_TYPE プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
* @return ダメージ量を返す。
*/
-HIT_POINT spell_RF5_BA_POIS(player_type* target_ptr, POSITION y, POSITION x, MONSTER_IDX m_idx, MONSTER_IDX t_idx, int TARGET_TYPE)
+HIT_POINT spell_RF5_BA_POIS(player_type *target_ptr, POSITION y, POSITION x, MONSTER_IDX m_idx, MONSTER_IDX t_idx, int TARGET_TYPE)
{
HIT_POINT dam;
- monspell_message(target_ptr, m_idx, t_idx,
- _("%^sが何かをつぶやいた。", "%^s mumbles."),
- _("%^sが悪臭雲の呪文を唱えた。", "%^s casts a stinking cloud."),
- _("%^sが%sに向かって悪臭雲の呪文を唱えた。", "%^s casts a stinking cloud at %s."),
- TARGET_TYPE);
+ monspell_message(target_ptr, m_idx, t_idx, _("%^sが何かをつぶやいた。", "%^s mumbles."), _("%^sが悪臭雲の呪文を唱えた。", "%^s casts a stinking cloud."),
+ _("%^sが%sに向かって悪臭雲の呪文を唱えた。", "%^s casts a stinking cloud at %s."), TARGET_TYPE);
dam = monspell_damage(target_ptr, (MS_BALL_POIS), m_idx, DAM_ROLL);
breath(target_ptr, y, x, m_idx, GF_POIS, dam, 2, FALSE, MS_BALL_POIS, TARGET_TYPE);
* @param TARGET_TYPE プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
* @return ダメージ量を返す。
*/
-HIT_POINT spell_RF5_BA_NETH(player_type* target_ptr, POSITION y, POSITION x, MONSTER_IDX m_idx, MONSTER_IDX t_idx, int TARGET_TYPE)
+HIT_POINT spell_RF5_BA_NETH(player_type *target_ptr, POSITION y, POSITION x, MONSTER_IDX m_idx, MONSTER_IDX t_idx, int TARGET_TYPE)
{
HIT_POINT dam;
- monspell_message(target_ptr, m_idx, t_idx,
- _("%^sが何かをつぶやいた。", "%^s mumbles."),
- _("%^sが地獄球の呪文を唱えた。", "%^s casts a nether ball."),
- _("%^sが%sに向かって地獄球の呪文を唱えた。", "%^s casts a nether ball at %s."),
- TARGET_TYPE);
+ monspell_message(target_ptr, m_idx, t_idx, _("%^sが何かをつぶやいた。", "%^s mumbles."), _("%^sが地獄球の呪文を唱えた。", "%^s casts a nether ball."),
+ _("%^sが%sに向かって地獄球の呪文を唱えた。", "%^s casts a nether ball at %s."), TARGET_TYPE);
dam = monspell_damage(target_ptr, (MS_BALL_NETHER), m_idx, DAM_ROLL);
breath(target_ptr, y, x, m_idx, GF_NETHER, dam, 2, FALSE, MS_BALL_NETHER, TARGET_TYPE);
* @param TARGET_TYPE プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
* @return ダメージ量を返す。
*/
-HIT_POINT spell_RF5_BA_WATE(player_type* target_ptr, POSITION y, POSITION x, MONSTER_IDX m_idx, MONSTER_IDX t_idx, int TARGET_TYPE)
+HIT_POINT spell_RF5_BA_WATE(player_type *target_ptr, POSITION y, POSITION x, MONSTER_IDX m_idx, MONSTER_IDX t_idx, int TARGET_TYPE)
{
HIT_POINT dam;
bool known = monster_near_player(target_ptr->current_floor_ptr, m_idx, t_idx);
GAME_TEXT t_name[MAX_NLEN];
monster_name(target_ptr, t_idx, t_name);
- monspell_message(target_ptr, m_idx, t_idx,
- _("%^sが何かをつぶやいた。", "%^s mumbles."),
- _("%^sが流れるような身振りをした。", "%^s gestures fluidly."),
- _("%^sが%sに対して流れるような身振りをした。", "%^s gestures fluidly at %s."),
- TARGET_TYPE);
+ monspell_message(target_ptr, m_idx, t_idx, _("%^sが何かをつぶやいた。", "%^s mumbles."), _("%^sが流れるような身振りをした。", "%^s gestures fluidly."),
+ _("%^sが%sに対して流れるような身振りをした。", "%^s gestures fluidly at %s."), TARGET_TYPE);
if (mon_to_player) {
msg_format(_("あなたは渦巻きに飲み込まれた。", "You are engulfed in a whirlpool."));
* @param TARGET_TYPE プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
* @return ダメージ量を返す。
*/
-HIT_POINT spell_RF5_BA_MANA(player_type* target_ptr, POSITION y, POSITION x, MONSTER_IDX m_idx, MONSTER_IDX t_idx, int TARGET_TYPE)
+HIT_POINT spell_RF5_BA_MANA(player_type *target_ptr, POSITION y, POSITION x, MONSTER_IDX m_idx, MONSTER_IDX t_idx, int TARGET_TYPE)
{
HIT_POINT dam;
- monspell_message(target_ptr, m_idx, t_idx,
- _("%^sが何かを力強くつぶやいた。", "%^s mumbles powerfully."),
- _("%^sが魔力の嵐の呪文を念じた。", "%^s invokes a mana storm."),
- _("%^sが%sに対して魔力の嵐の呪文を念じた。", "%^s invokes a mana storm upon %s."),
+ monspell_message(target_ptr, m_idx, t_idx, _("%^sが何かを力強くつぶやいた。", "%^s mumbles powerfully."),
+ _("%^sが魔力の嵐の呪文を念じた。", "%^s invokes a mana storm."), _("%^sが%sに対して魔力の嵐の呪文を念じた。", "%^s invokes a mana storm upon %s."),
TARGET_TYPE);
dam = monspell_damage(target_ptr, (MS_BALL_MANA), m_idx, DAM_ROLL);
* @param TARGET_TYPE プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
* @return ダメージ量を返す。
*/
-HIT_POINT spell_RF5_BA_DARK(player_type* target_ptr, POSITION y, POSITION x, MONSTER_IDX m_idx, MONSTER_IDX t_idx, int TARGET_TYPE)
+HIT_POINT spell_RF5_BA_DARK(player_type *target_ptr, POSITION y, POSITION x, MONSTER_IDX m_idx, MONSTER_IDX t_idx, int TARGET_TYPE)
{
HIT_POINT dam;
- monspell_message(target_ptr, m_idx, t_idx,
- _("%^sが何かを力強くつぶやいた。", "%^s mumbles powerfully."),
+ monspell_message(target_ptr, m_idx, t_idx, _("%^sが何かを力強くつぶやいた。", "%^s mumbles powerfully."),
_("%^sが暗黒の嵐の呪文を念じた。", "%^s invokes a darkness storm."),
- _("%^sが%sに対して暗黒の嵐の呪文を念じた。", "%^s invokes a darkness storm upon %s."),
- TARGET_TYPE);
+ _("%^sが%sに対して暗黒の嵐の呪文を念じた。", "%^s invokes a darkness storm upon %s."), TARGET_TYPE);
dam = monspell_damage(target_ptr, (MS_BALL_DARK), m_idx, DAM_ROLL);
breath(target_ptr, y, x, m_idx, GF_DARK, dam, 4, FALSE, MS_BALL_DARK, TARGET_TYPE);
* @param TARGET_TYPE プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
* @return ダメージ量を返す。
*/
-HIT_POINT spell_RF5_BA_LITE(player_type* target_ptr, POSITION y, POSITION x, MONSTER_IDX m_idx, MONSTER_IDX t_idx, int TARGET_TYPE)
+HIT_POINT spell_RF5_BA_LITE(player_type *target_ptr, POSITION y, POSITION x, MONSTER_IDX m_idx, MONSTER_IDX t_idx, int TARGET_TYPE)
{
HIT_POINT dam;
- monspell_message(target_ptr, m_idx, t_idx,
- _("%^sが何かを力強くつぶやいた。", "%^s mumbles powerfully."),
+ monspell_message(target_ptr, m_idx, t_idx, _("%^sが何かを力強くつぶやいた。", "%^s mumbles powerfully."),
_("%^sがスターバーストの呪文を念じた。", "%^s invokes a starburst."),
- _("%^sが%sに対してスターバーストの呪文を念じた。", "%^s invokes a starburst upon %s."),
- TARGET_TYPE);
+ _("%^sが%sに対してスターバーストの呪文を念じた。", "%^s invokes a starburst upon %s."), TARGET_TYPE);
dam = monspell_damage(target_ptr, (MS_STARBURST), m_idx, DAM_ROLL);
breath(target_ptr, y, x, m_idx, GF_LITE, dam, 4, FALSE, MS_STARBURST, TARGET_TYPE);
#pragma once
+#include "system/angband.h"
+
HIT_POINT spell_RF4_BA_NUKE(player_type* target_ptr, POSITION y, POSITION x, MONSTER_IDX m_idx, MONSTER_IDX t_idx, int TARGET_TYPE);
HIT_POINT spell_RF4_BA_CHAO(player_type* target_ptr, POSITION y, POSITION x, MONSTER_IDX m_idx, MONSTER_IDX t_idx, int TARGET_TYPE);
HIT_POINT spell_RF5_BA_ACID(player_type* target_ptr, POSITION y, POSITION x, MONSTER_IDX m_idx, MONSTER_IDX t_idx, int TARGET_TYPE);
-#include "system/angband.h"
-#include "mspell/mspell-bolt.h"
+#include "mspell/mspell-bolt.h"
#include "main/sound-definitions-table.h"
-#include "mspell/mspell-type.h"
-#include "spell/spells-type.h"
+#include "mind/drs-types.h"
#include "mspell/monster-spell.h"
#include "mspell/mspell-damage-calculator.h"
+#include "mspell/mspell-type.h"
#include "mspell/mspell-util.h"
+#include "spell/spells-type.h"
/*!
* @brief RF4_SHOOTの処理。射撃。 /
* @param TARGET_TYPE プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
* @return ダメージ量を返す。
*/
-HIT_POINT spell_RF4_SHOOT(player_type* target_ptr, POSITION y, POSITION x, MONSTER_IDX m_idx, MONSTER_IDX t_idx, int TARGET_TYPE)
+HIT_POINT spell_RF4_SHOOT(player_type *target_ptr, POSITION y, POSITION x, MONSTER_IDX m_idx, MONSTER_IDX t_idx, int TARGET_TYPE)
{
HIT_POINT dam;
- monspell_message(target_ptr, m_idx, t_idx,
- _("%^sが奇妙な音を発した。", "%^s makes a strange noise."),
- _("%^sが矢を放った。", "%^s fires an arrow."),
- _("%^sが%sに矢を放った。", "%^s fires an arrow at %s."),
- TARGET_TYPE);
+ monspell_message(target_ptr, m_idx, t_idx, _("%^sが奇妙な音を発した。", "%^s makes a strange noise."), _("%^sが矢を放った。", "%^s fires an arrow."),
+ _("%^sが%sに矢を放った。", "%^s fires an arrow at %s."), TARGET_TYPE);
dam = monspell_damage(target_ptr, (MS_SHOOT), m_idx, DAM_ROLL);
bolt(target_ptr, m_idx, y, x, GF_ARROW, dam, MS_SHOOT, TARGET_TYPE);
* @param TARGET_TYPE プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
* @return ダメージ量を返す。
*/
-HIT_POINT spell_RF5_BO_ACID(player_type* target_ptr, POSITION y, POSITION x, MONSTER_IDX m_idx, MONSTER_IDX t_idx, int TARGET_TYPE)
+HIT_POINT spell_RF5_BO_ACID(player_type *target_ptr, POSITION y, POSITION x, MONSTER_IDX m_idx, MONSTER_IDX t_idx, int TARGET_TYPE)
{
HIT_POINT dam;
- monspell_message(target_ptr, m_idx, t_idx,
- _("%^sが何かをつぶやいた。", "%^s mumbles."),
+ monspell_message(target_ptr, m_idx, t_idx, _("%^sが何かをつぶやいた。", "%^s mumbles."),
_("%^sがアシッド・ボルトの呪文を唱えた。", "%^s casts a acid bolt."),
- _("%sが%sに向かってアシッド・ボルトの呪文を唱えた。", "%^s casts an acid bolt at %s."),
- TARGET_TYPE);
+ _("%sが%sに向かってアシッド・ボルトの呪文を唱えた。", "%^s casts an acid bolt at %s."), TARGET_TYPE);
dam = monspell_damage(target_ptr, (MS_BOLT_ACID), m_idx, DAM_ROLL);
bolt(target_ptr, m_idx, y, x, GF_ACID, dam, MS_BOLT_ACID, TARGET_TYPE);
* @param TARGET_TYPE プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
* @return ダメージ量を返す。
*/
-HIT_POINT spell_RF5_BO_ELEC(player_type* target_ptr, POSITION y, POSITION x, MONSTER_IDX m_idx, MONSTER_IDX t_idx, int TARGET_TYPE)
+HIT_POINT spell_RF5_BO_ELEC(player_type *target_ptr, POSITION y, POSITION x, MONSTER_IDX m_idx, MONSTER_IDX t_idx, int TARGET_TYPE)
{
HIT_POINT dam;
- monspell_message(target_ptr, m_idx, t_idx,
- _("%^sが何かをつぶやいた。", "%^s mumbles."),
+ monspell_message(target_ptr, m_idx, t_idx, _("%^sが何かをつぶやいた。", "%^s mumbles."),
_("%^sがサンダー・ボルトの呪文を唱えた。", "%^s casts a lightning bolt."),
- _("%^sが%sに向かってサンダー・ボルトの呪文を唱えた。", "%^s casts a lightning bolt at %s."),
- TARGET_TYPE);
+ _("%^sが%sに向かってサンダー・ボルトの呪文を唱えた。", "%^s casts a lightning bolt at %s."), TARGET_TYPE);
dam = monspell_damage(target_ptr, (MS_BOLT_ELEC), m_idx, DAM_ROLL);
bolt(target_ptr, m_idx, y, x, GF_ELEC, dam, MS_BOLT_ELEC, TARGET_TYPE);
* @param TARGET_TYPE プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
* @return ダメージ量を返す。
*/
-HIT_POINT spell_RF5_BO_FIRE(player_type* target_ptr, POSITION y, POSITION x, MONSTER_IDX m_idx, MONSTER_IDX t_idx, int TARGET_TYPE)
+HIT_POINT spell_RF5_BO_FIRE(player_type *target_ptr, POSITION y, POSITION x, MONSTER_IDX m_idx, MONSTER_IDX t_idx, int TARGET_TYPE)
{
HIT_POINT dam;
- monspell_message(target_ptr, m_idx, t_idx,
- _("%^sが何かをつぶやいた。", "%^s mumbles."),
+ monspell_message(target_ptr, m_idx, t_idx, _("%^sが何かをつぶやいた。", "%^s mumbles."),
_("%^sがファイア・ボルトの呪文を唱えた。", "%^s casts a fire bolt."),
- _("%^sが%sに向かってファイア・ボルトの呪文を唱えた。", "%^s casts a fire bolt at %s."),
- TARGET_TYPE);
+ _("%^sが%sに向かってファイア・ボルトの呪文を唱えた。", "%^s casts a fire bolt at %s."), TARGET_TYPE);
dam = monspell_damage(target_ptr, (MS_BOLT_FIRE), m_idx, DAM_ROLL);
bolt(target_ptr, m_idx, y, x, GF_FIRE, dam, MS_BOLT_FIRE, TARGET_TYPE);
* @param TARGET_TYPE プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
* @return ダメージ量を返す。
*/
-HIT_POINT spell_RF5_BO_COLD(player_type* target_ptr, POSITION y, POSITION x, MONSTER_IDX m_idx, MONSTER_IDX t_idx, int TARGET_TYPE)
+HIT_POINT spell_RF5_BO_COLD(player_type *target_ptr, POSITION y, POSITION x, MONSTER_IDX m_idx, MONSTER_IDX t_idx, int TARGET_TYPE)
{
HIT_POINT dam;
- monspell_message(target_ptr, m_idx, t_idx,
- _("%^sが何かをつぶやいた。", "%^s mumbles."),
+ monspell_message(target_ptr, m_idx, t_idx, _("%^sが何かをつぶやいた。", "%^s mumbles."),
_("%^sがアイス・ボルトの呪文を唱えた。", "%^s casts a frost bolt."),
- _("%^sが%sに向かってアイス・ボルトの呪文を唱えた。", "%^s casts a frost bolt at %s."),
- TARGET_TYPE);
+ _("%^sが%sに向かってアイス・ボルトの呪文を唱えた。", "%^s casts a frost bolt at %s."), TARGET_TYPE);
dam = monspell_damage(target_ptr, (MS_BOLT_COLD), m_idx, DAM_ROLL);
bolt(target_ptr, m_idx, y, x, GF_COLD, dam, MS_BOLT_COLD, TARGET_TYPE);
* @param TARGET_TYPE プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
* @return ダメージ量を返す。
*/
-HIT_POINT spell_RF5_BO_NETH(player_type* target_ptr, POSITION y, POSITION x, MONSTER_IDX m_idx, MONSTER_IDX t_idx, int TARGET_TYPE)
+HIT_POINT spell_RF5_BO_NETH(player_type *target_ptr, POSITION y, POSITION x, MONSTER_IDX m_idx, MONSTER_IDX t_idx, int TARGET_TYPE)
{
HIT_POINT dam;
- monspell_message(target_ptr, m_idx, t_idx,
- _("%^sが何かをつぶやいた。", "%^s mumbles."),
- _("%^sが地獄の矢の呪文を唱えた。", "%^s casts a nether bolt."),
- _("%^sが%sに向かって地獄の矢の呪文を唱えた。", "%^s casts a nether bolt at %s."),
- TARGET_TYPE);
+ monspell_message(target_ptr, m_idx, t_idx, _("%^sが何かをつぶやいた。", "%^s mumbles."), _("%^sが地獄の矢の呪文を唱えた。", "%^s casts a nether bolt."),
+ _("%^sが%sに向かって地獄の矢の呪文を唱えた。", "%^s casts a nether bolt at %s."), TARGET_TYPE);
dam = monspell_damage(target_ptr, (MS_BOLT_NETHER), m_idx, DAM_ROLL);
bolt(target_ptr, m_idx, y, x, GF_NETHER, dam, MS_BOLT_NETHER, TARGET_TYPE);
* @param TARGET_TYPE プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
* @return ダメージ量を返す。
*/
-HIT_POINT spell_RF5_BO_WATE(player_type* target_ptr, POSITION y, POSITION x, MONSTER_IDX m_idx, MONSTER_IDX t_idx, int TARGET_TYPE)
+HIT_POINT spell_RF5_BO_WATE(player_type *target_ptr, POSITION y, POSITION x, MONSTER_IDX m_idx, MONSTER_IDX t_idx, int TARGET_TYPE)
{
HIT_POINT dam;
- monspell_message(target_ptr, m_idx, t_idx,
- _("%^sが何かをつぶやいた。", "%^s mumbles."),
+ monspell_message(target_ptr, m_idx, t_idx, _("%^sが何かをつぶやいた。", "%^s mumbles."),
_("%^sがウォーター・ボルトの呪文を唱えた。", "%^s casts a water bolt."),
- _("%^sが%sに向かってウォーター・ボルトの呪文を唱えた。", "%^s casts a water bolt at %s."),
- TARGET_TYPE);
+ _("%^sが%sに向かってウォーター・ボルトの呪文を唱えた。", "%^s casts a water bolt at %s."), TARGET_TYPE);
dam = monspell_damage(target_ptr, (MS_BOLT_WATER), m_idx, DAM_ROLL);
bolt(target_ptr, m_idx, y, x, GF_WATER, dam, MS_BOLT_WATER, TARGET_TYPE);
* @param TARGET_TYPE プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
* @return ダメージ量を返す。
*/
-HIT_POINT spell_RF5_BO_MANA(player_type* target_ptr, POSITION y, POSITION x, MONSTER_IDX m_idx, MONSTER_IDX t_idx, int TARGET_TYPE)
+HIT_POINT spell_RF5_BO_MANA(player_type *target_ptr, POSITION y, POSITION x, MONSTER_IDX m_idx, MONSTER_IDX t_idx, int TARGET_TYPE)
{
HIT_POINT dam;
- monspell_message(target_ptr, m_idx, t_idx,
- _("%^sが何かをつぶやいた。", "%^s mumbles."),
- _("%^sが魔力の矢の呪文を唱えた。", "%^s casts a mana bolt."),
- _("%^sが%sに向かって魔力の矢の呪文を唱えた。", "%^s casts a mana bolt at %s."),
- TARGET_TYPE);
+ monspell_message(target_ptr, m_idx, t_idx, _("%^sが何かをつぶやいた。", "%^s mumbles."), _("%^sが魔力の矢の呪文を唱えた。", "%^s casts a mana bolt."),
+ _("%^sが%sに向かって魔力の矢の呪文を唱えた。", "%^s casts a mana bolt at %s."), TARGET_TYPE);
dam = monspell_damage(target_ptr, (MS_BOLT_MANA), m_idx, DAM_ROLL);
bolt(target_ptr, m_idx, y, x, GF_MANA, dam, MS_BOLT_MANA, TARGET_TYPE);
* @param TARGET_TYPE プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
* @return ダメージ量を返す。
*/
-HIT_POINT spell_RF5_BO_PLAS(player_type* target_ptr, POSITION y, POSITION x, MONSTER_IDX m_idx, MONSTER_IDX t_idx, int TARGET_TYPE)
+HIT_POINT spell_RF5_BO_PLAS(player_type *target_ptr, POSITION y, POSITION x, MONSTER_IDX m_idx, MONSTER_IDX t_idx, int TARGET_TYPE)
{
HIT_POINT dam;
- monspell_message(target_ptr, m_idx, t_idx,
- _("%^sが何かをつぶやいた。", "%^s mumbles."),
+ monspell_message(target_ptr, m_idx, t_idx, _("%^sが何かをつぶやいた。", "%^s mumbles."),
_("%^sがプラズマ・ボルトの呪文を唱えた。", "%^s casts a plasma bolt."),
- _("%^sが%sに向かってプラズマ・ボルトの呪文を唱えた。", "%^s casts a plasma bolt at %s."),
- TARGET_TYPE);
+ _("%^sが%sに向かってプラズマ・ボルトの呪文を唱えた。", "%^s casts a plasma bolt at %s."), TARGET_TYPE);
dam = monspell_damage(target_ptr, (MS_BOLT_PLASMA), m_idx, DAM_ROLL);
bolt(target_ptr, m_idx, y, x, GF_PLASMA, dam, MS_BOLT_PLASMA, TARGET_TYPE);
* @param TARGET_TYPE プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
* @return ダメージ量を返す。
*/
-HIT_POINT spell_RF5_BO_ICEE(player_type* target_ptr, POSITION y, POSITION x, MONSTER_IDX m_idx, MONSTER_IDX t_idx, int TARGET_TYPE)
+HIT_POINT spell_RF5_BO_ICEE(player_type *target_ptr, POSITION y, POSITION x, MONSTER_IDX m_idx, MONSTER_IDX t_idx, int TARGET_TYPE)
{
HIT_POINT dam;
- monspell_message(target_ptr, m_idx, t_idx,
- _("%^sが何かをつぶやいた。", "%^s mumbles."),
- _("%^sが極寒の矢の呪文を唱えた。", "%^s casts an ice bolt."),
- _("%^sが%sに向かって極寒の矢の呪文を唱えた。", "%^s casts an ice bolt at %s."),
- TARGET_TYPE);
+ monspell_message(target_ptr, m_idx, t_idx, _("%^sが何かをつぶやいた。", "%^s mumbles."), _("%^sが極寒の矢の呪文を唱えた。", "%^s casts an ice bolt."),
+ _("%^sが%sに向かって極寒の矢の呪文を唱えた。", "%^s casts an ice bolt at %s."), TARGET_TYPE);
dam = monspell_damage(target_ptr, (MS_BOLT_ICE), m_idx, DAM_ROLL);
bolt(target_ptr, m_idx, y, x, GF_ICE, dam, MS_BOLT_ICE, TARGET_TYPE);
* @param TARGET_TYPE プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
* @return ダメージ量を返す。
*/
-HIT_POINT spell_RF5_MISSILE(player_type* target_ptr, POSITION y, POSITION x, MONSTER_IDX m_idx, MONSTER_IDX t_idx, int TARGET_TYPE)
+HIT_POINT spell_RF5_MISSILE(player_type *target_ptr, POSITION y, POSITION x, MONSTER_IDX m_idx, MONSTER_IDX t_idx, int TARGET_TYPE)
{
HIT_POINT dam;
- monspell_message(target_ptr, m_idx, t_idx,
- _("%^sが何かをつぶやいた。", "%^s mumbles."),
+ monspell_message(target_ptr, m_idx, t_idx, _("%^sが何かをつぶやいた。", "%^s mumbles."),
_("%^sがマジック・ミサイルの呪文を唱えた。", "%^s casts a magic missile."),
- _("%^sが%sに向かってマジック・ミサイルの呪文を唱えた。", "%^s casts a magic missile at %s."),
- TARGET_TYPE);
+ _("%^sが%sに向かってマジック・ミサイルの呪文を唱えた。", "%^s casts a magic missile at %s."), TARGET_TYPE);
dam = monspell_damage(target_ptr, (MS_MAGIC_MISSILE), m_idx, DAM_ROLL);
bolt(target_ptr, m_idx, y, x, GF_MISSILE, dam, MS_MAGIC_MISSILE, TARGET_TYPE);
#pragma once
+#include "system/angband.h"
+
HIT_POINT spell_RF4_SHOOT(player_type* target_ptr, POSITION y, POSITION x, MONSTER_IDX m_idx, MONSTER_IDX t_idx, int TARGET_TYPE);
HIT_POINT spell_RF5_BO_ACID(player_type* target_ptr, POSITION y, POSITION x, MONSTER_IDX m_idx, MONSTER_IDX t_idx, int TARGET_TYPE);
HIT_POINT spell_RF5_BO_ELEC(player_type* target_ptr, POSITION y, POSITION x, MONSTER_IDX m_idx, MONSTER_IDX t_idx, int TARGET_TYPE);
-#include "system/angband.h"
-#include "mspell/mspell-breath.h"
-#include "mspell/monster-spell.h"
-#include "spell/spells-type.h"
+#include "mspell/mspell-breath.h"
#include "main/sound-definitions-table.h"
+#include "mind/drs-types.h"
#include "monster-race/race-indice-types.h"
-#include "mspell/mspell-util.h"
+#include "mspell/monster-spell.h"
#include "mspell/mspell-damage-calculator.h"
+#include "mspell/mspell-util.h"
#include "player/player-move.h"
+#include "spell/spells-type.h"
/*!
* @brief RF4_BR_*の処理。各種ブレス。 /
* @param TARGET_TYPE プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
* @return ダメージ量を返す。
*/
-HIT_POINT spell_RF4_BREATH(player_type* target_ptr, int GF_TYPE, POSITION y, POSITION x, MONSTER_IDX m_idx, MONSTER_IDX t_idx, int TARGET_TYPE)
+HIT_POINT spell_RF4_BREATH(player_type *target_ptr, int GF_TYPE, POSITION y, POSITION x, MONSTER_IDX m_idx, MONSTER_IDX t_idx, int TARGET_TYPE)
{
HIT_POINT dam, ms_type, drs_type = 0;
concptr type_s;
bool smart_learn_aux = TRUE;
- floor_type* floor_ptr = target_ptr->current_floor_ptr;
- monster_type* m_ptr = &floor_ptr->m_list[m_idx];
+ floor_type *floor_ptr = target_ptr->current_floor_ptr;
+ monster_type *m_ptr = &floor_ptr->m_list[m_idx];
bool known = monster_near_player(floor_ptr, m_idx, t_idx);
bool see_either = see_monster(target_ptr->current_floor_ptr, m_idx) || see_monster(target_ptr->current_floor_ptr, t_idx);
bool mon_to_mon = (TARGET_TYPE == MONSTER_TO_MONSTER);
if (mon_to_player) {
msg_format(_("%^sが%^sのブレスを吐いた。", "%^s breathes %^s."), m_name, type_s);
} else if (mon_to_mon && known && see_either) {
- _(msg_format("%^sが%^sに%^sのブレスを吐いた。", m_name, t_name, type_s),
- msg_format("%^s breathes %^s at %^s.", m_name, type_s, t_name));
+ _(msg_format("%^sが%^sに%^sのブレスを吐いた。", m_name, t_name, type_s), msg_format("%^s breathes %^s at %^s.", m_name, type_s, t_name));
}
}
#pragma once
+#include "system/angband.h"
+
HIT_POINT spell_RF4_BREATH(player_type* target_ptr, int GF_TYPE, POSITION y, POSITION x, MONSTER_IDX m_idx, MONSTER_IDX t_idx, int TARGET_TYPE);
#include "mspell/mspell-floor.h"
#include "art-definition/art-bow-types.h"
#include "effect/effect-characteristics.h"
+#include "mind/drs-types.h"
#include "monster-race/race-indice-types.h"
#include "monster/monster-status.h"
#include "mspell/monster-spell.h"
* So when adding a function, please consider whether you can extract the common part to another file.
*/
-#include "system/angband.h"
#include "mspell/mspell-particularity.h"
+#include "mind/drs-types.h"
#include "mspell/mspell-type.h"
#include "mspell/monster-spell.h"
#include "spell/spells-type.h"
#pragma once
+#include "system/angband.h"
+
HIT_POINT spell_RF4_ROCKET(player_type* target_ptr, POSITION y, POSITION x, MONSTER_IDX m_idx, MONSTER_IDX t_idx, int TARGET_TYPE);
HIT_POINT spell_RF6_HAND_DOOM(player_type* target_ptr, POSITION y, POSITION x, MONSTER_IDX m_idx, MONSTER_IDX t_idx, int TARGET_TYPE);
HIT_POINT spell_RF6_PSY_SPEAR(player_type* target_ptr, POSITION y, POSITION x, MONSTER_IDX m_idx, MONSTER_IDX t_idx, int TARGET_TYPE);
#include "mspell/mspell-status.h"
#include "art-definition/art-bow-types.h"
+#include "mind/drs-types.h"
#include "monster/monster-status.h"
#include "mspell/monster-spell.h"
#include "mspell/mspell-damage-calculator.h"