summaryrefslogtreecommitdiff
path: root/src/map/pet.h
diff options
context:
space:
mode:
authorDastgir <dastgirp@gmail.com>2018-06-17 16:45:10 +0100
committerAsheraf <acheraf1998@gmail.com>2018-06-25 21:21:27 +0100
commit02c6b96f4aecae69e800b9623a76a93ad3f0802f (patch)
tree0d0f8a1fd80bf718206991fb3c550abb806136a0 /src/map/pet.h
parent9a95d3c61f8195c326ed430323074ef8ec23273c (diff)
downloadhercules-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.h14
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