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

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

?? battle_item.c

?? 最新主流石器時代源代碼,包含諸多目前流行功能代碼.
?? C
?? 第 1 頁 / 共 3 頁
字號:
#include "version.h"#include <string.h>#include "char.h"#include "char_base.h"#include "battle.h"#include "battle_event.h"#include "battle_item.h"#include "battle_magic.h"#include "item_event.h"#include "log.h"#include "anim_tbl.h"#include "npcutil.h"#include "magic_base.h"#include "lssproto_serv.h"int BATTLE_ItemUseDelete(	int charaindex,	int haveitemindex){	int itemindex;    itemindex = CHAR_getItemIndex( charaindex, haveitemindex);	if( ITEM_CHECKINDEX( itemindex ) == FALSE ) return 0;	{		LogItem(			CHAR_getChar( charaindex, CHAR_NAME ),			CHAR_getChar( charaindex, CHAR_CDKEY ),#ifdef _add_item_log_name  // WON ADD 在item的log中增加item名稱			itemindex,#else       		ITEM_getInt( itemindex, ITEM_ID ),#endif			"BattleUse(戰斗中使用掉的道具)",	       	CHAR_getInt( charaindex,CHAR_FLOOR),			CHAR_getInt( charaindex,CHAR_X ),        	CHAR_getInt( charaindex,CHAR_Y ),			ITEM_getChar( itemindex, ITEM_UNIQUECODE),					ITEM_getChar( itemindex, ITEM_NAME),					ITEM_getInt( itemindex, ITEM_ID)		);	}	CHAR_DelItemMess( charaindex, haveitemindex, 0);	return 0;}#ifdef _IMPRECATE_ITEMvoid ITEM_useImprecate( int charaindex, int toNo, int haveitemindex ){	int i;	int battleindex, attackNo,itemindex;	char *arg;	char buf[256];	struct tagImprecate {		char fun[256];		int intfun;	};	struct tagImprecate ImList[3] ={		{"咒",BD_KIND_CURSE},{"恩",BD_KIND_BESTOW},{"祝",BD_KIND_WISHES} };	if( !CHAR_CHECKINDEX( charaindex) ) return;	battleindex = CHAR_getWorkInt( charaindex, CHAR_WORKBATTLEINDEX );	if( (attackNo = BATTLE_Index2No( battleindex, charaindex )) < 0 ){		print( "ANDY attackNo=%d\n", attackNo);		return;	}    itemindex = CHAR_getItemIndex( charaindex, haveitemindex);    if(!ITEM_CHECKINDEX(itemindex)) return;	arg = ITEM_getChar(itemindex, ITEM_ARGUMENT );	if( arg == NULL ){		print( "ANDY ITEM id:%d=>arg err\n", ITEM_getInt( itemindex, ITEM_ID));		return;	}	for( i=0; i<3; i++)	{		if( strstr( arg, ImList[i].fun ) != 0 )	{			char buf1[256];			int kind,powers, rounds, HealedEffect;			if( NPC_Util_GetStrFromStrWithDelim( arg, ImList[i].fun, buf, sizeof( buf)) == NULL )continue;			kind = ImList[i].intfun;			if( getStringFromIndexWithDelim( buf,"x", 1, buf1, sizeof( buf1)) == FALSE ) continue;			powers = atoi( buf1);			if( getStringFromIndexWithDelim( buf,"x", 2, buf1, sizeof( buf1)) == FALSE ) continue;			rounds = atoi( buf1);			HealedEffect = SPR_hoshi;			BATTLE_ImprecateRecovery(				battleindex, attackNo, toNo, kind, powers,				rounds, SPR_item3, HealedEffect );			CHAR_setItemIndex(charaindex, haveitemindex ,-1);			CHAR_sendItemDataOne( charaindex, haveitemindex);			ITEM_endExistItemsOne( itemindex );			break;		}	}}#endif#ifdef _ITEM_MAGICRECOVERYvoid ITEM_useMRecovery_Battle( int charaindex, int toNo, int haveitemindex ){	int battleindex, attackNo, itemindex;	int turn=0, magicid, marray;	char buf1[256];	char *arg=NULL;	battleindex = CHAR_getWorkInt( charaindex, CHAR_WORKBATTLEINDEX );	if( BATTLE_CHECKINDEX( battleindex ) == FALSE ) return;	if( (attackNo =  BATTLE_Index2No( battleindex, charaindex )) == -1 ) return;    itemindex = CHAR_getItemIndex( charaindex, haveitemindex);    if(!ITEM_CHECKINDEX(itemindex)) return;	arg = ITEM_getChar( itemindex, ITEM_ARGUMENT );	if( getStringFromIndexWithDelim( arg, ":", 2, buf1, sizeof(buf1)) ==FALSE ) return;	turn = atoi( buf1);	if( getStringFromIndexWithDelim( arg, ":", 1, buf1, sizeof(buf1)) ==FALSE ) return;	if( strstr( buf1, "全" ) != NULL ){	}else{	}	magicid = ITEM_getInt( itemindex, ITEM_MAGICID);	marray = MAGIC_getMagicArray( magicid);	if( marray == -1 ) return;	if( IsBATTLING( charaindex ) == TRUE ){		int i, status=-1;		char *magicarg=NULL, *pszP=NULL;#ifdef _PREVENT_TEAMATTACK //光鏡守..不得使用敵方		int battleindex = CHAR_getWorkInt( charaindex, CHAR_WORKBATTLEINDEX );		if( CHAR_getInt( charaindex, CHAR_WHICHTYPE ) == CHAR_TYPEPLAYER			//&& BattleArray[battleindex].type != BATTLE_TYPE_P_vs_P 			){			if( BATTLE_CheckSameSide( charaindex, toNo) == 0 ){//不同邊				int battleindex = CHAR_getWorkInt( charaindex, CHAR_WORKBATTLEINDEX );				BATTLE_NoAction( battleindex, BATTLE_Index2No( battleindex, charaindex) );				CHAR_talkToCli( charaindex, -1, "光鏡守..不得施予非玩家敵方。", CHAR_COLORYELLOW);				return;			}		}#endif				magicarg = MAGIC_getChar( marray, MAGIC_OPTION );		pszP = magicarg;		for( ;status == -1 && pszP[0] != 0; pszP++ ){			for( i = 1; i < BATTLE_MD_END; i ++ ){				if( strncmp( pszP, aszMagicDef[i], 2 ) == 0 ){					status = i;					pszP +=2;					break;				}			}		}		if( status == -1 ) return;		BATTLE_MultiMagicDef( battleindex, attackNo, toNo,			status, turn, MAGIC_EFFECT_USER, SPR_difence );		LogItem(			CHAR_getChar( charaindex, CHAR_NAME ),			CHAR_getChar( charaindex, CHAR_CDKEY ),#ifdef _add_item_log_name  // WON ADD 在item的log中增加item名稱			itemindex,#else       		ITEM_getInt( itemindex, ITEM_ID ),#endif			"BattleUse(戰斗中使用掉的道具)",	       	CHAR_getInt( charaindex,CHAR_FLOOR),			CHAR_getInt( charaindex,CHAR_X ),        	CHAR_getInt( charaindex,CHAR_Y ),			ITEM_getChar( itemindex, ITEM_UNIQUECODE),					ITEM_getChar( itemindex, ITEM_NAME),					ITEM_getInt( itemindex, ITEM_ID)		);	}	CHAR_DelItemMess( charaindex, haveitemindex, 0);}#endif#ifdef _ITEM_USEMAGICvoid ITEM_useMagic_Battle( int charaindex, int toNo, int haveitemindex ){	int itemindex,itemmaxuse;    char *arg=NULL;    itemindex = CHAR_getItemIndex( charaindex, haveitemindex);	if(!ITEM_CHECKINDEX(itemindex)) return;	arg = ITEM_getChar( itemindex, ITEM_ARGUMENT );	CHAR_setWorkInt( charaindex, CHAR_WORKBATTLECOM2, toNo );	CHAR_setWorkInt( charaindex, CHAR_WORKBATTLECOM1, BATTLE_COM_JYUJYUTU );	CHAR_SETWORKINT_LOW( charaindex, CHAR_WORKBATTLECOM3, atoi(arg) );	CHAR_SETWORKINT_HIGH( charaindex, CHAR_WORKBATTLECOM3, 0 );	CHAR_setWorkInt( charaindex, CHAR_WORKBATTLEMODE, BATTLE_CHARMODE_C_OK );	MAGIC_DirectUse(				charaindex,				CHAR_GETWORKINT_LOW( charaindex, CHAR_WORKBATTLECOM3 ),				CHAR_getWorkInt( charaindex, CHAR_WORKBATTLECOM2 ),				CHAR_GETWORKINT_HIGH( charaindex, CHAR_WORKBATTLECOM3 )	);	itemmaxuse = ITEM_getInt( itemindex, ITEM_DAMAGEBREAK);	if( itemmaxuse > 0 )	    ITEM_setInt( itemindex, ITEM_DAMAGEBREAK, itemmaxuse-1 );    else{		LogItem(			CHAR_getChar( charaindex, CHAR_NAME ),			CHAR_getChar( charaindex, CHAR_CDKEY ),#ifdef _add_item_log_name  // WON ADD 在item的log中增加item名稱			itemindex,#else       		ITEM_getInt( itemindex, ITEM_ID ),#endif			"BattleUse(戰斗中使用掉的道具)",	       	CHAR_getInt( charaindex,CHAR_FLOOR),			CHAR_getInt( charaindex,CHAR_X ),        	CHAR_getInt( charaindex,CHAR_Y ),			ITEM_getChar( itemindex, ITEM_UNIQUECODE),					ITEM_getChar( itemindex, ITEM_NAME),					ITEM_getInt( itemindex, ITEM_ID)		);	    CHAR_DelItemMess( charaindex, haveitemindex, 0);	}}#endifvoid ITEM_useRecovery_Battle( int charaindex, int toNo, int haveitemindex ){#ifdef _CHANGEITEMUSE	 // Syu ADD 調整戰斗中使用料理設定	int power1 = 0;#endif	int power = 0, per = 0, HealedEffect=0;	int battleindex, attackNo,itemindex, kind = BD_KIND_HP;	char *p = NULL, *arg;    itemindex = CHAR_getItemIndex( charaindex, haveitemindex);    if(!ITEM_CHECKINDEX(itemindex)) return;	arg = ITEM_getChar(itemindex, ITEM_ARGUMENT );#ifdef _CHANGEITEMUSE	 // Syu ADD 調整戰斗中使用料理設定	if( ((p = strstr( arg, "體" )) != NULL) && ((p = strstr( arg,"氣")) != NULL))	{		kind = BD_KIND_HP_MP;		p = strstr( arg,"氣");		if( sscanf( p+2, "%d", &power1 ) != 1 )		{			power1 = 0;		}		p = strstr( arg,"體");	}	else if( (p = strstr( arg, "體" )) != NULL )#else	if( (p = strstr( arg, "體" )) != NULL )#endif	{		kind = BD_KIND_HP;	}	else if( (p = strstr( arg, "氣" )) != NULL )	{		kind = BD_KIND_MP;	}	else#ifdef _ITEM_UNBECOMEPIG    if( (p = strstr( arg, "解豬" )) != NULL ){        kind = BD_KIND_UNBECOMEPIG;		HealedEffect = 100608; //特效編號	}	else#endif#ifdef _ITEM_LVUPUP	if( (p = strstr( arg, "LVUPUP" )) != NULL ){	    return;	}	else#endif#ifdef _ITEM_PROPERTY    if( (p = strstr( arg, "PROPERTY" )) != NULL ){	    kind = BD_KIND_PROPERTY;		HealedEffect = 100608; //特效編號		if( strstr( arg, "+" ) )			power = 1;		else if( strstr( arg, "-" ) )			power = 2;	}	else#endif#ifdef _ITEM_ADDPETEXP    if( (p = strstr( arg, "GETEXP" )) != NULL ){        return;	}	else#endif		return;#ifdef _ITEM_UNBECOMEPIG    if( HealedEffect != 100608 ){#endif	    if( sscanf( p+2, "%d", &power ) != 1 )		    power = 0;	    if( power <= 100 )		    HealedEffect = SPR_heal;//SPR_hoshi		else if( power <= 300 )		    HealedEffect = SPR_heal2;	    else		    HealedEffect = SPR_heal3;#ifdef _ITEM_UNBECOMEPIG	}#endif	battleindex = CHAR_getWorkInt( charaindex, CHAR_WORKBATTLEINDEX );	attackNo = BATTLE_Index2No( battleindex, charaindex );	if( attackNo < 0 )return;#ifdef _CHANGEITEMUSE	 // Syu ADD 調整戰斗中使用料理設定	BATTLE_MultiRecovery( battleindex, attackNo, toNo,		kind, power, per, SPR_item3, HealedEffect , power1);#else	BATTLE_MultiRecovery( battleindex, attackNo, toNo,		kind, power, per, SPR_item3, HealedEffect );#endif	{		LogItem(			CHAR_getChar( charaindex, CHAR_NAME ),			CHAR_getChar( charaindex, CHAR_CDKEY ),#ifdef _add_item_log_name  // WON ADD 在item的log中增加item名稱			itemindex,#else       		ITEM_getInt( itemindex, ITEM_ID ),#endif			"BattleUse(戰斗中使用掉的道具)",	       	CHAR_getInt( charaindex,CHAR_FLOOR),			CHAR_getInt( charaindex,CHAR_X ),        	CHAR_getInt( charaindex,CHAR_Y ),			ITEM_getChar( itemindex, ITEM_UNIQUECODE),					ITEM_getChar( itemindex, ITEM_NAME),					ITEM_getInt( itemindex, ITEM_ID)		);	}	CHAR_DelItemMess( charaindex, haveitemindex, 0);}void ITEM_useStatusChange_Battle(	int charaindex,	int toNo,	int haveitemindex){	int turn = 0, i;	int battleindex, attackNo,itemindex, status = -1, Success = 15;	int ReceveEffect;	char *pszP = NULL, *arg;	char szTurn[] = "turn";	char szSuccess[] = "成";    itemindex = CHAR_getItemIndex( charaindex, haveitemindex);    if(!ITEM_CHECKINDEX(itemindex)) return;	arg = ITEM_getChar(itemindex, ITEM_ARGUMENT );	pszP = arg;	for( ;status == -1 && pszP[0] != 0; pszP++ ){		for( i = 0; i < BATTLE_ST_END; i ++ ){			if( strncmp( pszP, aszStatus[i], 2 ) == 0 ){				status = i;				pszP +=2;				break;			}		}	}	if( status == -1 ) return ;	if( ( pszP = strstr( arg, szTurn ) ) != NULL){		pszP += sizeof( szTurn );		sscanf( pszP, "%d", &turn );	}	if( ( pszP = strstr( arg, szSuccess ) ) != NULL){

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人免费视频播放| 免费在线一区观看| 67194成人在线观看| 亚洲一区视频在线| 欧美日韩亚洲综合在线| 热久久久久久久| 精品国产91久久久久久久妲己 | 欧美精选一区二区| 另类调教123区| 国产农村妇女精品| 色综合久久中文综合久久牛| 亚洲va韩国va欧美va精品| 日韩精品一区在线观看| 国产成人99久久亚洲综合精品| 亚洲欧洲精品一区二区三区不卡| 欧美在线影院一区二区| 蜜臀av一区二区在线观看| 国产精品系列在线| 欧美亚洲国产一区二区三区va | 久久亚洲精品国产精品紫薇| 成人美女视频在线观看| 一区二区三区精品久久久| 欧美一级生活片| 成人午夜大片免费观看| 天堂成人免费av电影一区| 久久精品人人爽人人爽| 欧美三级欧美一级| 国产精品一二三| 亚洲一区二区三区四区的| 精品国产人成亚洲区| 91免费观看视频| 蜜臀久久久久久久| 亚洲欧美中日韩| 日韩免费看的电影| 在线中文字幕不卡| 国产精品中文字幕一区二区三区| 亚洲一区二区三区在线看| 国产亚洲精品超碰| 717成人午夜免费福利电影| 成人午夜视频免费看| 久久国内精品视频| 亚洲一区二区三区精品在线| 久久久久久久一区| 欧美一区二区在线看| 色久优优欧美色久优优| 激情欧美一区二区| 香蕉久久夜色精品国产使用方法| 中文一区在线播放| 欧美精品一区二区蜜臀亚洲| 欧美在线高清视频| 97久久人人超碰| 国产69精品一区二区亚洲孕妇| 美女精品自拍一二三四| 一区二区在线观看视频| 国产精品系列在线| 久久精品免视看| 欧美成人vr18sexvr| 欧美日本一区二区三区四区| 日本黄色一区二区| 97se亚洲国产综合自在线观| 国产成人免费视| 国产在线麻豆精品观看| 蜜桃视频在线观看一区| 午夜激情综合网| 亚洲va欧美va人人爽| 亚洲观看高清完整版在线观看 | 亚洲国产精品久久久久秋霞影院| 国产精品久久一级| 中文字幕不卡三区| 国产精品久久国产精麻豆99网站| 久久久国际精品| 久久伊99综合婷婷久久伊| 久久综合99re88久久爱| 精品久久久久久久久久久院品网 | 久久久www免费人成精品| 日韩欧美一区二区三区在线| 5858s免费视频成人| 7777精品伊人久久久大香线蕉经典版下载 | 日韩精品免费专区| 免费xxxx性欧美18vr| 久久成人免费电影| 国模套图日韩精品一区二区| 国内精品不卡在线| 成人综合婷婷国产精品久久 | 蜜臀av一区二区| 国内偷窥港台综合视频在线播放| 乱中年女人伦av一区二区| 美女视频黄 久久| 国产成人精品三级麻豆| 成人av资源在线观看| 一本色道久久加勒比精品| 色国产精品一区在线观看| 91福利精品第一导航| 欧美日韩在线免费视频| 欧美一区二区三区在线视频 | 中文字幕精品三区| 亚洲美女视频在线| 日韩中文字幕一区二区三区| 蜜臂av日日欢夜夜爽一区| 国产精品一区免费视频| 成人黄色片在线观看| 日本道精品一区二区三区| 欧美日韩国产乱码电影| 久久亚洲精品小早川怜子| 中文字幕在线不卡国产视频| 亚洲第一综合色| 国内外成人在线| 日本精品一区二区三区高清| 日韩女优毛片在线| 国产精品女主播在线观看| 亚洲电影视频在线| 福利一区福利二区| 欧美精品亚洲二区| 欧美激情在线免费观看| 亚洲一二三专区| 国产精品一线二线三线| 在线中文字幕一区二区| 2024国产精品视频| 亚洲精品亚洲人成人网| 精品亚洲成a人在线观看| 在线视频中文字幕一区二区| 精品成人a区在线观看| 亚洲最快最全在线视频| 国产乱对白刺激视频不卡| 欧美日韩在线播放三区四区| 欧美激情一区在线观看| 日本亚洲免费观看| 一本色道a无线码一区v| 国产亚洲一区字幕| 毛片不卡一区二区| 在线观看亚洲精品| 中文字幕在线不卡视频| 国产毛片精品一区| 91精品婷婷国产综合久久| 亚洲免费观看高清| 国产乱妇无码大片在线观看| 91精品国产欧美日韩| 亚洲欧美日韩国产成人精品影院 | 欧美日韩日日摸| 国产精品二区一区二区aⅴ污介绍| 免费av网站大全久久| 欧美性生活久久| 亚洲人成在线观看一区二区| 国产91丝袜在线18| 久久久九九九九| 国内外成人在线视频| 日韩一卡二卡三卡四卡| 亚洲成人av福利| 欧美性生活一区| 亚洲午夜国产一区99re久久| 色偷偷久久一区二区三区| 日本一区二区免费在线| 国产伦理精品不卡| 欧美岛国在线观看| 久久国产精品99久久久久久老狼| 欧美群妇大交群中文字幕| 亚洲综合在线观看视频| 色哟哟欧美精品| 亚洲男人的天堂在线观看| jvid福利写真一区二区三区| 久久精品水蜜桃av综合天堂| 国产剧情一区二区三区| 精品黑人一区二区三区久久| 麻豆精品一区二区三区| 日韩精品在线一区二区| 极品美女销魂一区二区三区| 精品国产乱码久久久久久免费| 美女在线视频一区| 欧美变态tickling挠脚心| 久久国产精品99久久久久久老狼| 精品久久久三级丝袜| 国产一区二区主播在线| 精品电影一区二区| 国产精品69久久久久水密桃| 亚洲国产精品99久久久久久久久 | 日本韩国精品在线| 午夜伦理一区二区| 日韩一区二区不卡| 国产精品一区专区| 亚洲色大成网站www久久九九| 在线免费精品视频| 日本伊人色综合网| 欧美精品一区二区三区久久久| 国产福利一区二区三区视频在线| 国产午夜三级一区二区三| 成人激情黄色小说| 亚洲国产sm捆绑调教视频| 日韩欧美你懂的| 国产高清成人在线| 亚洲人一二三区| 91精品久久久久久久91蜜桃| 黑人巨大精品欧美一区| 国产精品久久久久久久久免费相片 | 亚洲综合免费观看高清完整版| 欧美色倩网站大全免费| 精品综合久久久久久8888| 国产精品久久久久久亚洲毛片| 欧美日韩一区精品| 国产精品一区专区| 亚洲一区二区影院|