diff options
Diffstat (limited to 'src/map/pet.h')
-rw-r--r-- | src/map/pet.h | 79 |
1 files changed, 42 insertions, 37 deletions
diff --git a/src/map/pet.h b/src/map/pet.h index eeb48f018..86b9080eb 100644 --- a/src/map/pet.h +++ b/src/map/pet.h @@ -33,6 +33,43 @@ extern struct s_pet_db pet_db[MAX_PET_DB]; enum { PET_CLASS,PET_CATCH,PET_EGG,PET_EQUIP,PET_FOOD }; +struct pet_recovery { //Stat recovery + enum sc_type type; //Status Change id + unsigned short delay; //How long before curing (secs). + int timer; +}; + +struct pet_bonus { + unsigned short type; //bStr, bVit? + unsigned short val; //Qty + unsigned short duration; //in secs + unsigned short delay; //Time before recasting (secs) + int timer; +}; + +struct pet_skill_attack { //Attack Skill + unsigned short id; + unsigned short lv; + unsigned short div_; //0 = Normal skill. >0 = Fixed damage (lv), fixed div_. + unsigned short rate; //Base chance of skill ocurrance (10 = 10% of attacks) + unsigned short bonusrate; //How being 100% loyal affects cast rate (10 = At 1000 intimacy->rate+10% +}; + +struct pet_skill_support { //Support Skill + unsigned short id; + unsigned short lv; + unsigned short hp; //Max HP% for skill to trigger (50 -> 50% for Magnificat) + unsigned short sp; //Max SP% for skill to trigger (100 = no check) + unsigned short delay; //Time (secs) between being able to recast. + int timer; +}; + +struct pet_loot { + struct item *item; + unsigned short count; + unsigned short weight; + unsigned short max; +}; struct pet_data { struct block_list bl; @@ -51,43 +88,11 @@ struct pet_data { unsigned int next_walktime,last_thinktime; short rate_fix; //Support rate as modified by intimacy (1000 = 100%) [Skotlex] - struct pet_recovery { //Stat recovery - unsigned short type; //Status Change id - unsigned short delay; //How long before curing (secs). - int timer; - } *recovery; //[Valaris] / Reimplemented by [Skotlex] - - struct pet_bonus { - unsigned short type; //bStr, bVit? - unsigned short val; //Qty - unsigned short duration; //in secs - unsigned short delay; //Time before recasting (secs) - int timer; - } *bonus; //[Valaris] / Reimplemented by [Skotlex] - - struct pet_skill_attack { //Attack Skill - unsigned short id; - unsigned short lv; - unsigned short div_; //0 = Normal skill. >0 = Fixed damage (lv), fixed div_. - unsigned short rate; //Base chance of skill ocurrance (10 = 10% of attacks) - unsigned short bonusrate; //How being 100% loyal affects cast rate (10 = At 1000 intimacy->rate+10% - } *a_skill; //[Skotlex] - - struct pet_skill_support { //Support Skill - unsigned short id; - unsigned short lv; - unsigned short hp; //Max HP% for skill to trigger (50 -> 50% for Magnificat) - unsigned short sp; //Max SP% for skill to trigger (100 = no check) - unsigned short delay; //Time (secs) between being able to recast. - int timer; - } *s_skill; //[Skotlex] - - struct pet_loot { - struct item *item; - unsigned short count; - unsigned short weight; - unsigned short max; - } *loot; //[Valaris] / Rewritten by [Skotlex] + struct pet_recovery* recovery; + struct pet_bonus* bonus; + struct pet_skill_attack* a_skill; + struct pet_skill_support* s_skill; + struct pet_loot* loot; struct map_session_data *msd; }; |