OSDN Git Service

Merge pull request #2296 from Hourier/Rename-Monster-Attack-Types
[hengbandforosx/hengbandosx.git] / src / mspell / mspell-attack-util.h
1 #pragma once
2
3 #include "system/angband.h"
4
5 #include "monster-race/race-ability-flags.h"
6 #include "util/flag-group.h"
7
8 #include <vector>
9
10 enum mspell_lite_type {
11     DO_SPELL_NONE = 0,
12     DO_SPELL_BR_LITE = 1,
13     DO_SPELL_BR_DISI = 2,
14     DO_SPELL_BA_LITE = 3,
15 };
16
17 // Monster Spell Attack.
18 struct monster_type;
19 struct monster_race;
20 struct msa_type {
21     MONSTER_IDX m_idx;
22     monster_type *m_ptr;
23     monster_race *r_ptr;
24     bool no_inate;
25     EnumClassFlagGroup<MonsterAbilityType> ability_flags;
26     POSITION x;
27     POSITION y;
28     POSITION x_br_lite;
29     POSITION y_br_lite;
30     mspell_lite_type do_spell;
31     bool in_no_magic_dungeon;
32     bool success;
33     std::vector<MonsterAbilityType> mspells;
34     MonsterAbilityType thrown_spell;
35     GAME_TEXT m_name[MAX_NLEN];
36     bool can_remember;
37     int dam;
38     DEPTH rlev;
39 };
40
41 class PlayerType;
42 msa_type *initialize_msa_type(PlayerType *player_ptr, msa_type *msa_ptr, MONSTER_IDX m_idx);