chuyiwen_gmsv/include/pet_skill.h

543 lines
11 KiB
C
Raw Normal View History

2016-12-24 08:45:52 +08:00
#ifndef __PET_SKILL_H__
#define __PET_SKILL_H__
#include "util.h"
typedef enum
{
PETSKILL_FIELD_ALL, /* <20><><EFBFBD>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƥ<EFBFBD><C6A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
PETSKILL_FIELD_BATTLE, /* <20><> <20><><EFBFBD><EFBFBD> */
PETSKILL_FIELD_MAP, /* ɧ<><C9A7>Ѩ<EFBFBD><D1A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
}PETSKILL_FIELDTYPE;
typedef enum
{
PETSKILL_TARGET_MYSELF, /* <20><><EFBFBD>м<EFBFBD><D0BC><EFBFBD> */
PETSKILL_TARGET_OTHER, /* ְ<><D6B0><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>ֳ<EFBFBD><D6B3>) */
PETSKILL_TARGET_ALLMYSIDE, /* <20><> */
PETSKILL_TARGET_ALLOTHERSIDE, /* <20><><EFBFBD><EFBFBD><ECB4A1> */
PETSKILL_TARGET_ALL, /* <20>廯 */
PETSKILL_TARGET_NONE, /* <20><><EFBFBD>ּ<EFBFBD> <20><> ئ<>У<EFBFBD> <20><>֧<EFBFBD>׻<EFBFBD><D7BB><EFBFBD><EFBFBD><EFBFBD> */
PETSKILL_TARGET_OTHERWITHOUTMYSELF,/* ְ<><D6B0><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>ֳ<EFBFBD><D6B3>ئ<EFBFBD><D8A6>) */
PETSKILL_TARGET_WITHOUTMYSELFANDPET, /* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʸ<EFBFBD><CAB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>½ */
}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, /* <20><EFBFBD><ECB6AA><EFBFBD><EFBFBD>*/
PETSKILL_FUNCNAME, /* <20><><EFBFBD><EFBFBD> */
PETSKILL_OPTION, /* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
#ifdef _CFREE_petskill
PETSKILL_FREE, /*<2A><><EFBFBD><EFBFBD>*/
PETSKILL_KINDCODE, /*<2A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>*/
#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 // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƥ<EFBFBD><C6A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define PETSKILL_ID_RENZOKU 1 // <20><> <20><>
#define PETSKILL_ID_GUARDIAN 2 // <20><><EFBFBD><EFBFBD>˦<EFBFBD><CBA6><EFBFBD><EFBFBD>
#define PETSKILL_ID_CHARGE 3 // <20><><EFBFBD>ҡ<EFBFBD><D2A1><EFBFBD> <20><>
#define PETSKILL_ID_ICHIGEKI 100 // <20><><EFBFBD><EFBFBD> ڽ
#define PETSKILL_ID_POWERBALANCE 110 // <20><><EFBFBD><EFBFBD>
//**********************************************************************
//
// <20><> -- ְ<><D6B0>ë<EFBFBD><C3AB>Իئ<D4BB><D8A6><EFBFBD><EFBFBD> <20><>
//
int PETSKILL_Guardian(
int charaindex,
int toindex,
int array,
char *data
);
//
//**********************************************************************
int PETSKILL_PowerBalance(
int charaindex,
int toindex,
int array,
char *data
);
//**********************************************************************
//
// <20><> -- <20><> <20>ֻ<EFBFBD><D6BB><EFBFBD> <20><>ľ<EFBFBD>¸<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//
int PETSKILL_Mighty(
int charaindex,
int toindex,
int array,
char *data
);
//
//**********************************************************************
//**********************************************************************
//
// <20><> -- <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>
//
int PETSKILL_StatusChange(
int charaindex,
int toindex,
int array,
char *data
);
//
//**********************************************************************
//*******************************************************
//
// <20><> -- ɧ<><C9A7> <20><>
//
int PETSKILL_NormalAttack(
int charaindex,
int toindex,
int array,
char *data
);
//
//*******************************************************
//*******************************************************
//
// <20><> -- ɧ<><C9A7> <20><>
//
int PETSKILL_NormalGuard(
int charaindex,
int toindex,
int array,
char *data
);
//
//*******************************************************
//*******************************************************
// <20><> -- <20><><EFBFBD><EFBFBD>(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ئ<EFBFBD><D8A6>)
//
int PETSKILL_None(
int charaindex,
int toindex,
int array,
char *data
);
//
//*******************************************************
//*******************************************************
// <20><> -- <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(<28><>ľ<EFBFBD><C4BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><20><><EFBFBD><EFBFBD> <20><>)
//
int PETSKILL_EarthRound(
int charaindex,
int toNo,
int array,
char *data
);
//
//*******************************************************
//*******************************************************
// <20><> -- <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƥ<EFBFBD><C6A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//
int PETSKILL_GuardBreak(
int charaindex,
int toNo,
int array,
char *data
);
///////////////////////////////////////////
#ifdef _SKILL_GUARDBREAK2//<2F>Ƴ<EFBFBD><C6B3><EFBFBD><EFBFBD><EFBFBD>2 vincent add 2002/05/20
int PETSKILL_GuardBreak2(
int charaindex,
int toNo,
int array,
char *data
);
#endif
//
//*******************************************************
//*******************************************************
// <20><> -- ľ
//
int PETSKILL_Abduct(
int charaindex,
int toNo,
int array,
char *data
);
//
//*******************************************************
//*******************************************************
// <20><> -- <20><>
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
// <20><> -- ʧ<><CAA7> ة<><D8A9><EFBFBD><EFBFBD>
//
int PETSKILL_Merge(
int charaindex,
int toNo,
int array,
char *data
);
//
//*******************************************************
//*******************************************************
// <20><> -- <20>á<EFBFBD><C3A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//
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<6E>輼:<3A><><EFBFBD><EFBFBD>
int PETSKILL_Weaken(
int charaindex,
int toindex,
int array,
char *data
);
#endif
#ifdef _SKILL_DEEPPOISON //vincent<6E>輼:<3A>
int PETSKILL_Deeppoison(
int charaindex,
int toindex,
int array,
char *data
);
#endif
#ifdef _SKILL_BARRIER //vincent<6E>輼:ħ<><C4A7>
int PETSKILL_Barrier(
int charaindex,
int toindex,
int array,
char *data
);
#endif
#ifdef _SKILL_NOCAST //vincent<6E>輼:<3A><>Ĭ
int PETSKILL_Nocast(
int charaindex,
int toindex,
int array,
char *data
);
#endif
#ifdef _SKILL_ROAR //vincent<6E>輼:<3A><><EFBFBD><EFBFBD>
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); // <20><><EFBFBD><EFBFBD><EFBCBC>ս<EFBFBD><D5BD>ģ<EFBFBD><C4A3>
#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 <20><EFBFBD><E8BCBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
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 <20><>ɷ<EFBFBD><C9B7><EFBFBD><EFBFBD>
int PETSKILL_Sars( int charaindex, int toNo, int array, char *data );
#endif
#ifdef _SONIC_ATTACK // WON ADD <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
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 //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƥ
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 //<2F><><EFBFBD>¿<EFBFBD><C2BF><EFBFBD>(<28><>Ѫ<EFBFBD><D1AA><EFBFBD>ı<EFBFBD><C4B1><EFBFBD>)
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); // <20>׶<EFBFBD><D7B6><EFBFBD> - Ⱥ<><C8BA><EFBFBD>Ĵ<EFBFBD>
int PETSKILL_DivideAttack(int charaindex, int toNo, int array, char* data); // <20>׶<EFBFBD><D7B6><EFBFBD> - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#endif
#ifdef _PETSKILL_BATTLE_MODEL
int PETSKILL_BattleModel(int charaindex, int toindex, int array, char* data); // <20><><EFBFBD><EFBFBD><EFBCBC>ս<EFBFBD><D5BD>ģ<EFBFBD><C4A3>
#endif
#endif