亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? pet_skill.c

?? 石器時代8.0服務端完整源代碼。可以直接編譯
?? C
?? 第 1 頁 / 共 5 頁
字號:
#include "version.h"#include <stdio.h>#include <string.h>#include "common.h"#include "buf.h"#include "configfile.h"#include "char_base.h"#include "char_data.h"#include "pet_skill.h"#include "battle.h"#include "battle_event.h"#include "battle_magic.h"#include "item.h"#include "item_gen.h"#include "char_talk.h"/*======================================================================== * 矢永玄及  卞勾中化及末□旦 寵物的各式技能 *========================================================================*/static Petskill	*PETSKILL_petskill;static int		PETSKILL_petskillnum;typedef struct tagPetskill_PetskillFunctionTable{	char			*functionname;		/*	澀爛白央奶伙卞踏仁楮醒及  蟆 */	PETSKILL_CALLFUNC	func;				/*    端卞裟太請今木月楮醒 */	int				hash;				/*  hash */	int				status;				/*  仇及戊穴件玉毛矢永玄互隙爛仄兇執 */}PETSKILL_PetskillFunctionTable;/*   毛  支仄兇日仇仇卞瓚  允月儀 */static PETSKILL_PetskillFunctionTable PETSKILL_functbl[] = {	{ "PETSKILL_None",				PETSKILL_None,		0 },	{ "PETSKILL_NormalAttack",		PETSKILL_NormalAttack,	0 },	{ "PETSKILL_NormalGuard",		PETSKILL_NormalGuard,	0 },	{ "PETSKILL_ContinuationAttack",PETSKILL_ContinuationAttack,	0 },	{ "PETSKILL_ChargeAttack",		PETSKILL_ChargeAttack,			0 },	{ "PETSKILL_Guardian",			PETSKILL_Guardian,		0 },	{ "PETSKILL_PowerBalance",		PETSKILL_PowerBalance,		0 },	{ "PETSKILL_Mighty",			PETSKILL_Mighty,		0 },	{ "PETSKILL_StatusChange",		PETSKILL_StatusChange,	0 },	{ "PETSKILL_EarthRound",		PETSKILL_EarthRound,	0 },	{ "PETSKILL_GuardBreak",		PETSKILL_GuardBreak,	0 },#ifdef _SKILL_GUARDBREAK2//破除防御2 vincent add 2002/05/20	{ "PETSKILL_GuardBreak2",		PETSKILL_GuardBreak2,	0 },#endif	{ "PETSKILL_Abduct",			PETSKILL_Abduct,		0 },	{ "PETSKILL_Steal",				PETSKILL_Steal,			0 },	{ "PETSKILL_Merge",				PETSKILL_Merge,			0 },#ifdef _ALCHEMIST	{ "PETSKILL_Alchemist",			PETSKILL_Merge,			0 },#endif	{ "PETSKILL_NoGuard",			PETSKILL_NoGuard,		0 },#ifdef _ITEM_INSLAY	{ "PETSKILL_Inslay",			PETSKILL_Inslay,		0 },#endif#ifdef _PETSKILL_FIXITEM	{ "PETSKILL_Fixitem",			PETSKILL_Fixitem,		0 },#endif#ifdef _MAGIC_SUPERWALL	{ "PETSKILL_MagicStatusChange" , PETSKILL_MagicStatusChange, 0},#endif// Terry add 2001/11/05#ifdef __ATTACK_MAGIC	{ "PETSKILL_AttackMagic",	PETSKILL_AttackMagic,0},#endif#ifdef _PSKILL_FALLGROUND	{ "PETSKILL_FallGround",	PETSKILL_FallGround, 0},#endif#ifdef _PETSKILL_EXPLODE	{ "PETSKILL_Explode",	PETSKILL_Explode, 0},#endif#ifdef _BATTLESTEAL_FIX	{ "PETSKILL_StealMoney",	PETSKILL_StealMoney,	0 },#endif#ifdef _PRO_BATTLEENEMYSKILL	{ "ENEMYSKILL_ReLife",	ENEMYSKILL_ReLife, 0},	{ "ENEMYSKILL_ReHP",	ENEMYSKILL_ReHP, 0},	{ "ENEMYSKILL_EnemyHelp",	ENEMYSKILL_EnemyHelp, 0},#endif#ifdef _SKILL_DAMAGETOHP	{ "PETSKILL_DamageToHp",	PETSKILL_DamageToHp, 0},#endif#ifdef _PETSKILL_TIMID	{ "PETSKILL_BattleTimid",	PETSKILL_BattleTimid, 0},#endif#ifdef _PETSKILL_2TIMID	{ "PETSKILL_2BattleTimid",	PETSKILL_2BattleTimid, 0},#endif#ifdef _PETSKILL_ANTINTER	{ "PETSKILL_AntInter",	PETSKILL_AntInter, 0},#endif#ifdef _PETSKILL_PROPERTY	{ "PETSKILL_BattleProperty",	PETSKILL_BattleProperty, 0},#endif#ifdef _PETSKILL_TEAR	{ "PETSKILL_BattleTearDamage",	PETSKILL_BattleTearDamage, 0},#endif#ifdef _BATTLE_LIGHTTAKE	{ "PETSKILL_Lighttakeed",	PETSKILL_Lighttakeed, 0},#endif#ifdef _BATTLE_ATTCRAZED	{ "PETSKILL_AttackCrazed",	PETSKILL_AttackCrazed, 0},#endif#ifdef _SHOOTCHESTNUT	// Syu ADD 寵技:丟栗子	{ "PETSKILL_AttackShoot",	PETSKILL_AttackShoot, 0},#endif#ifdef _Skill_MPDAMAGE	{ "PETSKILL_MpDamage",	PETSKILL_MpDamage, 0},#endif#ifdef _SKILL_TOOTH	{ "PETSKILL_ToothCrushe",	PETSKILL_ToothCrushe, 0},#endif#ifdef _PETSKILL_SETDUCK	{ "PETSKILL_SetDuck",	PETSKILL_SetDuck, 0},#endif#ifdef _MAGICPET_SKILL	{ "PETSKILL_SetMagicPet",	PETSKILL_SetMagicPet, 0},#endif#ifdef _PSKILL_MODIFY	{ "PETSKILL_Modifyattack",	PETSKILL_Modifyattack, 0},#endif#ifdef _PSKILL_MDFYATTACK	{ "PETSKILL_Mdfyattack",	PETSKILL_Mdfyattack, 0},#endif#ifdef _VARY_WOLF	{ "PETSKILL_Vary", PETSKILL_Vary, 0},#endif#ifdef _SKILL_WILDVIOLENT_ATT    { "PETSKILL_WildViolentAttack",	PETSKILL_WildViolentAttack, 0},//vincent add 2002/05/16#endif#ifdef _SKILL_SPEEDY_ATT    { "PETSKILL_SpeedyAttack",	PETSKILL_SpeedyAttack, 0},//vincent add 2002/05/20#endif#ifdef _SKILL_SACRIFICE      { "PETSKILL_Sacrifice",	PETSKILL_Sacrifice, 0},//vincent add 2002/05/30#endif#ifdef _SKILL_REFRESH    { "PETSKILL_Refresh",	PETSKILL_Refresh, 0},//vincent add 2002/08/08#endif#ifdef _SKILL_WEAKEN  //vincent寵技:虛弱    { "PETSKILL_Weaken",	PETSKILL_Weaken, 0},//vincent add 2002/07/11#endif#ifdef _SKILL_DEEPPOISON  //vincent寵技:劇毒     { "PETSKILL_Deeppoison",	PETSKILL_Deeppoison, 0},//vincent add 2002/07/16#endif#ifdef _SKILL_BARRIER  //vincent寵技:魔障     { "PETSKILL_Barrier",	PETSKILL_Barrier, 0},//vincent add 2002/07/16#endif#ifdef _SKILL_NOCAST  //vincent寵技:沉默     { "PETSKILL_Nocast",	PETSKILL_Nocast, 0},//vincent add 2002/07/16#endif#ifdef _SKILL_ROAR //vincent寵技:大吼    { "PETSKILL_Roar",	PETSKILL_Roar, 0},//vincent add 2002/07/11#endif	#ifdef _PET_SKILL_SARS				// WON ADD 毒煞蔓延	{ "PETSKILL_Sars",	PETSKILL_Sars, 0},#endif#ifdef _SONIC_ATTACK				// WON ADD 音波攻擊	{ "PETSKILL_Sonic",	PETSKILL_Sonic, 0},#endif#ifdef _PETSKILL_REGRET	{ "PETSKILL_Regret",	PETSKILL_Regret, 0},#endif#ifdef _PETSKILL_GYRATE    { "PETSKILL_Gyrate", PETSKILL_Gyrate, 0},#endif 	#ifdef _PETSKILL_ACUPUNCTURE //針刺外皮    { "PETSKILL_Acupuncture", PETSKILL_Acupuncture, 0},#endif#ifdef _PETSKILL_RETRACE	{ "PETSKILL_Retrace", PETSKILL_Retrace, 0},#endif#ifdef _PETSKILL_HECTOR    { "PETSKILL_Hector", PETSKILL_Hector, 0},#endif#ifdef _PETSKILL_FIREKILL    { "PETSKILL_Firekill", PETSKILL_Firekill, 0},#endif#ifdef _PETSKILL_DAMAGETOHP	{ "PETSKILL_DamageToHp2",	PETSKILL_DamageToHp2, 0},#endif#ifdef _PETSKILL_BECOMEFOX	{ "PETSKILL_BecomeFox",	PETSKILL_BecomeFox, 0},#endif#ifdef _PETSKILL_BECOMEPIG    { "PETSKILL_BecomePig",	PETSKILL_BecomePig, 0},#endif#ifdef _PETSKILL_SHOWMERCY    { "PETSKILL_ShowMercy",	PETSKILL_ShowMercy, 0},#endif#ifdef _PETSKILL_COMBINED    { "PETSKILL_Combined",	PETSKILL_Combined, 0},#endif#ifdef _PETSKILL_LER		{ "PETSKILL_BatFly",	PETSKILL_BatFly, 0},		{ "PETSKILL_DivideAttack",	PETSKILL_DivideAttack, 0},#endif#ifdef _PETSKILL_BATTLE_MODEL		{ "PETSKILL_BattleModel",	PETSKILL_BattleModel, 0},#endif};/*----------------------------------------------------------------------*//* 湘  民尼永弁]失弁本旦楮溢 *//*----------------------------------------------------------------------*/INLINE BOOL PETSKILL_CHECKINDEX( int index ){    if( PETSKILL_petskillnum<=index || index<0 )return FALSE;    return TRUE;}/*----------------------------------------------------------------------*/static INLINE BOOL PETSKILL_CHECKINTDATAINDEX( int index){	if( PETSKILL_DATAINTNUM <= index || index < 0 ) return FALSE;	return TRUE;}/*----------------------------------------------------------------------*/static INLINE BOOL PETSKILL_CHECKCHARDATAINDEX( int index){	if( PETSKILL_DATACHARNUM <= index || index < 0 ) return FALSE;	return TRUE;}/*----------------------------------------------------------------------*/INLINE int PETSKILL_getInt( int index, PETSKILL_DATAINT element){	return PETSKILL_petskill[index].data[element];}/*----------------------------------------------------------------------*/INLINE int PETSKILL_setInt( int index, PETSKILL_DATAINT element, int data){	int buf;	buf = PETSKILL_petskill[index].data[element];	PETSKILL_petskill[index].data[element]=data;	return buf;}/*----------------------------------------------------------------------*/INLINE char* PETSKILL_getChar( int index, PETSKILL_DATACHAR element){	if( !PETSKILL_CHECKINDEX( index)) return NULL;	if( !PETSKILL_CHECKCHARDATAINDEX( element)) return NULL;	return PETSKILL_petskill[index].string[element].string;}/*----------------------------------------------------------------------*/INLINE BOOL PETSKILL_setChar( int index ,PETSKILL_DATACHAR element, char* new ){    if(!PETSKILL_CHECKINDEX(index))return FALSE;    if(!PETSKILL_CHECKCHARDATAINDEX(element))return FALSE;    strcpysafe( PETSKILL_petskill[index].string[element].string,                sizeof(PETSKILL_petskill[index].string[element].string),                new );    return TRUE;}/*---------------------------------------------------------------------- * 矢永玄  及醒毛襞月[ *---------------------------------------------------------------------*/int PETSKILL_getPetskillNum( void){	return PETSKILL_petskillnum;}#ifdef _CFREE_petskill#define PETSKILL_STARTINTNUM	7 //PETSKILL_DATACHARNUM+1#else #define	PETSKILL_STARTINTNUM		5#endif/*---------------------------------------------------------------------- * 矢永玄  及澀爛白央奶伙毛  戈//初始寵技 *---------------------------------------------------------------------*/BOOL PETSKILL_initPetskill( char *filename){    FILE*   f;    char    line[256];    int     linenum=0;    int     petskill_readlen=0;	int		i,j;	int		max_skillid =0;    f = fopen(filename,"r");    if( f == NULL ){        print( "file open error\n");        return FALSE;    }    PETSKILL_petskillnum=0;    /*  引內  躲卅墊互窒墊丐月井升丹井譬屯月    *///讀曲寵技總數    while( fgets( line, sizeof( line ), f ) ){		char    token[256];        linenum ++;        if( line[0] == '#' )continue;        /* comment */        if( line[0] == '\n' )continue;       /* none    */        chomp( line );        PETSKILL_petskillnum++;#ifdef _PETSKILL_OPTIMUM // Robin 取出最大寵技ID		if( getStringFromIndexWithDelim( line, ",", PETSKILL_STARTINTNUM, token, sizeof(token)) == FALSE )			continue;		//print("\n 寵技ID:%d %s ", atoi( token), line);		max_skillid = max( atoi( token), max_skillid);#endif    }    if( fseek( f, 0, SEEK_SET ) == -1 ){        fprint( "尋找失敗\n" );        fclose(f);        return FALSE;    }#ifdef _PETSKILL_OPTIMUM // 寵技Table數為 最大技能ID +1	PETSKILL_petskillnum = max_skillid +1;//	print("\n 最大寵技ID = %d\n", max_skillid);#endif    PETSKILL_petskill = allocateMemory( sizeof(struct tagPetskill)                                   * PETSKILL_petskillnum );    if( PETSKILL_petskill == NULL ){        fprint( "無法分配內存 %d\n" ,                sizeof(struct tagPetskill)*PETSKILL_petskillnum);        fclose( f );        return FALSE;    }	/* 賡渝祭 */    for( i = 0; i < PETSKILL_petskillnum; i ++ ) {    	for( j = 0; j < PETSKILL_DATAINTNUM; j ++ ) {    		PETSKILL_setInt( i,j,-1);    	}    	for( j = 0; j < PETSKILL_DATACHARNUM; j ++ ) {    		PETSKILL_setChar( i,j,"");    	}    }    /*  引兇  心  允    */    linenum = 0;    while( fgets( line, sizeof( line ), f ) ){        linenum ++;        if( line[0] == '#' )continue;        /* comment */        if( line[0] == '\n' )continue;       /* none    */                                                chomp( line );        /*  墊毛幫溥允月    */        /*  引內 tab 毛 " " 卞  五晶尹月    */        replaceString( line, '\t' , ' ' );        /* 燮  及旦矢□旦毛潸月[*/{        char    buf[256];        for( i = 0; i < strlen( line); i ++) {            if( line[i] != ' ' ) {                break;            }            strcpy( buf, &line[i]);        }        if( i != 0 ) {            strcpy( line, buf);        }}{        char    token[256];        int     ret;#ifdef _PETSKILL_OPTIMUM // 讀取本行寵技的ID, 直接以寵技ID當Table index		ret = getStringFromIndexWithDelim( line, ",", PETSKILL_STARTINTNUM, token, sizeof(token));		if( ret==FALSE ){			fprint("文件語法錯誤:%s 第%d行\n",filename,linenum);			break;		}		petskill_readlen = atoi( token);#endif		for( i = 0; i < PETSKILL_DATACHARNUM; i ++ ) {	        /*    儂  迕玄□弁件毛葦月    */	        ret = getStringFromIndexWithDelim( line,",", i + 1, token,sizeof(token));	        if( ret==FALSE ){	            fprint("文件語法錯誤:%s 第%d行\n",filename,linenum);	            break;	        }	        PETSKILL_setChar( petskill_readlen, i, token);		}        /* 4勾  動嫦反醒襖犯□正 */        for( i = PETSKILL_STARTINTNUM; i < PETSKILL_DATAINTNUM+PETSKILL_STARTINTNUM; i ++ ) {            ret = getStringFromIndexWithDelim( line,",",i,token,                                               sizeof(token));            if( ret==FALSE ){                fprint("文件語法錯誤:%s 第%d行\n",filename,linenum);                break;            }            if( strlen( token) != 0 ) {	            PETSKILL_setInt( petskill_readlen, i - PETSKILL_STARTINTNUM, atoi( token));			}        }        if( i < PETSKILL_DATAINTNUM+PETSKILL_STARTINTNUM ) continue;        #ifdef _CFREE_petskill		if(line[0]=='E')	PETSKILL_setInt( petskill_readlen, PETSKILL_ILLEGAL, 1);#else		// Robin 2001/02/26 +1 set_illegal_Skill		if(line[0]=='T')	PETSKILL_setInt( petskill_readlen, PETSKILL_ILLEGAL, 1);#endif        //print("Id:%d illegal:%d\n",PETSKILL_getInt(petskill_readlen,PETSKILL_ID),PETSKILL_getInt(petskill_readlen,PETSKILL_ILLEGAL));				petskill_readlen ++;}		

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91麻豆精品国产91久久久更新时间| 91原创在线视频| 图片区小说区区亚洲影院| 亚洲精品乱码久久久久| 亚洲人成伊人成综合网小说| 亚洲图片你懂的| 亚洲午夜av在线| 丝袜国产日韩另类美女| 蜜臀精品一区二区三区在线观看 | 91精品国产综合久久婷婷香蕉| 欧美色男人天堂| 日韩视频在线你懂得| 精品粉嫩超白一线天av| 欧美国产亚洲另类动漫| 亚洲精品中文在线影院| 婷婷成人激情在线网| 毛片基地黄久久久久久天堂| 国产美女精品一区二区三区| 国产成人在线视频免费播放| 色综合久久久久久久| 51精品秘密在线观看| 国产片一区二区三区| 亚洲人成人一区二区在线观看 | 欧美日韩精品三区| 欧美一区二区成人6969| 久久先锋影音av鲁色资源网| 亚洲视频一二三区| 日本不卡免费在线视频| 国产91精品一区二区麻豆网站| 色综合久久久久网| 精品蜜桃在线看| 亚洲免费电影在线| 国产一区在线精品| 欧美在线一区二区| 久久精品视频网| 香蕉久久一区二区不卡无毒影院| 国产酒店精品激情| 69av一区二区三区| 亚洲欧美视频一区| 国产成人精品亚洲午夜麻豆| 欧美日韩视频一区二区| 欧美激情在线看| 精品一区中文字幕| 在线影院国内精品| 国产精品乱子久久久久| 日本在线不卡视频| 色综合久久综合| 欧美激情一区三区| 久久丁香综合五月国产三级网站| 色噜噜狠狠一区二区三区果冻| 337p日本欧洲亚洲大胆精品| 亚洲va欧美va天堂v国产综合| 成人黄色一级视频| 久久午夜羞羞影院免费观看| 免费欧美在线视频| 67194成人在线观看| 亚洲va在线va天堂| 欧美三级中文字幕| 一个色在线综合| 色网站国产精品| 亚洲视频一二区| 91网站在线播放| 国产精品久久二区二区| 成人高清免费观看| 国产偷v国产偷v亚洲高清| 久久黄色级2电影| 日韩欧美国产精品| 狠狠色丁香久久婷婷综合_中| 在线播放91灌醉迷j高跟美女| 亚洲福利视频一区二区| 欧美熟乱第一页| 亚洲成人免费在线| 51午夜精品国产| 日本伊人色综合网| 日韩片之四级片| 久久电影网电视剧免费观看| 精品国产乱码久久久久久久久| 久久国产剧场电影| 久久亚洲精品国产精品紫薇| 国产精品88888| 自拍偷拍亚洲欧美日韩| 在线观看av不卡| 日韩精品亚洲专区| 日韩欧美123| 国产一区二区三区高清播放| 国产亚洲精久久久久久| av电影一区二区| 亚洲一区二区三区美女| 欧美一区二区在线播放| 国内不卡的二区三区中文字幕| 国产欧美一区二区在线| 91亚洲精品久久久蜜桃网站| 一区二区视频在线看| 337p亚洲精品色噜噜噜| 国产综合色产在线精品| 国产精品福利av| 欧美视频在线观看一区二区| 日韩成人午夜精品| 久久男人中文字幕资源站| av一区二区不卡| 日韩国产精品久久久| 国产欧美日韩不卡免费| 精品1区2区3区| 国产成a人亚洲精品| 亚洲国产精品一区二区www| 欧美精品一区二区蜜臀亚洲| 91麻豆国产香蕉久久精品| 日韩国产一二三区| 国产精品成人免费在线| 欧美一区二区视频免费观看| 岛国av在线一区| 丝袜国产日韩另类美女| 1000精品久久久久久久久| 制服视频三区第一页精品| 成人app网站| 麻豆国产91在线播放| 亚洲欧美福利一区二区| 欧美精品一区二区三区久久久| 91麻豆免费在线观看| 国产一区二区看久久| 亚洲国产毛片aaaaa无费看 | 蜜臀99久久精品久久久久久软件| 国产精品女主播av| 日韩精品影音先锋| 色婷婷综合久久久久中文| 国产成人午夜精品5599| 日韩av中文字幕一区二区| 亚洲久草在线视频| 国产三级欧美三级日产三级99| 欧美日韩激情一区二区| 91蜜桃婷婷狠狠久久综合9色| 国产麻豆午夜三级精品| 蜜臀av一区二区| 丝袜脚交一区二区| 亚洲成av人片在www色猫咪| 国产精品不卡视频| 久久精品一区二区| 精品日韩一区二区| 91精品国产综合久久婷婷香蕉| 日本高清不卡视频| 91免费精品国自产拍在线不卡| 岛国精品一区二区| 国产成人免费在线| 国产精品综合av一区二区国产馆| 琪琪久久久久日韩精品| 日韩精品午夜视频| 男女男精品视频网| 久久精品国产第一区二区三区| 青青草成人在线观看| 日韩av在线发布| 乱中年女人伦av一区二区| 欧美aaaaa成人免费观看视频| 天天射综合影视| 蜜桃一区二区三区在线观看| 美女www一区二区| 韩国毛片一区二区三区| 国产白丝网站精品污在线入口| 国产精品一区免费视频| 成人动漫在线一区| 91免费在线播放| 欧美亚洲禁片免费| 91精品国产综合久久久蜜臀粉嫩| 欧美一区二区三区视频| 久久综合99re88久久爱| 国产欧美一二三区| 亚洲精品五月天| 午夜精品一区二区三区电影天堂 | 久久综合色婷婷| 国产亚洲美州欧州综合国| 国产精品久久久久一区 | 欧美一三区三区四区免费在线看| 91精品国产美女浴室洗澡无遮挡| 日韩欧美一二三区| 久久久精品综合| 国产精品18久久久久久久久| 午夜精品久久久久久| 首页国产丝袜综合| 久久精品免费观看| 成人激情免费网站| 欧美日本在线一区| 精品成人一区二区三区四区| **性色生活片久久毛片| 婷婷综合另类小说色区| 国产美女娇喘av呻吟久久| 色一情一乱一乱一91av| 日韩片之四级片| 中文字幕在线一区| 日韩不卡一区二区三区| 99在线热播精品免费| 日韩一级免费一区| 日韩美女视频一区| 麻豆久久久久久| 一道本成人在线| 欧美精品一区二区三区蜜桃| 亚洲午夜电影在线观看| 国产精品一卡二卡| 欧美一区二区三区思思人| 亚洲欧美在线观看| 国内外成人在线| 8x8x8国产精品|