OSDN Git Service

Merge pull request #917 from Hourier/feature/Separate-Player-Type-Definition
[hengbandforosx/hengbandosx.git] / src / monster / monster-status.h
1 #pragma once
2
3 #include "system/angband.h"
4
5 typedef struct floor_type floor_type;
6 typedef struct player_type player_type;
7 typedef struct monster_type monster_type;
8 bool monster_is_powerful(floor_type *floor_ptr, MONSTER_IDX m_idx);
9 DEPTH monster_level_idx(floor_type *floor_ptr, MONSTER_IDX m_idx);
10
11 HIT_POINT mon_damage_mod(player_type *target_ptr, monster_type *m_ptr, HIT_POINT dam, bool is_psy_spear);
12 bool mon_take_hit(player_type *target_ptr, MONSTER_IDX m_idx, HIT_POINT dam, bool *fear, concptr note);
13 bool monster_is_valid(monster_type *m_ptr);
14
15 void dispel_monster_status(player_type *target_ptr, MONSTER_IDX m_idx);
16 void monster_gain_exp(player_type *target_ptr, MONSTER_IDX m_idx, MONRACE_IDX s_idx);
17
18 void process_monsters_mtimed(player_type *target_ptr, int mtimed_idx);
19
20 TIME_EFFECT monster_csleep_remaining(monster_type *m_ptr);
21 TIME_EFFECT monster_fast_remaining(monster_type *m_ptr);
22 TIME_EFFECT monster_slow_remaining(monster_type *m_ptr);
23 TIME_EFFECT monster_stunned_remaining(monster_type *m_ptr);
24 TIME_EFFECT monster_confused_remaining(monster_type *m_ptr);
25 TIME_EFFECT monster_fear_remaining(monster_type *m_ptr);
26 TIME_EFFECT monster_invulner_remaining(monster_type *m_ptr);
27
28 int get_mproc_idx(floor_type *floor_ptr, MONSTER_IDX m_idx, int mproc_type);
29 void mproc_init(floor_type *floor_ptr);
30 void mproc_add(floor_type *floor_ptr, MONSTER_IDX m_idx, int mproc_type);