diff options
author | Dastgir <dastgirp@gmail.com> | 2018-06-17 16:45:10 +0100 |
---|---|---|
committer | Asheraf <acheraf1998@gmail.com> | 2018-06-25 21:21:27 +0100 |
commit | 02c6b96f4aecae69e800b9623a76a93ad3f0802f (patch) | |
tree | 0d0f8a1fd80bf718206991fb3c550abb806136a0 /src/map/pet.h | |
parent | 9a95d3c61f8195c326ed430323074ef8ec23273c (diff) | |
download | hercules-02c6b96f4aecae69e800b9623a76a93ad3f0802f.tar.gz hercules-02c6b96f4aecae69e800b9623a76a93ad3f0802f.tar.bz2 hercules-02c6b96f4aecae69e800b9623a76a93ad3f0802f.tar.xz hercules-02c6b96f4aecae69e800b9623a76a93ad3f0802f.zip |
Implemented Pet Evolution System.
Diffstat (limited to 'src/map/pet.h')
-rw-r--r-- | src/map/pet.h | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/map/pet.h b/src/map/pet.h index 434b07015..b3a16c5d7 100644 --- a/src/map/pet.h +++ b/src/map/pet.h @@ -30,6 +30,12 @@ #define MAX_PET_DB 300 #define MAX_PETLOOT_SIZE 30 +/** Pet Evolution [Dastgir/Hercules] */ +struct pet_evolve_data { + int petEggId; + VECTOR_DECL(struct itemlist_entry) items; +}; + struct s_pet_db { short class_; char name[NAME_LENGTH],jname[NAME_LENGTH]; @@ -53,6 +59,9 @@ struct s_pet_db { int autofeed; struct script_code *equip_script; struct script_code *pet_script; + + /* Pet Evolution */ + VECTOR_DECL(struct pet_evolve_data) evolve_data; }; enum { PET_CLASS,PET_CATCH,PET_EGG,PET_EQUIP,PET_FOOD }; @@ -128,6 +137,7 @@ struct pet_interface { struct s_pet_db db[MAX_PET_DB]; struct eri *item_drop_ers; //For loot drops delay structures. struct eri *item_drop_list_ers; + /* */ int (*init) (bool minimal); int (*final) (void); @@ -173,6 +183,10 @@ struct pet_interface { int (*read_db_sub) (struct config_setting_t *it, int n, const char *source); bool (*read_db_sub_intimacy) (int idx, struct config_setting_t *t); void (*read_db_clear) (void); + + /* Pet Evolution [Dastgir/Hercules] */ + void (*read_db_sub_evolution) (struct config_setting_t *t, int n); + }; #ifdef HERCULES_CORE |