?? 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 + -