00001
00002 #ifndef _PET_H_
00003 #define _PET_H_
00004
00005 #define MAX_PET_DB 300
00006 #define PETLOOT_SIZE 20 // [Valaris]
00007
00008 struct pet_db {
00009 int class;
00010 char name[25], jname[25];
00011 int itemID;
00012 int EggID;
00013 int AcceID;
00014 int FoodID;
00015 int fullness;
00016 int hungry_delay;
00017 int r_hungry;
00018 int r_full;
00019 int intimate;
00020 int die;
00021 int capture;
00022 int speed;
00023 char s_perfor;
00024 int talk_convert_class;
00025 int attack_rate;
00026 int defence_attack_rate;
00027 int change_target_rate;
00028 unsigned char *script;
00029 };
00030 extern struct pet_db pet_db[MAX_PET_DB];
00031
00032 enum { PET_CLASS, PET_CATCH, PET_EGG, PET_EQUIP, PET_FOOD };
00033
00034 int pet_hungry_val(struct map_session_data *sd);
00035 int pet_target_check(struct map_session_data *sd, struct block_list *bl, int type);
00036 void pet_stopattack(struct pet_data *pd);
00037 int pet_changestate(struct pet_data *pd, int state, int type);
00038 int pet_walktoxy(struct pet_data *pd, int x, int y);
00039 int pet_stop_walking(struct pet_data *pd, int type);
00040 int search_petDB_index(int key, int type);
00041 void pet_remove_map(struct map_session_data *sd);
00042 int pet_data_init(struct map_session_data *sd);
00043 int pet_birth_process(struct map_session_data *sd);
00044 int pet_recv_petdata(int account_id, struct s_pet *p, int flag);
00045 void pet_select_egg(struct map_session_data *sd, short egg_index);
00046 int pet_catch_process1(struct map_session_data *sd, int target_class);
00047 void pet_catch_process2(struct map_session_data *sd, int target_id);
00048 int pet_get_egg(int account_id, int pet_id, int flag);
00049 void pet_menu(struct map_session_data *sd, unsigned char menunum);
00050 void pet_change_name(struct map_session_data *sd, char *name);
00051 int pet_equipitem(struct map_session_data *sd, int idx);
00052 void pet_unequipitem(struct map_session_data *sd);
00053 void pet_food(struct map_session_data *sd);
00054 int pet_lootitem_drop(struct pet_data *pd, struct map_session_data *sd);
00055 TIMER_FUNC(pet_delay_item_drop2);
00056 int pet_ai_sub_hard_lootsearch(struct block_list *bl, va_list ap);
00057 TIMER_FUNC(pet_skill_bonus_timer);
00058 TIMER_FUNC(pet_recovery_timer);
00059 TIMER_FUNC(pet_mag_timer);
00060 TIMER_FUNC(pet_heal_timer);
00061 TIMER_FUNC(pet_skillattack_timer);
00062
00063 int do_init_pet(void);
00064 int do_final_pet(void);
00065
00066 #endif // _PET_H_
00067