diff options
Diffstat (limited to 'src/map/homunculus.h')
-rw-r--r-- | src/map/homunculus.h | 22 |
1 files changed, 14 insertions, 8 deletions
diff --git a/src/map/homunculus.h b/src/map/homunculus.h index 18f8728d3..9d23fbe2c 100644 --- a/src/map/homunculus.h +++ b/src/map/homunculus.h @@ -5,10 +5,12 @@ #ifndef MAP_HOMUNCULUS_H #define MAP_HOMUNCULUS_H -#include "pc.h" -#include "status.h" // struct status_data, struct status_change -#include "unit.h" // struct unit_data -#include "../common/mmo.h" +#include "map/status.h" // struct status_data, struct status_change +#include "map/unit.h" // struct unit_data +#include "common/hercules.h" +#include "common/mmo.h" + +struct map_session_data; #define MAX_HOM_SKILL_REQUIRE 5 #define homdb_checkid(id) ((id) >= HM_CLASS_BASE && (id) <= HM_CLASS_MAX) @@ -98,12 +100,16 @@ enum homun_type { HT_INVALID = -1, // Invalid Homunculus }; -/* homunculus.c interface */ -struct homunculus_interface { +struct homun_dbs { unsigned int exptable[MAX_LEVEL]; struct view_data viewdb[MAX_HOMUNCULUS_CLASS]; struct s_homunculus_db db[MAX_HOMUNCULUS_CLASS]; struct homun_skill_tree_entry skill_tree[MAX_HOMUNCULUS_CLASS][MAX_SKILL_TREE]; +}; + +/* homunculus.c interface */ +struct homunculus_interface { + struct homun_dbs *dbs; /* */ void (*init) (bool minimal); void (*final) (void); @@ -155,10 +161,10 @@ struct homunculus_interface { int8 (*get_intimacy_grade) (struct homun_data *hd); }; -struct homunculus_interface *homun; - #ifdef HERCULES_CORE void homunculus_defaults(void); #endif // HERCULES_CORE +HPShared struct homunculus_interface *homun; + #endif /* MAP_HOMUNCULUS_H */ |