⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 battle_item.c

📁 石器时代8.0服务端完整源代码。可以直接编译
💻 C
📖 第 1 页 / 共 3 页
字号:
		pszP += sizeof( szSuccess );		sscanf( pszP, "%d", &Success );	}	battleindex = CHAR_getWorkInt( charaindex, CHAR_WORKBATTLEINDEX );	attackNo = BATTLE_Index2No( battleindex, charaindex );	if( status == BATTLE_ST_NONE ){		ReceveEffect = SPR_tyusya;	}else{		ReceveEffect = SPR_hoshi;	}	BATTLE_MultiStatusChange( battleindex, attackNo, toNo,		status, turn, SPR_item3, ReceveEffect, Success );	BATTLE_ItemUseDelete( charaindex, haveitemindex );}void ITEM_useStatusRecovery_Battle(	int charaindex, 	// 银匀凶谛及奶件犯永弁旦	int toNo, 			// 银歹木月谛及  寞	int haveitemindex 	// 银丹谛及失奶  丞及    寞){	int i;	int battleindex, attackNo,itemindex, status = -1;	int ReceveEffect;	char *pszP = NULL, *arg;	// 失奶  丞互丐月井升丹井    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 ;	//------- 仇仇井日荚汊质   -----------	battleindex = CHAR_getWorkInt( charaindex, CHAR_WORKBATTLEINDEX );	attackNo = BATTLE_Index2No( battleindex, charaindex );	ReceveEffect = SPR_tyusya;	//   月午五反仇木	// 蝈够	BATTLE_MultiStatusRecovery( battleindex, attackNo, toNo,		status, SPR_item3, ReceveEffect );	// 爵    卞失奶  丞互壅尹凶桦宁及隋骚质  	BATTLE_ItemUseDelete( charaindex, haveitemindex );}void ITEM_useMagicDef_Battle(	int charaindex,	int toNo,	int haveitemindex){	int turn = 0, i;	int battleindex, attackNo,itemindex, status = -1;	char *pszP = NULL, *arg;	char szTurn[] = "turn";    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 = 1; i < BATTLE_MD_END; i ++ ){			if( strncmp( pszP, aszMagicDef[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 );	}	battleindex = CHAR_getWorkInt( charaindex, CHAR_WORKBATTLEINDEX );	attackNo = BATTLE_Index2No( battleindex, charaindex );	BATTLE_MultiMagicDef( battleindex, attackNo, toNo,		status, turn, SPR_item3, SPR_difence );	BATTLE_ItemUseDelete( charaindex, haveitemindex );}//--------------------------------------------------------------//  由仿丢□正  凳失奶  丞毛银匀凶桦宁及质  //--------------------------------------------------------------// 爵    及桦宁void ITEM_useParamChange_Battle(	int charaindex, 	// 银匀凶谛及奶件犯永弁旦	int toNo, 			// 银歹木月谛及  寞	int haveitemindex 	// 银丹谛及失奶  丞及    寞){	int i;	int battleindex, attackNo,itemindex;	int pow, par = 0;	int kind = -1;	char *pszP = NULL, *arg;	// 失奶  丞互丐月井升丹井    itemindex = CHAR_getItemIndex( charaindex, haveitemindex);    if(!ITEM_CHECKINDEX(itemindex)) return;	// 由仿丢□正毛潸  	arg = ITEM_getChar(itemindex, ITEM_ARGUMENT );	pszP = arg;	// 躲绊毛潸  	for( ;kind == -1 && pszP[0] != 0; pszP++ ){		for( i = 1; i < BATTLE_MD_END; i ++ ){			// 躲绊疋永正伉井"			if( strncmp( pszP, aszParamChange[i], 2 ) == 0 ){				kind = i;				pszP +=2;				break;			}		}	}	// 躲绊卅中及匹撩  	if( kind == -1 ) return ;	if( strstr( pszP, "%" ) ){	// 仇及桦宁反⊙煌遥		par = 1;	}	if( sscanf( pszP, "%d", &pow ) != 1 ){		// 窒禾奶件玄丐仆月井		pow = 30;	}	//------- 仇仇井日质   -----------	battleindex = CHAR_getWorkInt( charaindex, CHAR_WORKBATTLEINDEX );	attackNo = BATTLE_Index2No( battleindex, charaindex );	// 蝈够	BATTLE_MultiParamChange( battleindex, attackNo, toNo,		kind, pow, par, SPR_item3, SPR_hoshi );	// 爵    卞失奶  丞互壅尹凶桦宁及隋骚质  	BATTLE_ItemUseDelete( charaindex, haveitemindex );}//--------------------------------------------------------------//  白奴□伙玉箪岭  凳失奶  丞毛银匀凶桦宁及质  //--------------------------------------------------------------// 爵    及桦宁void ITEM_useFieldChange_Battle(	int charaindex, 	// 银匀凶谛及奶件犯永弁旦	int toNo, 			// 银歹木月谛及  寞	int haveitemindex 	// 银丹谛及失奶  丞及    寞){	int itemindex;	char *pArg;	// 失奶  丞互丐月井升丹井    itemindex = CHAR_getItemIndex( charaindex, haveitemindex);    if(!ITEM_CHECKINDEX(itemindex)) return;	//------- 仇仇井日质   -----------	// 由仿丢□正毛潸  	pArg = ITEM_getChar(itemindex, ITEM_ARGUMENT );	// 由仿丢□正  中及匹撩  	if( pArg == NULL )return ;	BATTLE_FieldAttChange( charaindex, pArg );	// 爵    卞失奶  丞互壅尹凶桦宁及隋骚质  	BATTLE_ItemUseDelete( charaindex, haveitemindex );}//--------------------------------------------------------------//  箪岭  鳖失奶  丞毛银匀凶桦宁及质  //--------------------------------------------------------------// 爵    及桦宁void ITEM_useAttReverse_Battle(	int charaindex, 	// 银匀凶谛及奶件犯永弁旦	int toNo, 			// 银歹木月谛及  寞	int haveitemindex 	// 银丹谛及失奶  丞及    寞){	int itemindex, battleindex, attackNo;	// 失奶  丞互丐月井升丹井    itemindex = CHAR_getItemIndex( charaindex, haveitemindex);    if(!ITEM_CHECKINDEX(itemindex)) return;	//------- 仇仇井日质   -----------	battleindex = CHAR_getWorkInt( charaindex, CHAR_WORKBATTLEINDEX );	attackNo = BATTLE_Index2No( battleindex, charaindex );	// 蝈够	BATTLE_MultiAttReverse( battleindex, attackNo, toNo,		SPR_item3, SPR_kyu );	// 爵    卞失奶  丞互壅尹凶桦宁及隋骚质  	BATTLE_ItemUseDelete( charaindex, haveitemindex );}//--------------------------------------------------------------//  竣濮井日汊唾毛银匀凶桦宁及质  //--------------------------------------------------------------// 爵    及桦宁void ITEM_useRessurect(	int charaindex, 	// 银匀凶谛及奶件犯永弁旦	int toNo, 			// 银歹木月谛及  寞	int haveitemindex 	// 银丹谛及失奶  丞及    寞){	int itemindex, battleindex, attackNo, par = 0, pow = 0, ReceveEffect;	char *pszP = NULL;	// 失奶  丞互丐月井升丹井    itemindex = CHAR_getItemIndex( charaindex, haveitemindex);    if(!ITEM_CHECKINDEX(itemindex)) return;	//------- 仇仇井日质   -----------	pszP = ITEM_getChar(itemindex, ITEM_ARGUMENT );	if( strstr( pszP, "%" ) ){	// 仇及桦宁反⊙煌遥		par = 1;	}	if( sscanf( pszP, "%d", &pow ) != 1 ){		// 窒禾奶件玄荚汊允月井"		pow = 0;	// ㄟ及桦宁反敦蝈荚汊	}	battleindex = CHAR_getWorkInt( charaindex, CHAR_WORKBATTLEINDEX );	attackNo = BATTLE_Index2No( battleindex, charaindex );	if( pow <= 0 ){		ReceveEffect = SPR_fukkatu3;	}else	if( pow <= 100 ){		ReceveEffect = SPR_fukkatu1;	}else	if( pow <= 300 ){		ReceveEffect = SPR_fukkatu2;	}else{		ReceveEffect = SPR_fukkatu3;	}	// 蝈够	BATTLE_MultiRessurect( battleindex, attackNo, toNo,		pow, par, SPR_item3, ReceveEffect );	// 爵    卞失奶  丞互壅尹凶桦宁及隋骚质  	BATTLE_ItemUseDelete( charaindex, haveitemindex );}//--------------------------------------------------------------//    凯  膜恳毛银匀凶桦宁及质  //--------------------------------------------------------------// 爵    及桦宁void ITEM_useCaptureUp_Battle(	int charaindex, 	// 银匀凶谛及奶件犯永弁旦	int toNo, 			// 银歹木月谛及  寞	int haveitemindex 	// 银丹谛及失奶  丞及    寞){	int itemindex, battleindex, attackNo, pow = 5, ReceveEffect;	char *pArg;	// 失奶  丞互丐月井升丹井    itemindex = CHAR_getItemIndex( charaindex, haveitemindex);    if(!ITEM_CHECKINDEX(itemindex)) return;	//------- 仇仇井日质   -----------	// 由仿丢□正毛潸  	pArg = ITEM_getChar(itemindex, ITEM_ARGUMENT );	// 由仿丢□正  中及匹撩  	if( pArg == NULL )return ;	if( sscanf( pArg, "%d", &pow ) != 1 ){		// 窒禾奶件玄荚汊允月井"		pow = 5;	}	battleindex = CHAR_getWorkInt( charaindex, CHAR_WORKBATTLEINDEX );	attackNo = BATTLE_Index2No( battleindex, charaindex );	ReceveEffect = SPR_hoshi;	// 蝈够	BATTLE_MultiCaptureUp( battleindex, attackNo, toNo,		pow, SPR_item3, ReceveEffect );	// 爵    卞失奶  丞互壅尹凶桦宁及隋骚质  	BATTLE_ItemUseDelete( charaindex, haveitemindex );}#ifdef _ITEM_CRACKERvoid ITEM_useCracker_Effect( charaindex, toindex, haveitemindex){	int itemindex,x,y,tofd;	itemindex = CHAR_getItemIndex(charaindex,haveitemindex);	// 检查物品	if(!ITEM_CHECKINDEX(itemindex)) return;    x = CHAR_getInt( charaindex, CHAR_X);    y = CHAR_getInt( charaindex, CHAR_Y);		CHAR_setMyPosition( charaindex, x, y, TRUE);	CHAR_setWorkInt( charaindex, CHAR_WORKITEM_CRACKER, 1);	CHAR_sendCrackerEffect( charaindex, 101125);	//to client	tofd = getfdFromCharaIndex( charaindex );	lssproto_IC_send(tofd, x, y);	//清除道具	BATTLE_ItemUseDelete(charaindex,haveitemindex);	CHAR_talkToCli(charaindex,-1,"道具消失了。",CHAR_COLORYELLOW);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -