📄 battle_item.c
字号:
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 + -