liblcf
rpg_state.h
Go to the documentation of this file.
1 /* !!!! GENERATED FILE - DO NOT EDIT !!!!
2  * --------------------------------------
3  *
4  * This file is part of liblcf. Copyright (c) 2020 liblcf authors.
5  * https://github.com/EasyRPG/liblcf - https://easyrpg.org
6  *
7  * liblcf is Free/Libre Open Source Software, released under the MIT License.
8  * For the full copyright and license information, please view the COPYING
9  * file that was distributed with this source code.
10  */
11 
12 #ifndef LCF_RPG_STATE_H
13 #define LCF_RPG_STATE_H
14 
15 // Headers
16 #include <stdint.h>
17 #include <string>
18 #include "enum_tags.h"
19 
23 namespace RPG {
24  class State {
25  public:
26  // The ID of the special death state
27  static constexpr int kDeathID = 1;
28 
29  enum Persistence {
32  };
33  static constexpr auto kPersistenceTags = makeEnumTags<Persistence>(
34  "ends",
35  "persists"
36  );
37  enum Restriction {
42  };
43  static constexpr auto kRestrictionTags = makeEnumTags<Restriction>(
44  "normal",
45  "do_nothing",
46  "attack_enemy",
47  "attack_ally"
48  );
49  enum AffectType {
53  };
54  static constexpr auto kAffectTypeTags = makeEnumTags<AffectType>(
55  "half",
56  "double",
57  "nothing"
58  );
59  enum ChangeType {
63  };
64  static constexpr auto kChangeTypeTags = makeEnumTags<ChangeType>(
65  "lose",
66  "gain",
67  "nothing"
68  );
69 
70  int ID = 0;
71  std::string name;
72  int32_t type = 0;
73  int32_t color = 6;
74  int32_t priority = 50;
75  int32_t restriction = 0;
76  int32_t a_rate = 100;
77  int32_t b_rate = 80;
78  int32_t c_rate = 60;
79  int32_t d_rate = 30;
80  int32_t e_rate = 0;
81  int32_t hold_turn = 0;
82  int32_t auto_release_prob = 0;
83  int32_t release_by_damage = 0;
84  int32_t affect_type = 0;
85  bool affect_attack = false;
86  bool affect_defense = false;
87  bool affect_spirit = false;
88  bool affect_agility = false;
89  int32_t reduce_hit_ratio = 100;
90  bool avoid_attacks = false;
91  bool reflect_magic = false;
92  bool cursed = false;
93  int32_t battler_animation_id = 100;
94  bool restrict_skill = false;
95  int32_t restrict_skill_level = 0;
96  bool restrict_magic = false;
97  int32_t restrict_magic_level = 0;
98  int32_t hp_change_type = 0;
99  int32_t sp_change_type = 0;
100  std::string message_actor;
101  std::string message_enemy;
102  std::string message_already;
103  std::string message_affected;
104  std::string message_recovery;
105  int32_t hp_change_max = 0;
106  int32_t hp_change_val = 0;
107  int32_t hp_change_map_steps = 0;
108  int32_t hp_change_map_val = 0;
109  int32_t sp_change_max = 0;
110  int32_t sp_change_val = 0;
111  int32_t sp_change_map_steps = 0;
112  int32_t sp_change_map_val = 0;
113  };
114 
115  inline bool operator==(const State& l, const State& r) {
116  return l.name == r.name
117  && l.type == r.type
118  && l.color == r.color
119  && l.priority == r.priority
120  && l.restriction == r.restriction
121  && l.a_rate == r.a_rate
122  && l.b_rate == r.b_rate
123  && l.c_rate == r.c_rate
124  && l.d_rate == r.d_rate
125  && l.e_rate == r.e_rate
126  && l.hold_turn == r.hold_turn
129  && l.affect_type == r.affect_type
130  && l.affect_attack == r.affect_attack
132  && l.affect_spirit == r.affect_spirit
135  && l.avoid_attacks == r.avoid_attacks
136  && l.reflect_magic == r.reflect_magic
137  && l.cursed == r.cursed
145  && l.message_actor == r.message_actor
146  && l.message_enemy == r.message_enemy
150  && l.hp_change_max == r.hp_change_max
151  && l.hp_change_val == r.hp_change_val
154  && l.sp_change_max == r.sp_change_max
155  && l.sp_change_val == r.sp_change_val
158  }
159 
160  inline bool operator!=(const State& l, const State& r) {
161  return !(l == r);
162  }
163 }
164 
165 #endif
RPG::State::ChangeType
ChangeType
Definition: rpg_state.h:59
RPG::State::Restriction_attack_enemy
@ Restriction_attack_enemy
Definition: rpg_state.h:40
RPG::State::kAffectTypeTags
static constexpr auto kAffectTypeTags
Definition: rpg_state.h:54
RPG::State::Restriction
Restriction
Definition: rpg_state.h:37
RPG::State::message_actor
std::string message_actor
Definition: rpg_state.h:100
RPG::operator==
bool operator==(const Actor &l, const Actor &r)
Definition: rpg_actor.h:64
RPG::State::auto_release_prob
int32_t auto_release_prob
Definition: rpg_state.h:82
RPG::State::affect_agility
bool affect_agility
Definition: rpg_state.h:88
RPG::State::restriction
int32_t restriction
Definition: rpg_state.h:75
RPG::State::kDeathID
static constexpr int kDeathID
Definition: rpg_state.h:27
RPG::State::restrict_skill_level
int32_t restrict_skill_level
Definition: rpg_state.h:95
RPG::State::hp_change_map_val
int32_t hp_change_map_val
Definition: rpg_state.h:108
RPG::State::sp_change_map_steps
int32_t sp_change_map_steps
Definition: rpg_state.h:111
RPG::State::restrict_magic
bool restrict_magic
Definition: rpg_state.h:96
RPG::State::hold_turn
int32_t hold_turn
Definition: rpg_state.h:81
RPG
Definition: rpg_actor.h:26
RPG::State::battler_animation_id
int32_t battler_animation_id
Definition: rpg_state.h:93
RPG::State::affect_attack
bool affect_attack
Definition: rpg_state.h:85
RPG::State::message_recovery
std::string message_recovery
Definition: rpg_state.h:104
RPG::State::message_affected
std::string message_affected
Definition: rpg_state.h:103
RPG::State::b_rate
int32_t b_rate
Definition: rpg_state.h:77
RPG::State::hp_change_type
int32_t hp_change_type
Definition: rpg_state.h:98
RPG::State::Persistence
Persistence
Definition: rpg_state.h:29
RPG::State::ChangeType_nothing
@ ChangeType_nothing
Definition: rpg_state.h:62
RPG::State::restrict_magic_level
int32_t restrict_magic_level
Definition: rpg_state.h:97
RPG::State::AffectType_nothing
@ AffectType_nothing
Definition: rpg_state.h:52
RPG::State::Restriction_attack_ally
@ Restriction_attack_ally
Definition: rpg_state.h:41
RPG::State::name
std::string name
Definition: rpg_state.h:71
RPG::State::priority
int32_t priority
Definition: rpg_state.h:74
RPG::State::e_rate
int32_t e_rate
Definition: rpg_state.h:80
RPG::State::reduce_hit_ratio
int32_t reduce_hit_ratio
Definition: rpg_state.h:89
RPG::State::ID
int ID
Definition: rpg_state.h:70
RPG::State::affect_defense
bool affect_defense
Definition: rpg_state.h:86
RPG::State::c_rate
int32_t c_rate
Definition: rpg_state.h:78
RPG::State::ChangeType_gain
@ ChangeType_gain
Definition: rpg_state.h:61
RPG::State::Persistence_persists
@ Persistence_persists
Definition: rpg_state.h:31
RPG::State::color
int32_t color
Definition: rpg_state.h:73
RPG::State::Restriction_normal
@ Restriction_normal
Definition: rpg_state.h:38
RPG::State::message_enemy
std::string message_enemy
Definition: rpg_state.h:101
RPG::State::cursed
bool cursed
Definition: rpg_state.h:92
RPG::State::affect_type
int32_t affect_type
Definition: rpg_state.h:84
RPG::State::hp_change_val
int32_t hp_change_val
Definition: rpg_state.h:106
RPG::State::reflect_magic
bool reflect_magic
Definition: rpg_state.h:91
RPG::State::AffectType
AffectType
Definition: rpg_state.h:49
RPG::operator!=
bool operator!=(const Actor &l, const Actor &r)
Definition: rpg_actor.h:98
RPG::State::Persistence_ends
@ Persistence_ends
Definition: rpg_state.h:30
RPG::State::avoid_attacks
bool avoid_attacks
Definition: rpg_state.h:90
RPG::State::affect_spirit
bool affect_spirit
Definition: rpg_state.h:87
RPG::State::Restriction_do_nothing
@ Restriction_do_nothing
Definition: rpg_state.h:39
RPG::State::hp_change_map_steps
int32_t hp_change_map_steps
Definition: rpg_state.h:107
RPG::State::ChangeType_lose
@ ChangeType_lose
Definition: rpg_state.h:60
RPG::State::AffectType_half
@ AffectType_half
Definition: rpg_state.h:50
RPG::State::type
int32_t type
Definition: rpg_state.h:72
RPG::State::AffectType_double
@ AffectType_double
Definition: rpg_state.h:51
RPG::State::restrict_skill
bool restrict_skill
Definition: rpg_state.h:94
RPG::State::d_rate
int32_t d_rate
Definition: rpg_state.h:79
RPG::State::kRestrictionTags
static constexpr auto kRestrictionTags
Definition: rpg_state.h:43
RPG::State::message_already
std::string message_already
Definition: rpg_state.h:102
RPG::State
Definition: rpg_state.h:24
RPG::State::sp_change_type
int32_t sp_change_type
Definition: rpg_state.h:99
RPG::State::sp_change_map_val
int32_t sp_change_map_val
Definition: rpg_state.h:112
RPG::State::a_rate
int32_t a_rate
Definition: rpg_state.h:76
RPG::State::hp_change_max
int32_t hp_change_max
Definition: rpg_state.h:105
RPG::State::release_by_damage
int32_t release_by_damage
Definition: rpg_state.h:83
RPG::State::kChangeTypeTags
static constexpr auto kChangeTypeTags
Definition: rpg_state.h:64
RPG::State::sp_change_val
int32_t sp_change_val
Definition: rpg_state.h:110
RPG::State::sp_change_max
int32_t sp_change_max
Definition: rpg_state.h:109
enum_tags.h
RPG::State::kPersistenceTags
static constexpr auto kPersistenceTags
Definition: rpg_state.h:33