-
Notifications
You must be signed in to change notification settings - Fork 14
/
Copy pathcard.h
155 lines (150 loc) · 4.12 KB
/
card.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
#ifndef CARD_H_INCLUDED
#define CARD_H_INCLUDED
#include <string>
#include <vector>
#include "tyrant.h"
class Card
{
public:
Card() :
m_antiair(0),
m_armored(0),
m_attack(0),
m_base_id(0),
m_berserk(0),
m_berserk_oa(0),
m_blitz(false),
m_burst(0),
m_corrosive(0),
m_counter(0),
m_crush(0),
m_delay(0),
m_disease(false),
m_disease_oa(false),
m_emulate(false),
m_enfeeble(0),
m_evade(0),
m_faction(imperial),
m_fear(false),
m_flurry(0),
m_flying(false),
m_fortress(0),
m_fusion(false),
m_heal(0),
m_health(0),
m_hidden(0),
m_id(0),
m_immobilize(false),
m_inhibit(0),
m_intercept(false),
m_jam(0),
m_leech(0),
m_legion(0),
m_name(""),
m_payback(false),
m_pierce(0),
m_phase(0),
m_poison(0),
m_poison_oa(0),
m_proto_id(0),
m_rally(0),
m_rarity(1),
m_refresh(false),
m_regenerate(0),
m_replace(0),
m_set(0),
m_siphon(0),
m_split(false),
m_strike(0),
m_stun(false),
m_sunder(false),
m_sunder_oa(false),
m_swipe(false),
m_tribute(false),
m_unique(false),
m_valor(0),
m_wall(false),
m_skills(),
m_type(CardType::assault)
{
}
void add_skill(Skill v1, unsigned v2, Faction v3, bool v4)
{ m_skills.push_back(std::make_tuple(v1, v2, v3, v4, SkillMod::on_activate)); }
void add_played_skill(Skill v1, unsigned v2, Faction v3, bool v4)
{ m_skills_on_play.push_back(std::make_tuple(v1, v2, v3, v4, SkillMod::on_play)); }
void add_died_skill(Skill v1, unsigned v2, Faction v3, bool v4)
{ m_skills_on_death.push_back(std::make_tuple(v1, v2, v3, v4, SkillMod::on_death)); }
void add_attacked_skill(Skill v1, unsigned v2, Faction v3, bool v4)
{ m_skills_on_attacked.push_back(std::make_tuple(v1, v2, v3, v4, SkillMod::on_attacked)); }
void add_kill_skill(Skill v1, unsigned v2, Faction v3, bool v4)
{ m_skills_on_kill.push_back(std::make_tuple(v1, v2, v3, v4, SkillMod::on_kill)); }
unsigned m_antiair;
unsigned m_armored;
unsigned m_attack;
unsigned m_base_id; // The id of the original card if a card is unique and alt/upgraded. The own id of the card otherwise.
unsigned m_berserk;
unsigned m_berserk_oa;
bool m_blitz;
unsigned m_burst;
unsigned m_corrosive;
unsigned m_counter;
unsigned m_crush;
unsigned m_delay;
bool m_disease;
bool m_disease_oa;
bool m_emulate;
unsigned m_enfeeble;
unsigned m_evade;
Faction m_faction;
bool m_fear;
unsigned m_flurry;
bool m_flying;
unsigned m_fortress;
bool m_fusion;
unsigned m_heal;
unsigned m_health;
unsigned m_hidden;
unsigned m_id;
unsigned m_max_level_id;
bool m_immobilize;
unsigned m_inhibit;
bool m_intercept;
unsigned m_jam;
unsigned m_leech;
unsigned m_legion;
std::string m_name;
bool m_payback;
unsigned m_pierce;
unsigned m_phase;
unsigned m_poison;
unsigned m_poison_oa;
unsigned m_proto_id; // The id of the prototype card (before upgraded) for an upgraded card. 0 otherwise.
unsigned m_rally;
unsigned m_rarity;
bool m_refresh;
unsigned m_regenerate;
unsigned m_replace;
unsigned m_reserve;
unsigned m_set;
unsigned m_siphon;
bool m_split;
unsigned m_strike;
bool m_stun;
bool m_sunder;
bool m_sunder_oa;
bool m_swipe;
bool m_tribute;
bool m_unique;
unsigned m_upgrade_consumables;
unsigned m_upgrade_gold_cost;
unsigned m_upgraded_id; // The id of the upgraded card for an upgradable card. 0 otherwise.
unsigned m_valor;
bool m_wall;
std::vector<SkillSpec> m_skills;
std::vector<SkillSpec> m_skills_on_play;
std::vector<SkillSpec> m_skills_on_death;
std::vector<SkillSpec> m_skills_on_attacked;
std::vector<SkillSpec> m_skills_on_kill;
CardType::CardType m_type;
};
#endif