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

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

?? pet_skill.c

?? 最新主流石器時代源代碼,包含諸多目前流行功能代碼.
?? C
?? 第 1 頁 / 共 5 頁
字號:
    }    fclose(f);    PETSKILL_petskillnum = petskill_readlen;    print( "有效寵物技能數是 %d...", PETSKILL_petskillnum );	/* hash 及瓚   */	for( i = 0; i < arraysizeof( PETSKILL_functbl); i ++ ) {		PETSKILL_functbl[i].hash = hashpjw( PETSKILL_functbl[i].functionname);	}/*#ifdef _CFREE_petskill    for( i=0; i <PETSKILL_petskillnum ; i++ ){		for( j = PETSKILL_NAME; j < PETSKILL_DATACHARNUM; j ++ ){	      print( "%s ", PETSKILL_getChar( i, j));		}		print( "\n");		for( j = PETSKILL_ID; j < PETSKILL_DATAINTNUM; j ++ ){			print( "%d ", PETSKILL_getInt( i, j));		}		print( "\n-------------------------------------------------\n");	}#endif*/    return TRUE;}/*------------------------------------------------------------------------ * Petskill及澀爛白央奶伙  心  仄 *-----------------------------------------------------------------------*/BOOL PETSKILL_reinitPetskill( void ){	freeMemory( PETSKILL_petskill);	return( PETSKILL_initPetskill( getPetskillfile()));}/*------------------------------------------------------------------------ * PETSKILL_ID井日驕儂毛襞月楮醒 * 忒曰襖 * 岳  : 驕儂 * 撩  : -1 *-----------------------------------------------------------------------*/int PETSKILL_getPetskillArray( int petskillid){#ifdef _PETSKILL_OPTIMUM // 查詢寵技ID改為陣列式	if( petskillid >= 0 && petskillid < PETSKILL_petskillnum )		return PETSKILL_petskill[petskillid].data[PETSKILL_ID];#else	int		i;	for( i = 0; i < PETSKILL_petskillnum; i ++ ) {		if( PETSKILL_petskill[i].data[PETSKILL_ID] == petskillid ) {			return i;		}	}#endif	return -1;}/*------------------------------------------------------------ * 矢永玄  及楮醒  井日禾奶件正□毛忒允 * 婁醒 *  name        char*       熱諸及  蟆 * 忒曰襖 *  楮醒尺及禾奶件正[卅中樺寧卞反NULL ------------------------------------------------------------*/PETSKILL_CALLFUNC PETSKILL_getPetskillFuncPointer(char* name ){    int i;    int hash = hashpjw( name );    for( i = 0 ; i< arraysizeof( PETSKILL_functbl) ; i++ ) {        if( PETSKILL_functbl[i].hash == hash ) {			if( strcmp( PETSKILL_functbl[i].functionname, name ) == 0 )  {				return PETSKILL_functbl[i].func;			}		}	}    return NULL;}int PETSKILL_Use(	int charaindex,	int havepetskill,	int toindex,	char *data	//BOOL isCLI	// Robin 2001/02/26 if owner is player){	int		array, petskillid;	int		ret,i;	PETSKILL_CALLFUNC func;    char combined[32], *pszOption;	petskillid = CHAR_getPetSkill( charaindex, havepetskill);#ifdef _FIXWOLF	 // Syu ADD 修正狼人變身Bug    if( petskillid == 600 ){		if ( CHAR_getInt ( charaindex , CHAR_BASEIMAGENUMBER) == 101428 )        petskillid = -1;	}#endif	array = PETSKILL_getPetskillArray( petskillid);	if( array == -1 ) return FALSE;	if(PETSKILL_getInt(array, PETSKILL_ILLEGAL)){				if( (CHAR_getInt(charaindex, CHAR_WHICHTYPE)==CHAR_TYPEPET) ){			print(" CHAR_TYPEPET:%d ", charaindex);			return FALSE;		}	}#ifdef _PETSKILL_CHECKTYPE#define _SKILLTYPE_NONE 0x01#define _SKILLTYPE_BATTLE 0x02	if( (CHAR_getInt(charaindex, CHAR_WHICHTYPE)==CHAR_TYPEPET) &&		(PETSKILL_getInt( array, PETSKILL_USETYPE) & _SKILLTYPE_BATTLE) > 0){		int masterindex = CHAR_getWorkInt( charaindex, CHAR_WORKPLAYERINDEX);		if( !CHAR_CHECKINDEX( masterindex) ) return FALSE;		if( CHAR_getWorkInt( masterindex, CHAR_WORKBATTLEMODE) == BATTLE_CHARMODE_NONE ){			return FALSE;		}	}#endif	func = PETSKILL_getPetskillFuncPointer( PETSKILL_getChar( array, PETSKILL_FUNCNAME) );	if( func ) {		ret = func( charaindex,  toindex,  array, data );	}else {		ret = FALSE;	}	return ret;}int _PETSKILL_GetArray( char *file, int line, int charaindex, int havepetskill ){	int		petskillid,array;	petskillid = CHAR_getPetSkill( charaindex, havepetskill);	if( petskillid == -1 ) {		return -1;	}	array = PETSKILL_getPetskillArray( petskillid);		return array;}//----------------------------------------------------------------------int PETSKILL_ContinuationAttack(	int charaindex,	int toindex,	int array,	char *data){	char *pszOption;	int N = 1;	CHAR_setWorkInt( charaindex, CHAR_WORKBATTLECOM1, BATTLE_COM_S_RENZOKU );	CHAR_setWorkInt( charaindex, CHAR_WORKBATTLECOM2, toindex );	CHAR_setWorkInt( charaindex, CHAR_WORKBATTLEMODE, BATTLE_CHARMODE_C_OK );	pszOption = PETSKILL_getChar( array, PETSKILL_OPTION );	if( sscanf( pszOption, "%d", &N ) == 1 ){		if( N < 1 || N > 10 )N = 1;	}else{		N = 1;	}	CHAR_SETWORKINT_LOW( charaindex, CHAR_WORKBATTLECOM3, N );	return TRUE;}int PETSKILL_ChargeAttack(	int charaindex,	int toindex,	int array,	char *data){	char *pszOption, *pszP;	int N = 1, Per = 0;	CHAR_setWorkInt( charaindex, CHAR_WORKBATTLECOM1, BATTLE_COM_S_CHARGE );	CHAR_setWorkInt( charaindex, CHAR_WORKBATTLECOM2, toindex );	CHAR_setWorkInt( charaindex, CHAR_WORKBATTLEMODE, BATTLE_CHARMODE_C_OK );	pszOption = PETSKILL_getChar( array, PETSKILL_OPTION );	if( sscanf( pszOption, "%d", &N ) == 1 ){		if( N < 1 || N > 10 )N = 1;	}else{		N = 1;	}	if( (pszP = strstr( pszOption, "攻%" ) ) != NULL ){		sscanf( pszP+3, "%d", &Per );	}	CHAR_SETWORKINT_LOW( charaindex, CHAR_WORKBATTLECOM3, N );	CHAR_SETWORKINT_HIGH( charaindex, CHAR_WORKBATTLECOM3, Per );	return TRUE;}int PETSKILL_Guardian(	int charaindex,	int toNo,	int array,	char *data){	char *pszOption, *pszP;	int		battleindex, side, pos, ownerpos,		strdef, flg;	float fPer = 0.01;	pszOption = PETSKILL_getChar( array, PETSKILL_OPTION );	if( (pszP = strstr( pszOption, "攻%" ) ) != NULL ){		sscanf( pszP+3, "%f", &fPer );		fPer=(fPer/100);		strdef=CHAR_getWorkInt(charaindex,CHAR_WORKFIXSTR);		strdef=(int)(strdef * fPer);		CHAR_setWorkInt(charaindex,CHAR_WORKATTACKPOWER,(CHAR_getWorkInt(charaindex,CHAR_WORKFIXSTR)+strdef));	}	if( (pszP = strstr( pszOption, "防%" ) ) != NULL ){		sscanf( pszP+3, "%f", &fPer );		fPer=(fPer/100);		strdef=CHAR_getWorkInt(charaindex,CHAR_WORKFIXTOUGH);		strdef=(int)(strdef * fPer);		CHAR_setWorkInt(charaindex,CHAR_WORKDEFENCEPOWER,(CHAR_getWorkInt(charaindex,CHAR_WORKFIXTOUGH)+strdef));	}	CHAR_setWorkInt( charaindex, CHAR_WORKBATTLECOM1, BATTLE_COM_S_GUARDIAN_ATTACK );	CHAR_setWorkInt( charaindex, CHAR_WORKBATTLECOM2, toNo );	CHAR_setWorkInt( charaindex, CHAR_WORKBATTLEMODE, BATTLE_CHARMODE_C_OK );	flg = CHAR_getWorkInt( charaindex, CHAR_WORKBATTLEFLG );	flg |= CHAR_BATTLEFLG_GUARDIAN;	CHAR_setWorkInt( charaindex, CHAR_WORKBATTLEFLG, flg );	battleindex = CHAR_getWorkInt( charaindex, CHAR_WORKBATTLEINDEX );	pos = BATTLE_Index2No( battleindex, charaindex );	if( (pszP = strstr( pszOption, "COM:" ) ) != NULL	&&  strstr( pszP+4, "防御" ) != NULL	){		CHAR_setWorkInt( charaindex, CHAR_WORKBATTLECOM1, BATTLE_COM_GUARD );		side = ( toNo >= SIDE_OFFSET )?( 1 ):( 0 );		ownerpos = toNo - side * SIDE_OFFSET;		if( 0 <= ownerpos && ownerpos < SIDE_OFFSET ){			BattleArray[battleindex].Side[side].Entry[ownerpos].guardian = pos;		}	}else{		side = CHAR_getWorkInt( charaindex, CHAR_WORKBATTLESIDE );		ownerpos = pos - 5;		ownerpos -= side * SIDE_OFFSET;		if( ownerpos < 0 || ownerpos > 19 ){		}else{			BattleArray[battleindex].Side[side].Entry[ownerpos].guardian = pos;		}	}	return TRUE;}int PETSKILL_Mighty(	int charaindex,	int toindex,	int array,	char *data){	char *pszOption, *pszP;	int iBai = 0, iDuck = 0;	float fBai = 2.00;	CHAR_setWorkInt( charaindex, CHAR_WORKBATTLECOM1, BATTLE_COM_S_MIGHTY );	CHAR_setWorkInt( charaindex, CHAR_WORKBATTLECOM2, toindex );	CHAR_setWorkInt( charaindex, CHAR_WORKBATTLEMODE, BATTLE_CHARMODE_C_OK );	pszOption = PETSKILL_getChar( array, PETSKILL_OPTION );	if( (pszP = strstr( pszOption, "倍" ) ) != NULL ){		sscanf( pszP+2, "%f", &fBai );		iBai = (int)(fBai * 100);	}	CHAR_SETWORKINT_LOW( charaindex, CHAR_WORKBATTLECOM3, iBai );	pszOption = PETSKILL_getChar( array, PETSKILL_OPTION );	if( ( pszP = strstr( pszOption, "避" ) ) != NULL){		sscanf(	 pszP+2, "%d", &iDuck );	}	CHAR_SETWORKINT_HIGH( charaindex, CHAR_WORKBATTLECOM3, iDuck );	return TRUE;}int PETSKILL_PowerBalance(	int charaindex,	int toindex,	int array,	char *data){	char *pszOption, *pszP;	float fPer = 0.01;	int strdef;	CHAR_setWorkInt( charaindex, CHAR_WORKBATTLECOM1, BATTLE_COM_S_POWERBALANCE);	CHAR_setWorkInt( charaindex, CHAR_WORKBATTLECOM2, toindex );	CHAR_setWorkInt( charaindex, CHAR_WORKBATTLEMODE, BATTLE_CHARMODE_C_OK );	pszOption = PETSKILL_getChar( array, PETSKILL_OPTION );	if( pszOption == NULL )	{		print("\n pszOption == NULL ");		return FALSE;	}	if( (pszP = strstr( pszOption, "攻%" ) ) != NULL ){		sscanf( pszP+3, "%f", &fPer );		fPer=(fPer/100);		strdef=CHAR_getWorkInt(charaindex,CHAR_WORKFIXSTR);		strdef=(int)(strdef * fPer);		CHAR_setWorkInt(charaindex,CHAR_WORKATTACKPOWER,(CHAR_getWorkInt(charaindex,CHAR_WORKFIXSTR)+strdef));	}	if( (pszP = strstr( pszOption, "防%" ) ) != NULL ){		sscanf( pszP+3, "%f", &fPer );		fPer=(fPer/100);		strdef=CHAR_getWorkInt(charaindex,CHAR_WORKFIXTOUGH);		strdef=(int)(strdef * fPer);		CHAR_setWorkInt(charaindex,CHAR_WORKDEFENCEPOWER,(CHAR_getWorkInt(charaindex,CHAR_WORKFIXTOUGH)+strdef));	}	return TRUE;}//----------------------------------------------------------------------int PETSKILL_StatusChange(	int charaindex,	int toindex,	int array,	char *data){	char *pszOption, *pszP;	float fPer = 0.01;	int strdef;	int status = -1, i = 0, turn = 3;	char szTurn[] = "turn";	CHAR_setWorkInt( charaindex, CHAR_WORKBATTLECOM1, BATTLE_COM_S_STATUSCHANGE );	CHAR_setWorkInt( charaindex, CHAR_WORKBATTLECOM2, toindex );	CHAR_setWorkInt( charaindex, CHAR_WORKBATTLEMODE, BATTLE_CHARMODE_C_OK );	pszOption = PETSKILL_getChar( array, PETSKILL_OPTION );	pszP = pszOption;	for( ;status == -1 && pszP[0] != 0; pszP++ ){		for( i = 1; i < BATTLE_ST_END; i ++ ){			if( strncmp( pszP, aszStatus[i], 2 ) == 0 ){				status = i;				pszP +=2;				break;			}		}	}	if( ( pszP = strstr( pszP, szTurn ) ) != NULL){		pszP += sizeof( szTurn );		sscanf( pszP, "%d", &turn );	}	CHAR_SETWORKINT_LOW( charaindex, CHAR_WORKBATTLECOM3, i );	CHAR_SETWORKINT_HIGH( charaindex, CHAR_WORKBATTLECOM3, turn );	if( (pszP = strstr( pszOption, "攻%" ) ) != NULL ){		sscanf( pszP+3, "%f", &fPer );		fPer=(fPer/100);		strdef=CHAR_getWorkInt(charaindex,CHAR_WORKFIXSTR);		strdef=(int)(strdef * fPer);		CHAR_setWorkInt(charaindex,CHAR_WORKATTACKPOWER,			(CHAR_getWorkInt(charaindex,CHAR_WORKFIXSTR)+strdef) );	}	if( (pszP = strstr( pszOption, "防%" ) ) != NULL ){		sscanf( pszP+3, "%f", &fPer );		fPer=(fPer/100);		strdef=CHAR_getWorkInt(charaindex,CHAR_WORKFIXTOUGH);		strdef=(int)(strdef * fPer);		CHAR_setWorkInt(charaindex,CHAR_WORKDEFENCEPOWER,			(CHAR_getWorkInt(charaindex,CHAR_WORKFIXTOUGH)+strdef));	}	return TRUE;}#ifdef _VARY_WOLFint PETSKILL_Vary( int cindex, int tindex, int id, char* data){	char  *pszOption, *pszP;	float fPer = 0.01;	int a_dep;	int d_dep;	int i;	int petid[4] = {981,982,983,984};	for( i=0; i<4; i++)	{		if( CHAR_getInt( cindex, CHAR_PETID) == petid[i] ) break;	}	if( i>= 4 ) return FALSE;	CHAR_setWorkInt( cindex, CHAR_WORKBATTLECOM1, BATTLE_COM_S_VARY);	CHAR_setWorkInt( cindex, CHAR_WORKBATTLECOM2, tindex );	CHAR_setWorkInt( cindex, CHAR_WORKBATTLEMODE, BATTLE_CHARMODE_C_OK );	pszOption = PETSKILL_getChar( id, PETSKILL_OPTION );	if(pszOption==NULL){		print("\n pszOption==NULL");		return FALSE;	}	if( (pszP = strstr( pszOption, "攻%" ) ) != NULL ){		sscanf( pszP+3, "%f", &fPer );		CHAR_setWorkInt( cindex, CHAR_SKILLSTRPOWER, fPer);		fPer = fPer / 100;		a_dep = CHAR_getWorkInt( cindex, CHAR_WORKFIXSTR);		a_dep = (int)(a_dep * fPer);		

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久久久免费观看| 国产精品久久久一区麻豆最新章节| 欧美精品一区视频| 亚洲欧美经典视频| 国产一区二区视频在线| 欧美无砖专区一中文字| 亚洲国产精品v| 亚洲3atv精品一区二区三区| 日韩久久久精品| 国产精品一区久久久久| 亚洲v日本v欧美v久久精品| 国产精品一色哟哟哟| 欧美日韩在线综合| 亚洲欧美日韩国产综合| 国产91在线观看丝袜| 欧美一区二区久久| 婷婷中文字幕综合| 91国在线观看| 自拍偷拍欧美激情| 成人动漫在线一区| 久久九九99视频| 韩国三级电影一区二区| 欧美一级片在线| 日韩av一级片| 欧美精品黑人性xxxx| 亚洲成人动漫av| 欧美日韩国产另类一区| 亚洲午夜精品久久久久久久久| 一本大道久久a久久精品综合| 国产日韩欧美电影| 国产精品夜夜嗨| 久久精品一二三| 国产乱码精品一品二品| 久久久久99精品国产片| 国产一区亚洲一区| 久久久精品免费观看| 国产成人av影院| 国产精品不卡在线观看| 成+人+亚洲+综合天堂| 国产精品国产三级国产普通话蜜臀| 国产大陆亚洲精品国产| 中文一区一区三区高中清不卡| 成人综合婷婷国产精品久久 | 日韩精品资源二区在线| 毛片不卡一区二区| 精品福利在线导航| 国产成人99久久亚洲综合精品| 久久一区二区视频| 亚洲一二三区视频在线观看| 日韩午夜在线影院| 亚洲国产裸拍裸体视频在线观看乱了 | 久久99久久久欧美国产| 26uuu国产一区二区三区| 国产乱子伦视频一区二区三区 | 欧美一区二区观看视频| 另类专区欧美蜜桃臀第一页| 久久久久久黄色| 一本色道久久综合亚洲aⅴ蜜桃 | 亚洲人成网站色在线观看| 91成人免费电影| 九九精品视频在线看| 自拍偷拍亚洲综合| 日韩欧美在线一区二区三区| 亚洲老妇xxxxxx| 亚洲卡通动漫在线| 国产毛片精品视频| 日韩三级电影网址| 国产99久久精品| 亚洲国产日日夜夜| 欧美经典一区二区| 欧美日韩在线直播| av高清不卡在线| 六月丁香综合在线视频| 亚洲欧美日韩国产中文在线| 精品精品欲导航| 色综合视频在线观看| 国产一区二区不卡在线| 午夜成人免费视频| 亚洲视频一二区| 国产欧美日韩综合精品一区二区 | 3d成人动漫网站| 成人午夜在线免费| 日本成人在线一区| 亚洲一二三区在线观看| 中文字幕综合网| jlzzjlzz欧美大全| 一区二区视频免费在线观看| 91精品婷婷国产综合久久性色| 国产精品一区二区久久不卡| 亚洲va韩国va欧美va| 最新国产成人在线观看| 久久亚洲私人国产精品va媚药| 欧美日韩国产综合视频在线观看| 成人激情动漫在线观看| 国产精品自拍网站| 日本视频中文字幕一区二区三区| 一区二区三区在线不卡| 亚洲国产精品精华液2区45| 精品国产精品网麻豆系列| 欧美日韩免费在线视频| 色欧美日韩亚洲| 91网站在线播放| 99精品视频中文字幕| 国产高清一区日本| 国产精品1区2区| 国产成人亚洲精品青草天美| 欧美96一区二区免费视频| 日韩精品一二三| 欧美日韩一区二区三区在线看| 午夜精品影院在线观看| 久久疯狂做爰流白浆xx| 亚洲成人免费av| 怡红院av一区二区三区| 亚洲欧美另类久久久精品2019| 中文字幕二三区不卡| 欧美激情在线一区二区三区| 中文字幕第一区| 国产精品动漫网站| 亚洲欧洲中文日韩久久av乱码| 国产精品久久久久久久第一福利| 中文av一区二区| 亚洲欧美怡红院| 亚洲激情在线播放| 性做久久久久久久免费看| 日韩黄色一级片| 久久精品99国产精品日本| 久久精品国产99久久6| 国产精品一二三在| caoporen国产精品视频| 色欧美片视频在线观看| 欧美男人的天堂一二区| 欧美成人精品福利| 国产三级精品在线| 一级做a爱片久久| 国产精品―色哟哟| 成人动漫av在线| 日本中文一区二区三区| 奇米精品一区二区三区在线观看| 日韩成人一区二区| 国内精品不卡在线| youjizz久久| 欧美精品丝袜久久久中文字幕| 欧美一级二级三级乱码| 国产精品美日韩| 夜夜嗨av一区二区三区网页| 日韩av午夜在线观看| 国产98色在线|日韩| 91国偷自产一区二区三区观看| 欧美精品高清视频| 国产日韩成人精品| 性做久久久久久| 成人在线视频一区| 欧美电影在线免费观看| 国产精品久久久爽爽爽麻豆色哟哟| 亚洲黄色小视频| 国产不卡视频一区二区三区| 欧美色视频在线| 国产精品午夜在线观看| 日产国产欧美视频一区精品| 久久精品国产精品青草| 久久综合视频网| 国产精品久久久久久久裸模| 国产九九视频一区二区三区| 成人免费看黄yyy456| 欧美色综合网站| 欧美国产日韩亚洲一区| 日本中文字幕一区二区视频| av爱爱亚洲一区| 久久综合九色综合97婷婷| 一个色综合网站| 99精品国产一区二区三区不卡| 日韩天堂在线观看| 一区二区三区在线观看视频| 国产精品系列在线观看| 日韩免费观看高清完整版在线观看| 亚洲另类在线制服丝袜| 成人精品视频一区二区三区| 精品国产青草久久久久福利| 亚洲一级在线观看| 91免费版在线看| 最新国产の精品合集bt伙计| 狠狠狠色丁香婷婷综合激情| 欧美一区二区观看视频| 婷婷激情综合网| 欧美三级日韩三级国产三级| 亚洲人成7777| 成人黄色在线网站| 亚洲国产电影在线观看| 亚洲影视在线观看| 国产精品99久久久久久久vr| 国产精品你懂的| 国产精品高潮呻吟| 国产一级精品在线| 日韩一区二区在线观看视频播放| 亚洲成精国产精品女| 欧美性xxxxxxxx| 夜色激情一区二区| 欧美日韩国产首页在线观看| 天天爽夜夜爽夜夜爽精品视频| 欧美日韩电影一区|