diff options
author | ultramage <ultramage@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2008-03-24 21:20:48 +0000 |
---|---|---|
committer | ultramage <ultramage@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2008-03-24 21:20:48 +0000 |
commit | 3731a2ee949a424941f46a653525fcd4bfca0e3f (patch) | |
tree | ac45f75a34541d2cd66f785881b9259f82e77fcf /src/map/pet.h | |
parent | 947c9789ff8c6dd1c7c5c615f102fbd761dcbaf9 (diff) | |
download | hercules-3731a2ee949a424941f46a653525fcd4bfca0e3f.tar.gz hercules-3731a2ee949a424941f46a653525fcd4bfca0e3f.tar.bz2 hercules-3731a2ee949a424941f46a653525fcd4bfca0e3f.tar.xz hercules-3731a2ee949a424941f46a653525fcd4bfca0e3f.zip |
* Reorganized the contents of the mapserver's header files.
- map.h is no longer a generic dumping spot of all the shared structs, and instead, each such structure now resides in its logical component
- map.h now only holds mostly map-related things (needs more cleaning)
- there's still a lot of room for improvement (reorganization within individual header files, etc...)
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12429 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'src/map/pet.h')
-rw-r--r-- | src/map/pet.h | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/src/map/pet.h b/src/map/pet.h index b5dda0944..eeb48f018 100644 --- a/src/map/pet.h +++ b/src/map/pet.h @@ -33,6 +33,67 @@ extern struct s_pet_db pet_db[MAX_PET_DB]; enum { PET_CLASS,PET_CATCH,PET_EGG,PET_EQUIP,PET_FOOD }; + +struct pet_data { + struct block_list bl; + struct unit_data ud; + struct view_data vd; + struct s_pet pet; + struct status_data status; + struct mob_db *db; + struct s_pet_db *petDB; + int pet_hungry_timer; + int target_id; + struct { + unsigned skillbonus : 1; + } state; + int move_fail_count; + 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 map_session_data *msd; +}; + + + int pet_create_egg(struct map_session_data *sd, int item_id); int pet_hungry_val(struct pet_data *pd); int pet_target_check(struct map_session_data *sd,struct block_list *bl,int type); |