#include "angband.h"
+#include "projection.h"
+#include "spells-summon.h"
+#include "artifact.h"
+#include "player-status.h"
/*!
* @brief モンスターIDを取り、モンスター名をm_nameに代入する /
* @param msg_flag_aux メッセージを分岐するためのフラグ
* @param TARGET_TYPE プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
*/
-static void monspell_message_base(MONSTER_IDX m_idx, MONSTER_IDX t_idx, cptr msg1, cptr msg2, cptr msg3, cptr msg4, bool msg_flag_aux, int TARGET_TYPE)
+static void monspell_message_base(MONSTER_IDX m_idx, MONSTER_IDX t_idx, concptr msg1, concptr msg2, concptr msg3, concptr msg4, bool msg_flag_aux, int TARGET_TYPE)
{
bool known = monster_near_player(m_idx, t_idx);
bool see_either = see_monster(m_idx) || see_monster(t_idx);
* @param msg3 プレイヤーが盲目でなく、モンスター対象とする場合のメッセージ
* @param TARGET_TYPE プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
*/
-void monspell_message(MONSTER_IDX m_idx, MONSTER_IDX t_idx, cptr msg1, cptr msg2, cptr msg3, int TARGET_TYPE)
+void monspell_message(MONSTER_IDX m_idx, MONSTER_IDX t_idx, concptr msg1, concptr msg2, concptr msg3, int TARGET_TYPE)
{
monspell_message_base(m_idx, t_idx, msg1, msg1, msg2, msg3, p_ptr->blind > 0, TARGET_TYPE);
}
* @param msg2 モンスター対象とする場合のメッセージ
* @param TARGET_TYPE プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
*/
-void simple_monspell_message(MONSTER_IDX m_idx, MONSTER_IDX t_idx, cptr msg1, cptr msg2, int TARGET_TYPE)
+void simple_monspell_message(MONSTER_IDX m_idx, MONSTER_IDX t_idx, concptr msg1, concptr msg2, int TARGET_TYPE)
{
monspell_message_base(m_idx, t_idx, msg1, msg2, msg1, msg2, p_ptr->blind > 0, TARGET_TYPE);
}
if ((p_ptr->pseikaku == SEIKAKU_COMBAT) || (inventory[INVEN_BOW].name1 == ART_CRIMSON))
msg_print(_("やりやがったな!", ""));
+ else if ((p_ptr->pseikaku == SEIKAKU_CHARGEMAN))
+ {
+ if (randint0(2) == 0) msg_print(_("ジュラル星人め!", ""));
+ else msg_print(_("弱い者いじめは止めるんだ!", ""));
+ }
learn_spell(MS_DISPEL);
}
HIT_POINT spell_RF4_BREATH(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;
- cptr type_s;
+ concptr type_s;
bool smart_learn_aux = TRUE;
monster_type *m_ptr = &m_list[m_idx];
bool known = monster_near_player(m_idx, t_idx);
* @param TARGET_TYPE プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
* @return ダメージ量を返す。
*/
-void spell_RF5_CAUSE(int GF_TYPE, HIT_POINT dam, POSITION y, POSITION x, MONSTER_IDX m_idx, MONSTER_IDX t_idx, cptr msg1, cptr msg2, cptr msg3, int MS_TYPE, int TARGET_TYPE)
+void spell_RF5_CAUSE(int GF_TYPE, HIT_POINT dam, POSITION y, POSITION x, MONSTER_IDX m_idx, MONSTER_IDX t_idx, concptr msg1, concptr msg2, concptr msg3, int MS_TYPE, int TARGET_TYPE)
{
GAME_TEXT m_name[MAX_NLEN], t_name[MAX_NLEN];
monster_name(m_idx, m_name);
*/
HIT_POINT spell_RF5_CAUSE_1(POSITION y, POSITION x, MONSTER_IDX m_idx, MONSTER_IDX t_idx, int TARGET_TYPE)
{
- cptr msg1, msg2, msg3;
+ concptr msg1, msg2, msg3;
HIT_POINT dam;
dam = monspell_damage((MS_CAUSE_1), m_idx, DAM_ROLL);
*/
HIT_POINT spell_RF5_CAUSE_2(POSITION y, POSITION x, MONSTER_IDX m_idx, MONSTER_IDX t_idx, int TARGET_TYPE)
{
- cptr msg1, msg2, msg3;
+ concptr msg1, msg2, msg3;
HIT_POINT dam;
dam = monspell_damage((MS_CAUSE_2), m_idx, DAM_ROLL);
*/
HIT_POINT spell_RF5_CAUSE_3(POSITION y, POSITION x, MONSTER_IDX m_idx, MONSTER_IDX t_idx, int TARGET_TYPE)
{
- cptr msg1, msg2, msg3;
+ concptr msg1, msg2, msg3;
HIT_POINT dam;
dam = monspell_damage((MS_CAUSE_3), m_idx, DAM_ROLL);
*/
HIT_POINT spell_RF5_CAUSE_4(POSITION y, POSITION x, MONSTER_IDX m_idx, MONSTER_IDX t_idx, int TARGET_TYPE)
{
- cptr msg1, msg2, msg3;
+ concptr msg1, msg2, msg3;
HIT_POINT dam;
dam = monspell_damage((MS_CAUSE_4), m_idx, DAM_ROLL);
* @param saving_throw 抵抗に成功したか判別するフラグ
* @param TARGET_TYPE プレイヤーを対象とする場合MONSTER_TO_PLAYER、モンスターを対象とする場合MONSTER_TO_MONSTER
*/
-void spell_badstatus_message(MONSTER_IDX m_idx, MONSTER_IDX t_idx, cptr msg1, cptr msg2, cptr msg3, cptr msg4, bool resist, bool saving_throw, int TARGET_TYPE)
+void spell_badstatus_message(MONSTER_IDX m_idx, MONSTER_IDX t_idx, concptr msg1, concptr msg2, concptr msg3, concptr msg4, bool resist, bool saving_throw, int TARGET_TYPE)
{
bool see_either = see_monster(m_idx) || see_monster(t_idx);
bool see_t = see_monster(t_idx);
}
else if (TARGET_TYPE == MONSTER_TO_MONSTER)
{
- cptr msg1;
+ concptr msg1;
GAME_TEXT t_name[MAX_NLEN];
monster_name(t_idx, t_name);
}
else if (TARGET_TYPE == MONSTER_TO_MONSTER)
{
- cptr msg1;
+ concptr msg1;
GAME_TEXT t_name[MAX_NLEN];
monster_name(t_idx, t_name);
{
if ((p_ptr->pseikaku == SEIKAKU_COMBAT) || (inventory[INVEN_BOW].name1 == ART_CRIMSON))
msg_print(_("くっそ~", ""));
-
+ else if ((p_ptr->pseikaku == SEIKAKU_CHARGEMAN))
+ {
+ if (randint0(2) == 0) msg_print(_("ジュラル星人め!", ""));
+ else msg_print(_("弱い者いじめは止めるんだ!", ""));
+ }
+
learn_spell(MS_TELE_AWAY);
teleport_player_away(m_idx, 100);
}
MONSTER_NUMBER summon_Kin(POSITION y, POSITION x, int rlev, MONSTER_IDX m_idx)
{
int k, count = 0;
- monster_type *m_ptr = &m_list[m_idx];
- monster_race *r_ptr = &r_info[m_ptr->r_idx];
+ monster_type *m_ptr = &m_list[m_idx];
+ monster_race *r_ptr = &r_info[m_ptr->r_idx];
for (k = 0; k < 4; k++)
{
int shoot_dd = 1, shoot_ds = 1, shoot_base = 0;
object_type *o_ptr = NULL;
- if (buki_motteruka(INVEN_RARM)) o_ptr = &inventory[INVEN_RARM];
- else if (buki_motteruka(INVEN_LARM)) o_ptr = &inventory[INVEN_LARM];
+ if (has_melee_weapon(INVEN_RARM)) o_ptr = &inventory[INVEN_RARM];
+ else if (has_melee_weapon(INVEN_LARM)) o_ptr = &inventory[INVEN_LARM];
if (o_ptr)
{