Skip to content

Commit 81986f3

Browse files
committed
ext: daedalus_classes: add constants for array sizes
(cherry picked from commit 3eff02e)
1 parent dd95ae6 commit 81986f3

File tree

1 file changed

+23
-14
lines changed

1 file changed

+23
-14
lines changed

include/phoenix/ext/daedalus_classes.hh

Lines changed: 23 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -135,20 +135,26 @@ namespace phoenix {
135135
FLAG(npc_flag);
136136

137137
struct c_npc : public instance {
138+
static constexpr std::uint32_t hitchance_count =
139+
5; // -> TODO: one of "unknown", "one-handed", "two-handed", "bow", "crossbow"
140+
static constexpr std::uint32_t name_count = 5;
141+
static constexpr std::uint32_t mission_count = 5;
142+
static constexpr std::uint32_t aivar_count = 100;
143+
138144
var int32_t id;
139-
var string name[5];
145+
var string name[name_count];
140146
var string slot;
141147
var string effect;
142148
var npc_type type;
143149
var npc_flag flags;
144-
var int32_t attribute[8];
145-
var int32_t hitchance[5];
146-
var int32_t protection[8];
147-
var int32_t damage[8];
150+
var int32_t attribute[npc_attribute::count];
151+
var int32_t hitchance[hitchance_count];
152+
var int32_t protection[damage_type::count];
153+
var int32_t damage[damage_type::count];
148154
var int32_t damage_type;
149155
var int32_t guild;
150156
var int32_t level;
151-
var func mission[5];
157+
var func mission[mission_count];
152158
var int32_t fight_tactic;
153159
var int32_t weapon;
154160
var int32_t voice;
@@ -160,7 +166,7 @@ namespace phoenix {
160166
var int32_t spawn_delay;
161167
var int32_t senses;
162168
var int32_t senses_range;
163-
var int32_t aivar[100];
169+
var int32_t aivar[aivar_count];
164170
var string wp;
165171
var int32_t exp;
166172
var int32_t exp_next;
@@ -256,6 +262,9 @@ namespace phoenix {
256262
FLAG(item_flags);
257263

258264
struct c_item : public instance {
265+
static constexpr std::uint32_t condition_count = 3;
266+
static constexpr std::uint32_t state_count = 4;
267+
259268
var int32_t id;
260269
var string name;
261270
var string name_id;
@@ -267,18 +276,18 @@ namespace phoenix {
267276
var int32_t value;
268277
var int32_t damage_type;
269278
var int32_t damage_total;
270-
var int32_t damage[8];
279+
var int32_t damage[damage_type::count];
271280
var int32_t wear;
272-
var int32_t protection[8];
281+
var int32_t protection[damage_type::count];
273282
var int32_t nutrition;
274-
var int32_t cond_atr[3];
275-
var int32_t cond_value[3];
276-
var int32_t change_atr[3];
277-
var int32_t change_value[3];
283+
var int32_t cond_atr[condition_count];
284+
var int32_t cond_value[condition_count];
285+
var int32_t change_atr[condition_count];
286+
var int32_t change_value[condition_count];
278287
var func magic;
279288
var func on_equip;
280289
var func on_unequip;
281-
var func on_state[4];
290+
var func on_state[state_count];
282291
var func owner;
283292
var int32_t owner_guild;
284293
var int32_t disguise_guild;

0 commit comments

Comments
 (0)