#ifndef __PET_SKILL_H__ #define __PET_SKILL_H__ #include "util.h" typedef enum { PETSKILL_FIELD_ALL, /* 允屯化及桦赭匹银尹月 */ PETSKILL_FIELD_BATTLE, /* 爵 及心 */ PETSKILL_FIELD_MAP, /* 骚橘穴永皿晓及心 */ }PETSKILL_FIELDTYPE; typedef enum { PETSKILL_TARGET_MYSELF, /* 愤坌及心 */ PETSKILL_TARGET_OTHER, /* 职及谛 愤坌殖戈) */ PETSKILL_TARGET_ALLMYSIDE, /* 蝈 */ PETSKILL_TARGET_ALLOTHERSIDE, /* 锹澎础蝈 */ PETSKILL_TARGET_ALL, /* 蝈化 */ PETSKILL_TARGET_NONE, /* 簿手蓟 请 卅中[ 豢支凶户及凛 */ PETSKILL_TARGET_OTHERWITHOUTMYSELF,/* 职及谛 愤坌殖引卅中) */ PETSKILL_TARGET_WITHOUTMYSELFANDPET, /* 愤坌午矢永玄动陆 */ }PETSKILL_TARGETTYPE; typedef enum { PETSKILL_ID, PETSKILL_FIELD, PETSKILL_TARGET, #ifdef _PETSKILL2_TXT PETSKILL_USETYPE, #endif PETSKILL_COST, PETSKILL_ILLEGAL, PETSKILL_DATAINTNUM, }PETSKILL_DATAINT; typedef enum { PETSKILL_NAME, /* */ PETSKILL_COMMENT, /* 戊丢件玄*/ PETSKILL_FUNCNAME, /* 楮醒 */ PETSKILL_OPTION, /* 左皿扑亦件 */ #ifdef _CFREE_petskill PETSKILL_FREE, /*条件*/ PETSKILL_KINDCODE, /*种类码*/ #endif PETSKILL_DATACHARNUM, }PETSKILL_DATACHAR; typedef struct tagPetskill { int data[PETSKILL_DATAINTNUM]; STRING64 string[PETSKILL_DATACHARNUM]; }Petskill; typedef int (*PETSKILL_CALLFUNC)( int, int, int, char * ); INLINE BOOL PETSKILL_CHECKINDEX( int index ); INLINE int PETSKILL_getInt( int index, PETSKILL_DATAINT element); INLINE int PETSKILL_setInt( int index, PETSKILL_DATAINT element, int data); INLINE char* PETSKILL_getChar( int index, PETSKILL_DATACHAR element); INLINE BOOL PETSKILL_setChar( int index ,PETSKILL_DATACHAR element, char* new ); int PETSKILL_getPetskillNum( void); #define PETSKILL_GetArray( charaindex, havepetskill) _PETSKILL_GetArray( __FILE__, __LINE__, charaindex, havepetskill) int _PETSKILL_GetArray( char *file, int line, int charaindex, int havepetskill ); BOOL PETSKILL_initPetskill( char *filename); BOOL PETSKILL_reinitPetskill( void ); int PETSKILL_getPetskillArray( int petskillid); PETSKILL_CALLFUNC PETSKILL_getPetskillFuncPointer(char* name); int PETSKILL_Use( int charaindex, int toindex, int array, char *data //BOOL isCLI // Robin 2001/02/26 if owner is player ); int PETSKILL_ContinuationAttack( int charaindex, int toindex, int array, char *data ); int PETSKILL_ChargeAttack( int charaindex, int toindex, int array, char *data ); #define PETSKILL_ID_GBREAK 0 // 布□玉皮伊奶弁 #define PETSKILL_ID_RENZOKU 1 // 粮 猾 #define PETSKILL_ID_GUARDIAN 2 // 镝舅甩民跤 #define PETSKILL_ID_CHARGE 3 // 民乓□斥 猾 #define PETSKILL_ID_ICHIGEKI 100 // 域猾 诮 #define PETSKILL_ID_POWERBALANCE 110 // 及讽 //********************************************************************** // // 檗 -- 职谛毛潮曰卅互日 猾 // int PETSKILL_Guardian( int charaindex, int toindex, int array, char *data ); // //********************************************************************** int PETSKILL_PowerBalance( int charaindex, int toindex, int array, char *data ); //********************************************************************** // // 檗 -- 雄 分互荚 今木月割 互嫖中 // int PETSKILL_Mighty( int charaindex, int toindex, int array, char *data ); // //********************************************************************** //********************************************************************** // // 檗 -- 旦 □正旦唱橘 猾 // int PETSKILL_StatusChange( int charaindex, int toindex, int array, char *data ); // //********************************************************************** //******************************************************* // // 檗 -- 骚橘 猾 // int PETSKILL_NormalAttack( int charaindex, int toindex, int array, char *data ); // //******************************************************* //******************************************************* // // 檗 -- 骚橘 豢 // int PETSKILL_NormalGuard( int charaindex, int toindex, int array, char *data ); // //******************************************************* //******************************************************* // 檗 -- 谨窗(窒手仄卅中) // int PETSKILL_None( int charaindex, int toindex, int array, char *data ); // //******************************************************* //******************************************************* // 檗 -- 哗萄域葱(怅木化ㄠ正□件 卞锹澎及 井日 猾) // int PETSKILL_EarthRound( int charaindex, int toNo, int array, char *data ); // //******************************************************* //******************************************************* // 檗 -- 布□玉皮伊奶弁 // int PETSKILL_GuardBreak( int charaindex, int toNo, int array, char *data ); /////////////////////////////////////////// #ifdef _SKILL_GUARDBREAK2//破除防御2 vincent add 2002/05/20 int PETSKILL_GuardBreak2( int charaindex, int toNo, int array, char *data ); #endif // //******************************************************* //******************************************************* // 檗 -- 木 // int PETSKILL_Abduct( int charaindex, int toNo, int array, char *data ); // //******************************************************* //******************************************************* // 檗 -- 戈 int PETSKILL_Steal( int charaindex, int toNo, int array, char *data ); //******************************************************* #ifdef _BATTLESTEAL_FIX int PETSKILL_StealMoney( int charaindex, int toNo, int array, char *data ); #endif #ifdef _ITEM_INSLAY int PETSKILL_Inslay( int index, int toNo, int array, char *data ); #endif #ifdef _PETSKILL_FIXITEM int PETSKILL_Fixitem( int index, int toNo, int array, char *data ); #endif // 檗 -- 失奶 丞宁岳 // int PETSKILL_Merge( int charaindex, int toNo, int array, char *data ); // //******************************************************* //******************************************************* // 檗 -- 用□布□玉 // int PETSKILL_NoGuard( int charaindex, int toNo, int array, char *data ); // //******************************************************* // Terry add 2001/11/05 #ifdef _ATTACK_MAGIC int PETSKILL_AttackMagic( int charaindex, int toindex, int array, char *data ); #endif #ifdef _VARY_WOLF int PETSKILL_Vary( int cindex, int tindex, int id, char* data); #endif #ifdef _SKILL_WILDVIOLENT_ATT //vincent add 2002/05/16 int PETSKILL_WildViolentAttack( int charaindex, int toindex, int array, char *data ); #endif #ifdef _SKILL_SPEEDY_ATT //vincent add 2002/05/16 int PETSKILL_SpeedyAttack( int charaindex, int toindex, int array, char *data ); #endif #ifdef _SKILL_SACRIFICE //vincent add 2002/05/30 int PETSKILL_Sacrifice( int charaindex, int toindex, int array, char *data ); #endif #ifdef _SKILL_REFRESH //vincent add 2002/08/08 int PETSKILL_Refresh( int charaindex, int toindex, int array, char *data ); #endif #ifdef _SKILL_WEAKEN //vincent宠技:虚弱 int PETSKILL_Weaken( int charaindex, int toindex, int array, char *data ); #endif #ifdef _SKILL_DEEPPOISON //vincent宠技:剧毒 int PETSKILL_Deeppoison( int charaindex, int toindex, int array, char *data ); #endif #ifdef _SKILL_BARRIER //vincent宠技:魔障 int PETSKILL_Barrier( int charaindex, int toindex, int array, char *data ); #endif #ifdef _SKILL_NOCAST //vincent宠技:沉默 int PETSKILL_Nocast( int charaindex, int toindex, int array, char *data ); #endif #ifdef _SKILL_ROAR //vincent宠技:大吼 int PETSKILL_Roar( int charaindex, int toindex, int array, char *data ); #endif #ifdef _PSKILL_FALLGROUND int PETSKILL_FallGround( int charaindex, int toNo, int array, char *data ); #endif #ifdef _PRO_BATTLEENEMYSKILL int ENEMYSKILL_ReLife( int enemyindex, int toNo, int array, char *data ); int ENEMYSKILL_ReHP( int enemyindex, int toNo, int array, char *data ); int ENEMYSKILL_EnemyHelp( int enemyindex, int toNo, int array, char *data ); #endif #ifdef _SKILL_DAMAGETOHP int PETSKILL_DamageToHp( int charaindex, int toNo, int array, char *data ); #endif #ifdef _PETSKILL_TIMID int PETSKILL_BattleTimid( int charaindex, int toNo, int array, char *data ); #endif #ifdef _PETSKILL_2TIMID int PETSKILL_2BattleTimid( int charaindex, int toNo, int array, char *data ); #endif #ifdef _PETSKILL_ANTINTER int PETSKILL_AntInter(int charaindex, int toindex, int array, char* data); // 宠物技能战斗模组 #endif #ifdef _PETSKILL_PROPERTY int PETSKILL_BattleProperty( int charaindex, int toNo, int array, char *data ); #endif #ifdef _PETSKILL_TEAR int PETSKILL_BattleTearDamage( int charaindex, int toNo, int array, char *data ); #endif #ifdef _BATTLE_LIGHTTAKE int PETSKILL_Lighttakeed( int charaindex, int toNo, int array, char *data ); #endif #ifdef _BATTLE_ATTCRAZED int PETSKILL_AttackCrazed( int charaindex, int toNo, int array, char *data ); #endif #ifdef _SHOOTCHESTNUT // Syu ADD 宠技:丢栗子 int PETSKILL_AttackShoot( int charaindex, int toNo, int array, char *data ); #endif #ifdef _Skill_MPDAMAGE int PETSKILL_MpDamage( int charaindex, int toNo, int array, char *data ); #endif #ifdef _PETSKILL_SETDUCK int PETSKILL_SetDuck( int charaindex, int toNo, int array, char *data ); #endif #ifdef _MAGICPET_SKILL int PETSKILL_SetMagicPet( int charaindex, int toNo, int array, char *data ); #endif #ifdef _SKILL_TOOTH int PETSKILL_ToothCrushe( int charaindex, int toNo, int array, char *data ); #endif #ifdef _PSKILL_MODIFY int PETSKILL_Modifyattack( int charaindex, int toNo, int array, char *data ); #endif #ifdef _PSKILL_MDFYATTACK int PETSKILL_Mdfyattack( int charaindex, int toNo, int array, char *data ); #endif #ifdef _MAGIC_SUPERWALL int PETSKILL_MagicStatusChange( int charaindex, int toindex, int array, char *data ); #endif #ifdef _PET_SKILL_SARS // WON ADD 毒煞蔓延 int PETSKILL_Sars( int charaindex, int toNo, int array, char *data ); #endif #ifdef _SONIC_ATTACK // WON ADD 音波攻击 int PETSKILL_Sonic( int charaindex, int toNo, int array, char *data ); #endif #ifdef _PETSKILL_REGRET int PETSKILL_Regret( int charaindex, int toNo, int array, char *data ); #endif #ifdef _PETSKILL_GYRATE int PETSKILL_Gyrate( int charaindex, int toNo, int array, char *data ); #endif #ifdef _PETSKILL_ACUPUNCTURE //针刺外皮 int PETSKILL_Acupuncture( int charaindex, int toNo, int array, char *data ); #endif #ifdef _PETSKILL_RETRACE int PETSKILL_Retrace( int charaindex, int toNo, int array, char *data ); #endif #ifdef _PETSKILL_HECTOR int PETSKILL_Hector( int charaindex, int toNo, int array, char *data ); #endif int PETSKILL_ZiYun1( int charaindex, int toNo, int array, char *data ); #ifdef _PETSKILL_FIREKILL int PETSKILL_Firekill( int charaindex, int toNo, int array, char *data ); #endif #ifdef _PETSKILL_DAMAGETOHP //暗月狂狼(嗜血技的变体) int PETSKILL_DamageToHp2( int charaindex, int toNo, int array, char *data ); #endif #ifdef _PETSKILL_BECOMEFOX int PETSKILL_BecomeFox( int charaindex, int toNo, int array, char* data); #endif #ifdef _PETSKILL_BECOMEPIG int PETSKILL_BecomePig( int charaindex, int toNo, int array, char* data); #endif #ifdef _PETSKILL_SHOWMERCY int PETSKILL_ShowMercy(int charaindex, int toNo, int array, char* data); #endif #ifdef _PETSKILL_COMBINED int PETSKILL_Combined(int charaindex, int toNo, int array, char* data); #endif #ifdef _PETSKILL_LER int PETSKILL_BatFly(int charaindex, int toNo, int array, char* data); // 雷尔技 - 群蝠四窜 int PETSKILL_DivideAttack(int charaindex, int toNo, int array, char* data); // 雷尔技 - 分身地裂 #endif #ifdef _PETSKILL_BATTLE_MODEL int PETSKILL_BattleModel(int charaindex, int toindex, int array, char* data); // 宠物技能战斗模组 #endif #endif