#include "avatar.h"
#include "spells-status.h"
+#include "realm-hex.h"
/*!
* @brief プレイヤー周辺の地形を感知する
void aggravate_monsters(MONSTER_IDX who)
{
MONSTER_IDX i;
- bool sleep = FALSE;
- bool speed = FALSE;
+ bool sleep = FALSE;
+ bool speed = FALSE;
/* Aggravate everyone nearby */
for (i = 1; i < m_max; i++)
else if (player_cast && (r_ptr->level > randint0(power))) resist = TRUE;
else if (player_cast && (m_ptr->mflag2 & MFLAG2_NOGENO)) resist = TRUE;
-
else
{
if (record_named_pet && is_pet(m_ptr) && m_ptr->nickname)
}
/* Mega-Hack -- Forget the view and lite */
- /* Update the health bar */
p_ptr->update |= (PU_UN_VIEW | PU_UN_LITE | PU_VIEW | PU_LITE | PU_FLOW | PU_MON_LITE | PU_MONSTERS);
p_ptr->redraw |= (PR_HEALTH | PR_UHEALTH | PR_MAP);
p_ptr->window |= (PW_OVERHEAD | PW_DUNGEON);
}
}
- /* Note */
note_spot(y, x);
-
lite_spot(y, x);
-
update_local_illumination(y, x);
}
{
for (j = 0; j < 9; j++)
{
- int by = y + ddy_ddd[j];
- int bx = x + ddx_ddd[j];
+ POSITION by = y + ddy_ddd[j];
+ POSITION bx = x + ddx_ddd[j];
if (in_bounds2(by, bx))
{
{
/* Forget the grid */
if (!view_torch_grids) c_ptr->info &= ~(CAVE_MARK);
-
note_spot(y, x);
}
}
lite_spot(y, x);
-
update_local_illumination(y, x);
}
}
bool psychometry(void)
{
OBJECT_IDX item;
- object_type *o_ptr;
+ object_type *o_ptr;
GAME_TEXT o_name[MAX_NLEN];
byte feel;
concptr q, s;
#endif
- /* We have "felt" it */
o_ptr->ident |= (IDENT_SENSE);
-
- /* "Inscribe" it */
o_ptr->feeling = feel;
-
- /* Player touches it */
o_ptr->marked |= OM_TOUCHED;
- /* Combine / Reorder the pack (later) */
p_ptr->update |= (PU_COMBINE | PU_REORDER);
-
p_ptr->window |= (PW_INVEN | PW_EQUIP | PW_PLAYER);
/* Valid "tval" codes */
}
creature_ptr->redraw |= (PR_MANA);
return TRUE;
-}
\ No newline at end of file
+}
+
+bool concentration(player_type *creature_ptr)
+{
+ int max_csp = MAX(creature_ptr->msp * 4, creature_ptr->lev * 5 + 5);
+
+ if (total_friends)
+ {
+ msg_print(_("今はペットを操ることに集中していないと。", "You need concentration on the pets now."));
+ return FALSE;
+ }
+ if (creature_ptr->special_defense & KATA_MASK)
+ {
+ msg_print(_("今は構えに集中している。", "You need concentration on your form."));
+ return FALSE;
+ }
+ msg_print(_("精神を集中して気合いを溜めた。", "You concentrate to charge your power."));
+
+ creature_ptr->csp += creature_ptr->msp / 2;
+ if (creature_ptr->csp >= max_csp)
+ {
+ creature_ptr->csp = max_csp;
+ creature_ptr->csp_frac = 0;
+ }
+ creature_ptr->redraw |= (PR_MANA);
+ return TRUE;
+}