#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];
MONSTER_IDX om_idx = oc_ptr->m_idx;
MONSTER_IDX nm_idx = c_ptr->m_idx;
{
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)
/* 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;