#include "angband.h"
#include "melee.h"
#include "trap.h"
+#include "projection.h"
+#include "quest.h"
+#include "artifact.h"
+#include "player-status.h"
MULTIPLY mult = 10;
BIT_FLAGS flgs[TR_FLAG_SIZE];
-
- /* Extract the flags */
object_flags(o_ptr, flgs);
torch_flags(o_ptr, flgs); /* torches has secret flags */
* @param mode 移動に関するオプションフラグ
* @return 移動可能ならばTRUEを返す
*/
-bool player_can_enter(s16b feature, u16b mode)
+bool player_can_enter(FEAT_IDX feature, BIT_FLAGS16 mode)
{
feature_type *f_ptr = &f_info[feature];
*/
bool move_player_effect(POSITION ny, POSITION nx, BIT_FLAGS mpe_mode)
{
+ POSITION oy = p_ptr->y;
+ POSITION ox = p_ptr->x;
cave_type *c_ptr = &cave[ny][nx];
+ cave_type *oc_ptr = &cave[oy][ox];
feature_type *f_ptr = &f_info[c_ptr->feat];
+ feature_type *of_ptr = &f_info[oc_ptr->feat];
if (!(mpe_mode & MPE_STAYING))
{
- POSITION oy = p_ptr->y;
- POSITION ox = p_ptr->x;
- cave_type *oc_ptr = &cave[oy][ox];
- IDX om_idx = oc_ptr->m_idx;
- IDX nm_idx = c_ptr->m_idx;
+ MONSTER_IDX om_idx = oc_ptr->m_idx;
+ MONSTER_IDX nm_idx = c_ptr->m_idx;
/* Move the player */
p_ptr->y = ny;
{
forget_flow();
- /* Mega-Hack -- Forget the view */
p_ptr->update |= (PU_UN_VIEW);
-
p_ptr->redraw |= (PR_MAP);
}
p_ptr->update |= (PU_VIEW | PU_LITE | PU_FLOW | PU_MON_LITE | PU_DISTANCE);
-
p_ptr->window |= (PW_OVERHEAD | PW_DUNGEON);
/* Remove "unsafe" flag */
msg_print(_("ここでは素早く動けない。", "You cannot run in here."));
set_action(ACTION_NONE);
}
+ if (p_ptr->prace == RACE_MERFOLK)
+ {
+ if(have_flag(f_ptr->flags, FF_WATER) ^ have_flag(of_ptr->flags, FF_WATER))
+ {
+ p_ptr->update |= PU_BONUS;
+ update_creature(p_ptr);
+ }
+ }
}
if (mpe_mode & MPE_ENERGY_USE)
monster_type *riding_m_ptr = &m_list[p_ptr->riding];
monster_race *riding_r_ptr = &r_info[p_ptr->riding ? riding_m_ptr->r_idx : 0]; /* Paranoia */
- GAME_TEXT m_name[80];
+ GAME_TEXT m_name[MAX_NLEN];
bool p_can_enter = player_can_enter(c_ptr->feat, CEM_P_CAN_ENTER_PATTERN);
bool p_can_kill_walls = FALSE;
}
else if (MON_MONFEAR(riding_m_ptr))
{
- GAME_TEXT steed_name[80];
+ GAME_TEXT steed_name[MAX_NLEN];
monster_desc(steed_name, riding_m_ptr, 0);
msg_format(_("%sが恐怖していて制御できない。", "%^s is too scared to control."), steed_name);
oktomove = FALSE;
if (oktomove && MON_STUNNED(riding_m_ptr) && one_in_(2))
{
- GAME_TEXT steed_name[80];
+ GAME_TEXT steed_name[MAX_NLEN];
monster_desc(steed_name, riding_m_ptr, 0);
msg_format(_("%sが朦朧としていてうまく動けない!", "You cannot control stunned %s!"), steed_name);
oktomove = FALSE;
/* Feature code (applying "mimic" field) */
FEAT_IDX feat = get_feat_mimic(c_ptr);
feature_type *mimic_f_ptr = &f_info[feat];
- cptr name = f_name + mimic_f_ptr->name;
+ concptr name = f_name + mimic_f_ptr->name;
oktomove = FALSE;