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

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

?? battle_item.c

?? 石器時代8.0服務端完整源代碼。可以直接編譯
?? 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一区二区三区免费野_久草精品视频
中文字幕中文在线不卡住| 国产精品亚洲综合一区在线观看| 亚洲自拍偷拍欧美| 亚洲成国产人片在线观看| 美国十次了思思久久精品导航| 国产老女人精品毛片久久| 91首页免费视频| 日韩三级在线观看| 中文字幕人成不卡一区| 日本强好片久久久久久aaa| 国产91精品一区二区麻豆亚洲| 欧美偷拍一区二区| 欧美精品一区二区不卡 | 日韩在线卡一卡二| 国产成人亚洲精品青草天美| 在线观看亚洲精品| 国产欧美日韩激情| 一区二区三区在线看| 日日噜噜夜夜狠狠视频欧美人 | 国产精品夫妻自拍| 三级精品在线观看| 成年人午夜久久久| 日韩精品中文字幕一区| 亚洲狼人国产精品| 韩国在线一区二区| 欧美另类videos死尸| 欧美经典一区二区| 日本欧美韩国一区三区| 色综合久久久久综合| 久久免费电影网| 婷婷六月综合网| 99久久精品免费看国产| 欧美精品一区二区三区在线播放| 一区二区三区蜜桃网| 国产乱码字幕精品高清av| 欧美三级电影精品| 亚洲女人的天堂| 国产激情视频一区二区三区欧美 | 男女男精品视频网| 色视频欧美一区二区三区| 国产日韩欧美精品在线| 麻豆免费看一区二区三区| 在线视频你懂得一区| 中文字幕国产一区| 国产麻豆一精品一av一免费| 91精品国产综合久久国产大片| 最新日韩av在线| 国产精品一区二区你懂的| 日韩欧美一二三区| 日日夜夜精品视频免费| 欧美三级三级三级| 亚洲精品第一国产综合野| 国产98色在线|日韩| 久久久不卡影院| 国产真实精品久久二三区| 91精品国产综合久久久久| 亚洲一二三区视频在线观看| 91小视频在线| 亚洲欧美另类久久久精品| 成人福利视频在线| 国产精品视频第一区| 国产精品911| 中文字幕精品三区| 成人激情免费视频| 国产精品国产自产拍高清av| 国产99久久久久| 亚洲国产精品v| 成人美女在线视频| 国产精品伦一区二区三级视频| 国产盗摄一区二区| 欧美国产欧美综合| 成人黄色片在线观看| 国产精品国产三级国产| 91一区二区在线| 亚洲欧洲综合另类在线| 在线视频综合导航| 午夜视频在线观看一区| 欧美精品tushy高清| 麻豆国产91在线播放| 欧美精品一区二区在线观看| 国产福利91精品| 国产精品视频线看| 在线视频你懂得一区二区三区| 亚洲一区二区精品视频| 91精品国产一区二区三区| 精品一区二区国语对白| 国产日产精品一区| 97国产一区二区| 亚洲r级在线视频| 91精品国产乱| 国产美女主播视频一区| 中文字幕在线不卡国产视频| 在线日韩一区二区| 日韩激情一二三区| 国产亚洲精品资源在线26u| 岛国av在线一区| 亚洲精品免费在线播放| 777久久久精品| 国产在线精品国自产拍免费| 国产精品视频一二| 欧美亚洲一区三区| 激情综合一区二区三区| 国产精品久久久久久久久免费丝袜 | 在线免费亚洲电影| 蜜桃视频一区二区三区在线观看 | 成人av电影免费在线播放| 亚洲欧美日韩一区二区三区在线观看 | 欧美韩国日本综合| 在线看国产一区| 麻豆91在线看| 国产精品久久久久久久岛一牛影视| 色拍拍在线精品视频8848| 免费黄网站欧美| 一区在线中文字幕| 91麻豆精品国产91久久久久久久久 | 欧美日韩成人激情| 国产在线不卡一区| 亚洲免费资源在线播放| 欧美电影精品一区二区| 成人黄色电影在线| 蜜臀精品久久久久久蜜臀| 国产精品午夜免费| 欧美肥大bbwbbw高潮| 国产91精品露脸国语对白| 亚洲第一久久影院| 欧美国产1区2区| 欧美一级在线视频| 99久久国产综合精品女不卡| 免费成人小视频| 亚洲手机成人高清视频| 精品99999| 欧美猛男超大videosgay| 国产成人精品免费| 日韩精品国产欧美| 亚洲免费大片在线观看| 久久人人超碰精品| 欧美色偷偷大香| 国产成人av电影在线观看| 五月天欧美精品| 亚洲精品你懂的| 日本一区二区三区在线不卡| 欧美一区二区日韩一区二区| 色一情一乱一乱一91av| 国产成人精品亚洲日本在线桃色| 亚洲午夜精品在线| 日韩码欧中文字| 国产色爱av资源综合区| 欧美一区二区三区免费大片| 一本久久a久久精品亚洲| 高清不卡在线观看av| 麻豆视频一区二区| 日韩av电影免费观看高清完整版在线观看| 成人欧美一区二区三区小说 | 成人国产亚洲欧美成人综合网| 免费久久精品视频| 亚洲v中文字幕| 尤物视频一区二区| 国产精品嫩草影院av蜜臀| 精品国产一区久久| 日韩一区和二区| 欧美日韩国产综合一区二区| 99久久er热在这里只有精品66| 久久99国产精品免费网站| 日韩激情视频网站| 丝袜诱惑亚洲看片| 亚洲一区在线观看网站| 亚洲另类一区二区| 亚洲人成小说网站色在线| 国产日韩v精品一区二区| 欧美sm美女调教| 日韩欧美卡一卡二| 日韩欧美一区二区不卡| 欧美一区二区三区四区五区| 欧美日韩国产高清一区二区三区 | 蜜桃av噜噜一区| 日日噜噜夜夜狠狠视频欧美人| 亚洲国产综合在线| 亚洲国产视频直播| 亚洲成人激情自拍| 日韩精品一级中文字幕精品视频免费观看| 亚洲国产精品人人做人人爽| 亚洲一区在线观看免费观看电影高清| 亚洲激情在线激情| 一区二区三区 在线观看视频| 一区二区三区四区视频精品免费 | 欧美日韩一级片在线观看| 欧美日韩黄色影视| 欧美一区二区日韩| 精品久久久久久久久久久院品网| 欧美tk丨vk视频| 国产三区在线成人av| 国产精品久久久久久户外露出| 日韩理论在线观看| 一区二区三区丝袜| 日韩精品色哟哟| 精品亚洲国内自在自线福利| 国产麻豆成人精品| 99久久伊人精品| 91精彩视频在线观看| 欧美丝袜第三区|