From e53aa766d9bdab6fcef54faa0b0549726e2adc2e Mon Sep 17 00:00:00 2001 From: chuyiwen Date: Fri, 13 Jan 2017 06:24:03 +0900 Subject: [PATCH] 2017/1/13 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit battle文件夹-日语注释修改完毕 --- battle/battle.c | 1855 +++++++++++++++++----------------- battle/battle_ai.c | 50 +- battle/battle_command.c | 241 +++-- battle/battle_event.c | 1508 ++++++++++++++-------------- battle/battle_item.c | 334 +++---- battle/battle_magic.c | 1485 +++++++++++++-------------- battle/pet_skill.c | 412 ++++---- battle/profession_skill.c | 450 ++++----- char/addressbook.c | 168 ++-- char/char.c | 1984 ++++++++++++++++++------------------- char/char_angel.c | 182 ++-- char/char_base.c | 522 +++++----- char/char_data.c | 246 ++--- char/char_event.c | 16 +- char/char_item.c | 600 +++++------ char/char_party.c | 130 +-- char/char_talk.c | 756 +++++++------- char/char_walk.c | 184 ++-- char/chatmagic.c | 966 +++++++++--------- char/chatroom.c | 50 +- char/defaultGroundEnemy.h | 12 +- char/defaultPlayer.h | 126 +-- char/encount.c | 278 +++--- char/enemy.c | 320 +++--- char/event.c | 8 +- char/family.c | 438 ++++---- char/pet.c | 398 ++++---- char/pet_event.c | 64 +- char/petmail.c | 138 +-- char/skill.c | 70 +- char/title.c | 302 +++--- char/trade.c | 328 +++--- include/char.h | 82 +- main.c | 72 +- 34 files changed, 7394 insertions(+), 7381 deletions(-) diff --git a/battle/battle.c b/battle/battle.c index c1c414c..06c0892 100644 --- a/battle/battle.c +++ b/battle/battle.c @@ -39,7 +39,7 @@ extern MY_Lua MYLua; #include "npc_autopk.h" #endif -#ifdef _PROFESSION_SKILL // WON ADD ְҵ +#ifdef _PROFESSION_SKILL // WON ADD 人物职业技能 #include "profession_skill.h" #include "skill.h" #endif @@ -78,7 +78,7 @@ char szBadStatusString[1024]; int gWeponType; float gDamageDiv; int gItemCrushRate = 400000; - +//以下在老版本未定义 char afmwar[20480]; char bfmwar[20480]; char cfmwar[20480]; @@ -92,6 +92,7 @@ int dfmwarnum = 0; int efmwarnum = 0; int ffmwarnum = 0; extern int autopkcnt; +//以上在老版本未定义 int BoomerangVsTbl[4][5] = { { 4+5*0,2+5*0,0+5*0,1+5*0,3+5*0 }, { 4+5*1,2+5*1,0+5*1,1+5*1,3+5*1 }, @@ -99,8 +100,8 @@ int BoomerangVsTbl[4][5] = { { 4+5*3,2+5*3,0+5*3,1+5*3,3+5*3 }, }; -#ifdef _OFFLINE_SYSTEM -static int offlineAttack(int battleindex,int charaindex,int side) +#ifdef _OFFLINE_SYSTEM //离线系统 +static int offlineAttack(int battleindex,int charaindex,int side) //离线攻击 { @@ -122,12 +123,12 @@ static int offlineAttack(int battleindex,int charaindex,int side) CHAR_setWorkInt( charaindex, CHAR_WORKBATTLECOM1, BATTLE_COM_BOOMERANG ); #ifdef _PETSKILL_BECOMEFOX if( CHAR_getInt( charaindex, CHAR_BASEIMAGENUMBER)==101749 - || CHAR_getWorkInt( charaindex, CHAR_WORKFOXROUND ) != -1 ){ //DZС겻ʹû + || CHAR_getWorkInt( charaindex, CHAR_WORKFOXROUND ) != -1 ){ //若是变成小狐狸不可以使用回力标 CHAR_setWorkInt( charaindex, CHAR_WORKBATTLECOM1, BATTLE_COM_NONE ); } #endif #ifdef _PETSKILL_BECOMEPIG - if( CHAR_getInt( charaindex, CHAR_BECOMEPIG) > -1 ){// + if( CHAR_getInt( charaindex, CHAR_BECOMEPIG) > -1 ){//变成乌力了 CHAR_setWorkInt( charaindex, CHAR_WORKBATTLECOM1, BATTLE_COM_ATTACK ); } #endif @@ -139,7 +140,7 @@ static int offlineAttack(int battleindex,int charaindex,int side) return 1; } -static int offlineRecovery(int battleindex,int charaindex,int HP) +static int offlineRecovery(int battleindex,int charaindex,int HP) //离线恢复 { @@ -154,7 +155,7 @@ static int offlineRecovery(int battleindex,int charaindex,int HP) } -void OffLineCommand(int battleindex,int charaindex,int side) +void OffLineCommand(int battleindex,int charaindex,int side) //离线指令 { side = 1 - side; //test if(CHAR_getInt( charaindex, CHAR_WHICHTYPE ) == CHAR_TYPEPLAYER){ @@ -180,6 +181,8 @@ void OffLineCommand(int battleindex,int charaindex,int side) } #endif +//以上离线功能老版本未加入 + void BATTLE_BadStatusAllClr( int charaindex ) { int i ; @@ -220,18 +223,18 @@ void BATTLE_BadStatusAllClr( int charaindex ) ch = CHAR_getCharPointer( charaindex); if( ch == NULL ) return; strcpysafe( ch->charfunctable[CHAR_BATTLEPROPERTY].string, - sizeof( ch->charfunctable[CHAR_BATTLEPROPERTY]), "");//ս + sizeof( ch->charfunctable[CHAR_BATTLEPROPERTY]), "");//战斗 CHAR_constructFunctable( charaindex); } #endif -#ifdef _PROFESSION_SKILL // WON ADD ְҵ +#ifdef _PROFESSION_SKILL // WON ADD 人物职业技能 CHAR_setWorkInt( charaindex, CHAR_MYSKILLHIT, 0 ); CHAR_setWorkInt( charaindex, CHAR_WORK_P_DUCK, 0 ); CHAR_setWorkInt( charaindex, CHAR_WORKMOD_P_DUCK, 0 ); - CHAR_setWorkInt( charaindex, CHAR_WORK_WEAPON, 0 ); // ר + CHAR_setWorkInt( charaindex, CHAR_WORK_WEAPON, 0 ); // 武器专精 - // 翹 + // 火冰电抗性 for( i=0; i<3; i++) CHAR_setWorkInt( charaindex, CHAR_WORK_F_RESIST+i, 0/*CHAR_getInt( charaindex, PROFESSION_FIRE_R+i )*/ ); @@ -251,7 +254,7 @@ void BATTLE_BadStatusAllClr( int charaindex ) } -int BATTLE_getTopBattle( int battleindex ) +int BATTLE_getTopBattle( int battleindex ) //老版本定义函数 { BATTLE *pBattleTop; @@ -271,7 +274,7 @@ int BATTLE_getTopBattle( int battleindex ) } } -static int BATTLE_getBattleFieldNo( int floor, int x, int y ) +static int BATTLE_getBattleFieldNo( int floor, int x, int y ) //老版本定义函数 { int tile[2], map[3], iRet; if( !MAP_getTileAndObjData( floor, x, y, &tile[0], &tile[1] ) ) @@ -283,7 +286,7 @@ static int BATTLE_getBattleFieldNo( int floor, int x, int y ) return iRet; } -void BATTLE_BadStatusString( int defNo, int status ) +void BATTLE_BadStatusString( int defNo, int status ) //老版本定义函数 { char szWork[256]; if( status < 1 || status >= BATTLE_ST_END ){ @@ -308,7 +311,7 @@ static int CharTableIdx[20][2] = typedef int ( *FUNCSORTLOC )( const void* , const void* ); -static int SortLoc( const int *pEle1 , const int *pEle2 ) +static int SortLoc( const int *pEle1 , const int *pEle2 ) //老版本定义函数,功能未明 { int ele1basex , ele1basey; int ele2basex , ele2basey; @@ -322,7 +325,7 @@ static int SortLoc( const int *pEle1 , const int *pEle2 ) if( ele1basey != ele2basey ) return ( ele1basey - ele2basey ); return ( ele1basex - ele2basex ); - }else{ // · + }else{ // 右下方 if( ele1basey != ele2basey ) return ( ele2basey - ele1basey ); return ( ele2basex - ele1basey ); @@ -335,39 +338,39 @@ int BATTLE_MultiList( int battleindex, int toNo, int ToList[] ) { int j , i , cnt=0,nLife = 0,nLifeArea[10]; #ifdef _ATTACK_MAGIC - // ˹ + // 单人攻击 if(0 <= toNo && toNo <= 19){ memset(nLifeArea,-1,sizeof(nLifeArea)); - // · + // 如果被攻击者是右下方的人 if(toNo >= 0 && toNo <= 9){ for(i=0;i<10;i++){ - // ȷŵ,¼ŵ˵ĺ + // 确定活着的人数,并记录活着的人的号码 if(BATTLE_TargetCheck(battleindex,i) == TRUE) nLifeArea[nLife++] = i; } } - // Ϸ + // 如果被攻击者是左上方的人 if(toNo >= 10 && toNo <= 19){ for(i=10;i<20;i++){ - // ȷŵ,¼ŵ˵ĺ + // 确定活着的人数,并记录活着的人的号码 if(BATTLE_TargetCheck(battleindex,i) == TRUE) nLifeArea[nLife++] = i; } } - // ȫ(Ȼ̫,..) + // 全死(虽然不太可能,但..) if(nLife == 0){ //print("\nAll die!!"); return -1; }else{ - // ĶѾս + // 被攻击的对象已经死亡或不在战场上 if(BATTLE_TargetCheck(battleindex,toNo) == FALSE) - // һֻ + // 随机找一只来打 while((toNo = nLifeArea[rand()%10]) == -1); } ToList[0] = toNo; ToList[1] = -1; cnt = 1; } - // һй + // 右下後一列攻击 else if( TARGET_SIDE_0_B_ROW == toNo ){ for( j = 0 , i = 0 ; i < SIDE_OFFSET / 2 ; i++ ){ if( TRUE == BATTLE_TargetCheck( battleindex , i ) ){ @@ -377,9 +380,9 @@ int BATTLE_MultiList( int battleindex, int toNo, int ToList[] ) } ToList[j] = -1; cnt = j; - // һŶû˿Դ + // 如果这一排都没有人可以打 if(j == 0){ - // ǰһ + // 换前一排 for( j = 0 , i = SIDE_OFFSET / 2 ; i < SIDE_OFFSET ; i++ ){ if( TRUE == BATTLE_TargetCheck( battleindex , i ) ){ ToList[j] = i; @@ -388,12 +391,12 @@ int BATTLE_MultiList( int battleindex, int toNo, int ToList[] ) } ToList[j] = -1; cnt = j; - // ȫ + // 如果全死 if(j == 0) return -1; toNo = TARGET_SIDE_0_F_ROW; } } - // ǰһй + // 右下前一列攻击 else if( TARGET_SIDE_0_F_ROW == toNo ) { for( j = 0 , i = SIDE_OFFSET / 2 ; i < SIDE_OFFSET ; i++ ) @@ -406,10 +409,10 @@ int BATTLE_MultiList( int battleindex, int toNo, int ToList[] ) } ToList[j] = -1; cnt = j; - // һŶû˿Դ + // 如果这一排都没有人可以打 if(j == 0) { - // һ + // 换後一排 for( j = 0 , i = 0 ; i < SIDE_OFFSET / 2 ; i++ ) { if( TRUE == BATTLE_TargetCheck( battleindex , i ) ) @@ -420,12 +423,12 @@ int BATTLE_MultiList( int battleindex, int toNo, int ToList[] ) } ToList[j] = -1; cnt = j; - // ȫ + // 如果全死 if(j == 0) return -1; toNo = TARGET_SIDE_0_B_ROW; } } - // һй + // 左下後一列攻击 else if( TARGET_SIDE_1_B_ROW == toNo ) { for( j = 0 , i = SIDE_OFFSET ; i < SIDE_OFFSET + SIDE_OFFSET / 2 ; i++ ) @@ -438,10 +441,10 @@ int BATTLE_MultiList( int battleindex, int toNo, int ToList[] ) } ToList[j] = -1; cnt = j; - // һŶû˿Դ + // 如果这一排都没有人可以打 if(j == 0) { - // ǰһ + // 换前一排 for( j = 0 , i = SIDE_OFFSET + SIDE_OFFSET / 2 ; i < SIDE_OFFSET * 2 ; i++ ) { if( TRUE == BATTLE_TargetCheck( battleindex , i ) ) @@ -452,12 +455,12 @@ int BATTLE_MultiList( int battleindex, int toNo, int ToList[] ) } ToList[j] = -1; cnt = j; - // ȫ + // 如果全死 if(j == 0) return -1; toNo = TARGET_SIDE_1_F_ROW; } } - // ǰһй + // 左上前一列攻击 else if( TARGET_SIDE_1_F_ROW == toNo ) { for( j = 0 , i = SIDE_OFFSET + SIDE_OFFSET / 2 ; i < SIDE_OFFSET * 2 ; i++ ) @@ -470,10 +473,10 @@ int BATTLE_MultiList( int battleindex, int toNo, int ToList[] ) } ToList[j] = -1; cnt = j; - // һŶû˿Դ + // 如果这一排都没有人可以打 if(j == 0) { - // һ + // 换後一排 for( j = 0 , i = SIDE_OFFSET ; i < SIDE_OFFSET + SIDE_OFFSET / 2 ; i++ ) { if( TRUE == BATTLE_TargetCheck( battleindex , i ) ) @@ -484,12 +487,12 @@ int BATTLE_MultiList( int battleindex, int toNo, int ToList[] ) } ToList[j] = -1; cnt = j; - // ȫ + // 如果全死 if(j == 0) return -1; toNo = TARGET_SIDE_1_B_ROW; } } - // ·й + // 右下方所有攻击 else if( TARGET_SIDE_0 == toNo ) { //print("BATTLE_MultiList(20)toNo->%d\n",toNo); @@ -505,7 +508,7 @@ int BATTLE_MultiList( int battleindex, int toNo, int ToList[] ) ToList[j] = -1; cnt = j; } - // Ϸй + // 左上方所有攻击 else if( toNo == TARGET_SIDE_1 ) { for( j = 0 , i = SIDE_OFFSET ; i < SIDE_OFFSET * 2 ; i++ ) @@ -520,7 +523,7 @@ int BATTLE_MultiList( int battleindex, int toNo, int ToList[] ) ToList[j] = -1; cnt = j; } - // ˹ + // 所有人攻击 else if( toNo == TARGET_ALL ){ #ifdef _FIX_ARRAYBUG for( j = 0 , i = 0 ; i < SIDE_OFFSET * 2 ; i++ ){ @@ -534,7 +537,7 @@ int BATTLE_MultiList( int battleindex, int toNo, int ToList[] ) } ToList[i] = -1; cnt = j; - // won add ǰŹ + // won add 前後排攻击 }else if( toNo == TARGER_THROUGH ){ int toNo2=-1, count=0; @@ -626,7 +629,7 @@ int BATTLE_MultiList( int battleindex, int toNo, int ToList[] ) #endif } -void BATTLE_MultiListDead( int battleindex, int toNo, int ToList[] ) +void BATTLE_MultiListDead( int battleindex, int toNo, int ToList[] ) //老版本定义函数 { int j, i; if( 0 <= toNo && toNo <= 19 ){ @@ -667,7 +670,7 @@ void BATTLE_MultiListDead( int battleindex, int toNo, int ToList[] ) j ++ ; } } -#ifdef _FIX_ITEMRELIFE // WON ADD +#ifdef _FIX_ITEMRELIFE // WON ADD 修正替身娃娃问题 ToList[j] = -1; #else ToList[i] = -1; @@ -679,7 +682,7 @@ void BATTLE_MultiListDead( int battleindex, int toNo, int ToList[] ) } } -BOOL BATTLE_IsThrowWepon( int itemindex){ +BOOL BATTLE_IsThrowWepon( int itemindex){ //老版本定义函数 int itemtype; if( ITEM_CHECKINDEX( itemindex ) == FALSE ){ return FALSE; @@ -695,7 +698,7 @@ BOOL BATTLE_IsThrowWepon( int itemindex){ } } -int BATTLE_ClearGetExp( int charaindex ) +int BATTLE_ClearGetExp( int charaindex ) //老版本定义函数 { int i, pindex; @@ -713,7 +716,7 @@ int BATTLE_ClearGetExp( int charaindex ) return 0; } -INLINE void _BATTLE_ExitAll( char *file, int line, int battleindex) +INLINE void _BATTLE_ExitAll( char *file, int line, int battleindex) //老版本定义函数 { int j,i, charaindex; for( j = 0; j < 2; j ++ ){ @@ -727,7 +730,7 @@ INLINE void _BATTLE_ExitAll( char *file, int line, int battleindex) } } -void BATTLE_AllCharaFinishSet( int battleindex ) +void BATTLE_AllCharaFinishSet( int battleindex ) //老版本定义函数 { int j,i, charaindex; for( j = 0; j < 2; j ++ ){ @@ -740,7 +743,7 @@ void BATTLE_AllCharaFinishSet( int battleindex ) } } -BOOL BATTLE_IsCharge( int charaindex ) +BOOL BATTLE_IsCharge( int charaindex ) //老版本定义函数 { int com; com = CHAR_getWorkInt( charaindex, CHAR_WORKBATTLECOM1 ); @@ -756,7 +759,7 @@ BOOL BATTLE_IsCharge( int charaindex ) return FALSE; } -void BATTLE_AllCharaCWaitSet( int battleindex ) +void BATTLE_AllCharaCWaitSet( int battleindex ) //老版本定义函数 { int j,i, charaindex; for( j = 0; j < 2; j ++ ){ @@ -775,7 +778,7 @@ void BATTLE_AllCharaCWaitSet( int battleindex ) } } -void BATTLE_AllCharaWatchWaitSet( int battleindex ) +void BATTLE_AllCharaWatchWaitSet( int battleindex ) //老版本定义函数 { int i, charaindex; for( i = 0; i < BATTLE_ENTRY_MAX; i ++ ){ @@ -791,7 +794,7 @@ void BATTLE_AllCharaWatchWaitSet( int battleindex ) } } -void BATTLE_SurpriseSet( +void BATTLE_SurpriseSet( //老版本定义函数 int battleindex, int side ) @@ -813,7 +816,7 @@ void BATTLE_SurpriseSet( } -BOOL BATTLE_initBattleArray( +BOOL BATTLE_initBattleArray( //老版本定义函数 int battlenum ) { @@ -826,7 +829,7 @@ BOOL BATTLE_initBattleArray( for( i = 0 ; i < BATTLE_battlenum ; i ++ ){ memset( &BattleArray[i], 0 , sizeof( BATTLE )); } - print(" %4.2f MB ռ...", ((float)sizeof( Char )*BATTLE_battlenum)/1024.0/1024.0); + print("分配 %4.2f MB 空间...", ((float)sizeof( Char )*BATTLE_battlenum)/1024.0/1024.0); strcpy(afmwar,"-1,"); strcpy(bfmwar,"-1,"); strcpy(cfmwar,"-1,"); @@ -835,7 +838,7 @@ BOOL BATTLE_initBattleArray( } -static void EntryInit( BATTLE_ENTRY *pEntry ){ +static void EntryInit( BATTLE_ENTRY *pEntry ){ //老版本定义函数 int i; pEntry->charaindex = -1; pEntry->bid = -1; @@ -845,7 +848,7 @@ static void EntryInit( BATTLE_ENTRY *pEntry ){ } } -int BATTLE_CreateBattle( int charaindex ) +int BATTLE_CreateBattle( int charaindex ) //老版本定义函数参数是void { int battleindex, i, j; BATTLE *pBattle; @@ -881,7 +884,7 @@ int BATTLE_CreateBattle( int charaindex ) pBattle->PartTime = 0; #endif #ifdef _PROFESSION_ADDSKILL - // + //冰爆术存放 /* pBattle->ice_count = 0; for( i = 0; i < 20; i ++ ){ pBattle->ice_bout[i]=0; @@ -900,7 +903,7 @@ int BATTLE_CreateBattle( int charaindex ) return battleindex; } -static int BATTLE_SearchTask( void ) +static int BATTLE_SearchTask( void ) //老版本定义函数 { int i, j; i = BATTLE_searchCnt; @@ -916,7 +919,7 @@ static int BATTLE_SearchTask( void ) return -1; } -void BATTLE_DeleteItem( int battleindex ) +void BATTLE_DeleteItem( int battleindex ) //老版本定义函数 { int i, j, k; BATTLE_ENTRY *pEntry; @@ -926,7 +929,7 @@ void BATTLE_DeleteItem( int battleindex ) pEntry = &BattleArray[battleindex].Side[j].Entry[i]; for( k = 0; k < GETITEM_MAX; k ++ ){ if( pEntry->getitem[k] >= 0 ){ -// print( "// Ѱ(ȥ)(%d),(%s)\n", pEntry->getitem[k], ITEM_getAppropriateName(pEntry->getitem[k]) ); +// print( "// 找寻(消去)道具(%d),(%s)\n", pEntry->getitem[k], ITEM_getAppropriateName(pEntry->getitem[k]) ); ITEM_endExistItemsOne( pEntry->getitem[k] ); } } @@ -935,7 +938,7 @@ void BATTLE_DeleteItem( int battleindex ) } -int BATTLE_DeleteBattle( +int BATTLE_DeleteBattle( //老版本定义函数 int battleindex ) { @@ -946,7 +949,7 @@ int BATTLE_DeleteBattle( return BATTLE_ERR_BATTLEINDEX; } if( BATTLE_WatchUnLink( battleindex ) == FALSE ){ - //fprint( "err:battle link \n" ); + //fprint( "err:battle link 不脱离\n" ); } pBattle = &BattleArray[battleindex]; @@ -1011,7 +1014,7 @@ int BATTLE_DeleteBattle( } -int BATTLE_No2Index( +int BATTLE_No2Index( //老版本定义函数 int battleindex, int bid ) @@ -1033,7 +1036,7 @@ int BATTLE_No2Index( } #ifdef _Item_ReLifeAct -int BATTLE_getBattleDieIndex( int battleindex, int bid ) +int BATTLE_getBattleDieIndex( int battleindex, int bid ) //老版本定义函数 { BATTLE_ENTRY *pEntry; @@ -1055,7 +1058,8 @@ int BATTLE_getBattleDieIndex( int battleindex, int bid ) #endif #ifdef _PROFESSION_ADDSKILL -BOOL BATTLE_BattleUltimate( int battleindex, int bid ) //λDǷ񱻴 +//老版本定义函数 +BOOL BATTLE_BattleUltimate( int battleindex, int bid ) //检查此位罝上是否被打飞 { BATTLE_ENTRY *pEntry; if( BATTLE_CHECKINDEX( battleindex ) == FALSE )return FALSE; @@ -1071,7 +1075,7 @@ BOOL BATTLE_BattleUltimate( int battleindex, int bid ) // } #endif -int BATTLE_Index2No( +int BATTLE_Index2No( //老版本定义函数 int battleindex, int charaindex ) @@ -1096,7 +1100,7 @@ int BATTLE_Index2No( } -char *BATTLE_CharTitle( int charaindex ) +char *BATTLE_CharTitle( int charaindex ) //老版本定义函数 { char *pName; static char Len0Buff[2] = ""; @@ -1113,7 +1117,7 @@ char *BATTLE_CharTitle( int charaindex ) } -int BATTLE_CharaBackUp( int battleindex ) +int BATTLE_CharaBackUp( int battleindex ) //老版本定义函数 { int i, j, k, charaindex; BATTLE *pBattle; @@ -1148,7 +1152,7 @@ int BATTLE_CharaBackUp( int battleindex ) -int BATTLE_NewEntry( +int BATTLE_NewEntry( //老版本定义函数 int charaindex, int battleindex, int side @@ -1228,7 +1232,7 @@ int BATTLE_NewEntry( break; #endif default: - //print( "(%s)(%d)\n", + //print( "不明(%s)(%d)\n", //CHAR_getUseName( charaindex ), //CHAR_getInt( charaindex, CHAR_WHICHTYPE ) ); return BATTLE_ERR_TYPE; @@ -1293,29 +1297,29 @@ int BATTLE_NewEntry( CHAR_setWorkInt( charaindex, CHAR_WORKBATTLEWATCH, 0 ); -#ifdef _PROFESSION_SKILL // WON ADD ְҵ - CHAR_setWorkInt( charaindex, CHAR_WORKTRAP, 0 ); // +#ifdef _PROFESSION_SKILL // WON ADD 人物职业技能 + CHAR_setWorkInt( charaindex, CHAR_WORKTRAP, 0 ); //陷阱 BATTLE_ProfessionStatus_init( battleindex, charaindex ); #endif #ifdef _PETSKILL_ACUPUNCTURE - CHAR_setWorkInt( charaindex, CHAR_WORKACUPUNCTURE, 0 );//Ƥ + CHAR_setWorkInt( charaindex, CHAR_WORKACUPUNCTURE, 0 );//针刺外皮 #endif #ifdef _PETSKILL_RETRACE - CHAR_setWorkInt( charaindex, CHAR_WORKRETRACE, 0 );//׷ + CHAR_setWorkInt( charaindex, CHAR_WORKRETRACE, 0 );//追迹攻击 #endif -#ifdef _PETSKILL_BECOMEFOX //ĻʱΪ-1 +#ifdef _PETSKILL_BECOMEFOX //将媚惑术中招时间清除为-1 CHAR_setWorkInt( charaindex, CHAR_WORKFOXROUND, -1 ); #endif #ifdef _PROFESSION_ADDSKILL - // + //结界清除 CHAR_setWorkInt( charaindex, CHAR_WORKFIXEARTHAT_BOUNDARY, 0 ); CHAR_setWorkInt( charaindex, CHAR_WORKFIXWATERAT_BOUNDARY, 0 ); CHAR_setWorkInt( charaindex, CHAR_WORKFIXFIREAT_BOUNDARY, 0 ); CHAR_setWorkInt( charaindex, CHAR_WORKFIXWINDAT_BOUNDARY, 0 ); - CHAR_setWorkInt( charaindex, CHAR_DOOMTIME, 0 );//ĩռ + CHAR_setWorkInt( charaindex, CHAR_DOOMTIME, 0 );//世界末日集气 CHAR_setWorkInt( charaindex, CHAR_WORK_com1, 0 ); CHAR_setWorkInt( charaindex, CHAR_WORK_toNo, 0 ); CHAR_setWorkInt( charaindex, CHAR_WORK_mode, 0 ); @@ -1352,7 +1356,7 @@ INLINE int _BATTLE_Exit( char *file, int line, int charaindex ,int battleindex) time_t timep; struct tm *p; time(&timep); - p=localtime(&timep); /*ȡõʱ*/ + p=localtime(&timep); /*取得当地时间*/ timep=mktime(p); CHAR_setWorkInt(charaindex,CHAR_WORKBALLTELENDTIME,timep); } @@ -1377,16 +1381,16 @@ INLINE int _BATTLE_Exit( char *file, int line, int charaindex ,int battleindex) // CHAR_setWorkInt(charaindex,CHAR_WORKLISTPAGE,0); //#endif #ifdef _PROFESSION_ADDSKILL - CHAR_setWorkInt( charaindex, CHAR_DOOMTIME, 0 );//ĩռ + CHAR_setWorkInt( charaindex, CHAR_DOOMTIME, 0 );//世界末日集气 #endif -#ifdef _PETSKILL_BECOMEFOX // 뿪սʱĻɵıЧ - //print("\nͼ:%s,%d", CHAR_getChar( charaindex, CHAR_NAME), CHAR_getInt( charaindex, CHAR_BASEIMAGENUMBER)); +#ifdef _PETSKILL_BECOMEFOX // 离开战斗时将媚惑术造成的变身效果清除 + //print("\n检查图号:%s,%d", CHAR_getChar( charaindex, CHAR_NAME), CHAR_getInt( charaindex, CHAR_BASEIMAGENUMBER)); if( CHAR_getInt( charaindex, CHAR_BASEIMAGENUMBER)==101749 - || CHAR_getWorkInt( charaindex, CHAR_WORKFOXROUND ) != -1 ){ //С + || CHAR_getWorkInt( charaindex, CHAR_WORKFOXROUND ) != -1 ){ //变成小狐狸 CHAR_setInt( charaindex, CHAR_BASEIMAGENUMBER, CHAR_getInt( charaindex, CHAR_BASEBASEIMAGENUMBER) ); CHAR_setWorkInt( charaindex, CHAR_WORKFOXROUND, -1); - //print("\nȥ:%d",CHAR_getInt( charaindex, CHAR_BASEIMAGENUMBER)); + //print("\n变回去:%d",CHAR_getInt( charaindex, CHAR_BASEIMAGENUMBER)); } #endif @@ -1411,7 +1415,7 @@ INLINE int _BATTLE_Exit( char *file, int line, int charaindex ,int battleindex) if(mymap == getMapHeal(n) && CHAR_getInt( charaindex, CHAR_WHICHTYPE ) == CHAR_TYPEPLAYER) { NPC_HealerAllHeal(charaindex); - CHAR_talkToCli( charaindex, -1, "Զָ", CHAR_COLORYELLOW); + CHAR_talkToCli( charaindex, -1, "自动恢复体力!", CHAR_COLORYELLOW); } } @@ -1419,10 +1423,10 @@ INLINE int _BATTLE_Exit( char *file, int line, int charaindex ,int battleindex) #endif -#ifdef _MAGIC_NOCAST // :Ĭ +#ifdef _MAGIC_NOCAST // 精灵:沉默 // WON ADD if( CHAR_getInt( charaindex, CHAR_WHICHTYPE ) == CHAR_TYPEPLAYER ) - lssproto_NC_send( getfdFromCharaIndex( charaindex ), 0);//ԭ + lssproto_NC_send( getfdFromCharaIndex( charaindex ), 0);//复原 #endif pBattle = &BattleArray[battleindex]; if( pBattle->use == FALSE ) @@ -1478,7 +1482,7 @@ INLINE int _BATTLE_Exit( char *file, int line, int charaindex ,int battleindex) || CHAR_getInt( charaindex, CHAR_HP ) == TRUE ) { -#ifdef _FIX_SPEED_UPLEVEL // WON ADD +#ifdef _FIX_SPEED_UPLEVEL // WON ADD 修正加速 // Robin cancel //if( CHAR_getFlg( charaindex, CHAR_ISDIE ) == TRUE ){ //}else @@ -1495,7 +1499,7 @@ INLINE int _BATTLE_Exit( char *file, int line, int charaindex ,int battleindex) //if( CHAR_getWorkInt( charaindex, CHAR_WORKFLG) & WORKFLG_DEBUGMODE ){ //}else { - CheckDefBTime( charaindex, fd, Dtimes, battletime, 10);//lowTimeӳʱ + CheckDefBTime( charaindex, fd, Dtimes, battletime, 10);//lowTime延迟时间 } } } @@ -1522,7 +1526,7 @@ INLINE int _BATTLE_Exit( char *file, int line, int charaindex ,int battleindex) //if( CHAR_getWorkInt( charaindex, CHAR_WORKFLG) & WORKFLG_DEBUGMODE ) { //}else { - CheckDefBTime( charaindex, fd, Dtimes, battletime, 0);//lowTimeӳʱ + CheckDefBTime( charaindex, fd, Dtimes, battletime, 0);//lowTime延迟时间 } } #endif @@ -1576,13 +1580,13 @@ INLINE int _BATTLE_Exit( char *file, int line, int charaindex ,int battleindex) CHAR_sendStatusString( charaindex , szPet); } #endif -#ifdef _PROFESSION_SKILL // WON ADD ְҵ - // +#ifdef _PROFESSION_SKILL // WON ADD 人物职业技能 + // 遗忘 if( CHAR_getWorkInt( petindex, CHAR_WORKOBLIVION ) > 0 ) // Robin fix { int pet_no = CHAR_getInt( charaindex, CHAR_DEFAULTPET ); CHAR_setWorkInt( petindex, CHAR_WORKOBLIVION, 0 ); - // + // 宠物编号 sprintf( szPet, "W%d", pet_no); CHAR_sendStatusString( charaindex , szPet); } @@ -1638,10 +1642,10 @@ INLINE int _BATTLE_Exit( char *file, int line, int charaindex ,int battleindex) char msg[1024]; if( tickettime > 0 && tickettime < nowtime ) { //int floor, x, y; - CHAR_talkToCli( charaindex, -1, "ллˡ", CHAR_COLORYELLOW); + CHAR_talkToCli( charaindex, -1, "谢谢光顾。", CHAR_COLORYELLOW); if( CHAR_getWorkInt( charaindex, CHAR_WORKTICKETTIMESTART) > 0 ) { totaltime = nowtime - CHAR_getWorkInt( charaindex, CHAR_WORKTICKETTIMESTART); - sprintf( msg, "볡ʱ%d%d롣", totaltime/60, totaltime%60); + sprintf( msg, "总入场时间%d分%d秒。", totaltime/60, totaltime%60); CHAR_talkToCli( charaindex, -1, msg, CHAR_COLORYELLOW); } CHAR_setWorkInt( charaindex, CHAR_WORKTICKETTIME, 0); @@ -1656,7 +1660,7 @@ INLINE int _BATTLE_Exit( char *file, int line, int charaindex ,int battleindex) } } #endif - //51000ͼս󷵻ؼ¼ + //51000地图战斗后返回记录点 if(CHAR_getInt( charaindex, CHAR_WHICHTYPE ) == CHAR_TYPEPLAYER && CHAR_getInt( charaindex, CHAR_FLOOR )==51000){ int floor = 0, x = 0, y = 0; CHAR_getElderPosition( CHAR_getInt( charaindex, CHAR_LASTTALKELDER), &floor, &x, &y ); @@ -1771,7 +1775,7 @@ int BATTLE_RescueEntry( int charaindex, int toindex ) if( !BATTLE_CHECKINDEX( battleindex) ) return 1; if( ( fd = getfdFromCharaIndex(charaindex) ) < 0 ) return 1; - //BUG + //组队BUG int pi; for( pi = 0; pi < CHAR_PARTYMAX; pi ++ ) { int index = CHAR_getWorkInt( toindex, pi + CHAR_WORKPARTYINDEX1); @@ -1812,7 +1816,7 @@ int BATTLE_RescueEntry( int charaindex, int toindex ) if(ip==toip){ ipcnt++; if(ipcnt>sameipnum){ - CHAR_talkToCli( charaindex, -1, "˵ͼĵIPѴޡ", CHAR_COLORYELLOW); + CHAR_talkToCli( charaindex, -1, "此地图允许的单IP组队已达上限。", CHAR_COLORYELLOW); return 1; } else @@ -1827,7 +1831,7 @@ int BATTLE_RescueEntry( int charaindex, int toindex ) if(ip==toip){ ipcnt++; if(ipcnt>sameipnum){ - CHAR_talkToCli( charaindex, -1, "˵ͼĵIPѴޡ", CHAR_COLORYELLOW); + CHAR_talkToCli( charaindex, -1, "此地图允许的单IP组队已达上限。", CHAR_COLORYELLOW); return 1; } } @@ -1856,7 +1860,7 @@ int BATTLE_RescueEntry( int charaindex, int toindex ) if(ip==toip){ ipcnt++; if(ipcnt>sameipnum){ - CHAR_talkToCli( charaindex, -1, "ͬIPѴޣ޷ս", CHAR_COLORYELLOW); + CHAR_talkToCli( charaindex, -1, "同IP组队数已达上限,无法开战。", CHAR_COLORYELLOW); return 1; } } @@ -1868,7 +1872,7 @@ int BATTLE_RescueEntry( int charaindex, int toindex ) if(ip==toip){ ipcnt++; if(ipcnt>sameipnum){ - CHAR_talkToCli( charaindex, -1, "ͬIPѴޣ޷ս", CHAR_COLORYELLOW); + CHAR_talkToCli( charaindex, -1, "同IP组队数已达上限,无法开战。", CHAR_COLORYELLOW); return 1; } } @@ -1910,7 +1914,7 @@ int BATTLE_RescueEntry( int charaindex, int toindex ) pindex = CHAR_getCharPet( charaindex, CHAR_getInt( charaindex, CHAR_DEFAULTPET ) ); CHAR_setWorkInt( pindex, CHAR_WORKBATTLEMODE, BATTLE_CHARMODE_RESCUE ); } - //snprintf( szBuffer, sizeof( szBuffer ), "(%s)ս", + //snprintf( szBuffer, sizeof( szBuffer ), "(%s)加入作战。", // CHAR_getUseName( charaindex ) ); //BATTLE_BroadCast( battleindex, szBuffer, CHAR_COLORYELLOW ); if( ( fd = getfdFromCharaIndex(charaindex) ) != -1 ){ @@ -1924,7 +1928,7 @@ int BATTLE_RescueEntry( int charaindex, int toindex ) BATTLE_Index2No( battleindex, charaindex ), BP_FLG_JOIN, CHAR_getInt(charaindex, CHAR_MP ) ); BATTLE_CommandSend( charaindex, szBuffer ); }else{ - snprintf( szBuffer, sizeof( szBuffer ), "޷ս" ); + snprintf( szBuffer, sizeof( szBuffer ), "无法参战。" ); CHAR_talkToCli( charaindex, -1, szBuffer, CHAR_COLORYELLOW); if( ( fd = getfdFromCharaIndex(charaindex) ) != -1 ){ lssproto_EN_send( fd, FALSE, BattleArray[battleindex].field_no ); @@ -1946,10 +1950,10 @@ BOOL BATTLE_RescueTry( int charaindex) fd = getfdFromCharaIndex( charaindex); if( fd == -1 ) return FALSE; -#if 1 // òսظս Robin +#if 1 // 修正利用参战重复加入战斗 Robin if( CHAR_getWorkInt( charaindex, CHAR_WORKBATTLEMODE) != BATTLE_CHARMODE_NONE) { - CHAR_talkToCli( charaindex, -1, " ظս! ", CHAR_COLORRED); - //print("\n ķ!!ظս!:%s ", CHAR_getChar( charaindex, CHAR_CDKEY) ); + CHAR_talkToCli( charaindex, -1, " 重复加入战斗! ", CHAR_COLORRED); + //print("\n 改封包!!重复加入战斗!:%s ", CHAR_getChar( charaindex, CHAR_CDKEY) ); //lssproto_EN_send( fd, FALSE, 0 ); return FALSE; } @@ -2013,14 +2017,14 @@ BOOL BATTLE_RescueTry( int charaindex) } if( cnt == 0 ) { if( pfound == FALSE ) { - CHAR_talkToCli( charaindex, -1, "ûκˡ", + CHAR_talkToCli( charaindex, -1, "那里没有任何人。", CHAR_COLORYELLOW); } lssproto_EN_send( fd, FALSE, 0 ); }else if( cnt == 1 ) { if( BATTLE_RescueEntry( charaindex, CONNECT_getBattlecharaindex(fd,0) ) ){ - CHAR_talkToCli( charaindex, -1, "޷ս", CHAR_COLORYELLOW); + CHAR_talkToCli( charaindex, -1, "无法参战。", CHAR_COLORYELLOW); }else { result = TRUE; } @@ -2028,7 +2032,7 @@ BOOL BATTLE_RescueTry( int charaindex) int strlength; char msgbuf[1024]; char escapebuf[2048]; - strcpysafe( msgbuf,sizeof(msgbuf), "1\n˭սأ\n"); + strcpysafe( msgbuf,sizeof(msgbuf), "1\n加入谁的战斗呢?\n"); strlength = strlen( msgbuf); for( i = 0; CONNECT_getBattlecharaindex( fd,i ) != -1 @@ -2037,7 +2041,7 @@ BOOL BATTLE_RescueTry( int charaindex) char buf[256]; snprintf( buf, sizeof( buf),"%s\n", a); if( strlength + strlen( buf) > arraysizeof( msgbuf)){ - //print( "\nerr:%s:%d ӴѶϢ岻\n", + //print( "\nerr:%s:%d 视窗的讯息缓冲不足\n", //__FILE__,__LINE__); break; } @@ -2072,7 +2076,7 @@ BOOL BATTLE_RescueParentTry( int charaindex, int pindex) result = TRUE; } if( result == FALSE ) { - CHAR_talkToCli( charaindex, -1, "޷ս", CHAR_COLORYELLOW); + CHAR_talkToCli( charaindex, -1, "无法参战。", CHAR_COLORYELLOW); } return result; } @@ -2160,7 +2164,7 @@ int BATTLE_WatchNewEntry( iEntryMax = BATTLE_PLAYER_MAX; break; default: - //print( "(%s)(%d)\n", + //print( "不明(%s)(%d)\n", //CHAR_getUseName( charaindex ), //CHAR_getInt( charaindex, CHAR_WHICHTYPE ) ); return BATTLE_ERR_TYPE; @@ -2267,7 +2271,7 @@ int BATTLE_WatchEntry( iRet = BATTLE_CreateForWatcher( charaindex, battleindex ); } if( iRet == 0 ){ - //snprintf( szBuffer, sizeof( szBuffer ), "(%s)ʼս", + //snprintf( szBuffer, sizeof( szBuffer ), "(%s)开始观战。", // CHAR_getUseName( charaindex ) ); //BATTLE_BroadCast( battleindex, szBuffer, CHAR_COLORYELLOW ); @@ -2280,7 +2284,7 @@ int BATTLE_WatchEntry( BATTLE_CommandSend( charaindex, szBuffer ); }else{ - snprintf( szBuffer, sizeof( szBuffer ), "޷ս" ); + snprintf( szBuffer, sizeof( szBuffer ), "无法观战。" ); CHAR_talkToCli( charaindex, -1, szBuffer, CHAR_COLORYELLOW); if( ( fd = getfdFromCharaIndex(charaindex) ) != -1 ){ @@ -2310,23 +2314,24 @@ BOOL BATTLE_WatchTry( int charaindex ) for( i = 0; i < CONNECT_WINDOWBUFSIZE ; i ++ ) { CONNECT_setBattlecharaindex( fd,i,-1); } + /* 目の前の座標を得る */ CHAR_getCoordinationDir( CHAR_getInt( charaindex, CHAR_DIR ) , CHAR_getInt( charaindex , CHAR_X ), CHAR_getInt( charaindex , CHAR_Y ) , 1 , &x , &y ); cnt = 0; - /*м 󡼰ƽҷë */ + /*自分の目の前のキャラを取得する */ for( object = MAP_getTopObj( CHAR_getInt( charaindex, CHAR_FLOOR),x,y) ; object ; object = NEXT_OBJECT(object ) ) { int toindex; int objindex = GET_OBJINDEX(object); - /* ƽҷԪئ */ + /* キャラクターじゃない */ if( OBJECT_getType( objindex) != OBJTYPE_CHARA) continue; toindex = OBJECT_getIndex( objindex); - /* Ԫئ */ + /* プレイヤーじゃない */ if( CHAR_getInt( toindex, CHAR_WHICHTYPE) != CHAR_TYPEPLAYER #ifdef _PLAYER_NPC && CHAR_getInt( toindex, CHAR_WHICHTYPE) != CHAR_TYPEPLAYERNPC @@ -2334,7 +2339,7 @@ BOOL BATTLE_WatchTry( int charaindex ) // && CHAR_getInt( toindex, CHAR_WHICHTYPE) != CHAR_TYPEPLAYERNPC ) continue; pfound = TRUE; - /* ƥئئݳ */ + /* 戦闘中でないなら次へ */ if( CHAR_getWorkInt( toindex, CHAR_WORKBATTLEMODE) == BATTLE_CHARMODE_NONE ){ continue; } @@ -2345,13 +2350,13 @@ BOOL BATTLE_WatchTry( int charaindex ) } if( cnt == 0 ) { if( pfound == FALSE ) { - CHAR_talkToCli( charaindex, -1, "ûκˡ", + CHAR_talkToCli( charaindex, -1, "那里没有任何人。", CHAR_COLORYELLOW); } - // ľئʻ + // だれもいなくて観戦失敗 lssproto_EN_send( fd, FALSE, 0 ); } - /* ƾئ޼ */ + /* 1人しかいない場合はエントリーさせる */ else if( cnt == 1 ) { if( BATTLE_WatchEntry( charaindex,CONNECT_getBattlecharaindex(fd,0)) ) { @@ -2360,15 +2365,15 @@ BOOL BATTLE_WatchTry( int charaindex ) result = TRUE; } } - /* ūëƻ */ + /* 複数人いたらウィンドウを出して問い合わせる */ else if( cnt > 1 ) { int strlength; char msgbuf[1024]; char escapebuf[2048]; - strcpysafe( msgbuf,sizeof(msgbuf), "1\nۿ˭սأ\n"); + strcpysafe( msgbuf,sizeof(msgbuf), "1\n观看谁的战斗呢?\n"); strlength = strlen( msgbuf); - /* ū - * ƽҷ¼ + /* ウィンドウのメッセージ作成。 + * 戦闘中のキャラの一覧 */ for( i = 0; CONNECT_getBattlecharaindex( fd,i ) != -1 @@ -2380,7 +2385,7 @@ BOOL BATTLE_WatchTry( int charaindex ) char buf[256]; snprintf( buf, sizeof( buf),"%s\n", a); if( strlength + strlen( buf) > arraysizeof( msgbuf)){ - //print( "\nerr:%s:%d ӴѶϢ岻\n", + //print( "\nerr:%s:%d 视窗的讯息缓冲不足\n", //__FILE__,__LINE__); break; } @@ -2407,9 +2412,9 @@ BOOL BATTLE_WatchTry( int charaindex ) #define MAX_DOUJYOUENEMY 64 -static int DoujyouEnemyTbl[10]; // +static int DoujyouEnemyTbl[10]; // 10もいらんけど /*************************************************************** - * ƹñƽҷ + * 道場モード用に敵キャラ取得 ***************************************************************/ int *Doujyou_GetEnemy( int meindex, int charaindex ) { @@ -2422,7 +2427,7 @@ int *Doujyou_GetEnemy( int meindex, int charaindex ) NPC_Util_GetArgStr( meindex, argstr, sizeof( argstr)); - /* */ + /* 初期化 */ for( i = 0; i < arraysizeof(WorkEnemyTbl); i ++ ) { WorkEnemyTbl[i] = -1; } @@ -2434,7 +2439,7 @@ int *Doujyou_GetEnemy( int meindex, int charaindex ) } insert = 0; - /* ¦ѱ̤лؤ³ë޼ */ + /* 引数に書いてある敵をエントリーさせる */ for( i = 0; i < MAX_DOUJYOUENEMY; i ++ ) { int curEnemy; char data[128]; @@ -2449,21 +2454,21 @@ int *Doujyou_GetEnemy( int meindex, int charaindex ) WorkEnemyTbl[insert] = curEnemy; insert ++; } - // ľئվ޷¡ + // だれもいなかったらエラー if( insert <= 0 )return NULL; - // ¼ĸةɬ + // 1匹目ランダム設定 DoujyouEnemyTbl[0] = WorkEnemyTbl[RAND( 0, insert-1 )]; if( NPC_Util_GetStrFromStrWithDelim( argstr, "enemypetno", buf, sizeof( buf)) == NULL ) { - // ئ̤ئ + // いなかったら何も書かない DoujyouEnemyTbl[1] = -1; }else{ insert = 0; - /* ¦ѱ̤лؤ³ë޼ */ + /* 引数に書いてある敵をエントリーさせる */ for( i = 0; i < MAX_DOUJYOUENEMY; i ++ ) { int curEnemy; char data[128]; @@ -2478,11 +2483,11 @@ int *Doujyou_GetEnemy( int meindex, int charaindex ) WorkEnemyTbl[insert] = curEnemy; insert ++; } - // ¼ĸةɬ + // 2匹目ランダム設定 DoujyouEnemyTbl[1] = WorkEnemyTbl[RAND( 0, insert-1 )]; } - // + // 3匹目無し DoujyouEnemyTbl[2] = -1; return DoujyouEnemyTbl; @@ -2501,7 +2506,7 @@ static int DoujyouWeponTbl[] = { ITEM_BOUNDTHROW, ITEM_BREAKTHROW, }; -int DoujyouRandomWeponSet( int charaindex ){ +int DoujyouRandomWeponSet( int charaindex ){ int wepon = -1, itemindex; int work = RAND( 0, arraysizeof( DoujyouWeponTbl ) - 1 ); switch( DoujyouWeponTbl[work] ){ @@ -2602,16 +2607,16 @@ int BATTLE_CreateVsEnemyNew( int charaindex, int npcindex, int *table ) // if(CHAR_getInt( charaindex, CHAR_WHICHTYPE ) == CHAR_TYPEPLAYER) { #ifdef _STREET_VENDOR - // ̯вɽս + // 摆摊中不可进入战斗 if( CHAR_getWorkInt(charaindex,CHAR_WORKSTREETVENDOR) > -1) return BATTLE_ERR_END; #endif -#ifdef _ANGEL_SUMMON // װʹﲻ +#ifdef _ANGEL_SUMMON // 装备使者信物不遇敌 if( CHAR_getWorkInt(charaindex,CHAR_WORKANGELMODE) == TRUE ) return BATTLE_ERR_END; #endif } if( CHAR_getWorkInt( charaindex, CHAR_WORKBATTLEMODE ) != BATTLE_CHARMODE_NONE ){ - CHAR_talkToCli( charaindex, -1, "", CHAR_COLORYELLOW ); + CHAR_talkToCli( charaindex, -1, "二重遭遇。", CHAR_COLORYELLOW ); return BATTLE_ERR_ALREADYBATTLE; } battleindex = BATTLE_CreateBattle(charaindex); @@ -2694,7 +2699,7 @@ int BATTLE_CreateVsEnemyNew( int charaindex, int npcindex, int *table ) if( 100466 <= work && work <= 100471 ){ CHAR_setWorkInt( enemyindex, CHAR_WORKBATTLEFLG, CHAR_getWorkInt( enemyindex, CHAR_WORKBATTLEFLG ) | CHAR_BATTLEFLG_ABIO ); - //print( "(%s)\n", CHAR_getUseName( enemyindex ) ); + //print( "(%s)无生物\n", CHAR_getUseName( enemyindex ) ); } } @@ -2785,11 +2790,11 @@ int BATTLE_CreateVsEnemy( int charaindex, int mode, int npcindex ) if( CHAR_CHECKINDEX( charaindex ) == FALSE )return BATTLE_ERR_CHARAINDEX; #ifdef _STREET_VENDOR - // ̯вɽս + // 摆摊中不可进入战斗 if( CHAR_getWorkInt(charaindex,CHAR_WORKSTREETVENDOR) > -1) return BATTLE_ERR_END; #endif -#ifdef _ANGEL_SUMMON // װʹﲻ +#ifdef _ANGEL_SUMMON // 装备使者信物不遇敌 if( CHAR_getWorkInt(charaindex,CHAR_WORKANGELMODE) == TRUE ) return BATTLE_ERR_END; #endif @@ -2803,7 +2808,7 @@ int BATTLE_CreateVsEnemy( int charaindex, int mode, int npcindex ) #endif if( CHAR_getWorkInt( charaindex, CHAR_WORKBATTLEMODE ) != BATTLE_CHARMODE_NONE ){ - CHAR_talkToCli( charaindex, -1, "", CHAR_COLORYELLOW ); + CHAR_talkToCli( charaindex, -1, "二重遭遇。", CHAR_COLORYELLOW ); return BATTLE_ERR_ALREADYBATTLE; } #ifdef _BATTLEMAP_CTRL @@ -2814,7 +2819,7 @@ int BATTLE_CreateVsEnemy( int charaindex, int mode, int npcindex ) time_t timep; struct tm *p; time(&timep); - p=localtime(&timep); /*ȡõʱ*/ + p=localtime(&timep); /*取得当地时间*/ timep = mktime(p); if(timep-CHAR_getWorkInt(charaindex,CHAR_WORKBATTLETIME)<=getBattleTimeSec(j)){ return BATTLE_ERR_END; @@ -2914,7 +2919,7 @@ int BATTLE_CreateVsEnemy( int charaindex, int mode, int npcindex ) if( 100466 <= work && work <= 100471 ){ CHAR_setWorkInt( enemyindex, CHAR_WORKBATTLEFLG, CHAR_getWorkInt( enemyindex, CHAR_WORKBATTLEFLG ) | CHAR_BATTLEFLG_ABIO ); - //print( "(%s)\n", CHAR_getUseName( enemyindex ) ); + //print( "(%s)无生物\n", CHAR_getUseName( enemyindex ) ); } } //andy_edit 2002/10/23 @@ -3011,13 +3016,13 @@ int BATTLE_CreateVsPlayer( int charaindex0, int charaindex1 ) if( CHAR_CHECKINDEX( charaindex1 ) == FALSE )return BATTLE_ERR_CHARAINDEX; if( CHAR_getWorkInt( charaindex0, CHAR_WORKBATTLEMODE ) != BATTLE_CHARMODE_NONE ){ - CHAR_talkToCli( charaindex0, -1, "", CHAR_COLORYELLOW ); - CHAR_talkToCli( charaindex1, -1, "", CHAR_COLORYELLOW ); + CHAR_talkToCli( charaindex0, -1, "二重遭遇。", CHAR_COLORYELLOW ); + CHAR_talkToCli( charaindex1, -1, "二重遭遇。", CHAR_COLORYELLOW ); return BATTLE_ERR_ALREADYBATTLE; } if( CHAR_getWorkInt( charaindex1, CHAR_WORKBATTLEMODE ) != BATTLE_CHARMODE_NONE ){ - CHAR_talkToCli( charaindex0, -1, "", CHAR_COLORYELLOW ); - CHAR_talkToCli( charaindex1, -1, "", CHAR_COLORYELLOW ); + CHAR_talkToCli( charaindex0, -1, "二重遭遇。", CHAR_COLORYELLOW ); + CHAR_talkToCli( charaindex1, -1, "二重遭遇。", CHAR_COLORYELLOW ); return BATTLE_ERR_ALREADYBATTLE; } @@ -3037,11 +3042,11 @@ int BATTLE_CreateVsPlayer( int charaindex0, int charaindex1 ) time_t timep; struct tm *p; time(&timep); - p=localtime(&timep); /*ȡõʱ*/ + p=localtime(&timep); /*取得当地时间*/ timep = mktime(p); if(CHAR_getWorkInt(charaindex1,CHAR_WORKBALLTELENDTIME)+120>timep){ char bmsg[256]; - sprintf(bmsg,"Է㱣Уʣʱ䣺%d룬Էƶ",CHAR_getWorkInt(charaindex1,CHAR_WORKBALLTELENDTIME)+120-timep); + sprintf(bmsg,"对方正在连点保护中,剩余时间:%d秒,对方如果移动保护结束。",CHAR_getWorkInt(charaindex1,CHAR_WORKBALLTELENDTIME)+120-timep); CHAR_talkToCli( charaindex0, -1, bmsg, CHAR_COLORYELLOW ); return BATTLE_ERR_ALREADYBATTLE; } @@ -3197,7 +3202,7 @@ BATTLE_CreateVsPlayer_End:; //********************************************************* // -// ëܰѣݱɬ +// 観戦用バトルタスクを追加。トップの次に設定する // int BATTLE_WatchLink( int topbattleindex, int battleindex ) // @@ -3207,38 +3212,38 @@ int BATTLE_WatchLink( int topbattleindex, int battleindex ) BATTLE *pWork, *pTop; if( BATTLE_CHECKINDEX( battleindex ) == FALSE ){ - //fprint( "err:battle index (%d)\n", battleindex ); + //fprint( "err:battle index 奇怪(%d)\n", battleindex ); return FALSE; } if( BATTLE_CHECKINDEX( topbattleindex ) == FALSE ){ - //fprint( "err:battle index (%d)\n", topbattleindex ); + //fprint( "err:battle index 奇怪(%d)\n", topbattleindex ); return FALSE; } pTop = &BattleArray[topbattleindex]; if( BATTLE_CHECKADDRESS( pTop ) == FALSE ){ - //fprint( "err:battle address (%p)\n", pTop ); + //fprint( "err:battle address 奇怪(%p)\n", pTop ); return FALSE; } - pWork = pTop->pNext; // ʧ + pWork = pTop->pNext; // バックアップ if( pWork ){ if( BATTLE_CHECKADDRESS( pWork ) == FALSE ){ - //fprint( "err:battle address (%p)\n", pWork ); + //fprint( "err:battle address 奇怪(%p)\n", pWork ); return FALSE; } } - // ë󡼰ݱ + // 自分を前の次にする pTop->pNext = &BattleArray[battleindex]; - // мëɬ + // 自分の前バトルを設定 BattleArray[battleindex].pBefore = pTop; - // мëɬ + // 自分の次バトルを設定 BattleArray[battleindex].pNext = pWork; - // ݼ󡷴 + // 次の前は自分 if( pWork ){ pWork->pBefore = &BattleArray[battleindex]; } @@ -3247,7 +3252,7 @@ int BATTLE_WatchLink( int topbattleindex, int battleindex ) //********************************************************* // -// ë繴 +// 観戦用バトルタスクをひとつ抜く // int BATTLE_WatchUnLink( int battleindex ) // @@ -3257,31 +3262,31 @@ int BATTLE_WatchUnLink( int battleindex ) BATTLE *pTop; if( BATTLE_CHECKINDEX( battleindex ) == FALSE ){ - //fprint( "err:battle index (%d)\n", battleindex ); + //fprint( "err:battle index 奇怪(%d)\n", battleindex ); return FALSE; } - // ë󡼰 + // 自分を前のバトル pTop = BattleArray[battleindex].pBefore; if( pTop ){ if( BATTLE_CHECKADDRESS( pTop ) == FALSE ){ - //fprint( "err:battle address (%p)\n", pTop ); + //fprint( "err:battle address 奇怪(%p)\n", pTop ); }else{ - // ئئ + // つなぎなおし pTop->pNext = BattleArray[battleindex].pNext; } } if( BattleArray[battleindex].pNext ){ if( BATTLE_CHECKADDRESS( BattleArray[battleindex].pNext ) == FALSE ){ - //fprint( "err:battle address (%p)\n", BattleArray[battleindex].pNext ); + //fprint( "err:battle address 奇怪(%p)\n", BattleArray[battleindex].pNext ); }else{ BattleArray[battleindex].pNext->pBefore = pTop; } } - // мëɬ + // 自分の前バトルを設定 BattleArray[battleindex].pBefore = NULL; - // мﷴ + // 自分の次バトルは無し BattleArray[battleindex].pNext = NULL; return TRUE; @@ -3291,11 +3296,11 @@ int BATTLE_WatchUnLink( int battleindex ) //********************************************************* // -// ñë +// 観戦用にバトルタスクを作成する // int BATTLE_CreateForWatcher( int charaindex, int topbattleindex ) // -// Ի BATTLE_ERR +// 戻り値 BATTLE_ERR // //********************************************************* { @@ -3303,73 +3308,73 @@ int BATTLE_CreateForWatcher( int charaindex, int topbattleindex ) i, fd, iRet = 0; - // ɷ¶ + // パラメータチェック if( CHAR_CHECKINDEX( charaindex ) == FALSE )return BATTLE_ERR_CHARAINDEX; if( CHAR_getWorkInt( charaindex, CHAR_WORKBATTLEMODE ) != BATTLE_CHARMODE_NONE ){ - CHAR_talkToCli( charaindex, -1, "", CHAR_COLORYELLOW ); + CHAR_talkToCli( charaindex, -1, "二重遭遇。", CHAR_COLORYELLOW ); return BATTLE_ERR_ALREADYBATTLE; } - // ƥ ƥئо + // すでに戦闘中でないか if( CHAR_getWorkInt( charaindex, CHAR_WORKBATTLEMODE ) != 0 ){ return BATTLE_ERR_ALREADYBATTLE; } if(CHAR_getInt(charaindex,CHAR_FLOOR)==20000){ - CHAR_talkToCli( charaindex, -1, "PKУڹս", CHAR_COLORYELLOW ); + CHAR_talkToCli( charaindex, -1, "PK比赛中,不允许场内观战。", CHAR_COLORYELLOW ); return BATTLE_ERR_ALREADYBATTLE; } - // ë + // 戦闘タスクを作成する battleindex = BATTLE_CreateBattle(charaindex ); - if( battleindex < 0 )return BATTLE_ERR_NOTASK;// έƥئ׾޷¡ + if( battleindex < 0 )return BATTLE_ERR_NOTASK;// タスク発見できなかったエラー #ifdef _WAN_FIX CHAR_setWorkInt(charaindex,CHAR_WORKBATTLEPROTYPE,1); #endif - // ռɷƥؤ£ + // こちらの陣営はプレイヤー陣営であると定義する。 BattleArray[battleindex].Side[0].type = BATTLE_S_TYPE_PLAYER; - // 𵤴ƥؤ£ + // 向こう側の陣営もプレイヤー陣営であると定義する。 BattleArray[battleindex].Side[1].type = BATTLE_S_TYPE_PLAYER; - // ĸë + // リーダーを保存 BattleArray[battleindex].leaderindex = charaindex; - // + // 戦闘のタイプ BattleArray[battleindex].type = BATTLE_TYPE_WATCH; BattleArray[battleindex].mode = BATTLE_MODE_WATCHBC; - // ū į + // バトルフィールド番号 field_no = BattleArray[battleindex].field_no = BattleArray[topbattleindex].field_no; BattleArray[battleindex].turn = BattleArray[topbattleindex].turn; - // ͽ + // リンクさせる if( BATTLE_WatchLink( topbattleindex, battleindex ) == FALSE ){ //fprint( "err:battle link error(%d),(%d)\n", //topbattleindex, battleindex ); - // ޷¡ ƥ GOTO + // エラー処理での GOTO goto BATTLE_CreateForWatcher_End; } - // ɡ ū޼ + // パーティごとエントリー iRet = BATTLE_WatchPartyNewEntry( charaindex, battleindex, 0 ); if( iRet ){ - // ޷¡ ƥ GOTO + // エラー処理での GOTO goto BATTLE_CreateForWatcher_End; } -// ޷¡ʲ +// エラーの場合はすぐにココに来る BATTLE_CreateForWatcher_End:; - if( iRet ){ // ޷¡ؤ - // 幻 + if( iRet ){ // エラーがあったらタスク廃棄 + // 全員抜ける BATTLE_ExitAll( battleindex ); - // ʹ + //戦闘タスク削除 BATTLE_DeleteBattle( battleindex ); fd = getfdFromCharaIndex( charaindex ); if( fd != -1 )lssproto_EN_send( fd, FALSE, field_no ); }else{ fd = getfdFromCharaIndex( charaindex ); - /* ޼ ë */ + /* エンカウント成功を教える */ if( fd != -1 )lssproto_EN_send( fd, BattleArray[battleindex].type, field_no ); - /* к̡˪ */ + /* 立ちポーズ送る */ if( CHAR_getWorkInt( charaindex, CHAR_WORKACTION) != -1 ) { CHAR_sendWatchEvent( CHAR_getWorkInt( charaindex, CHAR_WORKOBJINDEX), @@ -3377,22 +3382,22 @@ BATTLE_CreateForWatcher_End:; NULL, 0, FALSE); CHAR_setWorkInt( charaindex, CHAR_WORKACTION, -1); } - /* ʧ CA˪ */ + /* 戦闘アイコン表示CA送信 */ CHAR_sendBattleWatch( CHAR_getWorkInt( charaindex, CHAR_WORKOBJINDEX ), ON); - // ޱ + // 仲間にも教える for( i = 1; i < CHAR_PARTYMAX; i ++ ){ pindex = CHAR_getWorkInt( charaindex, i + CHAR_WORKPARTYINDEX1 ); if( CHAR_CHECKINDEX( pindex ) == FALSE )continue; - // ޼ƥ廯ئئ˪ئ - // FINAL 󡼰 έ + // ちゃんとエンカウントできてないなら送らない + // FINAL だったら前の戦闘見ている if( CHAR_getWorkInt( pindex, CHAR_WORKBATTLEMODE ) == BATTLE_CHARMODE_FINAL ) continue; fd = getfdFromCharaIndex(pindex); - /* ޼ */ + /* エンカウント成功 */ if( fd != -1 )lssproto_EN_send( fd, BattleArray[battleindex].type, field_no ); - /* к̡˪ */ + /* 立ちポーズ送る */ if( CHAR_getWorkInt( pindex, CHAR_WORKACTION) != -1 ) { CHAR_sendWatchEvent( CHAR_getWorkInt( pindex, CHAR_WORKOBJINDEX), @@ -3400,11 +3405,11 @@ BATTLE_CreateForWatcher_End:; NULL, 0, FALSE); CHAR_setWorkInt( pindex, CHAR_WORKACTION, -1); } - /* ʧ CA˪ */ + /* 戦闘アイコン表示CA送信 */ CHAR_sendBattleWatch( CHAR_getWorkInt( charaindex, CHAR_WORKOBJINDEX ), ON); } /* - print( "(%s)Ϊо֡", + print( "以(%s)为领队与敌军交手。", CHAR_getChar( charaindex, CHAR_NAME ) ); */ } @@ -3419,7 +3424,7 @@ BATTLE_CreateForWatcher_End:; /*------------------------------------------------------------ - * ë Ӭ + * 戦闘を中断する ------------------------------------------------------------*/ void BATTLE_WatchStop( int charaindex ) { @@ -3428,13 +3433,13 @@ void BATTLE_WatchStop( int charaindex ) battleindex = CHAR_getWorkInt( charaindex, CHAR_WORKBATTLEINDEX ); if( BATTLE_CHECKINDEX( battleindex ) == FALSE )return; - // ƽҷ + // キャラクタがいたら抜けさせる BATTLE_Exit( charaindex, battleindex ); - // ɡ ū + // パーティ抜ける CHAR_DischargePartyNoMsg( charaindex ); CHAR_talkToCli( charaindex, -1, - "սֹ", CHAR_COLORYELLOW ); + "战斗中止。", CHAR_COLORYELLOW ); lssproto_B_send( getfdFromCharaIndex( charaindex ), "BU" ); @@ -3450,7 +3455,7 @@ void BATTLE_WatchStop( int charaindex ) //************************************************************* // -// ƥ Ӽɷ¶ëٴƻ +// 毎ターン各種呪術で増減したパラメータを抑制していく // void BATTLE_TurnParam( int charaindex, @@ -3465,7 +3470,7 @@ void BATTLE_TurnParam( int modparam, fixparam, lastparam; if( fixkind == -1 ){ - fixparam = 0; // 绥 + fixparam = 0; // 元が無い場合は0 }else{ fixparam = CHAR_getWorkInt( charaindex, fixkind ); } @@ -3475,14 +3480,15 @@ void BATTLE_TurnParam( lastparam = CHAR_getWorkInt( charaindex, last ); } modparam = CHAR_getWorkInt( charaindex, mod ); - // ƥ ëέ - // ëٴƻ + // ここでMOD+LASTとFIXの比率を見て、 + // MODの値を抑制していく + + // 今は MODPARAM を20%減していく - // ᷴ MODPARAM ëߡӼƻ modparam *= 0.8; CHAR_setWorkInt( charaindex, mod, modparam ); - // + // LASTに加える if( last != -1 ){ CHAR_setWorkInt( charaindex, @@ -3498,9 +3504,9 @@ void BATTLE_AttReverse( int charaindex ) //ttom start because the second had this if( CHAR_getWorkInt( charaindex, CHAR_WORKBATTLEFLG ) & CHAR_BATTLEFLG_REVERSE ){ CHAR_setWorkInt(charaindex,CHAR_WORKBATTLEREVERSE,1); - // ƻئݳ + // 反転してるなら次へ }else{ - // ƻئмƥ + // 反転してないのでリターン return; } //ttom end @@ -3542,29 +3548,29 @@ void BATTLE_PreCommandSeq( int battleindex ) CHAR_complianceParameter( charaindex ); BATTLE_TurnParam( charaindex, - CHAR_WORKFIXSTR, // + CHAR_WORKFIXSTR, // 攻击力 CHAR_WORKMODATTACK, CHAR_WORKATTACKPOWER ); BATTLE_TurnParam( charaindex, - CHAR_WORKFIXTOUGH, // + CHAR_WORKFIXTOUGH, // 防御 CHAR_WORKMODDEFENCE, CHAR_WORKDEFENCEPOWER ); BATTLE_TurnParam( charaindex, - CHAR_WORKFIXDEX, // ٶƽ + CHAR_WORKFIXDEX, // 敏捷 CHAR_WORKMODQUICK, CHAR_WORKQUICK ); if( CHAR_getInt( charaindex, CHAR_WHICHTYPE ) == CHAR_TYPEPLAYER ){ BATTLE_TurnParam( charaindex, -1, - CHAR_WORKMODCHARM, // + CHAR_WORKMODCHARM, // 魅力 CHAR_WORKFIXCHARM ); } BATTLE_TurnParam( charaindex, - -1, // + -1, // 捕获率 CHAR_WORKMODCHARM, -1 ); @@ -3578,16 +3584,16 @@ void BATTLE_PreCommandSeq( int battleindex ) //************************************************** // -// Ѩг ݼ ľ +// 観戦の場合のコマンド待ちへ戻る時の一連の流れ // void BATTLE_PreWatchWaitSeq( int battleindex ) // // //************************************************** { - // ƥݶ + // この時点で時刻保存 BattleArray[battleindex].timer = NowTime.tv_sec; - // 幻ƹëѨ + // 全員のモードをコマンド入力前にする BATTLE_AllCharaWatchWaitSet( battleindex ); } static int BATTLE_Init( int battleindex ) @@ -3619,15 +3625,15 @@ int BATTLE_CountEntry( BATTLE_ENTRY *pEntry; int cnt = 0; - // ɷ¶ + // パラメータチェック if( BATTLE_CHECKSIDE( side ) == FALSE )return -BATTLE_ERR_PARAM; if( BATTLE_CHECKINDEX( battleindex ) == FALSE )return -BATTLE_ERR_BATTLEINDEX; - // ޼ + // エントリー配列 pEntry = BattleArray[battleindex].Side[side].Entry; for( i = 0; i < BATTLE_ENTRY_MAX; i ++ ){ - if( pEntry[i].charaindex != -1 ){ // ƽҷ» + if( pEntry[i].charaindex != -1 ){ // キャラがいたら数える cnt ++; } } @@ -3640,7 +3646,7 @@ static BOOL BATTLE_CommandWait( int battleindex, int side) BATTLE_ENTRY *pEntry; BOOL iRet = TRUE; BOOL TimeOut = FALSE; - if( BATTLE_CHECKSIDE( side ) == FALSE )return TRUE;//ֵǷںϷ Χ + if( BATTLE_CHECKSIDE( side ) == FALSE )return TRUE;//检查值是否在合法 围 if( BATTLE_CHECKINDEX( battleindex ) == FALSE )return TRUE; if( BattleArray[battleindex].Side[side].type == BATTLE_S_TYPE_ENEMY ) return TRUE; pEntry = BattleArray[battleindex].Side[side].Entry; @@ -3693,9 +3699,9 @@ static BOOL BATTLE_CommandWait( int battleindex, int side) //charaindex, CHAR_getUseName( charaindex), //CHAR_getChar( charaindex, CHAR_CDKEY) ); - CHAR_talkToCli( charaindex, -1, "ʱδָǿ뿪ս", CHAR_COLORYELLOW); + CHAR_talkToCli( charaindex, -1, "超过时间未下指令,强迫离开战斗!", CHAR_COLORYELLOW); - CHAR_DischargeParty( charaindex, 0);//ɢŶ + CHAR_DischargeParty( charaindex, 0);//解散团队 CHAR_setWorkInt(charaindex, CHAR_WORKFMPKFLAG, -1); CHAR_setWorkInt( charaindex, CHAR_WORKBATTLEMODE, BATTLE_CHARMODE_C_OK ); CHAR_setWorkInt( charaindex, CHAR_WORKBATTLECOM1, BATTLE_COM_COMPELESCAPE ); @@ -3717,7 +3723,7 @@ static BOOL BATTLE_CommandWait( int battleindex, int side) if( BeOk > 0 ){ #ifdef _BATTLECOMMAND_TIME if( BattleArray[ battleindex].PartTime <= 0 ){ - //սһִָ, ӳʱΪ120 + //如果战役中有任一人执行指令, 则延迟时间设为120秒 int battletimeout = getBattleTimtOut(); if(battletimeout == 0) battletimeout = 120; BattleArray[battleindex].PartTime = (int)time(NULL) + battletimeout; @@ -3728,7 +3734,7 @@ static BOOL BATTLE_CommandWait( int battleindex, int side) } -#ifdef _ITEM_ADDEXP //vincent +#ifdef _ITEM_ADDEXP //vincent 经验提升 #ifdef _ITEM_ADDEQUIPEXP int BATTLE_GetExp( int charaindex, int midx ) #else @@ -3803,23 +3809,23 @@ int BATTLE_GetExp( int charaindex ) #ifdef _ITEM_ADDEQUIPEXP if( CHAR_CHECKINDEX( midx ) ){ for( i = 0 ; i < CHAR_EQUIPPLACENUM ; i ++ ){ - int id = CHAR_getItemIndex(midx,i);//id + int id = CHAR_getItemIndex(midx,i);//道具id if( ITEM_CHECKINDEX(id) ){ char *arg,*P; - arg = ITEM_getChar(id, ITEM_ARGUMENT );//߲ + arg = ITEM_getChar(id, ITEM_ARGUMENT );//道具参数 if( (P = strstr( arg, "EXPUP" )) ){ - if( (P = strstr( arg, "" )) ){//ֻЧ + if( (P = strstr( arg, "人" )) ){//只对人有效 if( CHAR_getInt( charaindex, CHAR_WHICHTYPE) == CHAR_TYPEPLAYER ){ addexp += getexp*atoi(P+=2)*0.01; itemaddexp += itemgetexp*atoi(P+=2)*0.01; } } - else if( (P = strstr( arg, "" )) ){//ֻԳЧ + else if( (P = strstr( arg, "宠" )) ){//只对宠有效 if( CHAR_getInt( charaindex, CHAR_WHICHTYPE) == CHAR_TYPEPET && (CHAR_getInt( midx, CHAR_RIDEPET) != charaindex ) ) addexp += getexp*atoi(P+=2)*0.01; } - else if( (P = strstr( arg, "" )) ){//ֻЧ + else if( (P = strstr( arg, "骑" )) ){//只对骑宠有效 if( CHAR_getInt( charaindex, CHAR_WHICHTYPE) == CHAR_TYPEPET && (CHAR_getInt( midx, CHAR_RIDEPET) == charaindex ) ) addexp += getexp*atoi(P+=2)*0.01; @@ -3865,7 +3871,7 @@ int BATTLE_GetExp( int charaindex ) && CHAR_getInt( midx, CHAR_VIPRIDE) > 0) addexp = addexp * 2; #endif - CHAR_setWorkInt( charaindex, CHAR_WORKGETEXP, addexp );//شCHAR_WORKGETEXP + CHAR_setWorkInt( charaindex, CHAR_WORKGETEXP, addexp );//回存CHAR_WORKGETEXP CHAR_AddMaxExp( charaindex, addexp); @@ -3900,48 +3906,48 @@ int BATTLE_DpCalc( int battleindex ) looseside = 1 - winside; if( winside != -1 && winside != 1 )return BATTLE_ERR_PARAM; - // Ͱ + // 合計値初期化 dpall = 0; - // ë뵤 + // 負けた方からDPを奪う pLooseEntry = BattleArray[battleindex].Side[looseside].Entry; for( i = 0 ; i < BATTLE_ENTRY_MAX; i ++ ){ charaindex = pLooseEntry[i].charaindex; - // ½ + // プレイヤー以外は興味無し if( CHAR_CHECKINDEX( charaindex ) == FALSE )continue; if( CHAR_getInt( charaindex, CHAR_WHICHTYPE ) != CHAR_TYPEPLAYER )continue; - // м + // 10分の1もらえる dpadd = CHAR_getInt( charaindex, CHAR_DUELPOINT ) * DUELPOINT_RATE; - // 巴 ëѨ̹ϵɬ + // 負けた方にはDPをマイナス設定 CHAR_setWorkInt( charaindex, CHAR_WORKGETEXP, CHAR_getWorkInt( charaindex, CHAR_WORKGETEXP) - dpadd ); - // Ͱң + // 合計値に加算 dpall += dpadd; } - // ձ Իü ëң + // さらに逃げたりした人用のDPを加算 dpall += BattleArray[battleindex].Side[winside].common_dp; pWinEntry = BattleArray[battleindex].Side[winside].Entry; for( num = 0,i = 0 ; i < BATTLE_ENTRY_MAX; i ++ ){ charaindex = pWinEntry[i].charaindex; - // ½ + // プレイヤー以外は興味無し if( CHAR_CHECKINDEX( charaindex ) == FALSE )continue; if( CHAR_getInt( charaindex, CHAR_WHICHTYPE ) != CHAR_TYPEPLAYER )continue; num++; } - // ئ⾮ ׻õ岾ئ + // なぜか勝ったほうに誰もいない if( num <= 0 )return BATTLE_ERR_BATTLEINDEX; dpadd = dpall / num; - if( dpadd <= 0 )dpadd = 1; // ƥ֨෴ܸ + if( dpadd <= 0 )dpadd = 1; // 最低でも1は与える for( num = 0,i = 0 ; i < BATTLE_ENTRY_MAX; i ++ ){ charaindex = pWinEntry[i].charaindex; - // ½ + // プレイヤー以外は興味無し if( CHAR_CHECKINDEX( charaindex ) == FALSE )continue; if( CHAR_getInt( charaindex, CHAR_WHICHTYPE ) != CHAR_TYPEPLAYER )continue; - // 巴 ëɬ + // 勝った方にはDPを設定 CHAR_setWorkInt( charaindex, CHAR_WORKGETEXP, CHAR_getWorkInt( charaindex, CHAR_WORKGETEXP) + dpadd ); } @@ -3949,7 +3955,7 @@ int BATTLE_DpCalc( int battleindex ) return 0; } -//#define RS_LIST_MAX 4 // ݱо ˪¾ +//#define RS_LIST_MAX 4 // 同時に何人戦闘結果送るか #define RS_LIST_MAX 5 typedef struct{ int num; @@ -3958,9 +3964,9 @@ typedef struct{ }RS_LIST; int BATTLE_GetDuelPoint( - int battleindex, // ̼͵ - int side, // - int num // з ƽҷ¾ + int battleindex, // 戦闘インデックス + int side, // サイド(0~1) + int num // 自分は配列の何番目のキャラか ) { char szBuffer[1024]=""; @@ -3986,12 +3992,12 @@ int BATTLE_GetDuelPoint( } dpadd = CHAR_getWorkInt( charaindex, CHAR_WORKGETEXP ); if( dpadd == 0 ){ - dpadd = 0; // + dpadd = 0; // この場合は0 }else if( dpadd < 0 ){ - dpadd = min( -1, dpadd ); // ئ֨෴յ + dpadd = min( -1, dpadd ); // 少なくとも1はもらう }else{ - dpadd = max( 1, dpadd ); // ئ֨෴յ + dpadd = max( 1, dpadd ); // 少なくとも1はもらう } if(playfloor==11111|| playfloor==22222|| @@ -4000,9 +4006,9 @@ int BATTLE_GetDuelPoint( { int fd = getfdFromCharaIndex( charaindex); char* id = CHAR_getChar( charaindex, CHAR_CDKEY); - dpnow = sasql_vippoint(id,0,0) + dpadd; //PKԱ - dpnow = max( dpnow, 0 ); //ڻԱ - sasql_vippoint( id, dpadd, 1 ); //дԱ + dpnow = sasql_vippoint(id,0,0) + dpadd; //PK会员点 + dpnow = max( dpnow, 0 ); //计算现在会员点 + sasql_vippoint( id, dpadd, 1 ); //写入会员点数据 if(dpnow 0 ){ if( getBattleDebugMsg( ) != 0 ){ snprintf( szBuffer, sizeof(szBuffer), - "(%s) %d", + "(%s) 升级至 %d", CHAR_getUseName( petindex ), CHAR_getInt( petindex, CHAR_LV ) ); @@ -4223,7 +4229,7 @@ int BATTLE_GetExpGold( }else if( CHAR_findEmptyItemBox( charaindex ) >= 0 ){ int ret = CHAR_addItemSpecificItemIndex(charaindex,itemindex); if( 0 <= ret && ret < CHAR_EQUIPPLACENUM ){ - //print( "itemget err: ﲻȡitem(%s)(%d)(%s)\n", + //print( "itemget err: 在这里不能取得item(%s)(%d)(%s)\n", //CHAR_getUseName( charaindex ), //ret, //ITEM_getAppropriateName(itemindex) @@ -4240,7 +4246,7 @@ int BATTLE_GetExpGold( if( ItemGet == TRUE ){ if( getBattleDebugMsg( ) != 0 ){ snprintf( szBuffer, sizeof(szBuffer), - "ʰ(%s)", + "拾获(%s)", ITEM_getAppropriateName(itemindex) ); BATTLE_talkToCli( charaindex, szBuffer, CHAR_COLORYELLOW ); } @@ -4248,12 +4254,12 @@ int BATTLE_GetExpGold( // LogItem( // CHAR_getChar( charaindex, CHAR_NAME ), // CHAR_getChar( charaindex, CHAR_CDKEY ), -//#ifdef _add_item_log_name // WON ADD itemlogitem +//#ifdef _add_item_log_name // WON ADD 在item的log中增加item名称 // itemindex, //#else -// ITEM_getInt( itemindex, ITEM_ID ), /* ʧ ة į */ +// ITEM_getInt( itemindex, ITEM_ID ), /* 失奶 丞 寞 */ //#endif -// "BattleGet(սõĵ)", +// "BattleGet(战斗後所得的道具)", // CHAR_getInt( charaindex,CHAR_FLOOR), // CHAR_getInt( charaindex,CHAR_X ), // CHAR_getInt( charaindex,CHAR_Y ), @@ -4407,17 +4413,17 @@ static int BATTLE_Finish( int battleindex ) } if(CHAR_CHECKINDEX(winindex) != FALSE){ CHAR_setInt(winindex,CHAR_AUTOPK,CHAR_getInt(winindex,CHAR_AUTOPK)+1); - sprintf(token,"[ս]%s սʤ %s ս", winname, lostname); + sprintf(token,"[乱舞战报]:%s 战胜 —— %s 战败", winname, lostname); autopkcnt++; int autopkvigor = getAutoPkVigorPkNum()*CHAR_getInt(lostindex,CHAR_AUTOPK)+getAutoPkVigorPkCnt()*autopkcnt; CHAR_setInt(lostindex,CHAR_VIGOR,CHAR_getInt(lostindex,CHAR_VIGOR)+autopkvigor); - sprintf(token2,"[ս]%sɱ %d %d û%d",lostname,CHAR_getInt(lostindex,CHAR_AUTOPK),autopkcnt,autopkvigor); + sprintf(token2,"[比赛战果]:「%s」击杀点数 %d 生存点数 %d 获得活力%d",lostname,CHAR_getInt(lostindex,CHAR_AUTOPK),autopkcnt,autopkvigor); }else{ - sprintf(token,"[ս]%s %s ", winname, lostname); + sprintf(token,"[乱舞战报]:%s 逃跑 —— %s 逃跑", winname, lostname); autopkcnt++; int autopkvigor = getAutoPkVigorPkNum()*CHAR_getInt(lostindex,CHAR_AUTOPK)+getAutoPkVigorPkCnt()*autopkcnt; CHAR_setInt(lostindex,CHAR_VIGOR,CHAR_getInt(lostindex,CHAR_VIGOR)+autopkvigor); - sprintf(token2,"[ս]%sɱ %d %d û%d",lostname,CHAR_getInt(lostindex,CHAR_AUTOPK),autopkcnt,autopkvigor); + sprintf(token2,"[比赛战果]:「%s」击杀点数 %d 生存点数 %d 获得活力%d",lostname,CHAR_getInt(lostindex,CHAR_AUTOPK),autopkcnt,autopkvigor); } for(i=0;ipNext ){ if( BATTLE_CHECKADDRESS( pBattle ) == FALSE ){ - //fprint( "err:battle address (%p)\n", pBattle ); + //fprint( "err:battle address 奇怪(%p)\n", pBattle ); break; } for( i = BATTLE_ENTRY_MAX-1; i >= 0 ; i -- ){ @@ -4566,7 +4572,7 @@ static int BATTLE_Finish( int battleindex ) pBattle = BattleArray[battleindex].pNext; for( ;pBattle; pBattle = pBattle->pNext ){ if( BATTLE_CHECKADDRESS( pBattle ) == FALSE ){ - //fprint( "err:battle address (%p)\n", pBattle ); + //fprint( "err:battle address 奇怪(%p)\n", pBattle ); break; } BATTLE_DeleteBattle( pBattle->battleindex ); @@ -4645,16 +4651,16 @@ int BATTLE_DefaultAttacker( int battleindex, int side ) //********************************************************* // -// ؤϷԻ ëң +//戦闘中あるサイドの生き残りプレイヤーにDPを加算 // int BATTLE_AddDpAlive( - int battleindex, // ̼͵ - int side, // ( 0 or 1 ) + int battleindex, // バトルインデックス + int side, // サイド( 0 or 1 ) int dp ) // -// ԻϷȻ -// ľئľ +// 戻り値: 生き残っているプレイヤーの数 +// 戦闘が行われていなければ 負の値 // //********************************************************* { @@ -4662,19 +4668,19 @@ int BATTLE_AddDpAlive( BATTLE_ENTRY *pEntry; int cnt = 0; - // ɷ¶ + // パラメータチェック if( BATTLE_CHECKSIDE( side ) == FALSE )return -BATTLE_ERR_PARAM; if( BATTLE_CHECKINDEX( battleindex ) == FALSE )return -BATTLE_ERR_BATTLEINDEX; - // ޼ + // エントリー配列 pEntry = BattleArray[battleindex].Side[side].Entry; for( i = 0; i < BATTLE_ENTRY_MAX; i ++ ){ charaindex = pEntry[i].charaindex; if( CHAR_CHECKINDEX( charaindex ) == FALSE ) continue; - // ʸ𼰶ئ + // ペットはこの際関係ない if( CHAR_getInt( charaindex, CHAR_WHICHTYPE ) == CHAR_TYPEPET ) continue; - // Ϸ廯ʣ۵ң + // 生きています。加算 if( CHAR_getFlg( charaindex, CHAR_ISDIE ) == FALSE ){ CHAR_setWorkInt( charaindex, CHAR_WORKGETEXP, CHAR_getWorkInt( charaindex, CHAR_WORKGETEXP) + dp ); @@ -4687,15 +4693,15 @@ int BATTLE_AddDpAlive( #if 1 //********************************************************* // -// ϷȻ¾Ʃ +// 戦闘中、プレイヤーが生き残っているか調べる // int BATTLE_CountAlive( - int battleindex, // ̼͵ - int side // ( 0 or 1 ) + int battleindex, // バトルインデックス + int side // サイド( 0 or 1 ) ) // -// ԻϷȻ -// ľئľ +// 戻り値: 生き残っているプレイヤーの数 +//      戦闘が行われていなければ 負の値 // //********************************************************* { @@ -4703,19 +4709,19 @@ int BATTLE_CountAlive( BATTLE_ENTRY *pEntry; int cnt = 0; - // ɷ¶ + // パラメータチェック if( BATTLE_CHECKSIDE( side ) == FALSE )return -BATTLE_ERR_PARAM; if( BATTLE_CHECKINDEX( battleindex ) == FALSE )return -BATTLE_ERR_BATTLEINDEX; - // ޼ + // エントリー配列 pEntry = BattleArray[battleindex].Side[side].Entry; for( i = 0; i < BATTLE_ENTRY_MAX; i ++ ){ charaindex = pEntry[i].charaindex; if( CHAR_CHECKINDEX( charaindex ) == FALSE ) continue; - // ʸ𼰶ئ + // ペットはこの際関係ない if( CHAR_getInt( charaindex, CHAR_WHICHTYPE ) == CHAR_TYPEPET ) continue; - // Ϸ廯ʣ + // 生きています。 if( CHAR_getFlg( charaindex, CHAR_ISDIE ) == FALSE ){ cnt ++; } @@ -4728,16 +4734,16 @@ int BATTLE_CountAlive( //********************************************************* // -// ׻ĻϷ廯ؾë +// 戦闘中、参戦したてプレイヤーのみが生きている状態かをチェック // int BATTLE_OnlyRescue( - int battleindex, // ̼͵ - int side, // ( 0 or 1 ) + int battleindex, // バトルインデックス + int side, // サイド( 0 or 1 ) int *pOnlyFlg ) // -// ԻϷȻ -// ľئľ +// 戻り値: 生き残っているプレイヤーの数 +//      戦闘が行われていなければ 負の値 // //********************************************************* { @@ -4747,11 +4753,11 @@ int BATTLE_OnlyRescue( (*pOnlyFlg) = 0; - // ɷ¶ + // パラメータチェック if( BATTLE_CHECKSIDE( side ) == FALSE )return -BATTLE_ERR_PARAM; if( BATTLE_CHECKINDEX( battleindex ) == FALSE )return -BATTLE_ERR_BATTLEINDEX; - // ޼ + // エントリー配列 pEntry = BattleArray[battleindex].Side[side].Entry; for( i = 0; i < BATTLE_ENTRY_MAX; i ++ ){ @@ -4759,12 +4765,12 @@ int BATTLE_OnlyRescue( if( CHAR_CHECKINDEX( charaindex ) == FALSE ){ continue; } - // ʸ𼰶ئ + // ペットはこの際関係ない if( CHAR_getInt( charaindex, CHAR_WHICHTYPE ) == CHAR_TYPEPET ) continue; - // Ϸ廯ʣ + // 生きています。 if( CHAR_getFlg( charaindex, CHAR_ISDIE ) == FALSE ){ cnt ++; - // Ϸ廯֧ + // 生きているやつは参戦直後か? if( CHAR_getWorkInt( charaindex, CHAR_WORKBATTLEMODE ) == BATTLE_CHARMODE_RESCUE ){ }else{ OnlyRescue = 0; @@ -4775,12 +4781,12 @@ int BATTLE_OnlyRescue( #endif } - // Ϸ廯֧лй + // 生きているやつがいてそいつは参戦直後だったら if( cnt > 0 && OnlyRescue ){ - // ׷ºë + // フラグを立てる (*pOnlyFlg) = 1; }else{ - // лը߱ + // ちがったら0にする (*pOnlyFlg) = 0; } @@ -4798,7 +4804,7 @@ static BOOL BATTLE_TimeOutCheck( int battleindex ) }else{ return FALSE; } - //BATTLE_BroadCast( battleindex, "serverʱѵ", CHAR_COLORYELLOW ); + //BATTLE_BroadCast( battleindex, "server时间已到。", CHAR_COLORYELLOW ); for( j = 0; j < 2; j ++ ){ pEntry = pBattle->Side[j].Entry; for( i = 0; i < BATTLE_ENTRY_MAX; i ++ ){ @@ -4813,7 +4819,7 @@ static BOOL BATTLE_TimeOutCheck( int battleindex ) BATTLE_Exit( charaindex, battleindex ); CHAR_DischargePartyNoMsg( charaindex ); CHAR_talkToCli( charaindex, -1, - "ʱ䵽ս", CHAR_COLORYELLOW ); + "时间到,结束战斗。", CHAR_COLORYELLOW ); BATTLE_CommandSend( charaindex, "BU" ); } } @@ -4866,7 +4872,7 @@ int BATTLE_WatchBC( int battleindex ) int BATTLE_WatchPre( int battleindex ) { //DebugMainFunction="BATTLE_WatchPre"; - // Ѩг ݼ ľ + // コマンド待ちへ戻る時の一連の流れ BATTLE_PreWatchWaitSeq( battleindex ); BattleArray[battleindex].mode = BATTLE_MODE_WATCHWAIT; return 0; @@ -4895,7 +4901,7 @@ static int BATTLE_Command( int battleindex ) //DebugMainFunction="BATTLE_Command_4"; for( ; pWatchBattle ; pWatchBattle = pWatchBattle->pNext ){ if( BATTLE_CHECKADDRESS( pWatchBattle ) == FALSE ){ - //fprint( "err:սbattle address(%p)\n", pWatchBattle ); + //fprint( "err:观战battle address错误(%p)\n", pWatchBattle ); break; } @@ -4926,13 +4932,13 @@ static int BATTLE_Command( int battleindex ) #endif //DebugMainFunction="BATTLE_Command_8"; - pBattle->turn ++;//Լغ + pBattle->turn ++;//自己回合数增加 //DebugMainFunction="BATTLE_Command_9"; BATTLE_ai_all( battleindex, 0, 0); //DebugMainFunction="BATTLE_Command_10"; BATTLE_ai_all( battleindex, 1, 0); //DebugMainFunction="BATTLE_Command_11"; - BATTLE_Battling( battleindex );//ս + BATTLE_Battling( battleindex );//处理战斗 //DebugMainFunction="BATTLE_Command_12"; pBattle->Side[0].flg &= ~BSIDE_FLG_SURPRISE; //DebugMainFunction="BATTLE_Command_13"; @@ -4974,30 +4980,30 @@ int BATTLE_Loop( void ) { int i, cnt = 0; rand(); - for( i = 0; i < BATTLE_battlenum; i ++ ){//ս + for( i = 0; i < BATTLE_battlenum; i ++ ){//最多战斗场数 if( BattleArray[i].use == FALSE )continue; - if( BattleArray[i].type == BATTLE_TYPE_WATCH ){//ǹսģʽ + if( BattleArray[i].type == BATTLE_TYPE_WATCH ){//若是观战模式 if( BATTLE_CountAlive( i, 0 ) == 0 ){ BATTLE_FinishSet( i ); } } switch( BattleArray[i].mode ){ - case BATTLE_MODE_NONE://δս + case BATTLE_MODE_NONE://未战斗 break; - case BATTLE_MODE_INIT://սʼ + case BATTLE_MODE_INIT://战斗初始化 BATTLE_Init( i ); break; - case BATTLE_MODE_BATTLE://Serverڲս + case BATTLE_MODE_BATTLE://Server内部战斗中 BATTLE_Command( i ); break; - case BATTLE_MODE_FINISH://ս + case BATTLE_MODE_FINISH://战斗结束 BATTLE_Finish( i ); break; - case BATTLE_MODE_STOP://սж + case BATTLE_MODE_STOP://战斗中断 BATTLE_Stop( i ); break; - case BATTLE_MODE_WATCHBC://ս... + case BATTLE_MODE_WATCHBC://观战中... BATTLE_WatchBC( i ); break; @@ -5026,11 +5032,11 @@ int BATTLE_Loop( void ) typedef struct { - int charaindex; // ƽҷ̼͵ - int side; // - int dex; // ٶƽ - int num; // ޼ į - int combo; // ޾ + int charaindex; // キャラクタインデックス + int side; // サイド + int dex; // 素早さ + int num; // エントリー番号 + int combo; // 合体攻撃する人間か? #ifdef _EQUIT_SEQUENCE int sequence; #endif @@ -5041,9 +5047,9 @@ typedef int (*FUNC)( const void *, const void * ); //************************************************************ // -// ٶƽ ʤ +// 戦闘の素早さ比較関数 // -// ٶƽ񷴰 ľ£ϴĩƥؤ£ +// 素早さは値が大きい方が優れている。降順ソートである。 // static int EsCmp( const BATTLE_CHARLIST *pC1, @@ -5112,13 +5118,13 @@ static void EntrySort( BATTLE_CHARLIST *EntryList, int listsize) //************************************************************ // -// ٶƽëң£ +// 素早さを計算する。 // static int BATTLE_DexCalc( int charaindex ) // -// Ի ٶƽ +// 戻り値 素早さ // //************************************************************ { @@ -5126,27 +5132,27 @@ static int BATTLE_DexCalc( int work, COM; int petindex = BATTLE_getRidePet( charaindex ); - // Ѩ + // コマンド取得 COM = CHAR_getWorkInt( charaindex, CHAR_WORKBATTLECOM1 ); -#ifdef _PETSKILL_BECOMEFOX // ˳еݽ20% +#ifdef _PETSKILL_BECOMEFOX // 攻击顺序中的敏捷降下20% if( CHAR_getWorkInt( charaindex, CHAR_WORKFOXROUND ) != -1 ){ work = CHAR_getWorkInt( charaindex, CHAR_WORKQUICK )+20; - dex = work *0.8;//20% + dex = work *0.8;//敏降20% } #endif #ifdef _PROFESSION_ADDSKILL if( CHAR_getWorkInt( charaindex, CHAR_WORKFEAR ) > 0 ){ work = CHAR_getWorkInt( charaindex, CHAR_WORKQUICK )+20; - dex = work*0.8;//20% + dex = work*0.8;//敏降20% } #endif - // ɧ + // 通常攻撃の場合 switch( COM ){ -#ifdef _PROFESSION_SKILL // WON ADD ְҵ - case BATTLE_COM_S_BLOOD: // Ѫ - case BATTLE_COM_S_BLOOD_WORMS: // Ѫ - case BATTLE_COM_S_SIGN: // һѪ +#ifdef _PROFESSION_SKILL // WON ADD 人物职业技能 + case BATTLE_COM_S_BLOOD: // 嗜血成性 + case BATTLE_COM_S_BLOOD_WORMS: // 嗜血蛊 + case BATTLE_COM_S_SIGN: // 一针见血 #endif #ifdef _BATTLE_NEWPOWER @@ -5162,58 +5168,58 @@ static int BATTLE_DexCalc( #endif -#ifdef _PROFESSION_SKILL // WON ADD ְҵ - case BATTLE_COM_S_FIRE_ENCLOSE: // - case BATTLE_COM_S_ICE_ENCLOSE: // - case BATTLE_COM_S_THUNDER_ENCLOSE: // ׸ +#ifdef _PROFESSION_SKILL // WON ADD 人物职业技能 + case BATTLE_COM_S_FIRE_ENCLOSE: // 火附体 + case BATTLE_COM_S_ICE_ENCLOSE: // 冰附体 + case BATTLE_COM_S_THUNDER_ENCLOSE: // 雷附体 work = CHAR_getWorkInt( charaindex, CHAR_WORKQUICK )+20; dex = work - RAND( work * 0.3, work * 0.5 ); break; - case BATTLE_COM_S_VOLCANO_SPRINGS:// ɽȪ - case BATTLE_COM_S_SUMMON_THUNDER: // - case BATTLE_COM_S_ICE_ARROW: // + case BATTLE_COM_S_VOLCANO_SPRINGS:// 火山泉 + case BATTLE_COM_S_SUMMON_THUNDER: // 召雷术 + case BATTLE_COM_S_ICE_ARROW: // 冰箭术 work = CHAR_getWorkInt( charaindex, CHAR_WORKQUICK )+20; dex = work - RAND( 0, work * 0.2 ); break; - case BATTLE_COM_S_CURRENT: // - case BATTLE_COM_S_FIRE_BALL:// - case BATTLE_COM_S_ICE_CRACK: // + case BATTLE_COM_S_CURRENT: // 电流术 + case BATTLE_COM_S_FIRE_BALL:// 火星球 + case BATTLE_COM_S_ICE_CRACK: // 冰爆术 work = CHAR_getWorkInt( charaindex, CHAR_WORKQUICK )+20; dex = work - RAND( 0, work * 0.5 ); break; - case BATTLE_COM_S_FIRE_SPEAR:// ǹ - case BATTLE_COM_S_STORM: // - case BATTLE_COM_S_ICE_MIRROR: // - case BATTLE_COM_S_ENCLOSE: // - case BATTLE_COM_S_TRANSPOSE: // λλ + case BATTLE_COM_S_FIRE_SPEAR:// 火龙枪 + case BATTLE_COM_S_STORM: // 暴风雨 + case BATTLE_COM_S_ICE_MIRROR: // 冰镜术 + case BATTLE_COM_S_ENCLOSE: // 附身术 + case BATTLE_COM_S_TRANSPOSE: // 移形换位 work = CHAR_getWorkInt( charaindex, CHAR_WORKQUICK )+20; dex = work - RAND( work * 0.2, work * 0.5 ); break; - case BATTLE_COM_S_DOOM: // ĩ + case BATTLE_COM_S_DOOM: // 世界末日 work = CHAR_getWorkInt( charaindex, CHAR_WORKQUICK )+20; dex = work - RAND( 0.3, work * 0.6 ); break; #endif -#ifdef _SKILL_SPEEDY_ATT //vincent 輼:ٹ +#ifdef _SKILL_SPEEDY_ATT //vincent 宠技:疾速攻击 case BATTLE_COM_S_SPEEDYATTACK: work = CHAR_getWorkInt( charaindex, CHAR_WORKQUICK )+20; - dex = work + work*0.3;//30% + dex = work + work*0.3;//敏加30% break; #endif -#ifdef _PETSKILL_DAMAGETOHP //輼:¿(Ѫı) +#ifdef _PETSKILL_DAMAGETOHP //宠技:暗月狂狼(嗜血技的变体) case BATTLE_COM_S_DAMAGETOHP2: work = CHAR_getWorkInt( charaindex, CHAR_WORKQUICK )+20; - dex = work + work*0.2;//20% + dex = work + work*0.2;//敏加20% break; #endif - case BATTLE_COM_ITEM: // ʧ ةë + case BATTLE_COM_ITEM: // アイテムを使う場合 work = CHAR_getWorkInt( charaindex, CHAR_WORKQUICK )+20; dex = work - RAND( 0, work * 0.3 ) + work * 0.15; break; - default: // ɧ ئ) + default: // 通常(戦うなど) // Robin 0727 ride pet if( petindex == -1 ) work = CHAR_getWorkInt( charaindex, CHAR_WORKQUICK )+20; @@ -5227,9 +5233,9 @@ static int BATTLE_DexCalc( break; } - // Ѩ̹ϵئȻգ - //if( dex <= 0 )dex = 1; //ٷ - if( dex<=0 ) dex = RAND(1,10); //޸ĺ1-5֮ȡ + // マイナスになってしまったら? + //if( dex <= 0 )dex = 1; //官方负敏情况 + if( dex<=0 ) dex = RAND(1,5); //修改后是如果负敏,就在1-5之间随机取 return dex; } @@ -5240,7 +5246,7 @@ static int BATTLE_DexCalc( //************************************************************* // -// ؤ¾ +// コンビネーションがあるかどうかチェック // static void ComboCheck( BATTLE_CHARLIST *pEntryList, @@ -5255,12 +5261,12 @@ static void ComboCheck( com, enemy, side, - oldside = -3, // ؤԻئа - oldenemy = -3, // ؤԻئа + oldside = -3, // 適当にありえない値 + oldenemy = -3, // 適当にありえない値 armtype, move, per, - ComboId = 1, // ʾ + ComboId = 1, // コンボID start = -1; for( i = 0; i < entrynum; i ++ ){ @@ -5270,12 +5276,12 @@ static void ComboCheck( side = CHAR_getWorkInt( charaindex, CHAR_WORKBATTLESIDE ); armtype = 0; if( CHAR_getInt( charaindex, CHAR_WHICHTYPE ) == CHAR_TYPEENEMY ){ - per = 20; // ķߡ + per = 20; //敵は20% }else{ - per = 50; // зߡ + per = 50; // 自分は50% } - // ߾ ئ + // HPが0か動けなかったら if( CHAR_getInt( charaindex, CHAR_HP ) <= 0 || BATTLE_CanMoveCheck( charaindex ) == FALSE ){ @@ -5284,45 +5290,45 @@ static void ComboCheck( move = 1; } - // տë ئĸ - // ئĸ + // 攻撃側の武器を取得。投げ系ならダメ + // 投げ系ならダメ if( BATTLE_IsThrowWepon( CHAR_getItemIndex( charaindex, CHAR_ARM ) ) == TRUE ){ armtype = 1; } - pEntryList[i].combo = 0; // + pEntryList[i].combo = 0; // 初期化 - if( start != -1 ){ // - if( com != BATTLE_COM_ATTACK // Ѩƥئ - || enemy != oldenemy // Ȼ³Ļ Ԫƥئ - || side != oldside // ਵ - || armtype == 1 // ƥؤ - || move == 0 // ئ + if( start != -1 ){ // 合体攻撃発動中 + if( com != BATTLE_COM_ATTACK // 攻撃コマンドでない + || enemy != oldenemy // 狙ってる敵が同じでない + || side != oldside // サイドが違う + || armtype == 1 // 投げ系である + || move == 0 // 動けない ){ - start = -1; // - oldside = side; // + start = -1; // 終了 + oldside = side; // サイド覚える }else{ - // ʾɬ + // コンボ設定 CHAR_setWorkInt( pEntryList[i].charaindex, CHAR_WORKBATTLECOM1,BATTLE_COM_COMBO ); pEntryList[i].combo = ComboId; - // ټɱɬ + // 最初の人も一応設定 CHAR_setWorkInt( pEntryList[start].charaindex, CHAR_WORKBATTLECOM1,BATTLE_COM_COMBO ); pEntryList[start].combo = ComboId; } } - if( start == -1 ){// ƻئ + if( start == -1 ){// 合体攻撃発動していない場合 if( com == BATTLE_COM_ATTACK - && armtype != 1 // ƥئ - && move == 1 // + && armtype != 1 // 投げ系でない + && move == 1 // 動ける && RAND( 1, 100 ) <= per - ){ // ɧ ƥؤ + ){ // 通常攻撃中である start = i; - oldenemy = enemy; // Ȼ³ë - oldside = side; // + oldenemy = enemy; // 狙ってる敵を覚える + oldside = side; // サイド覚える ComboId ++; } } @@ -5333,17 +5339,17 @@ static void ComboCheck( //************************************************************* // -// ƥ¾ -//ݼлʾƥԪئ FALSE +// コンビネーションが本当にできるかチェック +// 次の人がコンボできる状態じゃなかったら FALSE // static BOOL ComboCheck2( - BATTLE_CHARLIST *pEntryList, // ޼ - int nownum, // ػ - int entrynum // ޼ + BATTLE_CHARLIST *pEntryList, // エントリーリスト + int nownum, // 現在の順番 + int entrynum // エントリー最大数 ) // -// ʾƥ TRUE -// ƥئ FALSE +// コンボできる TRUE +// できない FALSE // //************************************************************* { @@ -5353,26 +5359,26 @@ static BOOL ComboCheck2( ComboId, charaindex; - // ʾ + // コンボID保存 ComboId = pEntryList[nownum].combo; charaindex = pEntryList[nownum].charaindex; - // лպ ƻ + // 自分が忠誠度失敗していたら失敗 if( CHAR_getWorkInt( charaindex, CHAR_WORKBATTLEFLG) & CHAR_BATTLEFLG_AIBAD ) { -// print( "ҳ϶Ȳʹñɱʧ( %s )\n",CHAR_getUseName( charaindex ) ); +// print( "由於忠诚度不足使用必杀技失败( %s )\n",CHAR_getUseName( charaindex ) ); return FALSE; } - // ݼлʾ帨ƥ¾ + // 次の人がコンボに参加できるか確認 for( i = nownum+1; i < entrynum; i ++ ){ charaindex = pEntryList[i].charaindex; - // ʾ ਵ + //コンボID違うと早くも失敗 if( ComboId != pEntryList[i].combo )break; - // 帨ƻئݳ + //戦闘に参加していなかったら次へ if( CHAR_getWorkInt( charaindex, CHAR_WORKBATTLEMODE) == 0 ) break; if( CHAR_getWorkInt( charaindex, CHAR_WORKBATTLEMODE) == BATTLE_CHARMODE_FINAL ) break; @@ -5386,7 +5392,7 @@ static BOOL ComboCheck2( } /* if( iRet == FALSE ){ - print( "ɱʧ( %s )\n", + print( "必杀技失败( %s )\n", CHAR_getUseName( pEntryList[nownum].charaindex ) ); } */ @@ -5417,7 +5423,7 @@ void BATTLE_UltimateExtra( if( BattleArray[battleindex].type != BATTLE_TYPE_P_vs_P ){ int levelflg = 1; //snprintf( szBuffer, sizeof(szBuffer), - // "(%s)Զ", + // "(%s)被击飞至远方。", // CHAR_getUseName( enemyindex ) ); if( CHAR_getInt( enemyindex, CHAR_LV ) <= 10 ){ levelflg = 2; @@ -5448,56 +5454,56 @@ void BATTLE_UltimateExtra( } }else - // ʸئ + // ペットなら if( CHAR_getInt( enemyindex, CHAR_WHICHTYPE ) == CHAR_TYPEPET ){ int levelflg = 1; int playerindex = CHAR_getWorkInt( enemyindex, CHAR_WORKPLAYERINDEX ); - // ìﻥ Ӽ + // レベルが低い場合は魅力減る半分 if( CHAR_getInt( playerindex, CHAR_LV ) <= 10 ){ levelflg = 2; } //snprintf( szBuffer, sizeof(szBuffer), - // "(%s)ɡ", + // "(%s)被击飞。", // CHAR_getUseName( enemyindex ) ); - // DZмɻշ + // 主人のデフォルトからはずす CHAR_setInt( playerindex, CHAR_DEFAULTPET, -1 ); - // ب޻ﶯ½ëƱ + // デュエル以外は忠誠心を下げる if( BattleArray[battleindex].type != BATTLE_TYPE_P_vs_P ){ - // ͼ ᆴؤئ ëƱ + // リスクの無いバトルか?あるなら忠誠魅力を下げる if( BattleArray[battleindex].norisk == 0 ){; CHAR_PetAddVariableAi( enemyindex, AI_FIX_PETULTIMATE/levelflg ); } - // DZмʸϷּë + // 主人のペット死んだ回数をカウントする CHAR_setInt( playerindex, CHAR_DEADPETCOUNT, CHAR_getInt( playerindex, CHAR_DEADPETCOUNT ) + 1 ); } /* - // ʸվ ն£ + // ペットがいたら戦闘からぬけさせる。 BATTLE_PetDefaultExit( enemyindex, battleindex ); */ - // + // 自分も抜ける BATTLE_Exit( enemyindex, battleindex ); }else{ int flg; - // ľ½ƥʧ ū + // それ以外でアルティメット死 //snprintf( szBuffer, sizeof(szBuffer), - // "(%s)ɡ", + // "(%s)被击飞。", // CHAR_getUseName( enemyindex ) ); - // ƽҷ·ӡƻ + // 敵キャラはサーバーに残しておく // BATTLE_Exit( enemyindex, battleindex ); flg = CHAR_getWorkInt( enemyindex, CHAR_WORKBATTLEFLG ); - flg |= CHAR_BATTLEFLG_ULTIMATE; // ʧ ū + flg |= CHAR_BATTLEFLG_ULTIMATE; // アルティメット受けた CHAR_setWorkInt( enemyindex, CHAR_WORKBATTLEFLG, flg ); BATTLE_Exit( enemyindex, battleindex ); } - // ú + // 実況中継 //BATTLE_BroadCast( battleindex, szBuffer, CHAR_COLORYELLOW ); } @@ -5505,12 +5511,12 @@ void BATTLE_UltimateExtra( //************************************************************* // -// ɧٱ忢姽 +// 通常に気絶させた場合の特殊処理 // void BATTLE_NormalDeadExtra( - int battleindex, // ̼͵ - int charaindex, // ڽƽҷ¼̼͵ - int enemyindex // ڽľƽҷ¼̼͵ + int battleindex, // 戦闘インデックス + int charaindex, // 殺したキャラのインデックス + int enemyindex // 殺されたキャラのインデックス ) // // @@ -5521,33 +5527,34 @@ void BATTLE_NormalDeadExtra( szBuffer[0] = 0; - // ƥ - // 缰 - // ͼ ئ + // プレイヤーで + // 敵との戦闘だったら + // リスクの無いバトルなら + if( CHAR_getInt( enemyindex, CHAR_WHICHTYPE ) == CHAR_TYPEPLAYER && BattleArray[battleindex].type == BATTLE_TYPE_P_vs_E && BattleArray[battleindex].norisk == 0 ){ int levelflg = 1; - // м ëƱ - // ì߶Ʊз зƱ + // 自分の魅力を下げる + // レベル10以下の人は魅力半分だけ下がる if( CHAR_getInt( enemyindex, CHAR_LV ) <= 10 ){ levelflg = 2; } CHAR_AddCharm( enemyindex, CH_FIX_PLAYERDEAD/levelflg ); - // 帨ƻʸ ëƱ + // 戦闘に参加していたペットの魅力を下げる pno = CHAR_getInt( enemyindex, CHAR_DEFAULTPET ); if( 0 <= pno && pno < CHAR_MAXPETHAVE ){ - // ʸ̼͵ + // ペットのインデックス pindex = CHAR_getCharPet( enemyindex, pno ); if( CHAR_CHECKINDEX( pindex ) == TRUE ){ CHAR_PetAddVariableAi( pindex, AI_FIX_PLAYERDEAD/levelflg ); } } - // Ϸƽҷ¼Ѩ٨ľ + // 死んだキャラのコマンドは忘れる CHAR_setWorkInt( enemyindex, CHAR_WORKBATTLECOM1, BATTLE_COM_NONE ); }else - // ʸئ + // ペットなら if( CHAR_getInt( enemyindex, CHAR_WHICHTYPE ) == CHAR_TYPEPET && BattleArray[battleindex].type == BATTLE_TYPE_P_vs_E && BattleArray[battleindex].norisk == 0 @@ -5555,25 +5562,25 @@ void BATTLE_NormalDeadExtra( int levelflg = 1; int playerindex = CHAR_getWorkInt( enemyindex, CHAR_WORKPLAYERINDEX ); - // DZмì߶Ʊз зƱ + // 主人のレベル10以下の人は魅力半分だけ下がる if( CHAR_getInt( playerindex, CHAR_LV ) <= 10 ){ levelflg = 2; } - // мëƱ + // 自分の忠誠心を下げる CHAR_PetAddVariableAi( enemyindex, AI_FIX_PETDEAD/levelflg ); - // DZмʸϷּë + // 主人のペット死んだ回数をカウントする CHAR_setInt( playerindex, CHAR_DEADPETCOUNT, CHAR_getInt( playerindex, CHAR_DEADPETCOUNT ) + 1 ); - // Ϸƽҷ¼Ѩ٨ľ + // 死んだキャラのコマンドは忘れる CHAR_setWorkInt( enemyindex, CHAR_WORKBATTLECOM1, BATTLE_COM_NONE ); }else{ - // ľ½ + // それ以外 } //snprintf( szBuffer, sizeof(szBuffer), - // "(%s)ʧȥʶ", + // "(%s)失去意识。", // CHAR_getUseName( enemyindex ) ); //BATTLE_BroadCast( battleindex, szBuffer, CHAR_COLORYELLOW ); @@ -5639,24 +5646,24 @@ void BATTLE_EscapeDpSend( int battleindex, int charaindex ) // Nuke 0725: Avoid too large number if ((battleindex<0)||(battleindex>getBattlenum())) return; - // ½ + // DUEL以外は抜ける if( BattleArray[battleindex].type != BATTLE_TYPE_P_vs_P ){ return; } - // + // 相手サイド enemyside = 1 - CHAR_getWorkInt( charaindex, CHAR_WORKBATTLESIDE ); pEntry = BattleArray[battleindex].Side[enemyside].Entry; - // 촡ë + // 相手側にいる人数を数える dpadd = CHAR_getInt( charaindex, CHAR_DUELPOINT ) * DUELPOINT_RATE; - if( dpadd < 1 )dpadd = 1; // ƥ֨ + if( dpadd < 1 )dpadd = 1; // 最低でも1 - // о¦л + // 本人から引いておく CHAR_setWorkInt( charaindex, CHAR_WORKGETEXP, -dpadd*2 ); - // 촡巴 + // 相手側には足す BattleArray[battleindex].Side[enemyside].common_dp += dpadd; @@ -5736,7 +5743,7 @@ int BATTLE_AddDuelPoint( int battleindex, int *pBidList ) if(indexfloor==11111|| indexfloor==22222|| indexfloor==33333|| - indexfloor==44444) //жڵͼ + indexfloor==44444) //判定人物所在地图 { // dpnow = CHAR_getWorkInt( enemyindex, CHAR_WORKVIPPOINT ); // dpnow -= dpadd; @@ -5814,7 +5821,7 @@ int BATTLE_AddDuelPoint( if( CHAR_getInt( enemyindex, CHAR_WHICHTYPE ) == CHAR_TYPEPLAYER ){ int dpadd, dpnow; dpnow = CHAR_getInt( enemyindex, CHAR_DUELPOINT ); - dpadd = dpnow * DUELPOINT_RATE; // м + dpadd = dpnow * DUELPOINT_RATE; // ㄠㄟ坌及ㄠ手日尹月 dpnow -= dpadd; CHAR_setWorkInt( enemyindex, CHAR_WORKGETEXP, CHAR_getWorkInt( enemyindex, CHAR_WORKGETEXP) - dpadd ); @@ -5838,7 +5845,7 @@ int BATTLE_ItemDelCheck( int itemindex ) if( CHAR_CHECKINDEX( icnt ) ) { for( jcnt = 0; jcnt < CHAR_MAXITEMHAVE; jcnt ++ ) { if( CHAR_getItemIndex( icnt, jcnt ) == itemindex ) { - //print( "err:սƷֵitem(%s)(%s)index(%d)\n", + //print( "err:战利品奇怪的item处理(%s)(%s)index(%d)\n", // CHAR_getUseName(icnt),ITEM_getAppropriateName(itemindex), // itemindex ); return FALSE; @@ -5877,7 +5884,7 @@ int BATTLE_AddExpItem( int battleindex, int *pBidList ) || BattleArray[battleindex].Side[1-side].type == BATTLE_S_TYPE_PLAYER){ proflg = 0; } -#ifdef _SHARE_EXP //ŶӾ鹲 +#ifdef _SHARE_EXP //团队经验共享 if(getExpShare()==1){ for( i = 0; i < BATTLE_ENTRY_MAX ; i ++ ){ if( BattleArray[battleindex].type == BATTLE_TYPE_P_vs_E ){ @@ -5933,7 +5940,7 @@ int BATTLE_AddExpItem( int battleindex, int *pBidList ) } if( proflg == 1 && side != j ){ if( CHAR_getInt( enemyindex, CHAR_WHICHTYPE ) != CHAR_TYPEENEMY ){ - //print( "\nerr: ȡսƷ(%s:%d)\n", + //print( "\nerr: 夺取敌人以外的战利品(%s:%d)\n", // __FILE__, __LINE__ ); } for(item=CHAR_STARTITEMARRAY; item < CHAR_STARTITEMARRAY+10; item++){ @@ -5942,7 +5949,7 @@ int BATTLE_AddExpItem( int battleindex, int *pBidList ) continue; } if( ITEM_getWorkInt( itemindex, ITEM_WORKCHARAINDEX ) <= getFdnum() ){ - //print( "\nerr: ҵitemսƷ(%s:%d)\n", + //print( "\nerr: 将玩家的item当做战利品(%s:%d)\n", // __FILE__, __LINE__ ); continue; } @@ -5983,9 +5990,9 @@ int BATTLE_AddExpItem( int battleindex, int *pBidList ) int nowexp, b_level; int ridepet; b_level = CHAR_getInt( charaindex[k], CHAR_LV ) - enemylevel; - if( b_level <= EXPGET_MAXLEVEL ){// 5 + if( b_level <= EXPGET_MAXLEVEL ){//如 人物大怪物5以下 或怪物大於人物 nowexp = exp; - }else{//춹5 + }else{//如果人物大於怪物5以上 b_level = EXPGET_MAXLEVEL+EXPGET_DIV - b_level; if( b_level > EXPGET_DIV ) b_level = EXPGET_DIV; if( b_level <= 0 ){ @@ -6010,9 +6017,9 @@ int BATTLE_AddExpItem( int battleindex, int *pBidList ) if(getStringFromIndexWithDelim(itemarg,"|", 1, buftest, sizeof(buftest)) == TRUE){ itemlv = atoi(buftest); b_level = itemlv - enemylevel; - if( b_level <= EXPGET_MAXLEVEL ){// 5 + if( b_level <= EXPGET_MAXLEVEL ){//如 人物大怪物5以下 或怪物大於人物 nowexp = exp; - }else{//춹5 + }else{//如果人物大於怪物5以上 b_level = EXPGET_MAXLEVEL+EXPGET_DIV - b_level; if( b_level > EXPGET_DIV ) b_level = EXPGET_DIV; if( b_level <= 0 ){ @@ -6086,7 +6093,7 @@ void Pet_Check_Die( int petindex ) float modai; #define RAND(x,y) ((x-1)+1+ (int)( (double)(y-(x-1))*rand()/(RAND_MAX+1.0)) ) - // ۻԼҳ + //玛宠死亡 扣基本属性及忠诚 if( CHAR_getInt( petindex, CHAR_PETID) == 718 ) { LevelUpPoint = CHAR_getInt( petindex, CHAR_ALLOCPOINT ); vital = (( LevelUpPoint >> 24 ) & 0xff); @@ -6125,7 +6132,7 @@ void Pet_Check_Die( int petindex ) // CHAR_getChar( petindex, CHAR_NAME), // petindex, 2, // CHAR_getInt( petindex, CHAR_LV), -// "battle_die(ս)", +// "battle_die(战斗死亡)", // CHAR_getInt( petindex,CHAR_FLOOR), // 0, // 0 @@ -6214,7 +6221,7 @@ void Compute_Down( int charaindex, int rideindex, int *down1, int *down2, int fl *down1 = 0; *down2 = 0; - // + //人物 downs = CHAR_getInt( charaindex, CHAR_VITAL ) + CHAR_getInt( charaindex, CHAR_STR ) @@ -6230,7 +6237,7 @@ void Compute_Down( int charaindex, int rideindex, int *down1, int *down2, int fl *down1 = downs; } if( flg == -1 ) { - }else {//˳ + }else {//骑乘宠物 if( !CHAR_CHECKINDEX( rideindex)) return; downs = CHAR_getInt( rideindex, CHAR_VITAL ) @@ -6250,7 +6257,7 @@ void Compute_Down( int charaindex, int rideindex, int *down1, int *down2, int fl } } -#ifdef _PET_SKILL_SARS // WON ADD ɷ +#ifdef _PET_SKILL_SARS // WON ADD 毒煞蔓延 void Compute_Down_SARS( int charaindex, int rideindex, int *down1, int *down2, int flg) { int hp=0, pethp=0; @@ -6258,7 +6265,7 @@ void Compute_Down_SARS( int charaindex, int rideindex, int *down1, int *down2, i *down1 = 0; *down2 = 0; - // + //人物 /* downs = CHAR_getInt( charaindex, CHAR_VITAL ) @@ -6279,7 +6286,7 @@ void Compute_Down_SARS( int charaindex, int rideindex, int *down1, int *down2, i *down1 = downs; } if( flg == -1 ) { - }else {//˳ + }else {//骑乘宠物 if( !CHAR_CHECKINDEX( rideindex)) return; downs = CHAR_getInt( rideindex, CHAR_VITAL ) @@ -6317,11 +6324,11 @@ void WorkIceCrackPlay(int charaindex, int cnt, int workicecracknum ) int ToList[SIDE_OFFSET*2+1]; memset( ToList, -1, sizeof( ToList)); BATTLE_MultiList( battleindex, TARGET_SIDE_1, ToList ); - // ħ붯 + // 将魔法参数代入动画 analysis_profession_parameter( 2, 4, defNo, charaindex ); PROFESSION_MAGIC_ATTAIC_Effect( battleindex, bid, ToList, 2); - if( defNo == 20 || defNo == 25 || defNo == 26 )// + if( defNo == 20 || defNo == 25 || defNo == 26 )//右 bid = 0; else bid = 10; @@ -6415,17 +6422,17 @@ static int BATTLE_StatusSeq( int charaindex ) for( i = 1; i < BATTLE_ST_END; i++ ){ if( ( cnt = CHAR_getWorkInt( charaindex, StatusTbl[i] )) <= 0 )continue; CHAR_setWorkInt( charaindex, StatusTbl[i], --cnt ); -#ifdef _MAGIC_WEAKEN // +#ifdef _MAGIC_WEAKEN // 虚弱 if(CHAR_getWorkInt(charaindex,CHAR_WORKWEAKEN) > 0) CHAR_setWorkInt( charaindex, StatusTbl[i], cnt+1 ); #endif -#ifdef _MAGIC_BARRIER// vincent :ħ +#ifdef _MAGIC_BARRIER// vincent 精灵:魔障 if(CHAR_getWorkInt(charaindex,CHAR_WORKBARRIER) > 0) CHAR_setWorkInt( charaindex, StatusTbl[i], cnt+1 ); #endif -#ifdef _PROFESSION_SKILL // WON ADD ְҵ +#ifdef _PROFESSION_SKILL // WON ADD 人物职业技能 if( cnt <= 0 && ( StatusTbl[i] != CHAR_WORKICECRACK ) #ifdef _PROFESSION_ADDSKILL && ( StatusTbl[i] != CHAR_WORKICECRACK2 ) @@ -6438,12 +6445,12 @@ static int BATTLE_StatusSeq( int charaindex ) && ( StatusTbl[i] != CHAR_WORKICECRACK9 ) && ( StatusTbl[i] != CHAR_WORKICECRACK10 ) #endif - ){ // + ){ // 冰爆术 #else if( cnt <= 0 ){ #endif BATTLE_BadStatusString( bid, 0 ); - //snprintf( szBuffer, sizeof( szBuffer ), "(%s)(%s)ϡ", + //snprintf( szBuffer, sizeof( szBuffer ), "(%s)将(%s)修理完毕。", // CHAR_getUseName( charaindex ), aszStatusFull[i] ); // BATTLE_BroadCast( battleindex, szBuffer, // (bid >= 10)? CHAR_COLORGRAY : CHAR_COLORPURPLE ) ; @@ -6452,7 +6459,7 @@ static int BATTLE_StatusSeq( int charaindex ) // BATTLESTR_ADD( szBuffer ); #ifdef _MAGIC_NOCAST if( StatusTbl[i] == CHAR_WORKNOCAST ){ - lssproto_NC_send( getfdFromCharaIndex( charaindex ), 0);//ԭ + lssproto_NC_send( getfdFromCharaIndex( charaindex ), 0);//复原 } #endif if( StatusTbl[i] == CHAR_WORKDRUNK ){ @@ -6476,7 +6483,7 @@ static int BATTLE_StatusSeq( int charaindex ) Compute_Down( charaindex, ridepet, &down, &petdown, ridepet); if( down >= 0 ){ //snprintf( szBuffer, sizeof( szBuffer ), - // "(%s)(%s)ܵ(%d)ˡ", + // "(%s)因(%s)受到(%d)的损伤。", // CHAR_getUseName( charaindex ), // aszStatusFull[i], // down ); @@ -6493,7 +6500,7 @@ static int BATTLE_StatusSeq( int charaindex ) } if( ridepet != -1 && petdown >= 0 ){ //snprintf( szBuffer, sizeof( szBuffer ), - // "(%s)(%s)ܵ(%d)ˡ", + // "(%s的骑宠)因(%s)受到(%d)的损伤。", // CHAR_getUseName( charaindex ), // aszStatusFull[i], petdown ); //BATTLE_BroadCast( battleindex, szBuffer, @@ -6518,7 +6525,7 @@ static int BATTLE_StatusSeq( int charaindex ) CHAR_setInt( defindex, CHAR_HP,0); CHAR_setFlg( defindex, CHAR_ISDIE, 1 ); CHAR_setWorkInt( defindex, CHAR_WORKBATTLECOM1, BATTLE_COM_NONE ); - sprintf(szBuffer, "%sо綾δ!!", CHAR_getChar( defindex, CHAR_NAME )); + sprintf(szBuffer, "%s身中剧毒未解而阵亡了!!", CHAR_getChar( defindex, CHAR_NAME )); if( CHAR_getInt( defindex, CHAR_WHICHTYPE ) == CHAR_TYPEPET ){ CHAR_talkToCli( CHAR_getWorkInt(defindex, CHAR_WORKPLAYERINDEX), -1, szBuffer, CHAR_COLORYELLOW); }else{ @@ -6539,7 +6546,7 @@ static int BATTLE_StatusSeq( int charaindex ) if( down >= 0 ){ CHAR_setInt( charaindex, CHAR_HP, hp - down ); //snprintf( szBuffer, sizeof( szBuffer ), - // "(%s)(%s)ܵ(%d)ˡ", + // "(%s)因(%s)受到(%d)的损伤。", // CHAR_getUseName( charaindex ), // aszStatusFull[i], // down ); @@ -6577,7 +6584,7 @@ static int BATTLE_StatusSeq( int charaindex ) if( down >= 0 ){ CHAR_setInt( charaindex, CHAR_HP, hp - down ); //snprintf( szBuffer, sizeof( szBuffer ), - // "(%s)(%s)ܵ(%d)ˡ", + // "(%s)因(%s)受到(%d)的损伤。", // CHAR_getUseName( charaindex ), // aszStatusFull[i], // down ); @@ -6594,7 +6601,7 @@ static int BATTLE_StatusSeq( int charaindex ) if( petdown >= 0 ){ CHAR_setInt( ridepet, CHAR_HP, pethp - petdown ); //snprintf( szBuffer, sizeof( szBuffer ), - // "(%s)(%s)ܵ(%d)ˡ", + // "(%s的骑宠)因(%s)受到(%d)的损伤。", // CHAR_getUseName( charaindex ), // aszStatusFull[i], // petdown ); @@ -6604,9 +6611,9 @@ static int BATTLE_StatusSeq( int charaindex ) break; } #endif -#ifdef _MAGIC_NOCAST // :Ĭ +#ifdef _MAGIC_NOCAST // 精灵:沉默 case CHAR_WORKNOCAST: - lssproto_NC_send( getfdFromCharaIndex( charaindex ), 1);//Ĭ + lssproto_NC_send( getfdFromCharaIndex( charaindex ), 1);//沉默 break; #endif case CHAR_WORKCONFUSION: @@ -6632,7 +6639,7 @@ static int BATTLE_StatusSeq( int charaindex ) } break; #ifdef _PROFESSION_ADDSKILL - case CHAR_WORKANNEX:// + case CHAR_WORKANNEX://附身术 { int side, pos, defNo, lop; @@ -6658,10 +6665,10 @@ static int BATTLE_StatusSeq( int charaindex ) case CHAR_WORKDRUNK: break; -#ifdef _PROFESSION_SKILL // WON ADD ְҵ - case CHAR_WORKOBLIVION: // +#ifdef _PROFESSION_SKILL // WON ADD 人物职业技能 + case CHAR_WORKOBLIVION: // 遗忘 { - // ָ + // 恢复技能 if( cnt <= 1 ){ int defNo = BATTLE_Index2No( battleindex, charaindex ); int toNo = defNo - 5; @@ -6670,11 +6677,11 @@ static int BATTLE_StatusSeq( int charaindex ) memset( msg, -1, sizeof(msg) ); - // index + // 主人index toNoindex = BATTLE_No2Index( battleindex, toNo ); CHAR_setWorkInt(charaindex, StatusTbl[BATTLE_ST_OBLIVION], 0 ); - // + // 宠物编号 pet_no = CHAR_getInt( toNoindex, CHAR_DEFAULTPET ); sprintf( msg, "W%d", pet_no ); CHAR_sendStatusString( toNoindex, msg ); @@ -6686,7 +6693,7 @@ static int BATTLE_StatusSeq( int charaindex ) } break; } - case CHAR_WORK_F_ENCLOSE: // + case CHAR_WORK_F_ENCLOSE: // 火附体 { int ToList[SIDE_OFFSET*2+1]; int defNo = BATTLE_Index2No( battleindex, charaindex ); @@ -6698,7 +6705,7 @@ static int BATTLE_StatusSeq( int charaindex ) BATTLE_MultiList( battleindex, defNo, ToList ); BATTLE_MagicEffect( battleindex, defNo, ToList, 101699, 101699 ); - // ȡħ˺ֵ + // 取魔法伤害值 DAMAGE = DAMAGE * cnt; #ifdef _PROFESSION_ADDSKILL dec_hp = PROFESSION_MAGIC_GET_DAMAGE( charaindex, charaindex, 1, DAMAGE, 0); @@ -6720,7 +6727,7 @@ static int BATTLE_StatusSeq( int charaindex ) break; } - case CHAR_WORK_I_ENCLOSE: // + case CHAR_WORK_I_ENCLOSE: // 冰附体 { int old_dex = CHAR_getInt( charaindex, CHAR_DEX ); int dex = 0; @@ -6738,9 +6745,9 @@ static int BATTLE_StatusSeq( int charaindex ) break; } - case CHAR_WORKRESIST_F: // + case CHAR_WORKRESIST_F: // 火抗性提升 { - // ָ + // 恢复抗性 if( cnt <= 1 ){ int add_value = 0; int old_value = 0; @@ -6748,13 +6755,13 @@ static int BATTLE_StatusSeq( int charaindex ) add_value = CHAR_getWorkInt( charaindex, CHAR_WORKMODRESIST_F ); CHAR_setWorkInt( charaindex, CHAR_WORK_F_RESIST, old_value - add_value ); - CHAR_talkToCli( charaindex, -1 , "Իָ" , CHAR_COLORYELLOW ); + CHAR_talkToCli( charaindex, -1 , "火抗性恢复" , CHAR_COLORYELLOW ); } break; } - case CHAR_WORKRESIST_I: // + case CHAR_WORKRESIST_I: // 冰抗性提升 { - // ָ + // 恢复抗性 if( cnt <= 1 ){ int add_value = 0; int old_value = 0; @@ -6762,14 +6769,14 @@ static int BATTLE_StatusSeq( int charaindex ) add_value = CHAR_getWorkInt( charaindex, CHAR_WORKMODRESIST_I ); CHAR_setWorkInt( charaindex, CHAR_WORK_I_RESIST, old_value - add_value ); - CHAR_talkToCli( charaindex, -1 , "Իָ" , CHAR_COLORYELLOW ); + CHAR_talkToCli( charaindex, -1 , "冰抗性恢复" , CHAR_COLORYELLOW ); } break; } - case CHAR_WORKRESIST_T: // ׿ + case CHAR_WORKRESIST_T: // 雷抗性提升 { - // ָ + // 恢复抗性 if( cnt <= 1 ){ int add_value = 0; int old_value = 0; @@ -6777,42 +6784,42 @@ static int BATTLE_StatusSeq( int charaindex ) add_value = CHAR_getWorkInt( charaindex, CHAR_WORKMODRESIST_T ); CHAR_setWorkInt( charaindex, CHAR_WORK_T_RESIST, old_value - add_value ); - CHAR_talkToCli( charaindex, -1 , "׿Իָ" , CHAR_COLORYELLOW ); + CHAR_talkToCli( charaindex, -1 , "雷抗性恢复" , CHAR_COLORYELLOW ); } break; } #ifdef _PROFESSION_ADDSKILL -/* case CHAR_WORKERSIST_F_I_T: // ׿ +/* case CHAR_WORKERSIST_F_I_T: // 提升火冰雷抗性 { - // ָ + // 恢复抗性 if( cnt <= 1 ){ int add_value = 0; int old_value = 0; old_value = CHAR_getWorkInt( charaindex, CHAR_WORK_F_RESIST ); add_value = CHAR_getWorkInt( charaindex, CHAR_WORKMODRESIST_F ); CHAR_setWorkInt( charaindex, CHAR_WORK_F_RESIST, old_value - add_value ); - CHAR_talkToCli( charaindex, -1 , "Իָ" , CHAR_COLORYELLOW ); + CHAR_talkToCli( charaindex, -1 , "火抗性恢复" , CHAR_COLORYELLOW ); old_value = CHAR_getWorkInt( charaindex, CHAR_WORK_I_RESIST ); add_value = CHAR_getWorkInt( charaindex, CHAR_WORKMODRESIST_I ); CHAR_setWorkInt( charaindex, CHAR_WORK_I_RESIST, old_value - add_value ); - CHAR_talkToCli( charaindex, -1 , "Իָ" , CHAR_COLORYELLOW ); + CHAR_talkToCli( charaindex, -1 , "冰抗性恢复" , CHAR_COLORYELLOW ); old_value = CHAR_getWorkInt( charaindex, CHAR_WORK_T_RESIST ); add_value = CHAR_getWorkInt( charaindex, CHAR_WORKMODRESIST_T ); CHAR_setWorkInt( charaindex, CHAR_WORK_T_RESIST, old_value - add_value ); - CHAR_talkToCli( charaindex, -1 , "׿Իָ" , CHAR_COLORYELLOW ); + CHAR_talkToCli( charaindex, -1 , "雷抗性恢复" , CHAR_COLORYELLOW ); } break; }*/ case CHAR_WORKFEAR: if( cnt <= 0 ) - CHAR_talkToCli( charaindex, -1 , "ָ" , CHAR_COLORYELLOW ); + CHAR_talkToCli( charaindex, -1 , "攻、防、敏恢复" , CHAR_COLORYELLOW ); break; #endif - case CHAR_WORKINSTIGATE: // + case CHAR_WORKINSTIGATE: // 挑拨 { int side, pos, defNo, lop, rate=0; if( RAND( 1, 100 ) > 80 ){ @@ -6843,7 +6850,7 @@ static int BATTLE_StatusSeq( int charaindex ) break; } /* - case CHAR_WORK_FOCUS: // רעս + case CHAR_WORK_FOCUS: // 专注战斗 { if( cnt <= 1 ){ int atk_to_index = CHAR_getWorkInt( charaindex, CHAR_WORKMOD_FOCUS ); @@ -6859,9 +6866,9 @@ static int BATTLE_StatusSeq( int charaindex ) break; } */ - case CHAR_WORKSIGN: // һѪ + case CHAR_WORKSIGN: // 一针见血 { - // Ѫ + // 吸血 int skill_level = CHAR_getWorkInt( charaindex, CHAR_WORKMODSIGN ); int old_hp = CHAR_getInt( charaindex, CHAR_HP ); int old_mp = CHAR_getInt( charaindex, CHAR_MP ); @@ -6886,13 +6893,13 @@ static int BATTLE_StatusSeq( int charaindex ) dec_hp = 50; dec_mp = 10; } - // hp + // 增加hp if( skill_level > 8 ) rate = 100; else if( skill_level > 7 ) rate = 50; else rate = 0; add_hp = dec_hp * rate / 100; - // mp + // 增加mp if( skill_level > 8 ) rate = 100; else rate = 0; add_mp = dec_mp * rate / 100; @@ -6914,14 +6921,14 @@ static int BATTLE_StatusSeq( int charaindex ) dec_hp = 50; dec_mp = 10; } - // hp + // 增加hp if( skill_level >= 9 ) rate = 80; else if( skill_level >= 7 ) rate = (skill_level - 1 ) * 10; else if( skill_level >= 4 ) rate = (skill_level - 2 ) * 10; else rate = skill_level * 10; add_hp = dec_hp * rate / 100; - // mp + // 增加mp if( skill_level >= 9 ) rate = 100; else if( skill_level >= 7 ) rate = (skill_level - 1 ) * 10; else if( skill_level >= 4 ) rate = (skill_level - 2 ) * 10; @@ -6929,7 +6936,7 @@ static int BATTLE_StatusSeq( int charaindex ) add_mp = dec_mp * rate / 100; #endif - // ѪƵ˼ HP + // 中嗜血蛊的人减 HP if( CHAR_getInt( charaindex, CHAR_WHICHTYPE ) == CHAR_TYPEPLAYER ){ mp = old_mp - dec_mp; if( mp < 0 ){ @@ -6939,7 +6946,7 @@ static int BATTLE_StatusSeq( int charaindex ) CHAR_setInt(charaindex, CHAR_MP, mp); } - // ѪƵ˼ HP + // 中嗜血蛊的人减 HP if( ridepet == -1 ) { hp = old_hp - dec_hp; if( hp < 0 ) hp = 0; @@ -6972,7 +6979,7 @@ static int BATTLE_StatusSeq( int charaindex ) BATTLESTR_ADD( szCommand ); - // ʹѪƵ˼ HPMP + // 使用嗜血蛊的人加 HP、MP if( (add_hp > 0) && (to_old_hp > 0) ){ int to_bid=0, to_hp=0, to_mp=0; @@ -6994,9 +7001,9 @@ static int BATTLE_StatusSeq( int charaindex ) break; } - case CHAR_WORKBLOODWORMS: // Ѫ + case CHAR_WORKBLOODWORMS: // 嗜血蛊 { - // Ѫ + // 吸血 int skill_level = CHAR_getWorkInt( charaindex, CHAR_WORKMODBLOODWORMS ); int old_hp = CHAR_getInt( charaindex, CHAR_HP ); int to_index = CHAR_getWorkInt( charaindex, CHAR_WORKBLOODWORMSID ); @@ -7015,7 +7022,7 @@ static int BATTLE_StatusSeq( int charaindex ) add_hp = dec_hp * rate / 100; - // ѪƵ˼ HP + // 中嗜血蛊的人减 HP if( ridepet == -1 ) { hp = old_hp - dec_hp; if( hp < 0 ) hp = 0; @@ -7049,7 +7056,7 @@ static int BATTLE_StatusSeq( int charaindex ) BATTLESTR_ADD( szCommand ); - // ʹѪƵ˼ HP + // 使用嗜血蛊的人加 HP if( (add_hp > 0) && (to_old_hp > 0) ){ int to_bid=0, to_hp=0; @@ -7066,9 +7073,9 @@ static int BATTLE_StatusSeq( int charaindex ) break; } - case CHAR_WORKICEARROW: // + case CHAR_WORKICEARROW: // 冰箭 { - // + // 减敏 int dec_dex = CHAR_getWorkInt( charaindex, CHAR_WORKMODICEARROW ); int old_dex = CHAR_getWorkInt( charaindex, CHAR_WORKFIXDEX ); int dex=0; @@ -7081,7 +7088,7 @@ static int BATTLE_StatusSeq( int charaindex ) break; } - case CHAR_WORKICECRACK: // + case CHAR_WORKICECRACK: // 冰爆术 { int value=0; int defNo = CHAR_getWorkInt( charaindex, CHAR_WORKBATTLECOM2 );//defNo = BATTLE_Index2No( battleindex, charaindex ); @@ -7094,11 +7101,11 @@ static int BATTLE_StatusSeq( int charaindex ) int ToList[SIDE_OFFSET*2+1]; memset( ToList, -1, sizeof( ToList)); BATTLE_MultiList( battleindex, TARGET_SIDE_1, ToList ); - // ħ붯 + // 将魔法参数代入动画 analysis_profession_parameter( 2, 4, defNo, charaindex ); PROFESSION_MAGIC_ATTAIC_Effect( battleindex, bid, ToList, 2); - if( defNo == 20 || defNo == 25 || defNo == 26 )// + if( defNo == 20 || defNo == 25 || defNo == 26 )//右 bid = 0; else bid = 10; @@ -7113,7 +7120,7 @@ static int BATTLE_StatusSeq( int charaindex ) defType = CHAR_getInt(charaidx, CHAR_WHICHTYPE); CHAR_setWorkInt( charaidx, CHAR_WORKICECRACK, 0 ); //BATTLE_BadStatusString( bid, 0 ); - //snprintf( szBuffer, sizeof( szBuffer ), "(%s)(%s)ϡ", + //snprintf( szBuffer, sizeof( szBuffer ), "(%s)将(%s)修理完毕。", // CHAR_getUseName( charaindex ), aszStatusFull[i] ); // BATTLE_BroadCast( battleindex, szBuffer, // (bid >= 10)? CHAR_COLORGRAY : CHAR_COLORPURPLE ) ; @@ -7159,7 +7166,7 @@ static int BATTLE_StatusSeq( int charaindex ) if( damage >= 0 ){ //snprintf( szBuffer, sizeof( szBuffer ), - // "(%s)(%s)ܵ(%d)ˡ", + // "(%s)因(%s)受到(%d)的损伤。", // CHAR_getUseName( charaindex ), // aszStatusFull[i], // damage ); @@ -7173,7 +7180,7 @@ static int BATTLE_StatusSeq( int charaindex ) } if( petidx != -1 && petdamage >= 0 ){ //snprintf( szBuffer, sizeof( szBuffer ), - // "(%s)(%s)ܵ(%d)ˡ", + // "(%s的骑宠)因(%s)受到(%d)的损伤。", // CHAR_getUseName( charaindex ), // aszStatusFull[i], petdamage ); //BATTLE_BroadCast( battleindex, szBuffer, @@ -7186,38 +7193,38 @@ static int BATTLE_StatusSeq( int charaindex ) BATTLESTR_ADD( szBuffer ); } } - //print("\n"); + //print("\n冰爆术"); break; #ifdef _PROFESSION_ADDSKILL - case CHAR_WORKICECRACK2: // 2 - WorkIceCrackPlay( charaindex, cnt, CHAR_WORKICECRACK2 );print("\n2");break; - case CHAR_WORKICECRACK3: // 3 - WorkIceCrackPlay( charaindex, cnt, CHAR_WORKICECRACK3 );print("\n3");break; - case CHAR_WORKICECRACK4: // 4 - WorkIceCrackPlay( charaindex, cnt, CHAR_WORKICECRACK4 );print("\n4");break; - case CHAR_WORKICECRACK5: // 5 - WorkIceCrackPlay( charaindex, cnt, CHAR_WORKICECRACK5 );print("\n5");break; - case CHAR_WORKICECRACK6: // 6 - WorkIceCrackPlay( charaindex, cnt, CHAR_WORKICECRACK6 );print("\n6");break; - case CHAR_WORKICECRACK7: // 7 - WorkIceCrackPlay( charaindex, cnt, CHAR_WORKICECRACK7 );print("\n7");break; - case CHAR_WORKICECRACK8: // 8 - WorkIceCrackPlay( charaindex, cnt, CHAR_WORKICECRACK8 );print("\n8");break; - case CHAR_WORKICECRACK9: // 9 - WorkIceCrackPlay( charaindex, cnt, CHAR_WORKICECRACK9 );print("\n9");break; - case CHAR_WORKICECRACK10: // 10 - WorkIceCrackPlay( charaindex, cnt, CHAR_WORKICECRACK10 );print("\n10");break; + case CHAR_WORKICECRACK2: // 冰爆术2 + WorkIceCrackPlay( charaindex, cnt, CHAR_WORKICECRACK2 );print("\n冰爆术2");break; + case CHAR_WORKICECRACK3: // 冰爆术3 + WorkIceCrackPlay( charaindex, cnt, CHAR_WORKICECRACK3 );print("\n冰爆术3");break; + case CHAR_WORKICECRACK4: // 冰爆术4 + WorkIceCrackPlay( charaindex, cnt, CHAR_WORKICECRACK4 );print("\n冰爆术4");break; + case CHAR_WORKICECRACK5: // 冰爆术5 + WorkIceCrackPlay( charaindex, cnt, CHAR_WORKICECRACK5 );print("\n冰爆术5");break; + case CHAR_WORKICECRACK6: // 冰爆术6 + WorkIceCrackPlay( charaindex, cnt, CHAR_WORKICECRACK6 );print("\n冰爆术6");break; + case CHAR_WORKICECRACK7: // 冰爆术7 + WorkIceCrackPlay( charaindex, cnt, CHAR_WORKICECRACK7 );print("\n冰爆术7");break; + case CHAR_WORKICECRACK8: // 冰爆术8 + WorkIceCrackPlay( charaindex, cnt, CHAR_WORKICECRACK8 );print("\n冰爆术8");break; + case CHAR_WORKICECRACK9: // 冰爆术9 + WorkIceCrackPlay( charaindex, cnt, CHAR_WORKICECRACK9 );print("\n冰爆术9");break; + case CHAR_WORKICECRACK10: // 冰爆术10 + WorkIceCrackPlay( charaindex, cnt, CHAR_WORKICECRACK10 );print("\n冰爆术10");break; #endif //_PROFESSION_ADDSKILL #endif -#ifdef _PET_SKILL_SARS // WON ADD ɷ +#ifdef _PET_SKILL_SARS // WON ADD 毒煞蔓延 case CHAR_WORKSARS: { int j; - int rate = 60; // Ⱦ SARS + int rate = 60; // 传染 SARS 机率 - // ܴȾ + // 受传染的人受伤 { int petdown=-1; int dec_mp = 0; @@ -7225,14 +7232,14 @@ static int BATTLE_StatusSeq( int charaindex ) Compute_Down_SARS( charaindex, ridepet, &down, &petdown, ridepet); if( down >= 0 ){ //snprintf( szBuffer, sizeof( szBuffer ), - // "(%s)(%s)ܵ(%d)ˡ", + // "(%s)因(%s)受到(%d)的损伤。", // CHAR_getUseName( charaindex ), // aszStatusFull[i], // down ); //BATTLE_BroadCast( battleindex, szBuffer, // (bid >= 10)? CHAR_COLORGRAY : CHAR_COLORPURPLE ) ; - // ҿ MP + // 如果是玩家扣 MP if( CHAR_getInt( charaindex, CHAR_WHICHTYPE ) == CHAR_TYPEPLAYER ){ int old_mp = CHAR_getInt( charaindex, CHAR_MP ); dec_mp = old_mp / 10 ; @@ -7246,7 +7253,7 @@ static int BATTLE_StatusSeq( int charaindex ) } if( ridepet != -1 && petdown >= 0 ){ //snprintf( szBuffer, sizeof( szBuffer ), - // "(%s)(%s)ܵ(%d)ˡ", + // "(%s的骑宠)因(%s)受到(%d)的损伤。", // CHAR_getUseName( charaindex ), // aszStatusFull[i], petdown ); //BATTLE_BroadCast( battleindex, szBuffer, @@ -7254,7 +7261,7 @@ static int BATTLE_StatusSeq( int charaindex ) } } - // ȾߴSARS + // 主传染者传SARS if( CHAR_getWorkInt( charaindex, CHAR_WORKMODSARS ) > 0 ){ int buf2[5], ti=0; int tibuf[10]={ @@ -7274,14 +7281,14 @@ static int BATTLE_StatusSeq( int charaindex ) if( j > 4 ){ if( (j+1) < 10 ) buf2[ti++]=tibuf[j+1]; if( (j-1) > 4 ) buf2[ti++]=tibuf[j-1]; - //ȱ + //不等边 if( (j-5+1) < 5 ) buf2[ti++]=tibuf[j-5+1]; if( (j-5-1) >= 0 ) buf2[ti++]=tibuf[j-5-1]; if( (j-5) >= 0 ) buf2[ti++]=tibuf[j-5]; }else{ if( (j+1) < 5 ) buf2[ti++]=tibuf[j+1]; if( (j-1) >= 0 ) buf2[ti++]=tibuf[j-1]; - //ȱ + //不等边 if( (j+5+1) < 10 ) buf2[ti++]=tibuf[j+5+1]; if( (j+5-1) > 4 ) buf2[ti++]=tibuf[j+5-1]; if( (j+5) < 10 ) buf2[ti++]=tibuf[j+5]; @@ -7298,10 +7305,10 @@ static int BATTLE_StatusSeq( int charaindex ) toindex = BATTLE_No2Index( battleindex, buf2[j] ); - // õsars뿪 + // 得到sars的离开 if( CHAR_getWorkInt( toindex,CHAR_WORKSARS ) > 0 ) continue; - if( RAND( 1, 100 ) <= rate ){ // SARS + if( RAND( 1, 100 ) <= rate ){ // 中 SARS if( toindex == charaindex ) continue; if( CHAR_getInt( toindex, CHAR_HP ) <= 0 ) continue; @@ -7315,7 +7322,7 @@ static int BATTLE_StatusSeq( int charaindex ) default : //snprintf( szBuffer, sizeof( szBuffer ), - // "(%s)(%s)", CHAR_getUseName( charaindex ), + // "(%s)是(%s)", CHAR_getUseName( charaindex ), // aszStatusFull[i] ); //BATTLE_BroadCast( battleindex, szBuffer, // (bid >= 10)? CHAR_COLORGRAY : CHAR_COLORPURPLE ) ; @@ -7364,7 +7371,7 @@ static int BATTLE_StatusSeq( int charaindex ) MyHp = ((MyHp+AddHp)>=MaxHp)?MaxHp:(MyHp+AddHp); MyHp = (MyHp<= 1 )?1:MyHp; CHAR_setInt( charaindex, CHAR_HP, MyHp); - //snprintf( szBuffer, sizeof( szBuffer ), "(%s)(%d)HP", + //snprintf( szBuffer, sizeof( szBuffer ), "(%s)增加(%d)的HP。", // CHAR_getUseName( charaindex ), AddHp ); //BATTLE_BroadCast( battleindex, szBuffer, // (bid >= 10)? CHAR_COLORGRAY : CHAR_COLORPURPLE ) ; @@ -7439,7 +7446,7 @@ static int BATTLE_StatusSeq( int charaindex ) } CHAR_setWorkInt( charaindex, CHAR_MYSKILLDEX, turns); } -#ifdef _PROFESSION_SKILL // WON ADD ְҵ +#ifdef _PROFESSION_SKILL // WON ADD 人物职业技能 if( (turns=CHAR_getWorkInt( charaindex, CHAR_MYSKILLHIT)) > 0 ){ turns--; if( turns == 0 ){ @@ -7448,7 +7455,7 @@ static int BATTLE_StatusSeq( int charaindex ) nums -= dec_num; CHAR_setWorkInt( charaindex, CHAR_WORKHITRIGHT, nums); - CHAR_talkToCli( charaindex, -1, "ָ", CHAR_COLORYELLOW); + CHAR_talkToCli( charaindex, -1, "恢复命中率", CHAR_COLORYELLOW); //sprintf( szBuffer, "BD|r%X|0|6|%X|", bid, dec_num*(-1)); //BATTLESTR_ADD( szBuffer ); } @@ -7467,16 +7474,16 @@ static int BATTLE_StatusSeq( int charaindex ) BOOL BATTLE_CanMoveCheck( int charaindex ) { - // + // 麻痺 if( CHAR_getWorkInt( charaindex, CHAR_WORKPARALYSIS ) > 0 ){ return FALSE; } - // ޼ + // 石化 if( CHAR_getWorkInt( charaindex, CHAR_WORKSTONE ) > 0 ){ return FALSE; } - // Ի + // 眠り if( CHAR_getWorkInt( charaindex, CHAR_WORKSLEEP ) > 0 ){ return FALSE; } @@ -7486,29 +7493,29 @@ BOOL BATTLE_CanMoveCheck( int charaindex ) } #endif -#ifdef _PROFESSION_SKILL // WON ADD ְҵ - // ѣ +#ifdef _PROFESSION_SKILL // WON ADD 人物职业技能 + // 晕眩 if( CHAR_getWorkInt( charaindex, CHAR_WORKDIZZY ) > 0 ){ return FALSE; } - // ޵ + // 天罗地网 if( CHAR_getWorkInt( charaindex, CHAR_WORKDRAGNET ) > 0 ){ return FALSE; } #ifdef _JOB_FIX - // + // 冰箭术 if( CHAR_getWorkInt( charaindex, CHAR_WORKICEARROW ) > 0 ){ return FALSE; } #endif /* - // רעս + // 专注战斗 if( CHAR_getWorkInt( charaindex, CHAR_WORK_FOCUS ) > 0 ){ return FALSE; } */ - // ׸ + // 雷附体 if( CHAR_getWorkInt( charaindex, CHAR_WORK_T_ENCLOSE ) > 0 ){ return FALSE; } @@ -7536,7 +7543,7 @@ int BATTLE_GetEqShield( int charaindex ) } #endif -int BATTLE_GetWepon( int charaindex ) //ȡýɫֳ +int BATTLE_GetWepon( int charaindex ) //取得角色手持武器 { int iRet = ITEM_FIST, itemindex; @@ -7565,14 +7572,14 @@ void BATTLE_TargetListSet( int charaindex, int attackNo, int *pList) defNo = CHAR_getWorkInt( charaindex, CHAR_WORKBATTLECOM2 ); battleindex = CHAR_getWorkInt( charaindex, CHAR_WORKBATTLEINDEX ); -#ifdef _SKILLLIMIT // (ɿ) Syu ADD ùҷ - if( CHAR_getWorkInt( charaindex, CHAR_WORKBATTLECOM1 ) == BATTLE_COM_S_FALLRIDE || // - CHAR_getWorkInt( charaindex, CHAR_WORKBATTLECOM1 ) == BATTLE_COM_S_WILDVIOLENTATTACK || //񱩹 - CHAR_getWorkInt( charaindex, CHAR_WORKBATTLECOM1 ) == BATTLE_COM_S_TIMID || // ս - CHAR_getWorkInt( charaindex, CHAR_WORKBATTLECOM1 ) == BATTLE_COM_S_MPDAMAGE || // MP - CHAR_getWorkInt( charaindex, CHAR_WORKBATTLECOM1 ) == BATTLE_COM_S_WEAKEN || // - CHAR_getWorkInt( charaindex, CHAR_WORKBATTLECOM1 ) == BATTLE_COM_S_DAMAGETOHP || // Ѫ - CHAR_getWorkInt( charaindex, CHAR_WORKBATTLECOM1 ) == BATTLE_COM_S_STEALMONEY ) { // +#ifdef _SKILLLIMIT // (可开放) Syu ADD 不得攻击我方限制 + if( CHAR_getWorkInt( charaindex, CHAR_WORKBATTLECOM1 ) == BATTLE_COM_S_FALLRIDE || // 落马 + CHAR_getWorkInt( charaindex, CHAR_WORKBATTLECOM1 ) == BATTLE_COM_S_WILDVIOLENTATTACK || //狂暴攻击 + CHAR_getWorkInt( charaindex, CHAR_WORKBATTLECOM1 ) == BATTLE_COM_S_TIMID || // 怯战 + CHAR_getWorkInt( charaindex, CHAR_WORKBATTLECOM1 ) == BATTLE_COM_S_MPDAMAGE || // MP攻击 + CHAR_getWorkInt( charaindex, CHAR_WORKBATTLECOM1 ) == BATTLE_COM_S_WEAKEN || // 虚弱 + CHAR_getWorkInt( charaindex, CHAR_WORKBATTLECOM1 ) == BATTLE_COM_S_DAMAGETOHP || // 嗜血 + CHAR_getWorkInt( charaindex, CHAR_WORKBATTLECOM1 ) == BATTLE_COM_S_STEALMONEY ) { // 捐献 if( BATTLE_CheckSameSide( charaindex, defNo) == 1 ) { CHAR_setWorkInt( charaindex, CHAR_WORKBATTLECOM1, BATTLE_COM_NONE ); // BATTLE_NoAction( battleindex, attackNo ); @@ -7584,8 +7591,8 @@ void BATTLE_TargetListSet( int charaindex, int attackNo, int *pList) for( i = 0; i < BATTLE_ENTRY_MAX*2; i ++ ){ pList[i] = defNo; } -#ifdef _BATTLE_ATTCRAZED // ANDY -#ifdef _SHOOTCHESTNUT // Syu ADD 輼 +#ifdef _BATTLE_ATTCRAZED // ANDY 疯狂暴走 +#ifdef _SHOOTCHESTNUT // Syu ADD 宠技:丢栗子 if( CHAR_getWorkInt( charaindex, CHAR_WORKBATTLECOM1 ) == BATTLE_COM_S_ATTCRAZED || CHAR_getWorkInt( charaindex, CHAR_WORKBATTLECOM1 ) == BATTLE_COM_S_ATTSHOOT ){ #else @@ -7596,7 +7603,7 @@ void BATTLE_TargetListSet( int charaindex, int attackNo, int *pList) int n = CHAR_GETWORKINT_HIGH( charaindex, CHAR_WORKBATTLECOM3); -#ifdef _SHOOTCHESTNUT // Syu ADD 輼 +#ifdef _SHOOTCHESTNUT // Syu ADD 宠技:丢栗子 if( BATTLE_CheckSameSide( charaindex, defNo) == 1 ) { CHAR_setWorkInt( charaindex, CHAR_WORKBATTLECOM1, BATTLE_COM_NONE ); BATTLE_NoAction( battleindex, attackNo ); @@ -7678,7 +7685,7 @@ int BATTLE_PetRandomSkill( int battleindex, int charaindex ) #define PETSKILLSERCHTIME 50 int i, j, iNum, toNo, k, myNo, side, pskill_array; int skill_type; -#ifdef _FIXWOLF // Syu ADD ˱Bug +#ifdef _FIXWOLF // Syu ADD 修正狼人变身Bug int pid=CHAR_getInt( charaindex , CHAR_PETID); int skNum; #endif @@ -7688,7 +7695,7 @@ int BATTLE_PetRandomSkill( int battleindex, int charaindex ) myNo = BATTLE_Index2No( battleindex, charaindex ); side = CHAR_getWorkInt( charaindex, CHAR_WORKBATTLESIDE ); -#ifdef _FIXWOLF // Syu ADD ˱Bug +#ifdef _FIXWOLF // Syu ADD 修正狼人变身Bug iNum = RAND( 0, CHAR_MAXPETSKILLHAVE-1 ); skNum = CHAR_getPetSkill( charaindex , iNum ); if( ((pid == 981) || (pid == 982) || (pid == 983) || (pid == 984)) && (skNum == 600)){ @@ -7797,39 +7804,39 @@ static int BATTLE_PetLoyalCheck( int battleindex, int bid, int charaindex ) Rand = RAND( 1, 100 ); - mode = 0; // е - if( ai >= 80 ){ // պߡѶ - mode = PETAI_MODE_NORMAL; // 姸 + mode = 0; // 正しい行動 + if( ai >= 80 ){ // 忠誠度80%以上 + mode = PETAI_MODE_NORMAL; // 絶対成功 }else - if( ai >= 70 ){ // պߡѶ - if( Rand < 10 )mode = PETAI_MODE_TARGETRANDOM; // + if( ai >= 70 ){ // 忠誠度70%以上 + if( Rand < 10 )mode = PETAI_MODE_TARGETRANDOM; // ターゲット変 }else if( ai >= 60 ){ - if( Rand < 20 )mode = PETAI_MODE_TARGETRANDOM; // + if( Rand < 20 )mode = PETAI_MODE_TARGETRANDOM; // ターゲット変 }else if( ai >= 50 ){ - if( Rand < 35 )mode = PETAI_MODE_TARGETRANDOM; // + if( Rand < 35 )mode = PETAI_MODE_TARGETRANDOM; // ターゲット変 }else if( ai >= 40 ){ - if( Rand < 50 )mode = PETAI_MODE_TARGETRANDOM; // + if( Rand < 50 )mode = PETAI_MODE_TARGETRANDOM; // ターゲット変 }else if( ai >= 30 ){ - if( Rand < 70 )mode = PETAI_MODE_RANDOMACT; // ¼ĸة + if( Rand < 70 )mode = PETAI_MODE_RANDOMACT; // 行動ランダム }else if( ai >= 20 ){ - if( Rand < 70 )mode = PETAI_MODE_RANDOMACT; // ¼ĸة + if( Rand < 70 )mode = PETAI_MODE_RANDOMACT; // 行動ランダム }else if( ai >= 10 ){ if( Rand < 80 ){ - mode = PETAI_MODE_OWNERATTACK; // DZ + mode = PETAI_MODE_OWNERATTACK; // 主人攻撃 }else{ - mode = PETAI_MODE_ENEMYATTACK; // + mode = PETAI_MODE_ENEMYATTACK; // 敵攻撃 } }else{ if( Rand < 60 ){ - mode = PETAI_MODE_OWNERATTACK; // DZ + mode = PETAI_MODE_OWNERATTACK; // 主人攻撃 }else{ - mode = PETAI_MODE_ESCAPE; // + mode = PETAI_MODE_ESCAPE; // 敵攻撃 } } @@ -7864,42 +7871,42 @@ static int BATTLE_PetLoyalCheck( int battleindex, int bid, int charaindex ) } break; - case PETAI_MODE_RANDOMACT: // ¼ĸة - // Ѩ 󡷴姸ĸ + case PETAI_MODE_RANDOMACT: // 行動がランダム + // 地球1週攻撃前は絶対かえちゃダメ if( CHAR_getWorkInt( charaindex, CHAR_WORKBATTLECOM1 ) == BATTLE_COM_S_EARTHROUND0 ){ return 0; } - // ūʧ׷ºë + // ガーディアンフラグをはずす flg = CHAR_getWorkInt( charaindex, CHAR_WORKBATTLEFLG ); flg &= ~CHAR_BATTLEFLG_GUARDIAN; CHAR_setWorkInt( charaindex, CHAR_WORKBATTLEFLG, flg ); - if( toNo == bid ){ // ëƥ - // ƥئг + if( toNo == bid ){ // 自分を選んでしまったら + // 何もできないことにする CHAR_setWorkInt( charaindex, CHAR_WORKBATTLECOM1, BATTLE_COM_NONE ); }else{ - // ¼ĸة ë + // ランダムに石版をセット BATTLE_PetRandomSkill( battleindex, charaindex ); } break; - case PETAI_MODE_OWNERATTACK: // DZ + case PETAI_MODE_OWNERATTACK: // 主人攻撃 CHAR_setWorkInt( charaindex, CHAR_WORKBATTLECOM1, BATTLE_COM_ATTACK ); CHAR_setWorkInt( charaindex, CHAR_WORKBATTLECOM2, bid-5 ); break; - case PETAI_MODE_ENEMYATTACK: // + case PETAI_MODE_ENEMYATTACK: // 敵攻撃 { int myside = 0; if( bid >= BATTLE_ENTRY_MAX ) myside = 1; CHAR_setWorkInt( charaindex, CHAR_WORKBATTLECOM1, BATTLE_COM_ATTACK ); - // + // 相手サイドに CHAR_setWorkInt( charaindex, CHAR_WORKBATTLECOM2, BATTLE_DefaultAttacker( battleindex, 1 - myside ) ); } break; - case PETAI_MODE_ESCAPE: // ¹ + case PETAI_MODE_ESCAPE: // 逃げるその後ロスト CHAR_setWorkInt( charaindex, CHAR_WORKBATTLECOM1, BATTLE_COM_S_LOSTESCAPE ); break; @@ -7913,7 +7920,7 @@ static int BATTLE_PetLoyalCheck( int battleindex, int bid, int charaindex ) #define MAX_MAGIC_NUMBER 25 -// ÿһħĹ Χ (id,area) +// 每一种魔法的攻击范围 (id,area) int TargetIndex[MAX_MAGIC_NUMBER][2] = { {301,-1},{302,-1},{303,26},{304,-1},{305,20},{306,20}, @@ -7931,7 +7938,7 @@ static int BATTLE_Battling( int battleindex ) //DebugMainFunction="BATTLE_Battling_1"; BATTLE *pBattle, *pWatchBattle; BATTLE_ENTRY *pEntry[2]; - char *aszFieldAttr[] = { "", "", "ˮ", "", "" }, + char *aszFieldAttr[] = { "无", "地", "水", "火", "风" }, szBuffer[256]="", szWork[256]; int i,j,k, @@ -7959,7 +7966,7 @@ static int BATTLE_Battling( int battleindex ) EntryList[i].combo = 0; } //DebugMainFunction="BATTLE_Battling_5"; - sprintf( szBuffer, "ս %d ת %d %s", + sprintf( szBuffer, "战役 %d 转换 %d 属性 %s", battleindex, pBattle->turn, aszFieldAttr[pBattle->field_att] ); @@ -7973,7 +7980,7 @@ static int BATTLE_Battling( int battleindex ) EntryList[entrynum].charaindex = pEntry[j][i].charaindex; EntryList[entrynum].side = j; EntryList[entrynum].num = pEntry[j][i].bid; - EntryList[entrynum].dex = BATTLE_DexCalc( pEntry[j][i].charaindex ); // + EntryList[entrynum].dex = BATTLE_DexCalc( pEntry[j][i].charaindex ); //敏捷 #ifdef _EQUIT_SEQUENCE EntryList[entrynum].sequence = CHAR_getWorkInt( pEntry[j][i].charaindex, CHAR_WORKSEQUENCEPOWER); #endif @@ -7992,10 +7999,10 @@ static int BATTLE_Battling( int battleindex ) && pBattle->Side[j].Entry[i].charaindex == -1){ if( pBattle->iEntryBack2[k] >= 0 ){ sprintf( szBattleString, "BE|et%X|f1|", k ); - //BATTLE_BroadCast( battleindex, "ͻȻ˲ˡ", CHAR_COLORYELLOW ); + //BATTLE_BroadCast( battleindex, "突然有人不见了。", CHAR_COLORYELLOW ); }else{ - //print( "ӦIDȷֵerror\n" ); - //BATTLE_BroadCast( battleindex, "IDerror", CHAR_COLORYELLOW ); + //print( "应是输入ID不正确出现的error。\n" ); + //BATTLE_BroadCast( battleindex, "ID错误的error。", CHAR_COLORYELLOW ); } } k ++; @@ -8029,7 +8036,7 @@ static int BATTLE_Battling( int battleindex ) szBadStatusString[0] = 0; if( CHAR_getWorkInt( charaindex, CHAR_WORKBATTLEMODE ) != BATTLE_CHARMODE_C_OK ){ - //sprintf( szBuffer, "ָ벻ȫ(%s)", CHAR_getUseName( charaindex ) ); + //sprintf( szBuffer, "指令输入不完全。(%s)", CHAR_getUseName( charaindex ) ); //BATTLE_BroadCast( battleindex, szBuffer, CHAR_COLORYELLOW ); continue; } @@ -8047,13 +8054,13 @@ static int BATTLE_Battling( int battleindex ) BATTLE_MagicStatusSeq( charaindex ); #endif //DebugMainFunction="BATTLE_Battling_13"; -#ifdef _MAGIC_DEEPPOISON // 綾 +#ifdef _MAGIC_DEEPPOISON // 剧毒 if( CHAR_getFlg( charaindex, CHAR_ISDIE ) == TRUE ){ CHAR_setWorkInt( charaindex, CHAR_WORKBATTLECOM1, BATTLE_COM_NONE ); } #endif -#ifdef _PROFESSION_SKILL // WON ADD ְҵ +#ifdef _PROFESSION_SKILL // WON ADD 人物职业技能 BATTLE_ProfessionStatusSeq( battleindex, charaindex); #endif //DebugMainFunction="BATTLE_Battling_14"; @@ -8070,7 +8077,7 @@ static int BATTLE_Battling( int battleindex ) gWeponType = BATTLE_GetWepon( charaindex ); //DebugMainFunction="BATTLE_Battling_16"; #ifdef _PETSKILL_BECOMEFOX - if( CHAR_getWorkInt( charaindex, CHAR_WORKFOXROUND ) != -1 //DZС + if( CHAR_getWorkInt( charaindex, CHAR_WORKFOXROUND ) != -1 //若是变成小狐狸 || CHAR_getInt( charaindex, CHAR_BASEIMAGENUMBER)==101749) { int COM = CHAR_getWorkInt( charaindex, CHAR_WORKBATTLECOM1 ); @@ -8081,13 +8088,13 @@ static int BATTLE_Battling( int battleindex ) || COM == BATTLE_COM_GUARD || COM == BATTLE_COM_NONE) ){ CHAR_setWorkInt( charaindex, CHAR_WORKBATTLECOM1, BATTLE_COM_NONE ); - CHAR_talkToCli( charaindex, -1, "Сֻܹʹ", CHAR_COLORYELLOW ); + CHAR_talkToCli( charaindex, -1, "变成小狐狸後只能攻击、防御和待机!", CHAR_COLORYELLOW ); } } #endif //DebugMainFunction="BATTLE_Battling_17"; #ifdef _PETSKILL_BECOMEPIG - if( CHAR_getInt( charaindex, CHAR_BECOMEPIG) > -1 // + if( CHAR_getInt( charaindex, CHAR_BECOMEPIG) > -1 //变成乌力了 && (CHAR_getInt( charaindex, CHAR_WHICHTYPE ) == CHAR_TYPEPLAYER) ) { int COM = CHAR_getWorkInt( charaindex, CHAR_WORKBATTLECOM1 ); @@ -8104,8 +8111,8 @@ static int BATTLE_Battling( int battleindex ) || COM == BATTLE_COM_PETIN || COM == BATTLE_COM_PETOUT) ){ CHAR_setWorkInt( charaindex, CHAR_WORKBATTLECOM1, BATTLE_COM_GUARD ); - //CHAR_talkToCli( charaindex, -1, "ֻܹܺʹõߣ", CHAR_COLORYELLOW ); - CHAR_talkToCli( charaindex, -1, "᲻ʹְҵܣ", CHAR_COLORYELLOW ); + //CHAR_talkToCli( charaindex, -1, "变成乌力後只能攻击、防御、待机、逃跑和使用道具!", CHAR_COLORYELLOW ); + CHAR_talkToCli( charaindex, -1, "变成乌力後不能使用咒术和职业技能!", CHAR_COLORYELLOW ); } } #endif @@ -8120,7 +8127,7 @@ static int BATTLE_Battling( int battleindex ) }else{ int luckwork = CHAR_getInt( charaindex, CHAR_LUCK )*5; if( luckwork > 5*5 ){ -// print( "\nerr:(%s)(%d)\n", +// print( "\nerr:运气奇怪(%s)(%d)\n", // CHAR_getUseName( charaindex ), // CHAR_getInt( charaindex, CHAR_LUCK ) ); luckwork = 5*5; @@ -8150,7 +8157,7 @@ static int BATTLE_Battling( int battleindex ) if( BattleArray[battleindex].Side[myside].flg & BSIDE_FLG_SURPRISE ){ }else{ if( BATTLE_PetLoyalCheck( battleindex, attackNo, charaindex ) ) { -#ifdef _FIXWOLF // Syu ADD ˱Bug +#ifdef _FIXWOLF // Syu ADD 修正狼人变身Bug if ( CHAR_getInt ( charaindex , CHAR_BASEIMAGENUMBER) == 101428 ) { if( CHAR_getWorkInt ( charaindex , CHAR_WORKTURN ) == 0){ CHAR_setInt( charaindex, CHAR_BASEIMAGENUMBER, CHAR_getInt( charaindex , CHAR_BASEBASEIMAGENUMBER)); @@ -8197,12 +8204,12 @@ static int BATTLE_Battling( int battleindex ) #ifdef _PETSKILL_BECOMEFOX if( CHAR_getInt( charaindex, CHAR_BASEIMAGENUMBER)==101749 - || CHAR_getWorkInt( charaindex, CHAR_WORKFOXROUND ) != -1 ){ //DZС겻ʹû + || CHAR_getWorkInt( charaindex, CHAR_WORKFOXROUND ) != -1 ){ //若是变成小狐狸不可以使用回力标 CHAR_setWorkInt( charaindex, CHAR_WORKBATTLECOM1, BATTLE_COM_NONE ); } #endif #ifdef _PETSKILL_BECOMEPIG - if( CHAR_getInt( charaindex, CHAR_BECOMEPIG) > -1 ){// + if( CHAR_getInt( charaindex, CHAR_BECOMEPIG) > -1 ){//变成乌力了 gWeponType = ITEM_FIST; CHAR_setWorkInt( charaindex, CHAR_WORKBATTLECOM1, BATTLE_COM_ATTACK ); } @@ -8235,7 +8242,7 @@ static int BATTLE_Battling( int battleindex ) break; #endif -#ifdef _PET_SKILL_SARS // WON ADD ɷ +#ifdef _PET_SKILL_SARS // WON ADD 毒煞蔓延 case BATTLE_COM_S_SARS: gBattleStausChange = CHAR_GETWORKINT_LOW( charaindex, CHAR_WORKBATTLECOM3 ); gBattleStausTurn = CHAR_GETWORKINT_HIGH( charaindex, CHAR_WORKBATTLECOM3 ); @@ -8257,15 +8264,15 @@ static int BATTLE_Battling( int battleindex ) gBattleDuckModyfy = CHAR_GETWORKINT_HIGH( charaindex, CHAR_WORKBATTLECOM3 ); #ifdef _VARY_WOLF case BATTLE_COM_S_VARY: - // ò + // 先用不到 break; #endif #ifdef _SKILL_WILDVIOLENT_ATT - //񱩹 vincent add 2002/05/16 + //狂暴攻击 vincent add 2002/05/16 case BATTLE_COM_S_WILDVIOLENTATTACK: - attack_max = RAND(3,10);// - gDamageDiv = attack_max;//ÿι˺ - gBattleDuckModyfy = CHAR_GETWORKINT_HIGH( charaindex, CHAR_WORKBATTLECOM3 );// + attack_max = RAND(3,10);//攻击次数 + gDamageDiv = attack_max;//每次攻击造成伤害 + gBattleDuckModyfy = CHAR_GETWORKINT_HIGH( charaindex, CHAR_WORKBATTLECOM3 );//命中率 break; #endif case BATTLE_COM_S_EARTHROUND0: @@ -8276,15 +8283,15 @@ static int BATTLE_Battling( int battleindex ) attack_max = CHAR_GETWORKINT_HIGH( charaindex, CHAR_WORKBATTLECOM3); break; #endif -#ifdef _SHOOTCHESTNUT // Syu ADD 輼 +#ifdef _SHOOTCHESTNUT // Syu ADD 宠技:丢栗子 case BATTLE_COM_S_ATTSHOOT: attack_max = CHAR_GETWORKINT_HIGH( charaindex, CHAR_WORKBATTLECOM3); - gDamageDiv = attack_max;//ÿι˺ + gDamageDiv = attack_max;//每次攻击造成伤害 break; #endif case BATTLE_COM_S_MIGHTY: gBattleDamageModyfy = CHAR_GETWORKINT_LOW( charaindex, CHAR_WORKBATTLECOM3 ) * 0.01; - gBattleDuckModyfy = CHAR_GETWORKINT_HIGH( charaindex, CHAR_WORKBATTLECOM3 ); // ľĤɧٳ + gBattleDuckModyfy = CHAR_GETWORKINT_HIGH( charaindex, CHAR_WORKBATTLECOM3 ); // 歹今木膜恳骚橘尺 break; } //DebugMainFunction="BATTLE_Battling_28"; @@ -8295,10 +8302,10 @@ static int BATTLE_Battling( int battleindex ) ContFlg = FALSE; if( CHAR_getWorkInt( charaindex, CHAR_WORKBATTLEFLG ) & CHAR_BATTLEFLG_AIBAD && COM == BATTLE_COM_COMBO ){ - //print( "ҳ϶Ȳʹñɱʧ(%s)\n", CHAR_getUseName( charaindex ) ); + //print( "由於忠诚度不足使用必杀技失败(%s)\n", CHAR_getUseName( charaindex ) ); CHAR_setWorkInt( charaindex, CHAR_WORKBATTLECOM1, BATTLE_COM_ATTACK ); } -#ifdef _BATTLE_TIMESPEED//ٶ +#ifdef _BATTLE_TIMESPEED//动画播放速度 { int flgtime = 0; switch( COM ){ @@ -8307,7 +8314,7 @@ static int BATTLE_Battling( int battleindex ) flgtime = 200*3; break; #endif -#ifdef _SHOOTCHESTNUT // Syu ADD 輼 +#ifdef _SHOOTCHESTNUT // Syu ADD 宠技:丢栗子 case BATTLE_COM_S_ATTSHOOT: flgtime = 80*attack_max; break; @@ -8330,27 +8337,27 @@ static int BATTLE_Battling( int battleindex ) } #endif -#ifdef _PETSKILL_BECOMEFOX // Ļṥ 20% - if( CHAR_getWorkInt( charaindex, CHAR_WORKFOXROUND ) != -1 ){ //С - CHAR_setWorkInt( charaindex, CHAR_WORKATTACKPOWER, CHAR_getWorkInt( charaindex, CHAR_WORKFIXSTR)*0.8);//20% - CHAR_setWorkInt( charaindex, CHAR_WORKDEFENCEPOWER, CHAR_getWorkInt( charaindex, CHAR_WORKFIXTOUGH)*0.8);//20% - CHAR_setWorkInt( charaindex, CHAR_WORKQUICK, CHAR_getWorkInt( charaindex, CHAR_WORKFIXDEX)*0.8);//20% +#ifdef _PETSKILL_BECOMEFOX // 中了媚惑术後攻防敏能力各降 20% + if( CHAR_getWorkInt( charaindex, CHAR_WORKFOXROUND ) != -1 ){ //变成小狐狸 + CHAR_setWorkInt( charaindex, CHAR_WORKATTACKPOWER, CHAR_getWorkInt( charaindex, CHAR_WORKFIXSTR)*0.8);//攻降20% + CHAR_setWorkInt( charaindex, CHAR_WORKDEFENCEPOWER, CHAR_getWorkInt( charaindex, CHAR_WORKFIXTOUGH)*0.8);//防降20% + CHAR_setWorkInt( charaindex, CHAR_WORKQUICK, CHAR_getWorkInt( charaindex, CHAR_WORKFIXDEX)*0.8);//敏降20% } #endif - switch( COM ){// + switch( COM ){//处理攻击 -#ifdef _PROFESSION_SKILL // WON ADD ְҵ - //==== ֱӹϵ =============================================================== - case BATTLE_COM_S_BRUST: // - case BATTLE_COM_S_CHAIN_ATK: // - case BATTLE_COM_S_CHAIN_ATK_2: // ˫ع - case BATTLE_COM_S_CAVALRY: // ﹥ - case BATTLE_COM_S_DEAD_ATTACK: // - case BATTLE_COM_S_ATTACK_WEAK: // 㹥 - case BATTLE_COM_S_PLUNDER: // Ӷ - case BATTLE_COM_S_CHAOS: // ҹ +#ifdef _PROFESSION_SKILL // WON ADD 人物职业技能 + //==== 直接攻击系 =============================================================== + case BATTLE_COM_S_BRUST: // 爆击 + case BATTLE_COM_S_CHAIN_ATK: // 连环攻击 + case BATTLE_COM_S_CHAIN_ATK_2: // 双重攻击 + case BATTLE_COM_S_CAVALRY: // 座骑攻击 + case BATTLE_COM_S_DEAD_ATTACK: // 濒死攻击 + case BATTLE_COM_S_ATTACK_WEAK: // 弱点攻击 + case BATTLE_COM_S_PLUNDER: // 体掠夺 + case BATTLE_COM_S_CHAOS: // 混乱攻击 { - // ֹͬӻ + // 防止同队互打 //DebugMainFunction="BATTLE_Battling_30"; defNo = CHAR_getWorkInt( charaindex, CHAR_WORKBATTLECOM2 ); if( BATTLE_CheckSameSide( charaindex, defNo) == 1 ){ @@ -8358,36 +8365,36 @@ static int BATTLE_Battling( int battleindex ) } //DebugMainFunction="BATTLE_Battling_31"; } - case BATTLE_COM_S_ENRAGE_PET: // ŭ + case BATTLE_COM_S_ENRAGE_PET: // 激怒宠物 { //DebugMainFunction="BATTLE_Battling_32"; CHAR_setFlg( charaindex, CHAR_ISATTACKED, 1 ); defNo = CHAR_getWorkInt( charaindex, CHAR_WORKBATTLECOM2 ); battle_profession_attack_fun(battleindex, attackNo, defNo, charaindex); - //change fix ʹְҵò + //change fix 修正使用职业得不到道具 //BATTLE_AddProfit( battleindex, aAttackList); //DebugMainFunction="BATTLE_Battling_33"; } break; - //==== ħϵ ================================================================ - case BATTLE_COM_S_VOLCANO_SPRINGS: // ɽȪ - case BATTLE_COM_S_FIRE_BALL: // - case BATTLE_COM_S_FIRE_SPEAR: // ǹ - case BATTLE_COM_S_SUMMON_THUNDER: // - case BATTLE_COM_S_CURRENT: // - case BATTLE_COM_S_STORM: // - case BATTLE_COM_S_ICE_ARROW: // - case BATTLE_COM_S_ICE_CRACK: // - case BATTLE_COM_S_ICE_MIRROR: // - case BATTLE_COM_S_DOOM: // ĩ - case BATTLE_COM_S_BLOOD_WORMS: // Ѫ - case BATTLE_COM_S_SIGN: // һѪ - case BATTLE_COM_S_ENCLOSE: // - case BATTLE_COM_S_THROUGH_ATTACK: // ᴩ - case BATTLE_COM_S_CONVOLUTE: // + //==== 魔法攻击系 ================================================================ + case BATTLE_COM_S_VOLCANO_SPRINGS: // 火山泉 + case BATTLE_COM_S_FIRE_BALL: // 火星球 + case BATTLE_COM_S_FIRE_SPEAR: // 火龙枪 + case BATTLE_COM_S_SUMMON_THUNDER: // 召雷术 + case BATTLE_COM_S_CURRENT: // 电流术 + case BATTLE_COM_S_STORM: // 暴风雨 + case BATTLE_COM_S_ICE_ARROW: // 冰箭 + case BATTLE_COM_S_ICE_CRACK: // 冰爆术 + case BATTLE_COM_S_ICE_MIRROR: // 冰镜术 + case BATTLE_COM_S_DOOM: // 世界末日 + case BATTLE_COM_S_BLOOD_WORMS: // 嗜血蛊 + case BATTLE_COM_S_SIGN: // 一针见血 + case BATTLE_COM_S_ENCLOSE: // 附身术 + case BATTLE_COM_S_THROUGH_ATTACK: // 贯穿攻击 + case BATTLE_COM_S_CONVOLUTE: // 回旋攻击 { #ifdef _PROFESSION_ADDSKILL - /* if( COM == BATTLE_COM_S_DOOM //ĩռ + /* if( COM == BATTLE_COM_S_DOOM //世界末日集气 || COM == BATTLE_COM_S_FIRE_SPEAR){ if( CHAR_getWorkInt( charaindex, CHAR_DOOMTIME ) > 0 ){ BATTLE_NoAction( battleindex, attackNo ); @@ -8397,7 +8404,7 @@ static int BATTLE_Battling( int battleindex ) } }*/ #endif - // ֹͬӻ + // 防止同队互打 //DebugMainFunction="BATTLE_Battling_34"; defNo = CHAR_getWorkInt( charaindex, CHAR_WORKBATTLECOM2 ); if( BATTLE_CheckSameSide( charaindex, defNo) == 1 ){ @@ -8405,17 +8412,17 @@ static int BATTLE_Battling( int battleindex ) } //DebugMainFunction="BATTLE_Battling_35"; } - case BATTLE_COM_S_BLOOD: // Ѫ + case BATTLE_COM_S_BLOOD: // 嗜血成性 { //DebugMainFunction="BATTLE_Battling_36"; CHAR_setFlg( charaindex, CHAR_ISATTACKED, 1 ); defNo = CHAR_getWorkInt( charaindex, CHAR_WORKBATTLECOM2 ); -#if 1 // Robin fix Ѫ˵Ѫ +#if 1 // Robin fix 修正嗜血吸别人的血 if( defNo != attackNo && COM == BATTLE_COM_S_BLOOD ){ - //print("\n ķ!Ѫ˵Ѫ!!:%s ", CHAR_getChar( charaindex, CHAR_CDKEY) ); + //print("\n 改封包!嗜血吸别人的血!!:%s ", CHAR_getChar( charaindex, CHAR_CDKEY) ); defNo = attackNo; - CHAR_talkToCli( charaindex, -1, "쳣ߡ", CHAR_COLORYELLOW); + CHAR_talkToCli( charaindex, -1, "因封包异常而断线。", CHAR_COLORYELLOW); CONNECT_setCloseRequest( CHAR_getWorkInt( charaindex, CHAR_WORKFD ) , 1 ); break; } @@ -8435,29 +8442,29 @@ static int BATTLE_Battling( int battleindex ) pBattle->ice_attackNo[pBattle->ice_count] = attackNo; ++pBattle->ice_count; BATTLE_NoAction( battleindex, attackNo ); - //print("\n"); + //print("\n进入冰爆"); break; } //DebugMainFunction="BATTLE_Battling_38"; #endif battle_profession_attack_magic_fun(battleindex, attackNo, defNo, charaindex); //DebugMainFunction="BATTLE_Battling_39"; - //change fix ʹְҵò + //change fix 修正使用职业得不到道具 //BATTLE_AddProfit( battleindex, aAttackList); break; } - //==== ϵ ==================================================================== - case BATTLE_COM_S_FOCUS: // רעս - case BATTLE_COM_S_AVOID: // ر - case BATTLE_COM_S_RECOVERY: // Ѫ - case BATTLE_COM_S_SCAPEGOAT: // Ϊ - case BATTLE_COM_S_ENRAGE: // - case BATTLE_COM_S_COLLECT: // ۼ - case BATTLE_COM_S_TRAP: // - case BATTLE_COM_S_TRANSPOSE: // λλ - case BATTLE_COM_S_DOCILE: // ѱ + //==== 提升自已能力系 ==================================================================== + case BATTLE_COM_S_FOCUS: // 专注战斗 + case BATTLE_COM_S_AVOID: // 回避 + case BATTLE_COM_S_RECOVERY: // 补血 + case BATTLE_COM_S_SCAPEGOAT: // 舍已为友 + case BATTLE_COM_S_ENRAGE: // 激化攻击 + case BATTLE_COM_S_COLLECT: // 能量聚集 + case BATTLE_COM_S_TRAP: // 陷阱 + case BATTLE_COM_S_TRANSPOSE: // 移形换位 + case BATTLE_COM_S_DOCILE: // 驯伏宠物 #ifdef _PROFESSION_ADDSKILL - case BATTLE_COM_S_CALL_NATURE: // Ȼ + case BATTLE_COM_S_CALL_NATURE: // 号召自然 #endif { CHAR_setFlg( charaindex, CHAR_ISATTACKED, 1 ); @@ -8467,35 +8474,35 @@ static int BATTLE_Battling( int battleindex ) //DebugMainFunction="BATTLE_Battling_41"; break; } - //==== иı״̬ϵ ==================================================================== - case BATTLE_COM_S_SHIELD_ATTACK: // ܻ - case BATTLE_COM_S_ENTWINE: // - case BATTLE_COM_S_DRAGNET: // ޵ - case BATTLE_COM_S_TOXIN_WEAPON: // - case BATTLE_COM_S_INSTIGATE: // - case BATTLE_COM_S_OBLIVION: // + //==== 击中改变状态系 ==================================================================== + case BATTLE_COM_S_SHIELD_ATTACK: // 盾击 + case BATTLE_COM_S_ENTWINE: // 树根缠绕 + case BATTLE_COM_S_DRAGNET: // 天罗地网 + case BATTLE_COM_S_TOXIN_WEAPON: // 毒素武器 + case BATTLE_COM_S_INSTIGATE: // 挑拨 + case BATTLE_COM_S_OBLIVION: // 遗忘 { - // ֹͬӻ + // 防止同队互打 defNo = CHAR_getWorkInt( charaindex, CHAR_WORKBATTLECOM2 ); //DebugMainFunction="BATTLE_Battling_42"; if( BATTLE_CheckSameSide( charaindex, defNo) == 1 ){ BATTLE_NoAction( battleindex, attackNo ); //if( COM == BATTLE_COM_S_TOXIN_WEAPON ) - //printf("\nbug-ͬӻ"); + //printf("\nbug-同队互打"); break; } //DebugMainFunction="BATTLE_Battling_43"; } - case BATTLE_COM_S_RESIST_FIRE: // - case BATTLE_COM_S_RESIST_ICE: // - case BATTLE_COM_S_RESIST_THUNDER: // ׿ + case BATTLE_COM_S_RESIST_FIRE: // 火抗性提升 + case BATTLE_COM_S_RESIST_ICE: // 冰抗性提升 + case BATTLE_COM_S_RESIST_THUNDER: // 雷抗性提升 #ifdef _PROFESSION_ADDSKILL - case BATTLE_COM_S_RESIST_F_I_T: // Ȼ - case BATTLE_COM_S_BOUNDARY: // Խ + case BATTLE_COM_S_RESIST_F_I_T: // 自然威能 + case BATTLE_COM_S_BOUNDARY: // 四属性结界 #endif - case BATTLE_COM_S_FIRE_ENCLOSE: // - case BATTLE_COM_S_ICE_ENCLOSE: // - case BATTLE_COM_S_THUNDER_ENCLOSE: // ׸ + case BATTLE_COM_S_FIRE_ENCLOSE: // 火附体 + case BATTLE_COM_S_ICE_ENCLOSE: // 冰附体 + case BATTLE_COM_S_THUNDER_ENCLOSE: // 雷附体 { CHAR_setFlg( charaindex, CHAR_ISATTACKED, 1 ); @@ -8504,7 +8511,7 @@ static int BATTLE_Battling( int battleindex ) battle_profession_status_chang_fun(battleindex, attackNo, defNo, charaindex); //DebugMainFunction="BATTLE_Battling_45"; //if( COM == BATTLE_COM_S_TOXIN_WEAPON ) - //printf("\nbug-"); + //printf("\nbug-毒素武器处理结束"); //DebugMainFunction="BATTLE_Battling_46"; break; } @@ -8512,9 +8519,9 @@ static int BATTLE_Battling( int battleindex ) #endif #ifdef _PETSKILL_ACUPUNCTURE - case BATTLE_COM_S_ACUPUNCTURE: //Ƥ + case BATTLE_COM_S_ACUPUNCTURE: //针刺外皮 CHAR_setWorkInt( charaindex, CHAR_WORKACUPUNCTURE, 1); - //print("\n:%s",CHAR_getChar(charaindex,CHAR_NAME)); + //print("\n针刺:%s",CHAR_getChar(charaindex,CHAR_NAME)); #endif case BATTLE_COM_S_CHARGE_OK: case BATTLE_COM_S_POWERBALANCE: @@ -8524,11 +8531,11 @@ static int BATTLE_Battling( int battleindex ) if( COM == BATTLE_COM_S_MIGHTY ){ int def_index = -1; int i; - defNo = CHAR_getWorkInt( charaindex, CHAR_WORKBATTLECOM2 );//ȡñߵλ + defNo = CHAR_getWorkInt( charaindex, CHAR_WORKBATTLECOM2 );//取得被攻击者的位置 if( BATTLE_TargetCheck(battleindex, defNo) == FALSE || CHAR_getWorkInt( BATTLE_No2Index( battleindex, defNo ), CHAR_WORKBATTLECOM1 ) == BATTLE_COM_S_EARTHROUND0 ){ - //һֻ + //随意找一只打 if( defNo < 10 ){ for( i=0;i<10;i++ ) if( BATTLE_TargetCheck(battleindex, i) @@ -8550,9 +8557,9 @@ static int BATTLE_Battling( int battleindex ) return 0; } } - def_index = BATTLE_No2Index( battleindex, defNo );//ȡñߵidx + def_index = BATTLE_No2Index( battleindex, defNo );//取得被攻击者的idx - // ֹͬӻ + // 防止同队互打 //DebugMainFunction="BATTLE_Battling_47"; if( BATTLE_CheckSameSide( charaindex, defNo) == 1 ){ BATTLE_NoAction( battleindex, attackNo ); break; @@ -8561,27 +8568,27 @@ static int BATTLE_Battling( int battleindex ) if( !CHAR_CHECKINDEX( def_index ) ) break; //DebugMainFunction="BATTLE_Battling_49"; if( PROFESSION_BATTLE_StatusAttackCheck( charaindex, def_index, CHAR_getWorkInt( charaindex, CHAR_WORKBATTLECOM5), CHAR_getWorkInt( charaindex, CHAR_WORKBATTLECOM7) ) ) - CHAR_setWorkInt( def_index, StatusTbl[CHAR_getWorkInt( charaindex, CHAR_WORKBATTLECOM5)], CHAR_getWorkInt( charaindex, CHAR_WORKBATTLECOM6));//趨 + CHAR_setWorkInt( def_index, StatusTbl[CHAR_getWorkInt( charaindex, CHAR_WORKBATTLECOM5)], CHAR_getWorkInt( charaindex, CHAR_WORKBATTLECOM6));//设定麻痹 //DebugMainFunction="BATTLE_Battling_50"; } case BATTLE_COM_S_GUARDIAN_ATTACK: case BATTLE_COM_S_RENZOKU: -#ifdef _BATTLE_ATTCRAZED // ANDY +#ifdef _BATTLE_ATTCRAZED // ANDY 疯狂暴走 case BATTLE_COM_S_ATTCRAZED: #endif -#ifdef _SHOOTCHESTNUT // Syu ADD 輼 +#ifdef _SHOOTCHESTNUT // Syu ADD 宠技:丢栗子 case BATTLE_COM_S_ATTSHOOT: #endif #ifdef _SKILL_WILDVIOLENT_ATT - case BATTLE_COM_S_WILDVIOLENTATTACK://񱩹 vincent add 2002/05/16 + case BATTLE_COM_S_WILDVIOLENTATTACK://狂暴攻击 vincent add 2002/05/16 #endif #ifdef _SKILL_SPEEDY_ATT - case BATTLE_COM_S_SPEEDYATTACK: //ٹ vincent add 2002/05/20 + case BATTLE_COM_S_SPEEDYATTACK: //疾速攻击 vincent add 2002/05/20 #endif case BATTLE_COM_ATTACK: -#ifdef _PET_SKILL_SARS // WON ADD ɷ +#ifdef _PET_SKILL_SARS // WON ADD 毒煞蔓延 case BATTLE_COM_S_SARS: #endif @@ -8612,7 +8619,7 @@ static int BATTLE_Battling( int battleindex ) else f_num = 15; - // ȡսϴ + // 取出战场上存活的人 for( i=f_num; i 0 || CHAR_getWorkInt( charaindex, CHAR_WORKNPCMETAMO) > 0 - || CHAR_getWorkInt( charaindex, CHAR_WORKFOXROUND ) != -1 ){ //DZС + || CHAR_getWorkInt( charaindex, CHAR_WORKFOXROUND ) != -1 ){ //若是变成小狐狸 if( gWeponType == ITEM_BOW || gWeponType == ITEM_BOUNDTHROW || gWeponType == ITEM_BREAKTHROW || gWeponType == ITEM_BOOMERANG) { - CHAR_talkToCli( charaindex, -1, "޷ʹԶ!!", CHAR_COLORYELLOW); + CHAR_talkToCli( charaindex, -1, "变身中无法使用远距离武器!!", CHAR_COLORYELLOW); continue; } @@ -8849,7 +8856,7 @@ static int BATTLE_Battling( int battleindex ) #endif //DebugMainFunction="BATTLE_Battling_78"; if( gWeponType == ITEM_BOW ) sprintf( szWork, "BB|a%X|w0|", attackNo ); - else if( gWeponType == ITEM_BOUNDTHROW ) //Ƕͷ + else if( gWeponType == ITEM_BOUNDTHROW ) //若是丢斧头 sprintf( szWork, "BB|a%X|w1|", attackNo ); else if( gWeponType == ITEM_BREAKTHROW ) sprintf( szWork, "BB|a%X|w2|", attackNo ); @@ -8857,7 +8864,7 @@ static int BATTLE_Battling( int battleindex ) //DebugMainFunction="BATTLE_Battling_79"; } -#ifdef _SHOOTCHESTNUT // Syu ADD 輼 +#ifdef _SHOOTCHESTNUT // Syu ADD 宠技:丢栗子 if ( COM == BATTLE_COM_S_ATTSHOOT ) sprintf( szWork, "BB|a%X|w0|", attackNo ); #endif @@ -8869,7 +8876,7 @@ static int BATTLE_Battling( int battleindex ) CHAR_setWorkInt( charaindex, CHAR_WORKBATTLECOM1, BATTLE_COM_NONE ); }else{ -#ifdef _SHOOTCHESTNUT // Syu ADD 輼 +#ifdef _SHOOTCHESTNUT // Syu ADD 宠技:丢栗子 if ( CHAR_getWorkInt(charaindex, CHAR_WORKBATTLECOM1) != BATTLE_COM_S_ATTSHOOT) #endif #ifdef _PETSKILL_SHOWMERCY @@ -8894,8 +8901,8 @@ static int BATTLE_Battling( int battleindex ) #ifdef _PETSKILL_RETRACE if( Battle_Attack_ReturnData_x.Battle_Attack_ReturnData == BATTLE_RET_DODGE && COM == BATTLE_COM_S_RETRACE ){ - if( RAND(1,100) < 80 ){ //80%ʷ2ι - //+20% + if( RAND(1,100) < 80 ){ //80%机率发动2次攻击 + //攻+20% CHAR_setWorkInt( BATTLE_No2Index( battleindex, attackNo ), CHAR_WORKATTACKPOWER, @@ -8952,18 +8959,18 @@ static int BATTLE_Battling( int battleindex ) BATTLESTR_ADD( "FF|" ); //DebugMainFunction="BATTLE_Battling_90"; -#ifdef _PETSKILL_BECOMEFOX // ԷʹĻ +#ifdef _PETSKILL_BECOMEFOX // 向对方使用媚惑术 if ( (COM == BATTLE_COM_S_BECOMEFOX ) - && (Battle_Attack_ReturnData_x.Battle_Attack_ReturnData != BATTLE_RET_MISS) //ûmiss - && (Battle_Attack_ReturnData_x.Battle_Attack_ReturnData != BATTLE_RET_DODGE) //ûܹ + && (Battle_Attack_ReturnData_x.Battle_Attack_ReturnData != BATTLE_RET_MISS) //没有miss + && (Battle_Attack_ReturnData_x.Battle_Attack_ReturnData != BATTLE_RET_DODGE) //没有闪避过 && (Battle_Attack_ReturnData_x.Battle_Attack_ReturnData != BATTLE_RET_ALLGUARD) && (Battle_Attack_ReturnData_x.Battle_Attack_ReturnData != BATTLE_RET_ARRANGE) - && (BATTLE_TargetCheck( battleindex, defNo )) // + && (BATTLE_TargetCheck( battleindex, defNo )) //还活着 && (rand()%100 < 31) - && (CHAR_getInt( BATTLE_No2Index( battleindex, defNo ), CHAR_WHICHTYPE ) != CHAR_TYPEPLAYER) //ֻг(CHAR_TYPEPET)ſԱĻ + && (CHAR_getInt( BATTLE_No2Index( battleindex, defNo ), CHAR_WHICHTYPE ) != CHAR_TYPEPLAYER) //只有宠物(CHAR_TYPEPET)才可以被媚惑 && (CHAR_getWorkInt( BATTLE_No2Index( battleindex, defNo ), CHAR_WORK_PETFLG ) != 0 ) #ifdef _PETSKILL_BECOMEPIG - && (CHAR_getInt( charaindex, CHAR_BECOMEPIG) == -1)//ûд + && (CHAR_getInt( charaindex, CHAR_BECOMEPIG) == -1)//没有处於乌力化 #endif ) { @@ -8977,7 +8984,7 @@ static int BATTLE_Battling( int battleindex ) CHAR_setWorkInt( defindex, CHAR_WORKFOXROUND, pBattle->turn ); - if( CHAR_getInt( defindex, CHAR_RIDEPET) != -1 ) { //Ҫ + if( CHAR_getInt( defindex, CHAR_RIDEPET) != -1 ) { //骑宠就要让他落马 CHAR_setInt( defindex, CHAR_RIDEPET, -1 ); //DebugMainFunction="BATTLE_Battling_94"; BATTLE_changeRideImage( defindex ); @@ -8989,16 +8996,16 @@ static int BATTLE_Battling( int battleindex ) } #endif //DebugMainFunction="BATTLE_Battling_96"; -#ifdef _PETSKILL_BECOMEPIG // Էʹ +#ifdef _PETSKILL_BECOMEPIG // 向对方使用乌力化 if ( (COM == BATTLE_COM_S_BECOMEPIG ) - && (Battle_Attack_ReturnData_x.Battle_Attack_ReturnData != BATTLE_RET_MISS) //ûmiss - && (Battle_Attack_ReturnData_x.Battle_Attack_ReturnData != BATTLE_RET_DODGE) //ûܹ + && (Battle_Attack_ReturnData_x.Battle_Attack_ReturnData != BATTLE_RET_MISS) //没有miss + && (Battle_Attack_ReturnData_x.Battle_Attack_ReturnData != BATTLE_RET_DODGE) //没有闪避过 && (Battle_Attack_ReturnData_x.Battle_Attack_ReturnData != BATTLE_RET_ALLGUARD) && (Battle_Attack_ReturnData_x.Battle_Attack_ReturnData != BATTLE_RET_ARRANGE) - && (BATTLE_TargetCheck( battleindex, defNo )) // - && (CHAR_getInt( BATTLE_No2Index( battleindex, defNo ), CHAR_WHICHTYPE ) == CHAR_TYPEPLAYER) //ֻҲſԱ - && (BATTLE_CheckSameSide( charaindex, defNo) != 1 ) // ֹͬӻ - && CHAR_getInt( BATTLE_No2Index( battleindex, defNo ), CHAR_BECOMEPIG) < 2000000000 ) //ֹƱ + && (BATTLE_TargetCheck( battleindex, defNo )) //还活着 + && (CHAR_getInt( BATTLE_No2Index( battleindex, defNo ), CHAR_WHICHTYPE ) == CHAR_TYPEPLAYER) //只有玩家才可以被乌力化 + && (BATTLE_CheckSameSide( charaindex, defNo) != 1 ) // 防止同队互打 + && CHAR_getInt( BATTLE_No2Index( battleindex, defNo ), CHAR_BECOMEPIG) < 2000000000 ) //防止破表 { char temp[64]; int ToList[SIDE_OFFSET*2+1], compute,petrate,pettime,pigbbi=100250; @@ -9014,15 +9021,15 @@ static int BATTLE_Battling( int battleindex ) petrate = 100, pettime = 60, pigbbi = 100250; //DebugMainFunction="BATTLE_Battling_100"; if( rand()%100 < petrate ){ - CHAR_setWorkInt( defindex, CHAR_WORKITEMMETAMO, 0);//߱ȡ - CHAR_setWorkInt( defindex, CHAR_WORKNPCMETAMO, 0 );//NPCȡ - CHAR_setWorkInt( defindex, CHAR_WORKFOXROUND, -1);//Ļȡ + CHAR_setWorkInt( defindex, CHAR_WORKITEMMETAMO, 0);//道具变身取消 + CHAR_setWorkInt( defindex, CHAR_WORKNPCMETAMO, 0 );//NPC变身取消 + CHAR_setWorkInt( defindex, CHAR_WORKFOXROUND, -1);//媚惑术变身取消 //DebugMainFunction="BATTLE_Battling_101"; BATTLE_MultiList( battleindex, defNo, ToList ); //DebugMainFunction="BATTLE_Battling_102"; BATTLE_MagicEffect( battleindex, defNo, ToList, 101120, 101750); //DebugMainFunction="BATTLE_Battling_103"; - if( CHAR_getInt( defindex, CHAR_RIDEPET) != -1 ){ //Ҫ + if( CHAR_getInt( defindex, CHAR_RIDEPET) != -1 ){ //骑宠就要让他落马 CHAR_setInt( defindex, CHAR_RIDEPET, -1 ); //DebugMainFunction="BATTLE_Battling_104"; BATTLE_changeRideImage( defindex ); @@ -9034,19 +9041,19 @@ static int BATTLE_Battling( int battleindex ) compute = CHAR_getInt( defindex, CHAR_BECOMEPIG); CHAR_setInt( defindex, CHAR_BASEIMAGENUMBER, CHAR_getInt( defindex, CHAR_BECOMEPIG_BBI ) ); - if( compute == -1 )//һ - CHAR_setInt( defindex, CHAR_BECOMEPIG, pettime + 1 + compute ); //ʱ(λ:) + if( compute == -1 )//第一次中 + CHAR_setInt( defindex, CHAR_BECOMEPIG, pettime + 1 + compute ); //乌力化时间(单位:秒) else CHAR_setInt( defindex, CHAR_BECOMEPIG, pettime + compute ); - sprintf(temp, "ʱ:%d", CHAR_getInt( defindex, CHAR_BECOMEPIG) ); + sprintf(temp, "乌力时间:%d秒", CHAR_getInt( defindex, CHAR_BECOMEPIG) ); CHAR_talkToCli( defindex, -1, temp, CHAR_COLORYELLOW); //DebugMainFunction="BATTLE_Battling_106"; - //print("\nʼ0:%s,round:%d", CHAR_getChar( defindex, CHAR_NAME), CHAR_getWorkInt( defindex, CHAR_WORKFOXROUND)); + //print("\n乌力化开始0:%s,round:%d", CHAR_getChar( defindex, CHAR_NAME), CHAR_getWorkInt( defindex, CHAR_WORKFOXROUND)); } } #endif break; -//´⹥ +//以下处理特殊攻击 case BATTLE_COM_BOOMERANG: gBattleDamageModyfy = 0.3; defNo = CHAR_getWorkInt( charaindex, CHAR_WORKBATTLECOM2 ); @@ -9164,7 +9171,7 @@ static int BATTLE_Battling( int battleindex ) } } break; - case BATTLE_COM_COMPELESCAPE: //ǿ뿪 + case BATTLE_COM_COMPELESCAPE: //强制离开 if( CHAR_getInt( charaindex, CHAR_WHICHTYPE ) != CHAR_TYPEPET ){ //DebugMainFunction="BATTLE_Battling_126"; BATTLE_Escape( battleindex, attackNo, 1); @@ -9210,13 +9217,13 @@ static int BATTLE_Battling( int battleindex ) BATTLE_PetIn( battleindex, attackNo ); //DebugMainFunction="BATTLE_Battling_134"; } - // shan 2002/01/14 Begin ֻ + // shan 2002/01/14 Begin 五只宠 { int attackindex, petNo; attackindex = BATTLE_No2Index( battleindex, attackNo ); petNo = CHAR_getWorkInt( attackindex, CHAR_WORKBATTLECOM2 ); -#ifdef _TRANS_7_COLOR //CFǷٻ +#ifdef _TRANS_7_COLOR //CF设置是否可以外挂召唤宠物 if( getpetsummon() == 0 ){ if( CHAR_getWorkInt(charaindex, CHAR_WORK_PET0_STAT+petNo) != PET_STAT_SELECT) @@ -9240,24 +9247,24 @@ static int BATTLE_Battling( int battleindex ) break; // Terry add 2001/11/05 #ifdef _ATTACK_MAGIC - case BATTLE_COM_S_ATTACK_MAGIC: // ħ + case BATTLE_COM_S_ATTACK_MAGIC: // 宠物魔法 magic = CHAR_GETWORKINT_LOW(charaindex,CHAR_WORKBATTLECOM3); toindex = CHAR_getWorkInt(charaindex,CHAR_WORKBATTLECOM2); // print("magic->%d,toindex->%d\n",magic,toindex); - // жϹ Χ + // 判断攻击范围 //DebugMainFunction="BATTLE_Battling_137"; for(magic_count=0;magic_count= 0 && toindex <= 4) toindex = TargetIndex[magic_count][1]; - // µǰһ + // 打右下的前面那一排 else toindex = TargetIndex[magic_count][1]-1; } @@ -9286,12 +9293,12 @@ static int BATTLE_Battling( int battleindex ) case BATTLE_COM_ITEM: itemindex = CHAR_getItemIndex(charaindex, CHAR_getWorkInt( charaindex, CHAR_WORKBATTLECOM3 )); if( ITEM_CHECKINDEX( itemindex ) == FALSE ){ -// print( "\nerr:Ҫʹõitemλ(%s)(%d)\n", +// print( "\nerr:要使用的item位置奇怪(%s)(%d)\n", // CHAR_getUseName( charaindex ), CHAR_getWorkInt( charaindex, CHAR_WORKBATTLECOM3 ) ); break; } -#if 1 // Robin fix սɻƷ +#if 1 // Robin fix 战斗不可换防具饰品 #ifdef _BATTLE_EQUIT_OTHER if(getBattleEquitOther()!=1) #endif @@ -9310,7 +9317,7 @@ static int BATTLE_Battling( int battleindex ) //|| itemtype == CHAR_HEAD ) { - //print("\n ķ!սɻ!!:%s ", CHAR_getChar( charaindex, CHAR_CDKEY) ); + //print("\n 改封包!战斗不可换防具!!:%s ", CHAR_getChar( charaindex, CHAR_CDKEY) ); break; } } @@ -9320,7 +9327,7 @@ static int BATTLE_Battling( int battleindex ) { if( CHAR_getWorkInt( charaindex, CHAR_WORKITEMMETAMO) > 0 || CHAR_getWorkInt( charaindex, CHAR_WORKNPCMETAMO) > 0 - || CHAR_getWorkInt( charaindex, CHAR_WORKFOXROUND ) != -1 ){ //DZС + || CHAR_getWorkInt( charaindex, CHAR_WORKFOXROUND ) != -1 ){ //若是变成小狐狸 int armtype; int itemindex = CHAR_getItemIndex( charaindex, CHAR_getWorkInt( charaindex, CHAR_WORKBATTLECOM3 )); @@ -9329,7 +9336,7 @@ static int BATTLE_Battling( int battleindex ) if( armtype == ITEM_BOW || armtype == ITEM_BOUNDTHROW || armtype == ITEM_BREAKTHROW || armtype == ITEM_BOOMERANG) { - CHAR_talkToCli( charaindex, -1, "޷ʹԶ", CHAR_COLORYELLOW ); + CHAR_talkToCli( charaindex, -1, "变身无法使用远距离武器!", CHAR_COLORYELLOW ); break; } } @@ -9345,8 +9352,8 @@ static int BATTLE_Battling( int battleindex ) //DebugMainFunction="BATTLE_Battling_146"; BATTLESTR_ADD( szWork ); //DebugMainFunction="BATTLE_Battling_147"; -#ifdef _PROFESSION_SKILL // WON ADD ְҵ - // ר +#ifdef _PROFESSION_SKILL // WON ADD 人物职业技能 + // 武器专精 BATTLE_ProfessionStatus_init( battleindex, charaindex ); #endif //DebugMainFunction="BATTLE_Battling_148"; @@ -9356,7 +9363,7 @@ static int BATTLE_Battling( int battleindex ) break; #ifdef _PSKILL_FALLGROUND - case BATTLE_COM_S_FALLRIDE:// + case BATTLE_COM_S_FALLRIDE://落马术 if( (defNo = BATTLE_TargetAdjust( battleindex, charaindex, myside )) < 0 ){ BATTLE_NoAction( battleindex, attackNo ); //print("\n BATTLE_NoAction()"); @@ -9441,7 +9448,7 @@ static int BATTLE_Battling( int battleindex ) #endif #ifdef _SKILL_DAMAGETOHP - case BATTLE_COM_S_DAMAGETOHP: //Ѫ + case BATTLE_COM_S_DAMAGETOHP: //嗜血技 { int skill; //DebugMainFunction="BATTLE_Battling_165"; @@ -9459,7 +9466,7 @@ static int BATTLE_Battling( int battleindex ) #endif #ifdef _PETSKILL_DAMAGETOHP - case BATTLE_COM_S_DAMAGETOHP2: //¿(Ѫı) + case BATTLE_COM_S_DAMAGETOHP2: //暗月狂狼(嗜血技的变体) { int skill,attackidxtemp; //DebugMainFunction="BATTLE_Battling_168"; @@ -9479,7 +9486,7 @@ static int BATTLE_Battling( int battleindex ) #endif #ifdef _Skill_MPDAMAGE - case BATTLE_COM_S_MPDAMAGE: //MP˺ + case BATTLE_COM_S_MPDAMAGE: //MP伤害 { int skill; //DebugMainFunction="BATTLE_Battling_172"; @@ -9567,7 +9574,7 @@ static int BATTLE_Battling( int battleindex ) break; #endif -#ifdef _SONIC_ATTACK // WON ADD +#ifdef _SONIC_ATTACK // WON ADD 音波攻击 case BATTLE_COM_S_SONIC: { int skill, defNo2=-1, index2=-1; @@ -9733,7 +9740,7 @@ static int BATTLE_Battling( int battleindex ) //DebugMainFunction="BATTLE_Battling_210"; break; #endif - case BATTLE_COM_S_GBREAK: //Ƴ + case BATTLE_COM_S_GBREAK: //破除防御 if( (defNo = BATTLE_TargetAdjust( battleindex, charaindex, myside )) < 0 ){ BATTLE_NoAction( battleindex, attackNo ); @@ -9743,9 +9750,9 @@ static int BATTLE_Battling( int battleindex ) ContFlg = BATTLE_S_GBreak( battleindex, attackNo, defNo ); //DebugMainFunction="BATTLE_Battling_212"; break; -#ifdef _SKILL_GUARDBREAK2//Ƴ2 vincent add 2002/05/20 +#ifdef _SKILL_GUARDBREAK2//破除防御2 vincent add 2002/05/20 case BATTLE_COM_S_GBREAK2: - //ȷ + //确定攻击对象 if( (defNo = BATTLE_TargetAdjust( battleindex, charaindex, myside )) < 0 ){ BATTLE_NoAction( battleindex, attackNo ); break; @@ -9757,8 +9764,8 @@ static int BATTLE_Battling( int battleindex ) #endif #ifdef _SKILL_SACRIFICE - case BATTLE_COM_S_SACRIFICE://Ԯ vincent add 2002/05/30 - //ȷ + case BATTLE_COM_S_SACRIFICE://救援 vincent add 2002/05/30 + //确定攻击对象 if( (defNo = BATTLE_TargetAdjust( battleindex, charaindex, myside )) < 0 ){ BATTLE_NoAction( battleindex, attackNo ); break; @@ -9770,7 +9777,7 @@ static int BATTLE_Battling( int battleindex ) #endif #ifdef _SKILL_REFRESH - case BATTLE_COM_S_REFRESH://״̬ظ vincent add 2002/08/08 + case BATTLE_COM_S_REFRESH://状态回复 vincent add 2002/08/08 { int array; array = CHAR_GETWORKINT_LOW(charaindex,CHAR_WORKBATTLECOM3); @@ -9783,7 +9790,7 @@ static int BATTLE_Battling( int battleindex ) break; #endif -#ifdef _SKILL_WEAKEN //vincent輼: +#ifdef _SKILL_WEAKEN //vincent宠技:虚弱 case BATTLE_COM_S_WEAKEN: { int array; @@ -9797,7 +9804,7 @@ static int BATTLE_Battling( int battleindex ) break; #endif -#ifdef _SKILL_DEEPPOISON //vincent輼:綾 +#ifdef _SKILL_DEEPPOISON //vincent宠技:剧毒 case BATTLE_COM_S_DEEPPOISON: { int array; @@ -9810,7 +9817,7 @@ static int BATTLE_Battling( int battleindex ) break; #endif -#ifdef _SKILL_BARRIER //vincent輼:ħ +#ifdef _SKILL_BARRIER //vincent宠技:魔障 case BATTLE_COM_S_BARRIER: { int array; @@ -9823,7 +9830,7 @@ static int BATTLE_Battling( int battleindex ) break; #endif -#ifdef _SKILL_NOCAST //vincent輼:Ĭ +#ifdef _SKILL_NOCAST //vincent宠技:沉默 case BATTLE_COM_S_NOCAST: { int array; @@ -9836,11 +9843,11 @@ static int BATTLE_Battling( int battleindex ) break; #endif -#ifdef _SKILL_ROAR //vincent輼: +#ifdef _SKILL_ROAR //vincent宠技:大吼 case BATTLE_COM_S_ROAR: { int array; - //ȷ + //确定攻击对象 if( (defNo = BATTLE_TargetAdjust( battleindex, charaindex, myside )) < 0 ){ BATTLE_NoAction( battleindex, attackNo ); break; @@ -9872,21 +9879,21 @@ static int BATTLE_Battling( int battleindex ) } gDamageDiv = 1.0; ComboId = EntryList[i].combo; - aAttackList[0] = EntryList[i].num; // - i ++; // ݼо + aAttackList[0] = EntryList[i].num; // リストに加える + i ++; // 次の人から k = 1; for( ; EntryList[i].combo == ComboId && i < entrynum; i ++ ){ int charmode; - // ¾ + // 存在するかチェック if( CHAR_CHECKINDEX( EntryList[i].charaindex ) == FALSE )continue; - // 帨ƻئݳ + // 戦闘に参加していない場合は次へ charmode = CHAR_getWorkInt( EntryList[i].charaindex, CHAR_WORKBATTLEMODE ); if( charmode == 0 || charmode == BATTLE_CHARMODE_FINAL ){ continue; } - // ټ + // ステータス異常回復&毒処理 //DebugMainFunction="BATTLE_Battling_231"; BATTLE_StatusSeq( EntryList[i].charaindex ); //DebugMainFunction="BATTLE_Battling_232"; @@ -9894,7 +9901,7 @@ static int BATTLE_Battling( int battleindex ) BATTLE_MagicStatusSeq( EntryList[i].charaindex ); #endif //DebugMainFunction="BATTLE_Battling_233"; - // ئ + // 動けなかった場合 if( BATTLE_CanMoveCheck( EntryList[i].charaindex ) == FALSE ){ continue; } @@ -9906,7 +9913,7 @@ static int BATTLE_Battling( int battleindex ) aAttackList[k] = -1; i--; if( k == 1 ){ - //print( "\nerr:һcombo bug\n" ); + //print( "\nerr:一人combo bug\n" ); } //DebugMainFunction="BATTLE_Battling_234"; sprintf( szWork, "BY|r%X|", defNo ); @@ -9919,7 +9926,7 @@ static int BATTLE_Battling( int battleindex ) BATTLE_AddProfit( battleindex, aAttackList ); #endif //DebugMainFunction="BATTLE_Battling_238"; - // FF ëȹ + //最後は FF をくっつける BATTLESTR_ADD( "FF|" ); //DebugMainFunction="BATTLE_Battling_239"; break; @@ -10008,7 +10015,7 @@ static int BATTLE_Battling( int battleindex ) #endif //--------------------------------------------- default: - //print( "\nerr:ֵ(%d:%d:%s)\n", charaindex, COM, + //print( "\nerr:奇怪的命令(%d:%d:%s)\n", charaindex, COM, //CHAR_getUseName( charaindex ) ); //DebugMainFunction="BATTLE_Battling_257"; sprintf( szWork, "bg|%x|", attackNo ); @@ -10047,10 +10054,10 @@ static int BATTLE_Battling( int battleindex ) time_t timep; struct tm *p; time(&timep); - p=localtime(&timep); /*ȡõʱ*/ + p=localtime(&timep); /*取得当地时间*/ timep = mktime(p); if(CHAR_getWorkInt(charaindex,CHAR_WORKNPCENEMYBATTLETIME)>=timep){ - CHAR_talkToCli( charaindex,-1,"ս",CHAR_COLORYELLOW); + CHAR_talkToCli( charaindex,-1,"因快速战斗而掉线",CHAR_COLORYELLOW); CONNECT_setCloseRequest( getfdFromCharaIndex( charaindex ) , 1 ); //CONNECT_endOne_debug(getfdFromCharaIndex(charaindex)); //CHAR_setInt(charaindex,CHAR_MP,0); @@ -10061,9 +10068,9 @@ static int BATTLE_Battling( int battleindex ) CHAR_setWorkInt(charaindex,CHAR_WORKNPCENEMYBATTLETIME,0); } #endif -#ifdef _PETSKILL_BECOMEFOX // жĻǷѵָĻغ - //if(CHAR_getInt( charaindex, CHAR_BASEIMAGENUMBER)==101749) //ͼжϵĻ,˱ʱ,ᱻԶĻȥ - if( CHAR_getWorkInt( charaindex, CHAR_WORKFOXROUND ) != -1 ) //DZС +#ifdef _PETSKILL_BECOMEFOX // 判断中了媚惑术後是否已到恢复的回合数 + //if(CHAR_getInt( charaindex, CHAR_BASEIMAGENUMBER)==101749) //用图号判断的话,若是人变身时,会被自动改回去 + if( CHAR_getWorkInt( charaindex, CHAR_WORKFOXROUND ) != -1 ) //若是变成小狐狸 { if(CHAR_getInt( charaindex, CHAR_BASEIMAGENUMBER)!=101749) CHAR_setInt( charaindex, CHAR_BASEIMAGENUMBER, 101749 ); @@ -10071,8 +10078,8 @@ static int BATTLE_Battling( int battleindex ) if(pBattle->turn - CHAR_getWorkInt( charaindex, CHAR_WORKFOXROUND) > 2) { int defNo = BATTLE_Index2No( battleindex, charaindex ); - int toNo = defNo - 5;//˵ı - //print("\nظ:%s,round:%d", CHAR_getChar( charaindex, CHAR_NAME), CHAR_getWorkInt( charaindex, CHAR_WORKFOXROUND)); + int toNo = defNo - 5;//主人的编号 + //print("\n变身人物回复:%s,round:%d", CHAR_getChar( charaindex, CHAR_NAME), CHAR_getWorkInt( charaindex, CHAR_WORKFOXROUND)); CHAR_setInt( charaindex, CHAR_BASEIMAGENUMBER, CHAR_getInt( charaindex, CHAR_BASEBASEIMAGENUMBER)); @@ -10081,7 +10088,7 @@ static int BATTLE_Battling( int battleindex ) CHAR_setWorkInt( charaindex, CHAR_WORKQUICK, CHAR_getWorkInt( charaindex, CHAR_WORKFIXDEX)); CHAR_setWorkInt( charaindex, CHAR_WORKFOXROUND, -1); - //Change fix ظļ + //Change fix 回复宠物忘掉的技能 //DebugMainFunction="BATTLE_Battling_260"; sprintf( szWork, "W%d", CHAR_getInt( BATTLE_No2Index( battleindex, toNo ), CHAR_DEFAULTPET ) ); //DebugMainFunction="BATTLE_Battling_261"; @@ -10097,11 +10104,11 @@ static int BATTLE_Battling( int battleindex ) char pigbuffer[128]; CHAR_setInt( charaindex, CHAR_BASEIMAGENUMBER, CHAR_getInt( charaindex, CHAR_BECOMEPIG_BBI ) ); if( CHAR_getInt( charaindex, CHAR_BECOMEPIG) > 0 ){ - sprintf(pigbuffer, "ʱ:%d", CHAR_getInt( charaindex, CHAR_BECOMEPIG )); + sprintf(pigbuffer, "乌力时间:%d秒", CHAR_getInt( charaindex, CHAR_BECOMEPIG )); CHAR_talkToCli( charaindex,-1,pigbuffer,CHAR_COLORWHITE); } else{ - sprintf(pigbuffer, " ʱ뿪սɽ:%d ", CHAR_getInt( charaindex, CHAR_BECOMEPIG )); + sprintf(pigbuffer, " 乌力时间结束,离开战斗後可解除乌力化:%d ", CHAR_getInt( charaindex, CHAR_BECOMEPIG )); CHAR_talkToCli( charaindex,-1,pigbuffer,CHAR_COLORWHITE); } } @@ -10110,16 +10117,16 @@ static int BATTLE_Battling( int battleindex ) #ifdef _PROFESSION_ADDSKILL { /* for(i=0;i<20;i++){ - if( pBattle->ice_use[i] ){//׼ - print("\n׼"); - if( pBattle->ice_bout[i] > 0 ){// - print("\n"); - if( --pBattle->ice_bout[i] == 0 ){//ű - print("\nű"); + if( pBattle->ice_use[i] ){//冰爆准备中 + print("\n冰爆准备中"); + if( pBattle->ice_bout[i] > 0 ){//冰爆倒数 + print("\n冰爆倒数"); + if( --pBattle->ice_bout[i] == 0 ){//放冰爆 + print("\n放冰爆"); pBattle->ice_use[i] = FALSE; if( CHAR_CHECKINDEX(pBattle->ice_charaindex[i]) ){ int battlecom = CHAR_getWorkInt( pBattle->ice_charaindex[i], CHAR_WORKBATTLECOM1 ); - print("\n"); + print("\n冰爆"); print("\nbattlecom:%d",battlecom); CHAR_setWorkInt( pBattle->ice_charaindex[i], CHAR_WORKBATTLECOM1, BATTLE_COM_S_ICE_CRACK ); CHAR_SETWORKINT_HIGH( pBattle->ice_charaindex[i], CHAR_WORKBATTLECOM3, pBattle->ice_level[i] ); @@ -10141,22 +10148,22 @@ static int BATTLE_Battling( int battleindex ) int wind_boundary = GETHIGHVALUE( CHAR_getWorkInt( charaindex, CHAR_WORKFIXWINDAT_BOUNDARY ) ); int boundary_turn=0; BOOL boundaryclear = FALSE; - if( earth_boundary > 0 ){//ؽ + if( earth_boundary > 0 ){//地结界 //DebugMainFunction="BATTLE_Battling_263"; boundary_turn = GETLOWVALUE( CHAR_getWorkInt( charaindex, CHAR_WORKFIXEARTHAT_BOUNDARY ) ) - 1; //DebugMainFunction="BATTLE_Battling_264"; -// print("\n:%d ",boundary_turn ); +// print("\n地:%d ",boundary_turn ); if( boundary_turn <= -1 ) CHAR_setWorkInt( charaindex, CHAR_WORKFIXEARTHAT_BOUNDARY, 0 ),boundaryclear = TRUE; else CHAR_setWorkInt( charaindex, CHAR_WORKFIXEARTHAT_BOUNDARY, MAKE2VALUE(earth_boundary,boundary_turn) ); } - if( water_boundary > 0 ){//ˮ + if( water_boundary > 0 ){//水结界 //DebugMainFunction="BATTLE_Battling_265"; boundary_turn = GETLOWVALUE( CHAR_getWorkInt( charaindex, CHAR_WORKFIXWATERAT_BOUNDARY ) ) - 1; //DebugMainFunction="BATTLE_Battling_266"; -// print("\nˮ:%d ",boundary_turn ); +// print("\n水:%d ",boundary_turn ); if( boundary_turn <= -1 ) CHAR_setWorkInt( charaindex, CHAR_WORKFIXWATERAT_BOUNDARY, 0 ),boundaryclear = TRUE; @@ -10164,10 +10171,10 @@ static int BATTLE_Battling( int battleindex ) CHAR_setWorkInt( charaindex, CHAR_WORKFIXWATERAT_BOUNDARY, MAKE2VALUE(water_boundary,boundary_turn) ); //DebugMainFunction="BATTLE_Battling_267"; } - if( fire_boundary > 0 ){// + if( fire_boundary > 0 ){//火结界 //DebugMainFunction="BATTLE_Battling_268"; boundary_turn = GETLOWVALUE( CHAR_getWorkInt( charaindex, CHAR_WORKFIXFIREAT_BOUNDARY ) ) - 1; -// print("\n:%d ",boundary_turn ); +// print("\n火:%d ",boundary_turn ); //DebugMainFunction="BATTLE_Battling_269"; if( boundary_turn <= -1 ) CHAR_setWorkInt( charaindex, CHAR_WORKFIXFIREAT_BOUNDARY, 0 ),boundaryclear = TRUE; @@ -10175,10 +10182,10 @@ static int BATTLE_Battling( int battleindex ) CHAR_setWorkInt( charaindex, CHAR_WORKFIXFIREAT_BOUNDARY, MAKE2VALUE(fire_boundary,boundary_turn) ); } - if( wind_boundary > 0 ){// + if( wind_boundary > 0 ){//风结界 //DebugMainFunction="BATTLE_Battling_270"; boundary_turn = GETLOWVALUE( CHAR_getWorkInt( charaindex, CHAR_WORKFIXWINDAT_BOUNDARY ) ) - 1; -// print("\n:%d ",boundary_turn ); +// print("\n风:%d ",boundary_turn ); //DebugMainFunction="BATTLE_Battling_271"; if( boundary_turn <= -1 ) CHAR_setWorkInt( charaindex, CHAR_WORKFIXWINDAT_BOUNDARY, 0 ),boundaryclear = TRUE; @@ -10192,7 +10199,7 @@ static int BATTLE_Battling( int battleindex ) && GETHIGHVALUE( CHAR_getWorkInt( charaindex, CHAR_WORKFIXWINDAT_BOUNDARY ) ) == 0 && boundaryclear ){ int toNo = BATTLE_Index2No( battleindex, charaindex ); - if( toNo < 10 )//ҷ + if( toNo < 10 )//右方 snprintf( szWork, sizeof( szWork ), "Ba|%X|%X|", 0,1 ); else snprintf( szWork, sizeof( szWork ), "Ba|%X|%X|", 0,0 ); @@ -10215,7 +10222,7 @@ static int BATTLE_Battling( int battleindex ) userindex = BATTLE_getBattleDieIndex( battleindex, k); //DebugMainFunction="BATTLE_Battling_277"; if( !CHAR_CHECKINDEX( userindex) ) continue; - //Change fix CHECK_ITEM_RELIFEм,ﲻ + //Change fix CHECK_ITEM_RELIFE里面有检查了,这里不用 //if( CHAR_getFlg( userindex, CHAR_ISDIE ) == FALSE ) // continue; if( CHAR_getInt( userindex, CHAR_HP) > 0 ) @@ -10238,16 +10245,16 @@ static int BATTLE_Battling( int battleindex ) //DebugMainFunction="BATTLE_Battling_282"; BATTLESTR_ADD( szBadStatusString ); //DebugMainFunction="BATTLE_Battling_283"; - BATTLE_AddProfit( battleindex, aAttackList );//ȡþֵ + BATTLE_AddProfit( battleindex, aAttackList );//取得经验值 //DebugMainFunction="BATTLE_Battling_284"; len = pszBattleTop - szBattleString; if( AllSize + len >= sizeof( szAllBattleString ) - 1 ){ - // ƥ׾ئ + // 引匹中匀凶井日窒手仄卅中 }else{ //DebugMainFunction="BATTLE_Battling_285"; memcpy( szAllBattleString+AllSize, szBattleString, len ); //DebugMainFunction="BATTLE_Battling_286"; - szAllBattleString[AllSize+len] = 0;// NULL ë + szAllBattleString[AllSize+len] = 0;// NULL 毛本永玄 AllSize += len; } //DebugMainFunction="BATTLE_Battling_287"; @@ -10264,7 +10271,7 @@ static int BATTLE_Battling( int battleindex ) if(!CHAR_CHECKINDEX(dieindex)) continue; if(CHAR_getFlg(dieindex,CHAR_ISDIE) == FALSE) continue; if(CHAR_getInt(dieindex,CHAR_HP) > 0) continue; - // ׶, + // 雷尔死亡,变身 if(CHAR_getInt(dieindex,CHAR_BASEBASEIMAGENUMBER) == 101813 || CHAR_getInt(dieindex,CHAR_BASEBASEIMAGENUMBER) == 101814){ //DebugMainFunction="BATTLE_Battling_289"; @@ -10283,7 +10290,7 @@ static int BATTLE_Battling( int battleindex ) if( pBattle->att_count <= 0 ){ pBattle->field_att = BATTLE_ATTR_NONE; //snprintf( szBuffer, sizeof(szBuffer), - // "fieldظԡ" + // "field回复成无属性。" //); //BATTLE_BroadCast( battleindex, szBuffer, CHAR_COLORYELLOW ); //DebugMainFunction="BATTLE_Battling_291"; @@ -10305,7 +10312,7 @@ static int BATTLE_Battling( int battleindex ) pWatchBattle = pBattle->pNext; for( ; pWatchBattle ; pWatchBattle = pWatchBattle->pNext ){ if( BATTLE_CHECKADDRESS( pWatchBattle ) == FALSE ){ - //print( "err:սbattle address(%p)\n", pWatchBattle ); + //print( "err:观战battle address错误(%p)\n", pWatchBattle ); break; } for( i = 0; i < BATTLE_ENTRY_MAX; i ++ ){ @@ -10393,13 +10400,13 @@ BOOL CHECK_PET_RELIFE( int battleindex, int petindex) if( CHAR_getWorkInt( petindex, CHAR_WORKSPETRELIFE) != 0 ) return FALSE; for( i=0;iskill, SKILL_LEVEL); skill_level = PROFESSION_CHANGE_SKILL_LEVEL_M( skill_level ); @@ -10526,18 +10533,18 @@ void BATTLE_ProfessionStatus_init( int battleindex, int charaindex ) if( add_practice > 25 ) add_practice = 25; add_practice += old_practice; - // Ϊold_practice=0add_practiceΪ2~25 + // 因为old_practice=0所以add_practice为2~25 CHAR_setWorkInt( charaindex, CHAR_WORK_F_PROFICIENCY, add_practice ); }else - // + // 冰熟练度 if( (strcmp( skill_name , "PROFESSION_ICE_PRACTICE" )) == 0 ){ int old_practice = CHAR_getInt( charaindex, PROFESSION_ICE_P ); int add_practice = 0; int skill_level = 0; - // ܵȼ + // 技能等级 hskill = CHAR_getCharHaveSkill( charaindex, i ); skill_level = SKILL_getInt( &hskill->skill, SKILL_LEVEL); skill_level = PROFESSION_CHANGE_SKILL_LEVEL_M( skill_level ); @@ -10551,13 +10558,13 @@ void BATTLE_ProfessionStatus_init( int battleindex, int charaindex ) CHAR_setWorkInt( charaindex, CHAR_WORK_I_PROFICIENCY, add_practice ); }else - // + // 雷熟练度 if( (strcmp( skill_name , "PROFESSION_THUNDER_PRACTICE" )) == 0 ){ int old_practice = CHAR_getInt( charaindex, PROFESSION_THUNDER_P ); int add_practice = 0; int skill_level = 0; - // ܵȼ + // 技能等级 hskill = CHAR_getCharHaveSkill( charaindex, i ); skill_level = SKILL_getInt( &hskill->skill, SKILL_LEVEL); skill_level = PROFESSION_CHANGE_SKILL_LEVEL_M( skill_level ); @@ -10571,13 +10578,13 @@ void BATTLE_ProfessionStatus_init( int battleindex, int charaindex ) CHAR_setWorkInt( charaindex, CHAR_WORK_T_PROFICIENCY, add_practice ); }else - // ر + // 回避 if( (strcmp( skill_name , "PROFESSION_AVOID" )) == 0 ){ int skill_level = 0; if( profession_class != PROFESSION_SKILL_getInt( Pskillid, PROFESSION_SKILL_PROFESSION_CLASS) ) return; - // ܵȼ + // 技能等级 hskill = CHAR_getCharHaveSkill( charaindex, i ); skill_level = SKILL_getInt( &hskill->skill, SKILL_LEVEL); skill_level = PROFESSION_CHANGE_SKILL_LEVEL_A( skill_level ); @@ -10592,14 +10599,14 @@ void BATTLE_ProfessionStatus_init( int battleindex, int charaindex ) CHAR_setWorkInt( charaindex, CHAR_WORKMOD_P_DUCK, value ); }else - // + // 格档 if( (strcmp( skill_name , "PROFESSION_DEFLECT" )) == 0 ){ int skill_level = 0; int old_value = 0, add_value = 0; if( profession_class != PROFESSION_SKILL_getInt( Pskillid, PROFESSION_SKILL_PROFESSION_CLASS) ) return; - // ܵȼ + // 技能等级 hskill = CHAR_getCharHaveSkill( charaindex, i ); skill_level = SKILL_getInt( &hskill->skill, SKILL_LEVEL); skill_level = PROFESSION_CHANGE_SKILL_LEVEL_A( skill_level ); @@ -10611,40 +10618,40 @@ void BATTLE_ProfessionStatus_init( int battleindex, int charaindex ) CHAR_complianceParameter( charaindex ); }else - // ר + // 武器专精 if( (strcmp( skill_name , "PROFESSION_WEAPON_FOCUS" )) == 0 ){ int skill_level = 0; rate = 0; if( profession_class != PROFESSION_SKILL_getInt( Pskillid, PROFESSION_SKILL_PROFESSION_CLASS) ) continue; - // ܵȼ + // 技能等级 hskill = CHAR_getCharHaveSkill( charaindex, i ); skill_level = SKILL_getInt( &hskill->skill, SKILL_LEVEL); skill_level = PROFESSION_CHANGE_SKILL_LEVEL_A( skill_level ); - // ܲ + // 技能参数 pszOption = PROFESSION_SKILL_getChar( Pskillid, PROFESSION_SKILL_OPTION); if( pszOption == "\0" ) continue; - // װ + // 装备武器 WeaponType = BATTLE_GetWepon( charaindex ); switch( WeaponType ){ case ITEM_AXE: - if( (pszP=strstr( pszOption, "" ))!=NULL) rate = 1; break; + if( (pszP=strstr( pszOption, "斧" ))!=NULL) rate = 1; break; case ITEM_CLUB: - if( (pszP=strstr( pszOption, "" ))!=NULL) rate = 1; break; + if( (pszP=strstr( pszOption, "棍" ))!=NULL) rate = 1; break; case ITEM_SPEAR: - if( (pszP=strstr( pszOption, "ǹ" ))!=NULL) rate = 1; break; + if( (pszP=strstr( pszOption, "枪" ))!=NULL) rate = 1; break; case ITEM_BOW: - if( (pszP=strstr( pszOption, "" ))!=NULL) rate = 1; break; - case ITEM_BOOMERANG: // - if( (pszP=strstr( pszOption, "" ))!=NULL) rate = 1; break; - case ITEM_BOUNDTHROW: // Ͷͷ - if( (pszP=strstr( pszOption, "Ͷ" ))!=NULL) rate = 1; break; - case ITEM_BREAKTHROW: // Ͷʯ - if( (pszP=strstr( pszOption, "ʯ" ))!=NULL) rate = 1; break; + if( (pszP=strstr( pszOption, "弓" ))!=NULL) rate = 1; break; + case ITEM_BOOMERANG: // 回旋标 + if( (pszP=strstr( pszOption, "镖" ))!=NULL) rate = 1; break; + case ITEM_BOUNDTHROW: // 投掷斧头 + if( (pszP=strstr( pszOption, "投" ))!=NULL) rate = 1; break; + case ITEM_BREAKTHROW: // 投掷石 + if( (pszP=strstr( pszOption, "石" ))!=NULL) rate = 1; break; default: rate = 0; break; } @@ -10677,15 +10684,15 @@ void BATTLE_ProfessionStatusSeq( int battleindex, int charaindex ) CHAR_HaveSkill* hskill; - int status_table[9]={ 2, // - 3, //˯ - 4, //ʯ - 12, //ѣ - 13, // - 14, // - 15, // - 17, // - 23, }; //׸ + int status_table[9]={ 2, //麻痹 + 3, //睡眠 + 4, //石化 + 12, //晕眩 + 13, //缠绕 + 14, //天罗 + 15, //冰暴 + 17, //冰箭 + 23, }; //雷附体 #ifdef _PETSKILL_DAMAGETOHP /* { @@ -10694,14 +10701,14 @@ void BATTLE_ProfessionStatusSeq( int battleindex, int charaindex ) pet = CHAR_getInt( charaindex, CHAR_DEFAULTPET ); if( pet >= 0 ){ sprintf( msg, "o%d", pet ); - //if(CHAR_getInt( petindex, CHAR_PETID) == "" //ID + //if(CHAR_getInt( petindex, CHAR_PETID) == "狼" //宠物ID // && CHAR_getInt( petindex, CHAR_HP) ) CHAR_sendStatusString( charaindex, msg ); pindex = CHAR_getCharPet( charaindex, pet ); - print("\n:%s",CHAR_getChar( pindex, CHAR_NAME)); + print("\n宠物名:%s",CHAR_getChar( pindex, CHAR_NAME)); } else - print("\޳"); + print("\无宠物"); } */ #endif @@ -10713,21 +10720,21 @@ void BATTLE_ProfessionStatusSeq( int battleindex, int charaindex ) for( i=0; i 0 ){ flag=1; @@ -10736,7 +10743,7 @@ void BATTLE_ProfessionStatusSeq( int battleindex, int charaindex ) } if( flag > 0 ){ - // ܵȼ + // 技能等级 hskill = CHAR_getCharHaveSkill( charaindex, i ); skill_level = SKILL_getInt( &hskill->skill, SKILL_LEVEL); skill_level = PROFESSION_CHANGE_SKILL_LEVEL_M( skill_level ); @@ -10765,7 +10772,7 @@ void BATTLE_ProfessionStatusSeq( int battleindex, int charaindex ) } } - // + // 陷阱 if( (strcmp( skill_name , "PROFESSION_TRAP" )) == 0 ){ int count=0; @@ -10857,7 +10864,7 @@ char* SearchFmWar(int charaindex,int fmwarselect) if(fmwarfloor == 1042 && fmlistpage*6+1-6<=afmwarnum){ int i=fmlistpage*6+1-6+1; char fmwarbuff[1024]; - sprintf(fmwarbuff,"2\n ѡҪսĶ项\nӳơ֣ӡӳ"); + sprintf(fmwarbuff,"2\n    「请选择您需要观战的队伍」\n   队长名称  VS  队长名称"); char name1[64],name2[64],newname1[64],fmwarindexbuf[32]; memset(newname1, 0, sizeof(newname1)); int fmwarindex = -1; @@ -10879,15 +10886,15 @@ char* SearchFmWar(int charaindex,int fmwarselect) strcat(newname1," "); } if(strlen(newname1)<1) - sprintf(fmwarbuff,"%s\n%s ֣ %s",fmwarbuff,name1,name2); + sprintf(fmwarbuff,"%s\n%s VS %s",fmwarbuff,name1,name2); else - sprintf(fmwarbuff,"%s\n%s%s ֣ %s",fmwarbuff,newname1,name1,name2); + sprintf(fmwarbuff,"%s\n%s%s VS %s",fmwarbuff,newname1,name1,name2); } return fmwarbuff; }else if(fmwarfloor == 2032 && fmlistpage*6+1-6<=bfmwarnum){ int i=fmlistpage*6+1-6+1; char fmwarbuff[1024]; - sprintf(fmwarbuff,"2\n ѡҪսĶ项\nӳơ֣ӡӳ"); + sprintf(fmwarbuff,"2\n    「请选择您需要观战的队伍」\n   队长名称  VS  队长名称"); char name1[64],name2[64],newname1[64],fmwarindexbuf[32]; memset(newname1, 0, sizeof(newname1)); int fmwarindex = -1; @@ -10909,15 +10916,15 @@ char* SearchFmWar(int charaindex,int fmwarselect) strcat(newname1," "); } if(strlen(newname1)<1) - sprintf(fmwarbuff,"%s\n%s ֣ %s",fmwarbuff,name1,name2); + sprintf(fmwarbuff,"%s\n%s VS %s",fmwarbuff,name1,name2); else - sprintf(fmwarbuff,"%s\n%s%s ֣ %s",fmwarbuff,newname1,name1,name2); + sprintf(fmwarbuff,"%s\n%s%s VS %s",fmwarbuff,newname1,name1,name2); } return fmwarbuff; }else if(fmwarfloor == 3032 && fmlistpage*6+1-6<=cfmwarnum){ int i=fmlistpage*6+1-6+1; char fmwarbuff[1024]; - sprintf(fmwarbuff,"2\n ѡҪսĶ项\nӳơ֣ӡӳ"); + sprintf(fmwarbuff,"2\n    「请选择您需要观战的队伍」\n   队长名称  VS  队长名称"); char name1[64],name2[64],newname1[64],fmwarindexbuf[32]; memset(newname1, 0, sizeof(newname1)); int fmwarindex = -1; @@ -10939,15 +10946,15 @@ char* SearchFmWar(int charaindex,int fmwarselect) strcat(newname1," "); } if(strlen(newname1)<1) - sprintf(fmwarbuff,"%s\n%s ֣ %s",fmwarbuff,name1,name2); + sprintf(fmwarbuff,"%s\n%s VS %s",fmwarbuff,name1,name2); else - sprintf(fmwarbuff,"%s\n%s%s ֣ %s",fmwarbuff,newname1,name1,name2); + sprintf(fmwarbuff,"%s\n%s%s VS %s",fmwarbuff,newname1,name1,name2); } return fmwarbuff; }else if(fmwarfloor == 4032 && fmlistpage*6+1-6<=dfmwarnum){ int i=fmlistpage*6+1-6+1; char fmwarbuff[1024]; - sprintf(fmwarbuff,"2\n ѡҪսĶ项\nӳơ֣ӡӳ"); + sprintf(fmwarbuff,"2\n    「请选择您需要观战的队伍」\n   队长名称  VS  队长名称"); char name1[64],name2[64],newname1[64],fmwarindexbuf[32]; memset(newname1, 0, sizeof(newname1)); int fmwarindex = -1; @@ -10969,15 +10976,15 @@ char* SearchFmWar(int charaindex,int fmwarselect) strcat(newname1," "); } if(strlen(newname1)<1) - sprintf(fmwarbuff,"%s\n%s ֣ %s",fmwarbuff,name1,name2); + sprintf(fmwarbuff,"%s\n%s VS %s",fmwarbuff,name1,name2); else - sprintf(fmwarbuff,"%s\n%s%s ֣ %s",fmwarbuff,newname1,name1,name2); + sprintf(fmwarbuff,"%s\n%s%s VS %s",fmwarbuff,newname1,name1,name2); } return fmwarbuff; }else if(fmwarfloor == 20000 && fmlistpage*6+1-6<=efmwarnum){ int i=fmlistpage*6+1-6+1; char fmwarbuff[1024]; - sprintf(fmwarbuff,"2\n ѡҪսĶ项\nӳơ֣ӡӳ"); + sprintf(fmwarbuff,"2\n    「请选择您需要观战的队伍」\n   队长名称  VS  队长名称"); char name1[64],name2[64],newname1[64],fmwarindexbuf[32]; memset(newname1, 0, sizeof(newname1)); int fmwarindex = -1; @@ -10999,15 +11006,15 @@ char* SearchFmWar(int charaindex,int fmwarselect) strcat(newname1," "); } if(strlen(newname1)<1) - sprintf(fmwarbuff,"%s\n%s ֣ %s",fmwarbuff,name1,name2); + sprintf(fmwarbuff,"%s\n%s VS %s",fmwarbuff,name1,name2); else - sprintf(fmwarbuff,"%s\n%s%s ֣ %s",fmwarbuff,newname1,name1,name2); + sprintf(fmwarbuff,"%s\n%s%s VS %s",fmwarbuff,newname1,name1,name2); } return fmwarbuff; }else if(fmwarfloor == 51000 && fmlistpage*6+1-6<=ffmwarnum){ int i=fmlistpage*6+1-6+1; char fmwarbuff[1024]; - sprintf(fmwarbuff,"2\n ѡҪսĶ项\nӳơ֣ӡӳ"); + sprintf(fmwarbuff,"2\n    「请选择您需要观战的队伍」\n   队长名称  VS  队长名称"); char name1[64],name2[64],newname1[64],fmwarindexbuf[32]; memset(newname1, 0, sizeof(newname1)); int fmwarindex = -1; @@ -11029,9 +11036,9 @@ char* SearchFmWar(int charaindex,int fmwarselect) strcat(newname1," "); } if(strlen(newname1)<1) - sprintf(fmwarbuff,"%s\n%s ֣ %s",fmwarbuff,name1,name2); + sprintf(fmwarbuff,"%s\n%s VS %s",fmwarbuff,name1,name2); else - sprintf(fmwarbuff,"%s\n%s%s ֣ %s",fmwarbuff,newname1,name1,name2); + sprintf(fmwarbuff,"%s\n%s%s VS %s",fmwarbuff,newname1,name1,name2); } return fmwarbuff; } @@ -11155,7 +11162,7 @@ void Enemy_setStayLoop(int charaindex) ch = CHAR_getCharPointer( charaindex); if( ch == NULL ) return; strcpysafe( ch->charfunctable[CHAR_LOOPFUNCTEMP1].string, - sizeof( ch->charfunctable[CHAR_LOOPFUNCTEMP1]), "CHAR_BattleStayLoop");//ս + sizeof( ch->charfunctable[CHAR_LOOPFUNCTEMP1]), "CHAR_BattleStayLoop");//战斗 CHAR_setInt( charaindex, CHAR_LOOPINTERVAL, getOfflineBattleTime()); CHAR_constructFunctable( charaindex); } diff --git a/battle/battle_ai.c b/battle/battle_ai.c index 4795efc..6e1e69a 100644 --- a/battle/battle_ai.c +++ b/battle/battle_ai.c @@ -8,8 +8,9 @@ #include "pet_skill.h" struct B_AI_RESULT { - BATTLE_COM command; /* ë¾ */ - int target; /* */ + BATTLE_COM command; /* 何をするか */ + int target; /* 誰に */ + }; static int BATTLE_ai_normal( int, int, BATTLE_ENTRY *,struct B_AI_RESULT *); @@ -38,7 +39,7 @@ int BATTLE_ai_all( int battleindex, int side, int turn) mode = CHAR_getWorkInt( charaindex, CHAR_WORKTACTICS); if( mode < 0 || mode >= arraysizeof( functbl)){ - //print( "BATTLE_ai_all ,ս߼ģʽ(%s)(%d)\n", + //print( "BATTLE_ai_all 中,战斗逻辑模式很奇怪(%s)(%d)\n", //CHAR_getUseName( charaindex ), mode ); mode = 1; } @@ -107,22 +108,23 @@ int BATTLE_ai_one( int charaindex, int battleindex, int side, int turn) struct B_AI_RESULT result; int mode; - /* ɷ¶ */ + /* パラメータチェック */ if( BATTLE_CHECKINDEX( battleindex ) == FALSE )return BATTLE_ERR_BATTLEINDEX; if( BATTLE_CHECKSIDE( side ) == FALSE )return BATTLE_ERR_PARAM; if( BATTLE_CHECKSIDE( side ^1) == FALSE )return BATTLE_ERR_PARAM; - /* 浤 */ - /* ƽҷ¶½ */ + /* 両方のサイド共行う */ + /* 敵キャラ以外は抜ける */ + if( BattleArray[battleindex].Side[side].type != BATTLE_S_TYPE_ENEMY ) return 0; - /* */ + /* 反対側サイド */ pEntry = BattleArray[battleindex].Side[side^1].Entry; mode = CHAR_getWorkInt( charaindex, CHAR_WORKTACTICS); - /* ëԻ */ + /* 処理を振り分ける */ if( mode < 0 || mode >= arraysizeof( functbl)) return FALSE; - /* ëԻ */ + /* 処理を振り分ける */ if( functbl[mode] != NULL ) { rc = functbl[mode]( turn, charaindex, pEntry, &result); } @@ -137,13 +139,13 @@ int BATTLE_ai_one( int charaindex, int battleindex, int side, int turn) return TRUE; } -/* ɧë裻 */ +/* 普通に相手を決める */ -#define B_AI_NORMAL_ATTACKOPTION "at" /* */ -#define B_AI_NORMAL_GUARDOPTION "gu" /* */ -#define B_AI_NORMAL_MAGICOPTION "ma" /* */ -#define B_AI_NORMAL_ESCAPEOPTION "es" /* */ -#define B_AI_NORMAL_WAZAOPTION "wa" /* */ +#define B_AI_NORMAL_ATTACKOPTION "at" /* 攻撃オプション */ +#define B_AI_NORMAL_GUARDOPTION "gu" /* 防御オプション */ +#define B_AI_NORMAL_MAGICOPTION "ma" /* 呪術オプション */ +#define B_AI_NORMAL_ESCAPEOPTION "es" /* 逃げるオプション */ +#define B_AI_NORMAL_WAZAOPTION "wa" /* 技オプション */ #ifdef _ENEMY_ATTACK_AI #define B_AI_NORMAL_RANDAOPTION "rn" #define B_AI_NORMAL_RANDOMOPTIONNUM 1 @@ -155,7 +157,7 @@ int BATTLE_ai_one( int charaindex, int battleindex, int side, int turn) #define B_AI_NORMAL_ESCAPESUBOPTIONNUM 1 #define B_AI_NORMAL_WAZASUBOPTIONNUM 7 -/* ¦Ѽ ٯ */ +/* オプション引数の文字の定義 */ #define B_AI_NORMAL_TARGET_ALL 1 #define B_AI_NORMAL_TARGET_PLAYER 2 #define B_AI_NORMAL_TARGET_PET 3 @@ -203,11 +205,11 @@ static int BATTLE_ai_normal( int turn, int charaindex, BATTLE_ENTRY *pEntry, struct B_AI_RESULT *result) { - int at[B_AI_NORMAL_ATTACKSUBOPTIONNUM] = { 0,0,0}; /* */ - int gu[B_AI_NORMAL_GUARDSUBOPTIONNUM] = {0}; /* */ - int ma[B_AI_NORMAL_MAGICSUBOPTIONNUM] = {0}; /* */ - int es[B_AI_NORMAL_ESCAPESUBOPTIONNUM] = {0}; /* */ - int wa[B_AI_NORMAL_WAZASUBOPTIONNUM] = {0,0,0,0, 0,0,0};/* */ + int at[B_AI_NORMAL_ATTACKSUBOPTIONNUM] = { 0,0,0}; /* 攻撃オプション */ + int gu[B_AI_NORMAL_GUARDSUBOPTIONNUM] = {0}; /* オプション */ + int ma[B_AI_NORMAL_MAGICSUBOPTIONNUM] = {0}; /* オプション */ + int es[B_AI_NORMAL_ESCAPESUBOPTIONNUM] = {0}; /* オプション */ + int wa[B_AI_NORMAL_WAZASUBOPTIONNUM] = {0,0,0,0, 0,0,0};/* オプション */ #ifdef _ENEMY_ATTACK_AI int rn[B_AI_NORMAL_RANDOMOPTIONNUM] = {1}; #endif @@ -221,7 +223,7 @@ static int BATTLE_ai_normal( int turn, int charaindex, char buff2[256]; if( turn == 1 ) { - //print( "Ӧû¡\n" ); + //print( "应该没这回事。\n" ); return FALSE; } if( NPC_Util_GetStrFromStrWithDelim( CHAR_getWorkChar( charaindex, CHAR_WORKBATTLE_TACTICSOPTION), @@ -322,7 +324,7 @@ static int BATTLE_ai_normal( int turn, int charaindex, if( wa[i] != 0 )break; } if( i >= B_AI_NORMAL_WAZASUBOPTIONNUM ){ - //print( "ָκεĹʽ\n" ); + //print( "无指定任何的攻击方式。\n" ); return FALSE; } } @@ -513,7 +515,7 @@ static int BATTLE_ai_normal( int turn, int charaindex, result->command = CHAR_getWorkInt( charaindex, CHAR_WORKBATTLECOM1 ); return TRUE; }else{ -// print( "δ趨(%s):(%d)\n", +// print( "此项技能尚未设定(%s):(%d)\n", // CHAR_getUseName( charaindex), mode - B_AI_WAZAMODE0 ); return FALSE; } diff --git a/battle/battle_command.c b/battle/battle_command.c index e7b1605..56deeb7 100644 --- a/battle/battle_command.c +++ b/battle/battle_command.c @@ -12,7 +12,7 @@ #include "magic_base.h" #include "handletime.h" -#ifdef _PROFESSION_SKILL // WON ADD ְҵ +#ifdef _PROFESSION_SKILL // WON ADD 人物职业技能 #include "profession_skill.h" #endif int NowBattlerFd; @@ -24,21 +24,21 @@ int BATTLE_MpDown( int charaindex, int down ) #else { int mp, battleindex; - // о??? + // 戦闘は対人戦か、???戦か battleindex = CHAR_getWorkInt( charaindex, CHAR_WORKBATTLEINDEX ); if( BATTLE_CHECKINDEX( battleindex ) == FALSE )return TRUE; - // оԪئ?? + // 対人戦じゃなかったら?? if( BattleArray[battleindex].type != BATTLE_TYPE_P_vs_P ){ return TRUE; } - // ??ëӼ¾ + // ??を減らせるか? mp = CHAR_getInt( charaindex, CHAR_MP ); if( mp < down ){ - // Ӽئмƥئ + // 減らせないので何もしないとする CHAR_setWorkInt( charaindex, CHAR_WORKBATTLECOM1, BATTLE_COM_NONE ); - // ѨOK϶ + // コマンドOKの指定 CHAR_setWorkInt( charaindex, CHAR_WORKBATTLEMODE, BATTLE_CHARMODE_C_OK ); return FALSE; } @@ -55,7 +55,7 @@ void BattleCommandDispach( int fd, char *command ) int EscapeFree = BATTLE_FLG_FREEDP; int charaindex = CONNECT_getCharaindex(fd); char szBuffer[256]=""; -#ifdef _FIXWOLF // Syu ADD ˱Bug +#ifdef _FIXWOLF // Syu ADD 修正狼人变身Bug int i , j , pindex; BATTLE_ENTRY *pEntry; #endif @@ -86,10 +86,10 @@ void BattleCommandDispach( int fd, char *command ) EscapeFree = 0; if (CHAR_getWorkInt( charaindex, CHAR_WORKBATTLEWATCH )!=TRUE){ CHAR_talkToCli( charaindex, -1, - "ħʹ㶨ս", CHAR_COLORYELLOW ); + "华义大魔王使出定身法,定定定定定定把你定在战斗里。", CHAR_COLORYELLOW ); CHAR_setWorkInt( charaindex, CHAR_WORKBATTLECOM1, BATTLE_COM_GUARD ); CHAR_setWorkInt( charaindex, CHAR_WORKBATTLEMODE, BATTLE_CHARMODE_C_OK ); - //sprintf( szBuffer, "Command(%s)()", CHAR_getUseName( charaindex ) ); + //sprintf( szBuffer, "Command(%s)(防御)", CHAR_getUseName( charaindex ) ); endFlg = 1; BATTLE_MpDown( charaindex, 2 ); }else{ @@ -108,7 +108,7 @@ void BattleCommandDispach( int fd, char *command ) CHAR_setWorkInt( charaindex, CHAR_WORKBATTLECOM1, BATTLE_COM_ESCAPE ); CHAR_setWorkInt( charaindex, CHAR_WORKBATTLEMODE, BATTLE_CHARMODE_C_OK ); - //sprintf( szBuffer, "Command(%s)()", CHAR_getUseName( charaindex ) ); + //sprintf( szBuffer, "Command(%s)(逃跑)", CHAR_getUseName( charaindex ) ); endFlg = 1; BATTLE_MpDown( charaindex, 20 ); @@ -142,12 +142,12 @@ void BattleCommandDispach( int fd, char *command ) CHAR_setWorkInt( charaindex, CHAR_WORKBATTLECOM1, BATTLE_COM_BOOMERANG ); #ifdef _PETSKILL_BECOMEFOX if( CHAR_getInt( charaindex, CHAR_BASEIMAGENUMBER)==101749 - || CHAR_getWorkInt( charaindex, CHAR_WORKFOXROUND ) != -1 ){ //DZС겻ʹû + || CHAR_getWorkInt( charaindex, CHAR_WORKFOXROUND ) != -1 ){ //若是变成小狐狸不可以使用回力标 CHAR_setWorkInt( charaindex, CHAR_WORKBATTLECOM1, BATTLE_COM_NONE ); } #endif #ifdef _PETSKILL_BECOMEPIG - if( CHAR_getInt( charaindex, CHAR_BECOMEPIG) > -1 ){// + if( CHAR_getInt( charaindex, CHAR_BECOMEPIG) > -1 ){//变成乌力了 CHAR_setWorkInt( charaindex, CHAR_WORKBATTLECOM1, BATTLE_COM_ATTACK ); } #endif @@ -158,7 +158,7 @@ void BattleCommandDispach( int fd, char *command ) CHAR_setWorkInt( charaindex, CHAR_WORKBATTLEMODE, BATTLE_CHARMODE_C_OK ); CHAR_SETWORKINT_LOW( charaindex, CHAR_WORKBATTLECOM3, 1 ); - //sprintf( szBuffer, "Command(%s)(ս)", CHAR_getUseName( charaindex ) ); + //sprintf( szBuffer, "Command(%s)(战斗)", CHAR_getUseName( charaindex ) ); endFlg = 1; @@ -178,7 +178,7 @@ void BattleCommandDispach( int fd, char *command ) CHAR_setWorkInt( charaindex, CHAR_WORKBATTLEMODE, BATTLE_CHARMODE_C_OK ); - sprintf( szBuffer, "Command(%s)()", CHAR_getUseName( charaindex ) ); + sprintf( szBuffer, "Command(%s)(防御)", CHAR_getUseName( charaindex ) ); endFlg = 1; BATTLE_MpDown( charaindex, 2 ); @@ -191,8 +191,8 @@ void BattleCommandDispach( int fd, char *command ) CHAR_setWorkInt( charaindex, CHAR_WORKBATTLECOM1, BATTLE_COM_WAIT ); CHAR_setWorkInt( charaindex, CHAR_WORKBATTLEMODE, BATTLE_CHARMODE_C_OK ); -// sprintf( szBuffer, "Command(%s)(serverй)", CHAR_getUseName( charaindex ) ); - //sprintf( szBuffer, "Command(%s)()", CHAR_getUseName( charaindex ) ); +// sprintf( szBuffer, "Command(%s)(server托管)", CHAR_getUseName( charaindex ) ); + //sprintf( szBuffer, "Command(%s)(待机)", CHAR_getUseName( charaindex ) ); endFlg = 1; }else @@ -218,7 +218,7 @@ void BattleCommandDispach( int fd, char *command ) CHAR_setWorkInt( charaindex, CHAR_WORKBATTLEMODE, BATTLE_CHARMODE_C_OK ); - //sprintf( szBuffer, "Command(%s)()", CHAR_getUseName( charaindex ) ); + //sprintf( szBuffer, "Command(%s)(捕获)", CHAR_getUseName( charaindex ) ); endFlg = 1; BATTLE_MpDown( charaindex, 20 ); @@ -247,7 +247,7 @@ void BattleCommandDispach( int fd, char *command ) #ifndef _PET_STANDBY if( iNum >= 0) { if( ! (CHAR_getWorkInt( charaindex, CHAR_WORKSTANDBYPET) & ( 1 << iNum)) ) { - //print("\n ķ!гǴ!!:%s ", CHAR_getChar( charaindex, CHAR_CDKEY) ); + //print("\n 改封包!叫出非待机宠!!:%s ", CHAR_getChar( charaindex, CHAR_CDKEY) ); iNum = -1; } } @@ -257,10 +257,10 @@ void BattleCommandDispach( int fd, char *command ) CHAR_setWorkInt( charaindex, CHAR_WORKBATTLECOM2, iNum ); if( iNum < 0 ){ CHAR_setWorkInt( charaindex, CHAR_WORKBATTLECOM1, BATTLE_COM_PETIN ); - //sprintf( szBuffer, "Command(%s)(س)", CHAR_getUseName( charaindex ) ); + //sprintf( szBuffer, "Command(%s)(唤回宠物)", CHAR_getUseName( charaindex ) ); }else{ CHAR_setWorkInt( charaindex, CHAR_WORKBATTLECOM1, BATTLE_COM_PETOUT ); - //sprintf( szBuffer, "Command(%s)(г)", CHAR_getUseName( charaindex ) ); + //sprintf( szBuffer, "Command(%s)(叫出宠物)", CHAR_getUseName( charaindex ) ); } CHAR_setWorkInt( charaindex, CHAR_WORKBATTLEMODE, BATTLE_CHARMODE_C_OK ); @@ -288,18 +288,18 @@ void BattleCommandDispach( int fd, char *command ) || checkErrorStatus( petindex) ) { - //sprintf( szBuffer, "Command(%s)(Զ)", CHAR_getUseName( petindex ) ); + //sprintf( szBuffer, "Command(%s)(自动)", CHAR_getUseName( petindex ) ); CHAR_setWorkInt( petindex, CHAR_WORKBATTLEMODE, BATTLE_CHARMODE_C_OK ); #ifdef _PETSKILLBUG //Add By Syu 2002.0805 }else if ((CHAR_getInt(petindex, CHAR_TRANSMIGRATION)<1) && ( iNum>=CHAR_getInt(petindex, CHAR_SLOT) ) ) { - //sprintf( szBuffer, "Command(%s)(Զ)", CHAR_getUseName( petindex ) ); + //sprintf( szBuffer, "Command(%s)(自动)", CHAR_getUseName( petindex ) ); CHAR_setWorkInt( petindex, CHAR_WORKBATTLEMODE, BATTLE_CHARMODE_C_OK ); #endif }else{ petskillindex = PETSKILL_GetArray( petindex, iNum); -#ifdef _FIXWOLF // Syu ADD ˱Bug +#ifdef _FIXWOLF // Syu ADD 修正狼人变身Bug if( (CHAR_getPetSkill( petindex , iNum )== 600) && (ToNo == -1)) { for( j = 0; j < 2; j ++ ) @@ -320,12 +320,12 @@ void BattleCommandDispach( int fd, char *command ) if( petskillindex >= 0 && PETSKILL_Use( petindex, iNum, ToNo, NULL ) == TRUE ){ - //sprintf( szBuffer, "Command(%s)(ʯ)", CHAR_getUseName( petindex ) ); + //sprintf( szBuffer, "Command(%s)(石版)", CHAR_getUseName( petindex ) ); EscapeFree = 0; }else{ - //sprintf( szBuffer, "Command(%s)(Զ)", CHAR_getUseName( petindex ) ); + //sprintf( szBuffer, "Command(%s)(自动)", CHAR_getUseName( petindex ) ); CHAR_setWorkInt( petindex, CHAR_WORKBATTLEMODE, BATTLE_CHARMODE_C_OK ); } } @@ -374,7 +374,7 @@ void BattleCommandDispach( int fd, char *command ) CHAR_SETWORKINT_LOW( charaindex, CHAR_WORKBATTLECOM3, magicindex ); CHAR_SETWORKINT_HIGH( charaindex, CHAR_WORKBATTLECOM3, iNum ); CHAR_setWorkInt( charaindex, CHAR_WORKBATTLEMODE, BATTLE_CHARMODE_C_OK ); - //sprintf( szBuffer, "Command(%s)()", CHAR_getUseName( charaindex ) ); + //sprintf( szBuffer, "Command(%s)(咒术)", CHAR_getUseName( charaindex ) ); #ifdef _ITEM_ATTSKILLMAGIC } #endif @@ -383,7 +383,7 @@ void BattleCommandDispach( int fd, char *command ) EscapeFree = 0; CHAR_setWorkInt( charaindex, CHAR_WORKBATTLECOM1, BATTLE_COM_WAIT ); CHAR_setWorkInt( charaindex, CHAR_WORKBATTLEMODE, BATTLE_CHARMODE_C_OK ); - //sprintf( szBuffer, "Command(%s)()", CHAR_getUseName( charaindex ) ); + //sprintf( szBuffer, "Command(%s)(待机)", CHAR_getUseName( charaindex ) ); } endFlg = 1; }else @@ -412,12 +412,12 @@ void BattleCommandDispach( int fd, char *command ) CHAR_setWorkInt( charaindex, CHAR_WORKBATTLECOM1, BATTLE_COM_ITEM ); CHAR_setWorkInt( charaindex, CHAR_WORKBATTLECOM3, iNum ); CHAR_setWorkInt( charaindex, CHAR_WORKBATTLEMODE, BATTLE_CHARMODE_C_OK ); - //sprintf( szBuffer, "Command(%s)()", CHAR_getUseName( charaindex ) ); + //sprintf( szBuffer, "Command(%s)(道具)", CHAR_getUseName( charaindex ) ); endFlg = 1; } }else if( strncmp( command, "@", 1 ) == 0 ){ - //sprintf( szBuffer, "Command(%s)(ͨ)", CHAR_getUseName( charaindex ) ); + //sprintf( szBuffer, "Command(%s)(通用)", CHAR_getUseName( charaindex ) ); CHAR_setWorkInt( charaindex, CHAR_WORKBATTLEMODE, BATTLE_CHARMODE_C_OK ); endFlg = 1; @@ -426,7 +426,7 @@ void BattleCommandDispach( int fd, char *command ) min( 100, CHAR_getInt( charaindex, CHAR_MP ) + 30 ) ); }else -#ifdef _PROFESSION_SKILL // WON ADD ְҵ +#ifdef _PROFESSION_SKILL // WON ADD 人物职业技能 if( strncmp( command, "P", 1 ) == 0 ){ int iNum=-1, ToNo=-1; int skillindex=-1; @@ -444,16 +444,16 @@ void BattleCommandDispach( int fd, char *command ) } if( CHAR_getWorkInt( charaindex, CHAR_WORKBATTLEMODE) == BATTLE_CHARMODE_NONE ){ -// print("\n\n Ƿ(19001)(%s)(%s)\n\n", CHAR_getChar(charaindex, CHAR_CDKEY), CHAR_getChar(charaindex, CHAR_NAME) ); +// print("\n\n 非法封包(19001)(%s)(%s)\n\n", CHAR_getChar(charaindex, CHAR_CDKEY), CHAR_getChar(charaindex, CHAR_NAME) ); #ifdef _PROSKILL_ERR_KICK CONNECT_setCloseRequest( fd , 1 ); #endif return; } -#ifndef _PROSKILL_OPTIMUM // Robin fix cancel ˴Թְҵ, PROFESSION_SKILL_Use м - // ְҵ +#ifndef _PROSKILL_OPTIMUM // Robin fix cancel 此处略过职业检查, 改在 PROFESSION_SKILL_Use 中检查 + // 人物的职业 char_pskill = CHAR_getInt( charaindex, PROFESSION_CLASS ); - // ְܵҵ + // 技能的职业 skillindex = PROFESSION_SKILL_GetArray( charaindex, iNum); Pskillid = PROFESSION_SKILL_getskillArray( skillindex); profession_skill = PROFESSION_SKILL_getInt( Pskillid, PROFESSION_SKILL_PROFESSION_CLASS); @@ -463,22 +463,22 @@ void BattleCommandDispach( int fd, char *command ) if( 1 ) { #endif if( PROFESSION_SKILL_Use( charaindex, iNum, ToNo, NULL ) == 1 ){ - //sprintf( szBuffer, "Command(%s)(ְҵ)", CHAR_getUseName( charaindex ) ); + //sprintf( szBuffer, "Command(%s)(职业技能)", CHAR_getUseName( charaindex ) ); endFlg = 1; }else{ -// print("\nְҵʧ!!\n"); +// print("\n职业技能失败!!\n"); CHAR_setWorkInt( charaindex, CHAR_WORKBATTLECOM1, BATTLE_COM_WAIT ); CHAR_setWorkInt( charaindex, CHAR_WORKBATTLEMODE, BATTLE_CHARMODE_C_OK ); - //sprintf( szBuffer, "Command(%s)()", CHAR_getUseName( charaindex ) ); + //sprintf( szBuffer, "Command(%s)(待机)", CHAR_getUseName( charaindex ) ); #ifdef _PROSKILL_ERR_KICK CONNECT_setCloseRequest( fd , 1 ); #endif } }else{ -// print("\nķ??ְҵIDȷ:%s:%d:%d \n", CHAR_getChar( charaindex, CHAR_CDKEY), char_pskill, profession_skill); +// print("\n改封包??职业技能ID不正确:%s:%d:%d \n", CHAR_getChar( charaindex, CHAR_CDKEY), char_pskill, profession_skill); CHAR_setWorkInt( charaindex, CHAR_WORKBATTLECOM1, BATTLE_COM_WAIT ); CHAR_setWorkInt( charaindex, CHAR_WORKBATTLEMODE, BATTLE_CHARMODE_C_OK ); - //sprintf( szBuffer, "Command(%s)()", CHAR_getUseName( charaindex ) ); + //sprintf( szBuffer, "Command(%s)(待机)", CHAR_getUseName( charaindex ) ); #ifdef _PROSKILL_ERR_KICK CONNECT_setCloseRequest_debug( fd , 1 ); #endif @@ -489,7 +489,7 @@ void BattleCommandDispach( int fd, char *command ) #endif { - //sprintf( szBuffer, "Command(%s)(ʧ)", CHAR_getUseName( charaindex ) ); + //sprintf( szBuffer, "Command(%s)(失败)", CHAR_getUseName( charaindex ) ); endFlg = 2; } @@ -532,56 +532,56 @@ void BATTLE_ActSettingSend( int battleindex ) pEntry = BattleArray[battleindex].Side[j].Entry; for( i = 0; i < BATTLE_ENTRY_MAX; i ++ ){ pindex = pEntry[i].charaindex; - // Ѩ ƥ廯 + // コマンド入力できていたら if( CHAR_getWorkInt( pindex, CHAR_WORKBATTLEMODE ) == BATTLE_CHARMODE_C_OK ){ - endBit |= 1 << k; // + endBit |= 1 << k; // ビット立てる }else - // ķ姸 + // 敵だったら絶対動かす if( CHAR_getInt( pindex, CHAR_WHICHTYPE ) == CHAR_TYPEENEMY || CHAR_getInt( pindex, CHAR_WHICHTYPE ) == CHAR_TYPEPLAYERNPC || CHAR_getInt( pindex, CHAR_WHICHTYPE ) == CHAR_TYPEPLAYERPETNPC ) { - endBit |= 1 << k; // + endBit |= 1 << k; // ビット立てる } k ++; } } sprintf( szBA, "BA|%X|%X|", endBit, BattleArray[battleindex].turn ); // print( "%s\n", szBA ); - //ձ幻ƻ˪ + //さらに全員ループして送る for( j = 0; j < 2; j ++ ){ pEntry = BattleArray[battleindex].Side[j].Entry; for( i = 0; i < BATTLE_ENTRY_MAX; i ++ ){ pindex = pEntry[i].charaindex; if( CHAR_CHECKINDEX( pindex ) == FALSE )continue; - // ׻ƽҷ±巴˪ئ + // 参戦したてのキャラには送らない if( CHAR_getWorkInt( pindex, CHAR_WORKBATTLEMODE ) == BATTLE_CHARMODE_RESCUE )continue; - // + // プレイヤーだったら if( CHAR_getInt( pindex, CHAR_WHICHTYPE ) == CHAR_TYPEPLAYER - ){ // Ѩ˪ + ){ // コマンド送る BATTLE_CommandSend( pindex, szBA ); } } } - // ƻб˪ + // 観戦している人にも送る pBattle = BattleArray[battleindex].pNext; for( ; pBattle ; pBattle = pBattle->pNext ){ - // ʧо + // このアドレスが正しいかチェック if( BATTLE_CHECKADDRESS( pBattle ) == FALSE ){ - //fprint( "err:սbattle address(%p)\n", pBattle ); + //fprint( "err:观战battle address错误(%p)\n", pBattle ); break; } - // 幻˪ + // 全員に送信 for( i = 0; i < BATTLE_ENTRY_MAX; i ++ ){ charaindex = pBattle->Side[0].Entry[i].charaindex; if( CHAR_CHECKINDEX( charaindex ) == FALSE )continue; if( CHAR_getInt( charaindex, CHAR_WHICHTYPE ) != CHAR_TYPEPLAYER )continue; - // Ѩ˪ + // コマンド送る BATTLE_CommandSend( pindex, szBA ); } } @@ -603,7 +603,7 @@ BOOL BATTLE_IsHide( int charaindex ){ //******************************************************* // -// PѨëͷʧ˪ +// バトルのコマンドをクライアントに送る // BOOL BATTLE_CommandSend( int charaindex, char *pszCommand) // @@ -640,7 +640,7 @@ BOOL BATTLE_MakeCharaString( for( j = 0; j < 2; j ++ ){ if( j == 1 ){ - iOffset = SIDE_OFFSET; // 𵤴µ + iOffset = SIDE_OFFSET; // 向こう側サイドの場合はプラスする }else{ iOffset = 0; } @@ -661,22 +661,22 @@ BOOL BATTLE_MakeCharaString( if( CHAR_getWorkInt( charaindex, CHAR_WORKPOISON ) > 0 ){ flg |= BC_FLG_POISON; }else -#ifdef _MAGIC_WEAKEN // +#ifdef _MAGIC_WEAKEN // 虚弱 if( CHAR_getWorkInt( charaindex, CHAR_WORKWEAKEN ) > 0 ){ flg |= BC_FLG_WEAKEN; }else #endif -#ifdef _MAGIC_DEEPPOISON // 綾 +#ifdef _MAGIC_DEEPPOISON // 剧毒 if( CHAR_getWorkInt( charaindex, CHAR_WORKDEEPPOISON ) > 0 ){ flg |= BC_FLG_DEEPPOISON; }else #endif -#ifdef _MAGIC_NOCAST // Ĭ +#ifdef _MAGIC_NOCAST // 沉默 if( CHAR_getWorkInt( charaindex, CHAR_WORKNOCAST ) > 0 ){ flg |= BC_FLG_NOCAST; }else #endif -#ifdef _MAGIC_BARRIER // ħ +#ifdef _MAGIC_BARRIER // 魔障 if( CHAR_getWorkInt( charaindex, CHAR_WORKBARRIER ) > 0 ){ flg |= BC_FLG_BARRIER; }else @@ -705,63 +705,63 @@ BOOL BATTLE_MakeCharaString( if( BATTLE_IsHide( charaindex ) == TRUE ){ flg |= BC_FLG_HIDE; } -#ifdef _PET_SKILL_SARS // WON ADD ɷ +#ifdef _PET_SKILL_SARS // WON ADD 毒煞蔓延 if( CHAR_getWorkInt( charaindex, CHAR_WORKSARS ) > 0 ){ flg |= BC_FLG_SARS; } #endif -#ifdef _PROFESSION_SKILL // WON ADD ְҵ +#ifdef _PROFESSION_SKILL // WON ADD 人物职业技能 if( CHAR_getWorkInt( charaindex, CHAR_WORKDIZZY ) > 0 ){ - flg |= BC_FLG_DIZZY; // ѣ + flg |= BC_FLG_DIZZY; // 晕眩 } if( CHAR_getWorkInt( charaindex, CHAR_WORKENTWINE ) > 0 ){ - flg |= BC_FLG_ENTWINE; // + flg |= BC_FLG_ENTWINE; // 树根缠绕 } if( CHAR_getWorkInt( charaindex, CHAR_WORKDRAGNET ) > 0 ){ - flg |= BC_FLG_DRAGNET; // ޵ + flg |= BC_FLG_DRAGNET; // 天罗地网 } if( CHAR_getWorkInt( charaindex, CHAR_WORKICECRACK ) > 0 ){ - // flg |= BC_FLG_ICECRACK; // + // flg |= BC_FLG_ICECRACK; // 冰爆术 } if( CHAR_getWorkInt( charaindex, CHAR_WORKOBLIVION ) > 0 ){ - flg |= BC_FLG_OBLIVION; // + flg |= BC_FLG_OBLIVION; // 遗忘 } if( CHAR_getWorkInt( charaindex, CHAR_WORKICEARROW ) > 0 ){ - flg |= BC_FLG_ICEARROW; // + flg |= BC_FLG_ICEARROW; // 冰箭 } if( CHAR_getWorkInt( charaindex, CHAR_WORKBLOODWORMS ) > 0 ){ - flg |= BC_FLG_BLOODWORMS; // Ѫ + flg |= BC_FLG_BLOODWORMS; // 嗜血蛊 } if( CHAR_getWorkInt( charaindex, CHAR_WORKSIGN ) > 0 ){ - flg |= BC_FLG_SIGN; // һѪ + flg |= BC_FLG_SIGN; // 一针见血 } if( CHAR_getWorkInt( charaindex, CHAR_WORKINSTIGATE ) > 0 ){ - flg |= BC_FLG_CARY; // + flg |= BC_FLG_CARY; // 挑拨 } if( CHAR_getWorkInt( charaindex, CHAR_WORK_F_ENCLOSE ) > 0 ){ - flg |= BC_FLG_F_ENCLOSE; // + flg |= BC_FLG_F_ENCLOSE; // 火附体 } if( CHAR_getWorkInt( charaindex, CHAR_WORK_I_ENCLOSE ) > 0 ){ - flg |= BC_FLG_I_ENCLOSE; // + flg |= BC_FLG_I_ENCLOSE; // 冰附体 } if( CHAR_getWorkInt( charaindex, CHAR_WORK_T_ENCLOSE ) > 0 ){ - flg |= BC_FLG_T_ENCLOSE; // ׸ + flg |= BC_FLG_T_ENCLOSE; // 雷附体 } #endif #ifdef _PROFESSION_ADDSKILL if( CHAR_getWorkInt( charaindex, CHAR_WORKANNEX ) > 0 ){ - flg |= BC_FLG_T_ENCLOSE; // + flg |= BC_FLG_T_ENCLOSE; // 附身术 } if( CHAR_getWorkInt( charaindex, CHAR_WORKWATER ) > 0 ){ - flg |= BC_FLG_WATER; // ˮ + flg |= BC_FLG_WATER; // 水附体 } if( CHAR_getWorkInt( charaindex, CHAR_WORKFEAR ) > 0 ){ - flg |= BC_FLG_FEAR; // ־ + flg |= BC_FLG_FEAR; // 恐惧 } #endif #ifdef _PETSKILL_LER if(CHAR_getWorkInt(charaindex,CHAR_WORK_RELIFE) > 0){ - flg |= BC_FLG_CHANGE; // ׶ + flg |= BC_FLG_CHANGE; // 雷尔变身 CHAR_setWorkInt(charaindex,CHAR_WORK_RELIFE,0); } #endif @@ -785,13 +785,13 @@ BOOL BATTLE_MakeCharaString( }else { if( CHAR_getWorkInt( charaindex, CHAR_WORKPETFALL ) == 1 ){ rideflg = -1; -#ifdef _PETSKILL_BECOMEFOX // ĻʱѶϢ Client +#ifdef _PETSKILL_BECOMEFOX // 若中了媚惑术而落马时将讯息传给 Client if( CHAR_getWorkInt( charaindex, CHAR_WORKFOXROUND ) != -1 ) - rideflg = -2; //clientжʾ (ӦclientΪp_party[ BattleMyNo ]->onRide) + rideflg = -2; //client用来判断显示落马的文字 (对应的client变数为p_party[ BattleMyNo ]->onRide) #endif -#ifdef _PETSKILL_BECOMEPIG // ʱѶϢ Client - if( CHAR_getInt( charaindex, CHAR_BECOMEPIG) > 120 )// - rideflg = -3; //clientжʾ (ӦclientΪp_party[ BattleMyNo ]->onRide) +#ifdef _PETSKILL_BECOMEPIG // 若中了乌力化而落马时将讯息传给 Client + if( CHAR_getInt( charaindex, CHAR_BECOMEPIG) > 120 )//变成乌力了 + rideflg = -3; //client用来判断显示落马的文字 (对应的client变数为p_party[ BattleMyNo ]->onRide) #endif CHAR_setWorkInt( charaindex, CHAR_WORKPETFALL, 0 ); } @@ -819,7 +819,7 @@ BOOL BATTLE_MakeCharaString( petmaxhp ); STRCPY_TAIL( pszTop, pszLast, szBuffer ); - if( pszTop >= pszLast )return FALSE;// + if( pszTop >= pszLast )return FALSE;// 超えたら失敗 } } @@ -827,8 +827,8 @@ BOOL BATTLE_MakeCharaString( } void BATTLE_BpSendToWatch( - BATTLE *pBattle, // ͼ̼ - char *pszBcString // BC ٯ + BATTLE *pBattle, // 観戦バトルタスクのポインタ + char *pszBcString // BC文字列 ) { @@ -837,13 +837,13 @@ void BATTLE_BpSendToWatch( // for( ; pBattle ; pBattle = pBattle->pNext ){ if( pBattle == NULL )return; - // ʧо + // このアドレスが正しいかチェック if( BATTLE_CHECKADDRESS( pBattle ) == FALSE ){ - //fprint( "err:սbattle address(%p)\n", pBattle ); + //fprint( "err:观战battle address错误(%p)\n", pBattle ); return; } - // 幻˪ + // 全員に送信 for( i = 0; i < BATTLE_ENTRY_MAX; i ++ ){ charaindex = pBattle->Side[0].Entry[i].charaindex; if( CHAR_CHECKINDEX( charaindex ) == FALSE )continue; @@ -851,16 +851,16 @@ void BATTLE_BpSendToWatch( != CHAR_TYPEPLAYER ) continue; if( CHAR_getWorkInt( charaindex, CHAR_WORKBATTLEMODE ) == BATTLE_CHARMODE_WATCHINIT){ - flg |= BP_FLG_JOIN; // ޥ + flg |= BP_FLG_JOIN; // 新規参加 } - flg |= BP_FLG_PLAYER_MENU_OFF; // بئ - // į˪ + flg |= BP_FLG_PLAYER_MENU_OFF; // プレイヤーメニュー出さない + // プレイヤー番号送る sprintf( szBp, "BP|%X|%X|%X", 20, flg, 0 ); BATTLE_CommandSend( charaindex, szBp ); - // 幻ɧ ˪ + // 全員共通情報送る BATTLE_CommandSend( charaindex, pszBcString ); } - // Ѩг + // コマンド待ちへ pBattle->mode = BATTLE_MODE_WATCHPRE; // } } @@ -891,7 +891,7 @@ void BATTLE_CharSendAll( int battleindex ) } if( CHAR_getWorkInt( charaindex, CHAR_WORKBATTLEMODE ) == BATTLE_CHARMODE_RESCUE){ - flg |= BP_FLG_JOIN; // + flg |= BP_FLG_JOIN; // 参戦 } At_SoubiIndex = CHAR_getItemIndex( charaindex, CHAR_ARM ); if( ITEM_CHECKINDEX( At_SoubiIndex ) == FALSE ){ @@ -910,17 +910,12 @@ void BATTLE_CharSendAll( int battleindex ) #ifdef _PETSKILL_DAMAGETOHP { -/* - ÿ,ÿ~~~~~~~ - qTTr - qsU - tѨTѨs± -*/ + char msg[32]={0}; - //print("\nid:%d",CHAR_getInt( pindex, CHAR_PETID)); - //print("\n:%s",CHAR_getChar( pindex, CHAR_NAME)); - //if( CHAR_getInt( pindex, CHAR_PETID) == 777 ){//ID ˮ˫ͷ - // || CHAR_getInt( pindex, CHAR_PETID) == 146 ) //˫ͷ + //print("\n宠物id:%d",CHAR_getInt( pindex, CHAR_PETID)); + //print("\n宠物名:%s",CHAR_getChar( pindex, CHAR_NAME)); + //if( CHAR_getInt( pindex, CHAR_PETID) == 777 ){//宠物ID 水双头狼 + // || CHAR_getInt( pindex, CHAR_PETID) == 146 ) //火双头狼 // && CHAR_getInt( pindex, CHAR_HP) ){ sprintf( msg, "o%d", pet ); CHAR_sendStatusString( charaindex, msg ); @@ -929,9 +924,9 @@ void BATTLE_CharSendAll( int battleindex ) } #endif -#ifdef _PETSKILL_BECOMEFOX // Ļijļ +#ifdef _PETSKILL_BECOMEFOX // 限制中了媚惑术的宠物的技能 //if( CHAR_getInt( pindex, CHAR_BASEIMAGENUMBER) == 101749 ){ - if( CHAR_getWorkInt( pindex, CHAR_WORKFOXROUND ) != -1 ){ //DZС + if( CHAR_getWorkInt( pindex, CHAR_WORKFOXROUND ) != -1 ){ //若是变成小狐狸 char msg[32]={0}; sprintf( msg, "a%d", pet ); CHAR_sendStatusString( charaindex, msg ); @@ -974,9 +969,9 @@ void BATTLE_CharSendAll( int battleindex ) } pBattle = BattleArray[battleindex].pNext; for( ; pBattle ; pBattle = pBattle->pNext ){ - // ʧо + // このアドレスが正しいかチェック if( BATTLE_CHECKADDRESS( pBattle ) == FALSE ){ - //fprint( "err:սbattle address(%p)\n", pBattle ); + //fprint( "err:观战battle address错误(%p)\n", pBattle ); break; } @@ -1011,7 +1006,7 @@ void BattleEncountOut( int charaindex) pmode = CHAR_getWorkInt( pindex, CHAR_WORKBATTLEMODE ); if( pmode > 0 && pmode != BATTLE_CHARMODE_FINAL ){ BATTLE_RescueParentTry( charaindex, pindex ); -// print( "μս(%s)\n", CHAR_getUseName( charaindex ) ); +// print( "较慢参加战斗(%s)\n", CHAR_getUseName( charaindex ) ); } } @@ -1020,38 +1015,38 @@ void BattleEncountOut( int charaindex) //************************************************** // -// ɻѨë ľʸ +// デフォルトのコマンドを入れるペット用 // BOOL BATTLE_PetDefaultCommand( int petindex ) // //************************************************** { if( CHAR_CHECKINDEX( petindex ) == FALSE )return FALSE; - // 켰϶ + // 相手の指定 CHAR_setWorkInt( petindex, CHAR_WORKBATTLECOM2, -1 ); - // ɧ ϶ + // 通常攻撃の指定 CHAR_setWorkInt( petindex, CHAR_WORKBATTLECOM1, BATTLE_COM_ATTACK ); - // ѨOK϶ + // コマンドOKの指定 CHAR_setWorkInt( petindex, CHAR_WORKBATTLEMODE, BATTLE_CHARMODE_C_OK ); return TRUE; } -// Robin fix ʯ˯ս +// Robin fix 检查石化昏睡不可战斗 int checkErrorStatus( int charaindex) { //if( BATTLE_CanMoveCheck( charaindex) == FALSE) { if( - CHAR_getWorkInt( charaindex, CHAR_WORKPARALYSIS ) > 0 // - || CHAR_getWorkInt( charaindex, CHAR_WORKSTONE ) > 0 // ʯ - || CHAR_getWorkInt( charaindex, CHAR_WORKSLEEP ) > 0 // ˯ - //|| CHAR_getWorkInt( charaindex, CHAR_WORKBARRIER ) > 0 // ħ - || CHAR_getWorkInt( charaindex, CHAR_WORKDIZZY ) > 0 // ѣ - || CHAR_getWorkInt( charaindex, CHAR_WORKDRAGNET ) > 0 // ޵ - //|| CHAR_getWorkInt( charaindex, CHAR_WORK_T_ENCLOSE ) > 0 // ׸ + CHAR_getWorkInt( charaindex, CHAR_WORKPARALYSIS ) > 0 // 麻痹 + || CHAR_getWorkInt( charaindex, CHAR_WORKSTONE ) > 0 // 石化 + || CHAR_getWorkInt( charaindex, CHAR_WORKSLEEP ) > 0 // 睡眠 + //|| CHAR_getWorkInt( charaindex, CHAR_WORKBARRIER ) > 0 // 魔障 + || CHAR_getWorkInt( charaindex, CHAR_WORKDIZZY ) > 0 // 晕眩 + || CHAR_getWorkInt( charaindex, CHAR_WORKDRAGNET ) > 0 // 天罗地网 + //|| CHAR_getWorkInt( charaindex, CHAR_WORK_T_ENCLOSE ) > 0 // 雷附体 #ifdef _PROFESSION_ADDSKILL -// || CHAR_getWorkInt( charaindex, CHAR_DOOMTIME ) > 0 //ĩռ +// || CHAR_getWorkInt( charaindex, CHAR_DOOMTIME ) > 0 //世界末日集气 #endif ) { @@ -1062,7 +1057,7 @@ int checkErrorStatus( int charaindex) // else // strcpysafe( cdkey,sizeof(cdkey), CHAR_getChar( charaindex, CHAR_OWNERCDKEY) ); -// print("\n ķ!ս״̬!!:%s ", cdkey ); +// print("\n 改封包!不可战斗的状态!!:%s ", cdkey ); return 1; } diff --git a/battle/battle_event.c b/battle/battle_event.c index 6122f88..14e03a2 100644 --- a/battle/battle_event.c +++ b/battle/battle_event.c @@ -17,7 +17,7 @@ #include "char_base.h" #include "item_event.h" -#ifdef _PROFESSION_SKILL // WON ADD ְҵ +#ifdef _PROFESSION_SKILL // WON ADD 人物职业技能 #include "profession_skill.h" #include "item.h" #include "skill.h" @@ -59,33 +59,33 @@ int gBattleBadStatusTbl[BATTLE_ENTRY_MAX*2]; #ifdef _OTHER_MAGICSTAUTS #ifdef _MAGICSTAUTS_RESIST -char MagicStatus[MAXSTATUSTYPE][36] = { "NULL","ħ","","","翹",""}; +char MagicStatus[MAXSTATUSTYPE][36] = { "NULL","魔抗","铁壁","火抗","电抗","冰抗"}; int MagicTbl[] = { -1, CHAR_DEFMAGICSTATUS, CHAR_MAGICSUPERWALL, CHAR_MAGICFIRE, CHAR_MAGICTHUNDER, CHAR_MAGICICE }; #else -char MagicStatus[MAXSTATUSTYPE][36] = { "NULL","ħ",""}; +char MagicStatus[MAXSTATUSTYPE][36] = { "NULL","魔抗","铁壁"}; int MagicTbl[] = { -1, CHAR_DEFMAGICSTATUS, CHAR_MAGICSUPERWALL }; #endif //_MAGICSTAUTS_RESIST #endif -char *aszStatus[] = { "ȫ", "", "", "", "ʯ", "", "", "", "", "", "Ĭ" -#ifdef _PET_SKILL_SARS // WON ADD ɷ - ,"ɷ" +char *aszStatus[] = { "全", "毒", "麻", "眠", "石", "醉", "乱", "虚", "剧", "障", "默" +#ifdef _PET_SKILL_SARS // WON ADD 毒煞蔓延 + ,"煞" #endif -#ifdef _PROFESSION_SKILL // WON ADD ְҵ - ,"","","","","","","","","","","˪","","ר","","","","","","" +#ifdef _PROFESSION_SKILL // WON ADD 人物职业技能 + ,"晕","缠","罗","爆","忘","箭","蛊","针","挑","烧","霜","电","专","火","冰","雷","炎","冻","击" #endif #ifdef _PROFESSION_ADDSKILL - ,"" + ,"抗" #endif }; -char *aszStatusFull[] = { "ȫ", "", "", "˯", "ʯ", "", "", "", "綾", "ħ", "Ĭ" -#ifdef _PET_SKILL_SARS // WON ADD ɷ - ,"ɷ" +char *aszStatusFull[] = { "全快", "毒", "麻痹", "睡眠", "石化", "酒醉", "混乱", "虚弱", "剧毒", "魔障", "沉默" +#ifdef _PET_SKILL_SARS // WON ADD 毒煞蔓延 + ,"毒煞" #endif -#ifdef _PROFESSION_SKILL // WON ADD ְҵ - ,"ѣ","","","","","","Ѫ","һѪ","","", - "","׸","רעս","","","׿","","","׸" +#ifdef _PROFESSION_SKILL // WON ADD 人物职业技能 + ,"晕眩","缠绕","天罗","冰爆","遗忘","冰箭","嗜血蛊","一针见血","挑拨","火附体", + "冰附体","雷附体","专注战斗","火抗","冰抗","雷抗","火附","冰附","雷附" #endif }; @@ -94,10 +94,10 @@ int StatusTbl[] = { -1, CHAR_WORKPOISON, CHAR_WORKPARALYSIS, CHAR_WORKDRUNK, CHAR_WORKCONFUSION, CHAR_WORKWEAKEN, CHAR_WORKDEEPPOISON, CHAR_WORKBARRIER, CHAR_WORKNOCAST -#ifdef _PET_SKILL_SARS // WON ADD ɷ +#ifdef _PET_SKILL_SARS // WON ADD 毒煞蔓延 ,CHAR_WORKSARS #endif -#ifdef _PROFESSION_SKILL // WON ADD ְҵ +#ifdef _PROFESSION_SKILL // WON ADD 人物职业技能 ,CHAR_WORKDIZZY, CHAR_WORKENTWINE ,CHAR_WORKDRAGNET, CHAR_WORKICECRACK ,CHAR_WORKOBLIVION, CHAR_WORKICEARROW @@ -110,9 +110,9 @@ int StatusTbl[] = { -1, CHAR_WORKPOISON, CHAR_WORKPARALYSIS, ,CHAR_WORK_T_ENCLOSE_2 #endif #ifdef _PROFESSION_ADDSKILL - ,CHAR_WORKERSIST_F_I_T, CHAR_WORKWATER//ˮ - ,CHAR_WORKANNEX// - ,CHAR_WORKFEAR//־ + ,CHAR_WORKERSIST_F_I_T, CHAR_WORKWATER//水附体 + ,CHAR_WORKANNEX//附身 + ,CHAR_WORKFEAR//恐惧 ,CHAR_WORKICECRACK2 ,CHAR_WORKICECRACK3 ,CHAR_WORKICECRACK4 @@ -130,10 +130,10 @@ int RegTbl[] = { -1, CHAR_WORKMODPOISON, CHAR_WORKMODPARALYSIS, CHAR_WORKMODDRUNK, CHAR_WORKMODCONFUSION, CHAR_WORKMODWEAKEN, CHAR_WORKMODDEEPPOISON, CHAR_WORKMODBARRIER, CHAR_WORKMODNOCAST -#ifdef _PET_SKILL_SARS // WON ADD ɷ +#ifdef _PET_SKILL_SARS // WON ADD 毒煞蔓延 ,CHAR_WORKMODSARS #endif -#ifdef _PROFESSION_SKILL // WON ADD ְҵ +#ifdef _PROFESSION_SKILL // WON ADD 人物职业技能 ,CHAR_WORKMODDIZZY, CHAR_WORKMODENTWINE ,CHAR_WORKMODDRAGNET, CHAR_WORKMODICECRACK ,CHAR_WORKMODOBLIVION, CHAR_WORKMODICEARROW @@ -147,29 +147,29 @@ int RegTbl[] = { -1, CHAR_WORKMODPOISON, CHAR_WORKMODPARALYSIS, #endif }; -char *aszMagicDef[] = { "", "", "", "" -#ifdef _PROFESSION_SKILL // WON ADD ְҵ - ,"" +char *aszMagicDef[] = { "常", "吸", "反", "无" +#ifdef _PROFESSION_SKILL // WON ADD 人物职业技能 + ,"陷" #endif #ifdef _PETSKILL_ACUPUNCTURE - ,"" + ,"刺" #endif }; -char *aszMagicDefFull[] = { "ͨ", "", "", "Ч" -#ifdef _PROFESSION_SKILL // WON ADD ְҵ - ,"" +char *aszMagicDefFull[] = { "通常", "吸收", "反射", "无效化" +#ifdef _PROFESSION_SKILL // WON ADD 人物职业技能 + ,"陷阱" #endif #ifdef _PETSKILL_ACUPUNCTURE - ,"" + ,"针刺" #endif }; int MagicDefTbl[] = { -1, CHAR_WORKDAMAGEABSROB, CHAR_WORKDAMAGEREFLEC, CHAR_WORKDAMAGEVANISH -#ifdef _PROFESSION_SKILL // WON ADD ְҵ +#ifdef _PROFESSION_SKILL // WON ADD 人物职业技能 ,CHAR_WORKTRAP #endif #ifdef _PETSKILL_ACUPUNCTURE @@ -177,13 +177,13 @@ int MagicDefTbl[] = { -1, CHAR_WORKDAMAGEABSROB, CHAR_WORKDAMAGEREFLEC, CHAR_WOR #endif }; -char *aszParamChange[] = { "", "", "", "", "", "" }; -char *aszParamChangeFull[] = { "", "", "", "ٶ", "", "" }; +char *aszParamChange[] = { "无", "攻", "防", "早", "魅", "捕" }; +char *aszParamChangeFull[] = { "无", "攻击力", "防御力", "速度", "魅力", "捕获率" }; int aParamChangeTbl[] = { -1, CHAR_WORKMODATTACK, CHAR_WORKMODDEFENCE, CHAR_WORKMODQUICK, CHAR_WORKMODCHARM, CHAR_WORKMODCAPTURE }; // Robin 0727 Ride Pet -// ȡindex +// 取得骑宠的index int BATTLE_getRidePet( int charaindex ) { int petindex = -1; @@ -204,30 +204,30 @@ int BATTLE_getRidePet( int charaindex ) } -// ȡʱΧ +// 取得骑宠时的三围 正常版 float BATTLE_adjustRidePet3A( int charaindex, int petindex, int workindex, int action ) { float ret = CHAR_getWorkInt( charaindex, workindex ); BOOL throwweapon = BATTLE_IsThrowWepon(CHAR_getItemIndex( charaindex, CHAR_ARM ) ); switch( workindex ) { - case CHAR_WORKATTACKPOWER : // - if( throwweapon ) // Ͷ + case CHAR_WORKATTACKPOWER : // 攻击力 + if( throwweapon ) // 投掷 ret = CHAR_getWorkInt( charaindex, CHAR_WORKATTACKPOWER ) #ifdef _BATTLE_NEWPOWER //andy 1/24 reEdit + CHAR_getWorkInt( petindex, CHAR_WORKATTACKPOWER )*0.4; #else + CHAR_getWorkInt( petindex, CHAR_WORKATTACKPOWER )*0.2; #endif - else // ս + else // 近战 ret = CHAR_getWorkInt( charaindex, CHAR_WORKATTACKPOWER )*0.8 + CHAR_getWorkInt( petindex, CHAR_WORKATTACKPOWER )*0.8; break; - case CHAR_WORKDEFENCEPOWER : // + case CHAR_WORKDEFENCEPOWER : // 防御力 ret = CHAR_getWorkInt( charaindex, CHAR_WORKDEFENCEPOWER )*0.7 + CHAR_getWorkInt( petindex, CHAR_WORKDEFENCEPOWER )*0.7; break; - case CHAR_WORKQUICK : // + case CHAR_WORKQUICK : // 敏捷力 if( action == ATTACKSIDE ) { if( throwweapon ) { ret = CHAR_getWorkInt( charaindex, CHAR_WORKQUICK )*0.8 @@ -257,7 +257,7 @@ float BATTLE_adjustRidePet3A( int charaindex, int petindex, int workindex, int a return ret; } -// Robin 0727 ride Pet ͼ +// Robin 0727 ride Pet 落马改图 void BATTLE_changeRideImage( int index ) { int itemindex = CHAR_getItemIndex(index,CHAR_ARM); @@ -406,22 +406,22 @@ int BATTLE_ItemCrushCheck( int charaindex ) } #endif -#define BREAK_NAME_WEPON "" -#define BREAK_NAME_AROMER "" -#define BREAK_BRACELET "" -#define BREAK_MUSIC "" -#define BREAK_NECKLACE "ͷ" -#define BREAK_RING "ָ" -#define BREAK_BELT "Ƥ" -#define BREAK_EARRING "" -#define BREAK_NOSERING "ǻ" -#define BREAK_AMULET "" -#define BREAK_OTHER "" +#define BREAK_NAME_WEPON "武器" +#define BREAK_NAME_AROMER "防具" +#define BREAK_BRACELET "护腕" +#define BREAK_MUSIC "乐器" +#define BREAK_NECKLACE "头饰" +#define BREAK_RING "戒指" +#define BREAK_BELT "皮带" +#define BREAK_EARRING "耳饰" +#define BREAK_NOSERING "鼻环" +#define BREAK_AMULET "护身符" +#define BREAK_OTHER "道具" #ifdef _TAKE_ITEMDAMAGE -static char *aszCrushTbl[] = { "", "", "ٻ" , "ʹ" , "Ƭ" }; +static char *aszCrushTbl[] = { "完好", "受损", "毁坏" , "不堪使用" , "碎片" }; #else -static char *aszCrushTbl[] = { "", "ٻ" }; +static char *aszCrushTbl[] = { "受损", "毁坏" }; #endif @@ -457,20 +457,20 @@ int BATTLE_ItemCrush( int charaindex, int ItemEquip, int Damages, int flg) crushenum = crushenum - RAND( breadnums, (breadnums*1.4) ); ITEM_setInt( itemindex, ITEM_DAMAGECRUSHE, crushenum); - if( crushenum <= 0 ){ //ʧ + if( crushenum <= 0 ){ //损坏消失 crushenum = 0; - sprintf(szBuffer, "%s𻵶ʧ\n", ITEM_getChar( itemindex, ITEM_NAME)); + sprintf(szBuffer, "%s因过度损坏而消失。\n", ITEM_getChar( itemindex, ITEM_NAME)); CHAR_talkToCli( charaindex, -1, szBuffer, CHAR_COLORYELLOW); // LogItem( // CHAR_getChar( charaindex, CHAR_NAME ), // CHAR_getChar( charaindex, CHAR_CDKEY ), -//#ifdef _add_item_log_name // WON ADD itemlogitem +//#ifdef _add_item_log_name // WON ADD 在item的log中增加item名称 // itemindex, //#else // ITEM_getInt( itemindex, ITEM_ID ), //#endif -// "𻵶ʧ", +// "因过度损坏而消失", // CHAR_getInt( charaindex,CHAR_FLOOR), // CHAR_getInt( charaindex,CHAR_X ), // CHAR_getInt( charaindex,CHAR_Y ), @@ -480,7 +480,7 @@ int BATTLE_ItemCrush( int charaindex, int ItemEquip, int Damages, int flg) // ); CHAR_DelItem( charaindex, ItemEquip); crushlevel = 4; - }else { //𻵿ֵ + }else { //损坏扣值 int defs, level=0; @@ -504,10 +504,10 @@ int BATTLE_ItemCrush( int charaindex, int ItemEquip, int Damages, int flg) // work *=0.95; // ITEM_setInt( itemindex, ItemBreakPos[i], work ); // } - sprintf( szBuffer, "%s%sġ", + sprintf( szBuffer, "%s是%s的。", ITEM_getChar( itemindex, ITEM_NAME ), aszCrushTbl[level] ); CHAR_talkToCli( charaindex, -1, szBuffer, CHAR_COLORRED); - //ĵ˵ + //更改道具说明 // buf1 = ITEM_getChar( itemindex, ITEM_SECRETNAME); // if( strstr( buf1, "(") != 0 ) { // char buf5[256]; @@ -577,14 +577,14 @@ int BATTLE_ItemCrush( int charaindex ) if( crushlevel > 1 ) return FALSE; { if( crushlevel == 1 ){ - sprintf( szBuffer, "CrushLv2(ٻLv2)" ); + sprintf( szBuffer, "CrushLv2(毁坏道具Lv2)" ); }else{ - sprintf( szBuffer, "CrushLv1(ٻLv1)" ); + sprintf( szBuffer, "CrushLv1(毁坏道具Lv1)" ); } // LogItem( // CHAR_getChar( charaindex, CHAR_NAME ), // CHAR_getChar( charaindex, CHAR_CDKEY ), -//#ifdef _add_item_log_name // WON ADD itemlogitem +//#ifdef _add_item_log_name // WON ADD 在item的log中增加item名称 // itemindex, //#else // ITEM_getInt( itemindex, ITEM_ID ), @@ -601,7 +601,7 @@ int BATTLE_ItemCrush( int charaindex ) } /*{ int battleindex, bid; - //sprintf( szBuffer, "(%s)(%s)(%s)\n", + //sprintf( szBuffer, "(%s)的(%s)是(%s)\n", // CHAR_getUseName( charaindex ), // ITEM_getChar( itemindex, ITEM_NAME ), // aszCrushTbl[crushlevel] ); @@ -713,7 +713,7 @@ static int BATTLE_ItemCrushSeq( int charaindex ) if( BATTLE_ItemCrushCheck( charaindex ) == TRUE ){ if( BATTLE_ItemCrush( charaindex ) == TRUE ){ - sprintf( szWork, "BK|%s\tװܵˡ", + sprintf( szWork, "BK|%s的\t装备受到损伤。", CHAR_getUseName( charaindex ) ); strcatsafe( szBadStatusString,sizeof(szBadStatusString), szWork ); iRet = TRUE; @@ -753,7 +753,7 @@ static BOOL BATTLE_ArrangeCheck( int attackindex, int defindex) } #endif -//رж +//回避判定 static BOOL BATTLE_DuckCheck( int attackindex, int defindex @@ -773,7 +773,7 @@ static BOOL BATTLE_DuckCheck( } if( BATTLE_CanMoveCheck( defindex ) == FALSE ){ #ifdef _PROFESSION_ADDSKILL - if( CHAR_getWorkInt( defindex, CHAR_DOOMTIME ) <= 0 )//ʱ(ûд޵Ͷܻ״̬) + if( CHAR_getWorkInt( defindex, CHAR_DOOMTIME ) <= 0 )//集气时可闪避(并且没有处於天罗地网和盾击的状态) return FALSE; else{ if( CHAR_getWorkInt( defindex, CHAR_WORKDRAGNET ) == 0 @@ -877,20 +877,20 @@ static BOOL BATTLE_DuckCheck( #endif -#ifdef _PROFESSION_SKILL // WON ADD ְҵ +#ifdef _PROFESSION_SKILL // WON ADD 人物职业技能 per = BATTLE_check_profession_duck( defindex, per ); #endif #ifdef _PROFESSION_ADDSKILL - if( CHAR_getWorkInt( attackindex, CHAR_WORKBATTLECOM1 ) == BATTLE_COM_S_CHAOS ){ //ҹʱн + if( CHAR_getWorkInt( attackindex, CHAR_WORKBATTLECOM1 ) == BATTLE_COM_S_CHAOS ){ //混乱攻击时命中降低 per += (per*0.4); } #endif if( RAND( 1, 10000 ) <= per ){ flg = TRUE; -#ifdef _PROFESSION_SKILL // WON ADD ְҵ - // رܼ +#ifdef _PROFESSION_SKILL // WON ADD 人物职业技能 + // 回避技能升级 if( (CHAR_getInt( defindex, CHAR_WHICHTYPE ) == CHAR_TYPEPLAYER) ){ PROFESSION_SKILL_LVEVEL_UP( defindex, "PROFESSION_AVOID" ); } @@ -991,9 +991,9 @@ static void BATTLE_GetAttr( int charaindex, int *T_pow ) */ } #endif - //print("\n1=%d,ˮ1=%d,1=%d,1=%d\n",T_pow[0],T_pow[1],T_pow[2],T_pow[3]); + //print("\n地1=%d,水1=%d,火1=%d,风1=%d\n",T_pow[0],T_pow[1],T_pow[2],T_pow[3]); #ifdef _PROFESSION_ADDSKILL - //Ͻ + //加上结界 //T_pow[0] += T_pow[0]*( (CHAR_getWorkInt( charaindex, CHAR_WORKFIXEARTHAT_BOUNDARY )>>16&0x0000ffff) /100 ); //T_pow[1] += T_pow[1]*( (CHAR_getWorkInt( charaindex, CHAR_WORKFIXWATERAT_BOUNDARY )>>16&0x0000ffff) /100 ); //T_pow[2] += T_pow[2]*( (CHAR_getWorkInt( charaindex, CHAR_WORKFIXFIREAT_BOUNDARY )>>16&0x0000ffff) /100 ); @@ -1005,7 +1005,7 @@ static void BATTLE_GetAttr( int charaindex, int *T_pow ) T_pow[2] = (T_pow[2]+CHAR_getWorkInt( charaindex, CHAR_WORK_FI ))>100?100:(T_pow[2]+CHAR_getWorkInt( charaindex, CHAR_WORK_EA )); T_pow[3] = (T_pow[3]+CHAR_getWorkInt( charaindex, CHAR_WORK_WI ))>100?100:(T_pow[3]+CHAR_getWorkInt( charaindex, CHAR_WORK_EA )); #endif - //print("\n2=%d,ˮ2=%d,2=%d,2=%d\n",T_pow[0],T_pow[1],T_pow[2],T_pow[3]); + //print("\n地2=%d,水2=%d,火2=%d,风2=%d\n",T_pow[0],T_pow[1],T_pow[2],T_pow[3]); { int i, renum=ATTR_MAX; for( i=0; i<4; i++) { @@ -1015,7 +1015,7 @@ static void BATTLE_GetAttr( int charaindex, int *T_pow ) if( renum < 0 ) renum = 0; T_pow[ 4] = renum; } - //print("\n2=%d,ˮ2=%d,2=%d,2=%d\n",T_pow[0],T_pow[1],T_pow[2],T_pow[3]); + //print("\n地2=%d,水2=%d,火2=%d,风2=%d\n",T_pow[0],T_pow[1],T_pow[2],T_pow[3]); /* if( *pAt_Fire < 0 ) *pAt_Fire = 0; if( *pAt_Water < 0 ) *pAt_Water = 0; @@ -1069,7 +1069,7 @@ static int BATTLE_AttrAdjust( int damage ) { - int At_pow[5]={0,0,0,0,0}; //ˮ + int At_pow[5]={0,0,0,0,0}; //地水火风 int Dt_pow[5]={0,0,0,0,0}; int i; float At_FieldPow, Df_FieldPow; @@ -1079,8 +1079,8 @@ static int BATTLE_AttrAdjust( BATTLE_GetAttr( attackindex, At_pow); BATTLE_GetAttr( defindex, Dt_pow); - //print("\n1=%d,ˮ1=%d,1=%d,1=%d\n",At_pow[0],At_pow[1],At_pow[2],At_pow[3]); - //print("\n2=%d,ˮ2=%d,2=%d,2=%d\n",Dt_pow[0],Dt_pow[1],Dt_pow[2],Dt_pow[3]); + //print("\n地1=%d,水1=%d,火1=%d,风1=%d\n",At_pow[0],At_pow[1],At_pow[2],At_pow[3]); + //print("\n地2=%d,水2=%d,火2=%d,风2=%d\n",Dt_pow[0],Dt_pow[1],Dt_pow[2],Dt_pow[3]); #ifdef _PSKILL_MDFYATTACK if( CHAR_getWorkInt( attackindex, CHAR_WORKBATTLECOM1) == BATTLE_COM_S_MDFYATTACK ) { int MKind=-1, MODS=0; @@ -1110,8 +1110,8 @@ static int BATTLE_AttrAdjust( loopfunc( defindex, attackindex, &damage, Dt_pow, 5); } #endif - //print("\n1=%d,ˮ1=%d,1=%d,1=%d\n",At_pow[0],At_pow[1],At_pow[2],At_pow[3]); - //print("\n2=%d,ˮ2=%d,2=%d,2=%d\n",Dt_pow[0],Dt_pow[1],Dt_pow[2],Dt_pow[3]); + //print("\n地1=%d,水1=%d,火1=%d,风1=%d\n",At_pow[0],At_pow[1],At_pow[2],At_pow[3]); + //print("\n地2=%d,水2=%d,火2=%d,风2=%d\n",Dt_pow[0],Dt_pow[1],Dt_pow[2],Dt_pow[3]); At_FieldPow = BATTLE_FieldAttAdjust( CHAR_getWorkInt( attackindex, CHAR_WORKBATTLEINDEX ), At_pow[ 2], At_pow[ 1], At_pow[ 0], At_pow[ 3] ); Df_FieldPow = BATTLE_FieldAttAdjust( @@ -1125,7 +1125,7 @@ static int BATTLE_AttrAdjust( At_Wind *= damage; At_none *= damage; */ //print("\ndamage1=%d,",damage); - damage = BATTLE_AttrCalc(//2ˮ103 + damage = BATTLE_AttrCalc(//火2水1第0封3 At_pow[ 2], At_pow[ 1], At_pow[ 0], At_pow[ 3], At_pow[ 4], Dt_pow[ 2], Dt_pow[ 1], Dt_pow[ 0], Dt_pow[ 3], Dt_pow[ 4] ); damage *= (At_FieldPow / Df_FieldPow); @@ -1160,7 +1160,7 @@ int BATTLE_GuardAdjust( int damage ) return damage; } -//˺ֵ +//计算伤害值 int BATTLE_DamageCalc( int attackindex, int defindex ) { float attack, defense; @@ -1192,14 +1192,14 @@ int BATTLE_DamageCalc( int attackindex, int defindex ) #endif } -#ifdef _MAGIC_SUPERWALL //ڷ +#ifdef _MAGIC_SUPERWALL //铁壁防御 if( CHAR_getWorkInt( defindex, CHAR_MAGICSUPERWALL ) > 0 ){ float def = (float)(CHAR_getWorkInt( defindex, CHAR_OTHERSTATUSNUMS )); def = (def + rand()%20)/100; defense += defense * def; } #endif -#ifdef _NPCENEMY_ADDPOWER //޸Ĺֵ +#ifdef _NPCENEMY_ADDPOWER //修改怪物的能力值 if( CHAR_getInt( defindex, CHAR_WHICHTYPE ) == CHAR_TYPEENEMY ) { defense += (defense*(rand()%10)+2)/100; } @@ -1210,13 +1210,13 @@ int BATTLE_DamageCalc( int attackindex, int defindex ) if( CHAR_getWorkInt( defindex, CHAR_WORKSTONE ) > 0 ) defense *= 2.0; #ifdef _PETSKILL_REGRET - //װ + //无装备防御 if( CHAR_getWorkInt( attackindex, CHAR_WORKBATTLECOM1 ) == BATTLE_COM_S_REGRET || CHAR_getWorkInt( attackindex, CHAR_WORKBATTLECOM1 ) == BATTLE_COM_S_REGRET2 ) defense = CHAR_getWorkInt(defindex,CHAR_WORKFIXTOUGH); #endif -#ifdef _EQUIT_NEGLECTGUARD //Ŀ% +#ifdef _EQUIT_NEGLECTGUARD //忽视目标防御力% if( CHAR_getWorkInt( attackindex, CHAR_WORKNEGLECTGUARD) > 1 ) { float defp = (float)CHAR_getWorkInt( attackindex, CHAR_WORKNEGLECTGUARD); defp = 1 - (defp/100); @@ -1236,12 +1236,12 @@ int BATTLE_DamageCalc( int attackindex, int defindex ) damage = (int)(( (attack - defense )*DAMAGE_RATE ) + K0); } - // + //四属性 damage = BATTLE_AttrAdjust( attackindex, defindex, damage ); #ifdef _PROFESSION_ADDSKILL { - // + //四属结界 if( ((CHAR_getWorkInt( defindex, CHAR_WORKFIXEARTHAT_BOUNDARY )>>16) & 0x0000ffff) > 0 ){ if( CHAR_getWorkInt( attackindex, CHAR_WORKFIXEARTHAT ) > 0 ) damage -= damage*(float)((CHAR_getWorkInt( attackindex, CHAR_WORKFIXEARTHAT )/200.0)); @@ -1261,7 +1261,7 @@ int BATTLE_DamageCalc( int attackindex, int defindex ) } #endif -#ifdef _ADD_DEAMGEDEFC //˺ & ӹ +#ifdef _ADD_DEAMGEDEFC //额外伤害 & 附加攻击 { int apower, dpower, otherpower; apower = CHAR_getWorkInt( attackindex, CHAR_WORKOTHERDMAGE); @@ -1349,7 +1349,7 @@ static int BATTLE_CriticalCheckPlayer( int attackindex, int defindex ) if( per < 0 ) per = 1; if( per > 10000 ) per = 10000; #ifdef _PETSKILL_LER - // ׶ܱ + // 雷尔不能被打飞 if(CHAR_getInt(defindex,CHAR_BASEBASEIMAGENUMBER) == 101813 || CHAR_getInt(defindex,CHAR_BASEBASEIMAGENUMBER) == 101814) per = 0; #endif @@ -1450,7 +1450,7 @@ static int BATTLE_GuardianCheck( int attackindex, int defindex ) } Guardian = BattleArray[battleindex].Side[DefSide].Entry[i].guardian; -// Terry add fix ʹΪ˼ʱ,ʹô˼ܵclientᵱ +// Terry add fix 使用舍已为人技能时,若攻击使用此技能的人client会当 if(Guardian == DefNo) return -1; // end GuardianIndex = BATTLE_No2Index( battleindex, Guardian ); @@ -1470,17 +1470,17 @@ static int BATTLE_GuardianCheck( int attackindex, int defindex ) || CHAR_getWorkInt( GuardianIndex, CHAR_WORKSTONE ) > 0 || CHAR_getWorkInt( GuardianIndex, CHAR_WORKBARRIER ) > 0 || GuardianIndex == attackindex -#ifdef _PROFESSION_SKILL // WON ADD ְҵ - || CHAR_getWorkInt( GuardianIndex, CHAR_WORKDIZZY ) > 0 // ѣ - || CHAR_getWorkInt( GuardianIndex, CHAR_WORKDRAGNET ) > 0 // ޵ - || CHAR_getWorkInt( GuardianIndex, CHAR_WORKINSTIGATE ) > 0 // +#ifdef _PROFESSION_SKILL // WON ADD 人物职业技能 + || CHAR_getWorkInt( GuardianIndex, CHAR_WORKDIZZY ) > 0 // 晕眩 + || CHAR_getWorkInt( GuardianIndex, CHAR_WORKDRAGNET ) > 0 // 天罗地网 + || CHAR_getWorkInt( GuardianIndex, CHAR_WORKINSTIGATE ) > 0 // 挑拨 #endif #ifdef _PROFESSION_ADDSKILL - || CHAR_getWorkInt( GuardianIndex, CHAR_DOOMTIME ) > 0 //ĩռ + || CHAR_getWorkInt( GuardianIndex, CHAR_DOOMTIME ) > 0 //世界末日集气 #endif ){ //snprintf( szBuffer, sizeof(szBuffer), - // "(%s)Ҫס(%s)ûɹ\", + // "(%s)想要守住(%s)可是没成功\。", // CHAR_getUseName( GuardianIndex ), // CHAR_getUseName( defindex ) //); @@ -1493,7 +1493,7 @@ static int BATTLE_GuardianCheck( int attackindex, int defindex ) CHAR_getItemIndex( attackindex, CHAR_ARM ) ) == TRUE ){ //snprintf( szBuffer, sizeof(szBuffer), - // "(%s)Ҫס(%s)ûɹ\", + // "(%s)想要守住(%s)可是没成功\。", // CHAR_getUseName( GuardianIndex ), // CHAR_getUseName( defindex ) //); @@ -1503,7 +1503,7 @@ static int BATTLE_GuardianCheck( int attackindex, int defindex ) } //snprintf( szBuffer, sizeof(szBuffer), - // "(%s)ס(%s)", + // "(%s)护住了(%s)。", // CHAR_getUseName( GuardianIndex ), // CHAR_getUseName( defindex ) //); @@ -1524,7 +1524,7 @@ static int BATTLE_DamageWakeUp( int battleindex, int defindex ) if( CHAR_getWorkInt( defindex, CHAR_WORKSLEEP ) > 0 ){ CHAR_setWorkInt( defindex, CHAR_WORKSLEEP, 0 ); bid = BATTLE_Index2No( battleindex, defindex ); - //sprintf( szBuffer, "(%s)\n", + //sprintf( szBuffer, "(%s)被击中跳了起来。\n", // CHAR_getUseName( defindex ) ); //BATTLE_BroadCast( battleindex, szBuffer, // (bid >= 10)? CHAR_COLORGRAY : CHAR_COLORPURPLE ) ; @@ -1541,16 +1541,16 @@ static int BATTLE_AttackSeq( int attackindex, int defindex, int *pDamage, int *p battleindex = CHAR_getWorkInt( attackindex, CHAR_WORKBATTLEINDEX ); - // ˴ + // 主人打宠 if( CHAR_getInt( defindex, CHAR_WHICHTYPE ) == CHAR_TYPEPET && BattleArray[battleindex].norisk == 0 && BattleArray[battleindex].type == BATTLE_TYPE_P_vs_E){ if( CHAR_getWorkInt( defindex, CHAR_WORKPLAYERINDEX ) == attackindex ){ - CHAR_PetAddVariableAi( defindex, AI_FIX_SEKKAN ); // ҳ϶ + CHAR_PetAddVariableAi( defindex, AI_FIX_SEKKAN ); // 修正忠诚度 } } - // + // 闪避 if( opt != BATTLE_COM_COMBO ){ if( BATTLE_DuckCheck( attackindex, defindex ) == TRUE ){ return BATTLE_RET_DODGE; @@ -1563,7 +1563,7 @@ static int BATTLE_AttackSeq( int attackindex, int defindex, int *pDamage, int *p #endif } - // 鱻ޱȮ + // 检查被攻击方有无被别人用忠犬保护 if( *pGuardian == -1 ){ *pGuardian = BATTLE_GuardianCheck( attackindex, defindex ); if( *pGuardian != -1 ){ @@ -1572,20 +1572,20 @@ static int BATTLE_AttackSeq( int attackindex, int defindex, int *pDamage, int *p } } - // һ + // 会心一击 perCri = BATTLE_CriticalCheck( attackindex, defindex ); #ifdef _PETSKILL_DAMAGETOHP - if( opt == BATTLE_COM_S_DAMAGETOHP2 ){ //¿ (һ30%) && CHAR_getInt( attackindex, CHAR_HP) <= CHAR_getWorkInt( attackindex, CHAR_MAXMP)*0.5 - //print("\n1һ:%d",perCri); - //print("\n1:%d", CHAR_getWorkInt( attackindex, CHAR_WORKATTACKPOWER)); - //print("\n1:%d", CHAR_getWorkInt( attackindex, CHAR_WORKQUICK)); - perCri = perCri + (perCri*0.3); //һ30% - CHAR_setWorkInt( attackindex, CHAR_WORKATTACKPOWER, CHAR_getWorkInt( attackindex,CHAR_WORKFIXSTR)+CHAR_getWorkInt( attackindex,CHAR_WORKFIXSTR)*0.2);//20% - CHAR_setWorkInt( attackindex, CHAR_WORKQUICK, CHAR_getWorkInt( attackindex, CHAR_WORKFIXDEX)+CHAR_getWorkInt( attackindex, CHAR_WORKFIXDEX) *0.2 );//20% - //print("\n2һ:%d",perCri); - //print("\n2:%d", CHAR_getWorkInt( attackindex, CHAR_WORKATTACKPOWER)); - //print("\n2:%d", CHAR_getWorkInt( attackindex, CHAR_WORKQUICK)); + if( opt == BATTLE_COM_S_DAMAGETOHP2 ){ //暗月狂狼 (会心一击上升30%) && CHAR_getInt( attackindex, CHAR_HP) <= CHAR_getWorkInt( attackindex, CHAR_MAXMP)*0.5 + //print("\n1会心一击:%d",perCri); + //print("\n1攻:%d", CHAR_getWorkInt( attackindex, CHAR_WORKATTACKPOWER)); + //print("\n1敏:%d", CHAR_getWorkInt( attackindex, CHAR_WORKQUICK)); + perCri = perCri + (perCri*0.3); //会心一击上升30% + CHAR_setWorkInt( attackindex, CHAR_WORKATTACKPOWER, CHAR_getWorkInt( attackindex,CHAR_WORKFIXSTR)+CHAR_getWorkInt( attackindex,CHAR_WORKFIXSTR)*0.2);//攻上升20% + CHAR_setWorkInt( attackindex, CHAR_WORKQUICK, CHAR_getWorkInt( attackindex, CHAR_WORKFIXDEX)+CHAR_getWorkInt( attackindex, CHAR_WORKFIXDEX) *0.2 );//敏上升20% + //print("\n2会心一击:%d",perCri); + //print("\n2攻:%d", CHAR_getWorkInt( attackindex, CHAR_WORKATTACKPOWER)); + //print("\n2敏:%d", CHAR_getWorkInt( attackindex, CHAR_WORKQUICK)); } #endif @@ -1600,9 +1600,9 @@ static int BATTLE_AttackSeq( int attackindex, int defindex, int *pDamage, int *p } iRet = BATTLE_RET_CRITICAL; if( CHAR_getInt( attackindex, CHAR_WHICHTYPE ) == CHAR_TYPEPLAYER ){ - // ʿר + // 勇士武器专精技能升级 PROFESSION_SKILL_WEAPON_FOCUS_LVEVEL_UP( attackindex, "PROFESSION_WEAPON_FOCUS" ); - // ʿ + // 勇士二刀流技能升级 PROFESSION_SKILL_DUAL_WEAPON_LVEVEL_UP( attackindex, "PROFESSION_DUAL_WEAPON" ); } }else{ @@ -1613,7 +1613,7 @@ static int BATTLE_AttackSeq( int attackindex, int defindex, int *pDamage, int *p if( opt == BATTLE_COM_S_GBREAK){ ;; }else -#ifdef _SKILL_GUARDBREAK2//Ƴ2 vincent add 2002/05/20 +#ifdef _SKILL_GUARDBREAK2//破除防御2 vincent add 2002/05/20 if( opt == BATTLE_COM_S_GBREAK2){ if( CHAR_getWorkInt( defindex, CHAR_WORKBATTLECOM1 ) == BATTLE_COM_GUARD){ (*pDamage) = (*pDamage)*1.3; @@ -1624,12 +1624,12 @@ static int BATTLE_AttackSeq( int attackindex, int defindex, int *pDamage, int *p #endif #ifdef _PETSKILL_REGRET - if( opt == BATTLE_COM_S_REGRET2 ){// ˺ + if( opt == BATTLE_COM_S_REGRET2 ){// 人物伤害减少 (*pDamage) = (*pDamage)*0.8; }else #endif -#ifdef _SONIC_ATTACK // WON ADD - if( opt == BATTLE_COM_S_SONIC2 ){// ˺ +#ifdef _SONIC_ATTACK // WON ADD 音波攻击 + if( opt == BATTLE_COM_S_SONIC2 ){// 人物伤害减半 (*pDamage) = (*pDamage)*0.5; }else #endif @@ -1639,26 +1639,26 @@ static int BATTLE_AttackSeq( int attackindex, int defindex, int *pDamage, int *p } if( (*pDamage) < 1 ) (*pDamage) = RAND( 0, 1 ); -#ifdef _PREVENT_TEAMATTACK // ֹͬӻ +#ifdef _PREVENT_TEAMATTACK // 防止同队互打 if (CHAR_getInt( defindex, CHAR_WHICHTYPE ) == CHAR_TYPEPLAYER || CHAR_getInt( defindex, CHAR_WHICHTYPE ) == CHAR_TYPEPET ) { int myside = CHAR_getWorkInt( defindex, CHAR_WORKBATTLESIDE);//attackindex if( myside == CHAR_getWorkInt( attackindex, CHAR_WORKBATTLESIDE)){ if( CHAR_getWorkInt( attackindex, CHAR_WORKCONFUSION) > 0 -#ifdef _PROFESSION_SKILL // WON ADD ְҵ - || CHAR_getWorkInt( attackindex, CHAR_WORKINSTIGATE) > 0 // +#ifdef _PROFESSION_SKILL // WON ADD 人物职业技能 + || CHAR_getWorkInt( attackindex, CHAR_WORKINSTIGATE) > 0 // 挑拨 #endif #ifdef _PROFESSION_ADDSKILL - || CHAR_getWorkInt( attackindex, CHAR_WORKANNEX) > 0 // + || CHAR_getWorkInt( attackindex, CHAR_WORKANNEX) > 0 //附身 #endif - ){ //쳣 + ){ //攻击方异常混乱 #ifdef _PETSKILL_TEMPTATION - }else if( CHAR_getWorkInt( attackindex, CHAR_WORKTEMPTATION ) > 0 ){//ˮջ + }else if( CHAR_getWorkInt( attackindex, CHAR_WORKTEMPTATION ) > 0 ){//水漾诱惑 #endif }else if( CHAR_getInt( attackindex, CHAR_WHICHTYPE) == CHAR_TYPEPET && - CHAR_getWorkInt( attackindex, CHAR_WORKBATTLEFLG) & CHAR_BATTLEFLG_AIBAD ){ //nono + CHAR_getWorkInt( attackindex, CHAR_WORKBATTLEFLG) & CHAR_BATTLEFLG_AIBAD ){ //nono宠 }else if( CHAR_getInt( defindex, CHAR_WHICHTYPE) == CHAR_TYPEPET && - CHAR_getWorkInt( defindex, CHAR_WORKPLAYERINDEX) == attackindex ){ // ѳ + CHAR_getWorkInt( defindex, CHAR_WORKPLAYERINDEX) == attackindex ){ // 自已宠物 }else { int myhp, mymaxhp; mymaxhp = CHAR_getWorkInt( defindex, CHAR_WORKMAXHP); @@ -1679,7 +1679,7 @@ static int BATTLE_AttackSeq( int attackindex, int defindex, int *pDamage, int *p *pDamage *= 0.1; iRet = BATTLE_RET_ARRANGE; - // ʿ񵲼 + // 勇士格挡技能增加 if( (CHAR_getInt( defindex, CHAR_WHICHTYPE ) == CHAR_TYPEPLAYER) ) PROFESSION_SKILL_LVEVEL_UP( defindex, "PROFESSION_DEFLECT" ); } @@ -1710,7 +1710,7 @@ BOOL BATTLE_CheckMySkillDuck( int charaindex ) int duck1 = CHAR_getWorkInt( charaindex, CHAR_MYSKILLDUCKPOWER); if( (rad = (rand()%100)) > duck1 ){ return FALSE; - }else {//ر + }else {//回避 return TRUE; } } @@ -1718,7 +1718,7 @@ BOOL BATTLE_CheckMySkillDuck( int charaindex ) } #endif -#ifdef _PROFESSION_SKILL // WON ADD ְҵ +#ifdef _PROFESSION_SKILL // WON ADD 人物职业技能 int BATTLE_check_profession_duck( int charaindex, int per ) { @@ -1746,14 +1746,14 @@ int BATTLE_GetDamageReact( int charaindex ) return BATTLE_MD_REFLEC; } -#ifdef _PROFESSION_SKILL // WON ADD ְҵ - if( CHAR_getWorkInt( charaindex, CHAR_WORKTRAP ) > 0 ){ // +#ifdef _PROFESSION_SKILL // WON ADD 人物职业技能 + if( CHAR_getWorkInt( charaindex, CHAR_WORKTRAP ) > 0 ){ //陷阱 return BATTLE_MD_TRAP; } #endif #ifdef _PETSKILL_ACUPUNCTURE - if( CHAR_getWorkInt( charaindex, CHAR_WORKACUPUNCTURE ) > 0 ){ //Ƥ - //print("\n:BATTLE_GetDamageReact"); + if( CHAR_getWorkInt( charaindex, CHAR_WORKACUPUNCTURE ) > 0 ){ //针刺外皮 + //print("\n针刺:BATTLE_GetDamageReact"); return BATTLE_MD_ACUPUNCTURE; } #endif @@ -1806,7 +1806,7 @@ int BATTLE_DamageSub( int attackindex, int defindex, int *pDamage, int *pPetDama }else{ } -#ifdef _PROFESSION_SKILL // WON ADD ְҵ +#ifdef _PROFESSION_SKILL // WON ADD 人物职业技能 if( react == BATTLE_MD_TRAP ){ if( BATTLE_IsThrowWepon( CHAR_getItemIndex( attackindex, CHAR_ARM ) ) == FALSE ) *pRefrect = BATTLE_MD_TRAP; @@ -1873,8 +1873,8 @@ int BATTLE_DamageSub( int attackindex, int defindex, int *pDamage, int *pPetDama defpet = attackpet; } }else -#ifdef _PROFESSION_SKILL // WON ADD ְҵ - if( *pRefrect == BATTLE_MD_TRAP ){ // +#ifdef _PROFESSION_SKILL // WON ADD 人物职业技能 + if( *pRefrect == BATTLE_MD_TRAP ){ //陷阱 #ifdef _PETSKILL_BATTLE_MODEL if(CHAR_getWorkInt(defindex,CHAR_NPCWORKINT1) == BATTLE_COM_S_BATTLE_MODEL){ CHAR_setWorkInt( defindex, CHAR_WORKTRAP, 0 ); @@ -1916,13 +1916,13 @@ int BATTLE_DamageSub( int attackindex, int defindex, int *pDamage, int *pPetDama }else #endif #ifdef _PETSKILL_ACUPUNCTURE - if( *pRefrect == BATTLE_MD_ACUPUNCTURE ){ //Ƥ + if( *pRefrect == BATTLE_MD_ACUPUNCTURE ){ //针刺外皮 if( damage%2 != 0 ) damage+=1; playerdamage = damage; - //ȿ۱Ѫ,Ϊ֮ĶǶԹ + //先扣被攻击方的血,因为之後的动作都是对攻击方做的 hp = CHAR_getInt( defindex, CHAR_HP ); if( attackpet == -1 ) { hp -= damage; @@ -1960,7 +1960,7 @@ int BATTLE_DamageSub( int attackindex, int defindex, int *pDamage, int *pPetDama int defNo = BATTLE_Index2No( battleindex, defindex ); CHAR_setWorkInt( defindex, CHAR_WORKULTIMATE, 0 ); - //ijΪϢ + //死亡的宠物改为休息 if( defNo >= SIDE_OFFSET ){ i = defNo - SIDE_OFFSET; DefSide = 1; @@ -1971,16 +1971,16 @@ int BATTLE_DamageSub( int attackindex, int defindex, int *pDamage, int *pPetDama BattleArray[battleindex].Side[DefSide].Entry[i].flg |= BENT_FLG_ULTIMATE; } - //ƤܻغΪ0 + //针刺外皮技能回合数设为0 CHAR_setWorkInt( defindex, CHAR_WORKACUPUNCTURE, 0); - //if( CHAR_getWorkInt( defindex, CHAR_WORKSLEEP ) > 0 )//޻˯ + //if( CHAR_getWorkInt( defindex, CHAR_WORKSLEEP ) > 0 )//检查有无昏睡 // CHAR_setWorkInt( defindex, CHAR_WORKSLEEP, 0); #ifdef _PETSKILL_BATTLE_MODEL if(CHAR_getWorkInt(defindex,CHAR_NPCWORKINT1) != BATTLE_COM_S_BATTLE_MODEL) #endif { - //۹Ѫ + //扣攻击方的血 hp = CHAR_getInt( attackindex, CHAR_HP ); if( attackpet == -1 ) { hp -= damage/2; @@ -2070,7 +2070,7 @@ int BATTLE_DamageSub( int attackindex, int defindex, int *pDamage, int *pPetDama if( BattleArray[battleindex].type == BATTLE_TYPE_P_vs_P ){ } #ifdef _PETSKILL_LER -// ׶ܱ +// 雷尔不能被打飞 if(CHAR_getInt(defindex,CHAR_BASEBASEIMAGENUMBER) == 101813 || CHAR_getInt(defindex,CHAR_BASEBASEIMAGENUMBER) == 101814) IsUltimate = 0; #endif @@ -2086,7 +2086,7 @@ int BATTLE_DamageSub( int attackindex, int defindex, int *pDamage, int *pPetDama return IsUltimate; } -#ifdef _PETSKILL_FIREKILL //ɱר +#ifdef _PETSKILL_FIREKILL //火线猎杀专用 int BATTLE_DamageSub_FIREKILL( int attackindex, int defindex, int *pDamage, int *pPetDamage, int *pRefrect ) { @@ -2126,7 +2126,7 @@ int BATTLE_DamageSub_FIREKILL( int attackindex, int defindex, int *pDamage, int }else{ } -#ifdef _PROFESSION_SKILL // WON ADD ְҵ +#ifdef _PROFESSION_SKILL // WON ADD 人物职业技能 if( react == BATTLE_MD_TRAP ){ if( BATTLE_IsThrowWepon( CHAR_getItemIndex( attackindex, CHAR_ARM ) ) == FALSE ) *pRefrect = BATTLE_MD_TRAP; @@ -2183,8 +2183,8 @@ int BATTLE_DamageSub_FIREKILL( int attackindex, int defindex, int *pDamage, int defpet = attackpet; }else -#ifdef _PROFESSION_SKILL // WON ADD ְҵ - if( *pRefrect == BATTLE_MD_TRAP ){ // +#ifdef _PROFESSION_SKILL // WON ADD 人物职业技能 + if( *pRefrect == BATTLE_MD_TRAP ){ //陷阱 int value=0; value = CHAR_getWorkInt( defindex, CHAR_WORKMODTRAP ); damage = value; @@ -2216,13 +2216,13 @@ int BATTLE_DamageSub_FIREKILL( int attackindex, int defindex, int *pDamage, int }else #endif #ifdef _PETSKILL_ACUPUNCTURE - if( *pRefrect == BATTLE_MD_ACUPUNCTURE ){ //Ƥ + if( *pRefrect == BATTLE_MD_ACUPUNCTURE ){ //针刺外皮 if( damage%2 != 0 ) damage+=1; playerdamage = damage; - //ȿ۱Ѫ,Ϊ֮ĶǶԹ + //先扣被攻击方的血,因为之後的动作都是对攻击方做的 hp = CHAR_getInt( defindex, CHAR_HP ); if( attackpet == -1 ) { hp -= damage; @@ -2260,7 +2260,7 @@ int BATTLE_DamageSub_FIREKILL( int attackindex, int defindex, int *pDamage, int int defNo = BATTLE_Index2No( battleindex, defindex ); CHAR_setWorkInt( defindex, CHAR_WORKULTIMATE, 0 ); - //ijΪϢ + //死亡的宠物改为休息 if( defNo >= SIDE_OFFSET ){ i = defNo - SIDE_OFFSET; DefSide = 1; @@ -2271,12 +2271,12 @@ int BATTLE_DamageSub_FIREKILL( int attackindex, int defindex, int *pDamage, int BattleArray[battleindex].Side[DefSide].Entry[i].flg |= BENT_FLG_ULTIMATE; } - //ƤܻغΪ0 + //针刺外皮技能回合数设为0 CHAR_setWorkInt( defindex, CHAR_WORKACUPUNCTURE, 0); - //if( CHAR_getWorkInt( defindex, CHAR_WORKSLEEP ) > 0 )//޻˯ + //if( CHAR_getWorkInt( defindex, CHAR_WORKSLEEP ) > 0 )//检查有无昏睡 // CHAR_setWorkInt( defindex, CHAR_WORKSLEEP, 0); - //۹Ѫ + //扣攻击方的血 hp = CHAR_getInt( attackindex, CHAR_HP ); if( attackpet == -1 ) { hp -= damage/2; @@ -2366,7 +2366,7 @@ int BATTLE_DamageSub_FIREKILL( int attackindex, int defindex, int *pDamage, int } #ifdef _PETSKILL_LER -// ׶ܱ +// 雷尔不能被打飞 if(CHAR_getInt(defindex,CHAR_BASEBASEIMAGENUMBER) == 101813 || CHAR_getInt(defindex,CHAR_BASEBASEIMAGENUMBER) == 101814) IsUltimate = 0; #endif @@ -2416,7 +2416,7 @@ int BATTLE_DamageSub2( int attackindex, int defindex, int *pDamage, int *pPetDam } } -#ifdef _PROFESSION_SKILL // WON ADD ְҵ +#ifdef _PROFESSION_SKILL // WON ADD 人物职业技能 if( react == BATTLE_MD_TRAP ){ if( BATTLE_IsThrowWepon( CHAR_getItemIndex( attackindex, CHAR_ARM ) ) == FALSE ) *pRefrect = BATTLE_MD_TRAP; @@ -2458,8 +2458,8 @@ int BATTLE_DamageSub2( int attackindex, int defindex, int *pDamage, int *pPetDam defpet = attackpet; }else -#ifdef _PROFESSION_SKILL // WON ADD ְҵ - if( *pRefrect == BATTLE_MD_TRAP ){ // +#ifdef _PROFESSION_SKILL // WON ADD 人物职业技能 + if( *pRefrect == BATTLE_MD_TRAP ){ //陷阱 hp = CHAR_getInt( attackindex, CHAR_HP ); hp -= playerdamage; @@ -2539,7 +2539,7 @@ int BATTLE_DamageSub2( int attackindex, int defindex, int *pDamage, int *pPetDam if( BattleArray[battleindex].type == BATTLE_TYPE_P_vs_P ){ } #ifdef _PETSKILL_LER -// ׶ܱ +// 雷尔不能被打飞 if(CHAR_getInt(defindex,CHAR_BASEBASEIMAGENUMBER) == 101813 || CHAR_getInt(defindex,CHAR_BASEBASEIMAGENUMBER) == 101814) IsUltimate = 0; #endif @@ -2604,7 +2604,7 @@ int BATTLE_Attack( int battleindex, int attackNo, int defNo ) defindex, react = 0, statusDefNo, opt = 0; int flg = 0, iWork, par, perStatus, i, DefSide = 0, Guardian = -1; BOOL iRet = TRUE; - int suitpoison=30;//ж% + int suitpoison=30;//基本中毒% attackindex = BATTLE_No2Index( battleindex, attackNo ); defindex = toindex = BATTLE_No2Index( battleindex, defNo ); @@ -2628,11 +2628,11 @@ int BATTLE_Attack( int battleindex, int attackNo, int defNo ) if( CHAR_getInt( attackindex, CHAR_HP ) <= 0 ) return FALSE; - // ⡢ + // 光、镜、守 if( BATTLE_GetDamageReact( attackindex ) > 0 ) iRet = FALSE; else if( BATTLE_GetDamageReact( defindex ) > 0 ) iRet = FALSE; - // ģʽ + // 攻击模式 iWork = BATTLE_AttackSeq( attackindex, toindex, &damage, &Guardian, opt ); if( Guardian >= 0 ) @@ -2648,7 +2648,7 @@ int BATTLE_Attack( int battleindex, int attackNo, int defNo ) ultimate = BATTLE_DamageSub( attackindex, defindex, &damage, &petdamage, &react ); -#ifdef _PROFESSION_SKILL // WON ADD ְҵ +#ifdef _PROFESSION_SKILL // WON ADD 人物职业技能 if( react == BATTLE_MD_TRAP ){ defindex = attackindex; statusDefNo = attackNo; @@ -2672,13 +2672,13 @@ int BATTLE_Attack( int battleindex, int attackNo, int defNo ) } #ifdef _PETSKILL_ACUPUNCTURE - if( react == BATTLE_MD_ACUPUNCTURE ){ //Ƥʱ޷򷽵״̬,԰index + if( react == BATTLE_MD_ACUPUNCTURE ){ //针刺外皮时会无法正常解除被打方的状态,所以把index换回来 defindex = toindex = BATTLE_No2Index( battleindex, defNo ); statusDefNo = defNo; } #endif - //˯ʱ,״̬(Ҳ״̬) + //昏睡时,在这里解除状态(也有其它的状态) if( damage > 0 && ( react != BATTLE_MD_ABSROB ) && ( react != BATTLE_MD_VANISH ) ){ BATTLE_DamageWakeUp( battleindex, defindex ); } @@ -2693,7 +2693,7 @@ int BATTLE_Attack( int battleindex, int attackNo, int defNo ) switch( iWork ){ case BATTLE_RET_ALLGUARD: //snprintf( szBuffer, sizeof(szBuffer), - // "(%s)(%s),׵ر㿪", + // "(%s)朝向(%s)攻击,轻易地被躲开。", // CHAR_getUseName( attackindex ), // CHAR_getUseName( defindex ) //); @@ -2704,7 +2704,7 @@ int BATTLE_Attack( int battleindex, int attackNo, int defNo ) break; case BATTLE_RET_MISS: //snprintf( szBuffer, sizeof(szBuffer), - // "(%s)(%s),ûС", + // "(%s)朝向(%s)攻击,没击中。", // CHAR_getUseName( attackindex ), // CHAR_getUseName( defindex ) //); @@ -2714,7 +2714,7 @@ int BATTLE_Attack( int battleindex, int attackNo, int defNo ) break; case BATTLE_RET_DODGE: //snprintf( szBuffer, sizeof(szBuffer), - // "(%s)(%s)㿪(%.2f%%)", + // "(%s)攻击了(%s)躲开了(%.2f%%)", // CHAR_getUseName( attackindex ), // CHAR_getUseName( defindex ), // gDuckPer @@ -2726,7 +2726,7 @@ int BATTLE_Attack( int battleindex, int attackNo, int defNo ) break; case BATTLE_RET_NORMAL: //snprintf( szBuffer, sizeof(szBuffer), - // "(%s)ܵ(%s)Ĺ(%d)(%d:%d:%d%%)", + // "(%s)受到(%s)的攻击(%d)遭受损伤(%d:%d:%d%%)", // CHAR_getUseName( attackindex ), // CHAR_getUseName( defindex ), // damage, @@ -2740,7 +2740,7 @@ int BATTLE_Attack( int battleindex, int attackNo, int defNo ) break; case BATTLE_RET_CRITICAL: //snprintf( szBuffer, sizeof(szBuffer), - //"(%s)(%s)CRITICAL(%d%%)(%d)(%d:%d:%d%%)", + //"(%s)向(%s)CRITICAL(%d%%)(%d)不可以(%d:%d:%d%%)", // CHAR_getUseName( attackindex ), // CHAR_getUseName( defindex ), // (int)(gCriper*0.01), @@ -2757,7 +2757,7 @@ int BATTLE_Attack( int battleindex, int attackNo, int defNo ) #ifdef _EQUIT_ARRANGE case BATTLE_RET_ARRANGE: //snprintf( szBuffer, sizeof(szBuffer), - // "(%s)(%s)(%.2f%%)", + // "(%s)攻击了(%s)挡掉了(%.2f%%)", // CHAR_getUseName( attackindex ), // CHAR_getUseName( defindex ), // gDuckPer @@ -2788,7 +2788,7 @@ int BATTLE_Attack( int battleindex, int attackNo, int defNo ) } #ifdef _PETSKILL_LER -// ׶ܱ +// 雷尔不能被打飞 if(CHAR_getInt(defindex,CHAR_BASEBASEIMAGENUMBER) == 101813 || CHAR_getInt(defindex,CHAR_BASEBASEIMAGENUMBER) == 101814) ultimate = 0; #endif @@ -2810,15 +2810,15 @@ int BATTLE_Attack( int battleindex, int attackNo, int defNo ) #ifdef _PETSKILL_ACUPUNCTURE - if( react == BATTLE_MD_ACUPUNCTURE ){ //Ƥᷴ״̬,ҪĻ + if( react == BATTLE_MD_ACUPUNCTURE ){ //针刺外皮不会反射特殊状态,所以要改回来 defindex = toindex = BATTLE_No2Index( battleindex, defNo ); statusDefNo = defNo; } - //ע:֮ҪҪٸĻԭ.......???? + //注意:之後要不要再改回原本反射.......???? #endif #ifdef _SUIT_ADDPART4 - if( gBattleStausChange == -1 && CHAR_getWorkInt( attackindex, CHAR_SUITPOISON ) > 0 )//װ + if( gBattleStausChange == -1 && CHAR_getWorkInt( attackindex, CHAR_SUITPOISON ) > 0 )//带毒装备 gBattleStausChange = 1,gBattleStausTurn = 3, suitpoison=CHAR_getWorkInt( attackindex, CHAR_SUITPOISON ); #endif @@ -2841,7 +2841,7 @@ int BATTLE_Attack( int battleindex, int attackNo, int defNo ) CHAR_getWorkInt( defindex, CHAR_WORKDRUNK ) / 2 ); } -#ifdef _PET_SKILL_SARS // WON ADD ɷ +#ifdef _PET_SKILL_SARS // WON ADD 毒煞蔓延 if( gBattleStausChange == BATTLE_ST_SARS ){ CHAR_setWorkInt( defindex, CHAR_WORKMODSARS, 1); } @@ -2856,7 +2856,7 @@ int BATTLE_Attack( int battleindex, int attackNo, int defNo ) } //snprintf( szBuffer, sizeof(szBuffer), - //"(%s)(%s)(%d%%)", + //"(%s)变成(%s)(%d%%)", // CHAR_getUseName( defindex ), // aszStatusFull[gBattleStausChange], // perStatus @@ -2867,18 +2867,18 @@ int BATTLE_Attack( int battleindex, int attackNo, int defNo ) BATTLE_BadStatusString( statusDefNo, gBattleStausChange ); }else{ //snprintf( szBuffer, sizeof(szBuffer), - //"(%s)޷ɹ\(%d%%)", + //"(%s)无法成功\(%d%%)", // aszStatusFull[gBattleStausChange], // perStatus ); //BATTLE_BroadCast( battleindex, szBuffer, // (attackNo >= 10)? CHAR_COLORGRAY : CHAR_COLORPURPLE ) ; } } -#ifdef _SHOOTCHESTNUT // Syu ADD 輼 +#ifdef _SHOOTCHESTNUT // Syu ADD 宠技:丢栗子 if ( ( damage > 0 ) && ( CHAR_getWorkInt( attackindex , CHAR_WORKBATTLECOM1 ) == BATTLE_COM_S_ATTSHOOT ) ) { if ( RAND ( 1 , 5 ) > 4 ) { - CHAR_setWorkInt( defindex, CHAR_WORKSLEEP , 3 ); //趨˯ - CHAR_setWorkInt( defindex, CHAR_WORKBATTLECOM1, BATTLE_COM_NONE );//Ϊ趨˻˯,趨޶ + CHAR_setWorkInt( defindex, CHAR_WORKSLEEP , 3 ); //设定昏睡 + CHAR_setWorkInt( defindex, CHAR_WORKBATTLECOM1, BATTLE_COM_NONE );//因为设定了昏睡,所以设定无动作 } } #endif @@ -2886,8 +2886,8 @@ int BATTLE_Attack( int battleindex, int attackNo, int defNo ) if ( ( damage > 0 ) && ( CHAR_getWorkInt( attackindex , CHAR_WORKBATTLECOM1 ) == BATTLE_COM_S_GYRATE ) && (CHAR_getWorkInt( attackindex , CHAR_WORKBATTLECOM5 ) >0) ) { if ( RAND ( 1 , 100 ) <= CHAR_getWorkInt( attackindex, CHAR_WORKBATTLECOM7) ) { int iEffect = CHAR_getWorkInt( attackindex , CHAR_WORKBATTLECOM5 ); - CHAR_setWorkInt( defindex, StatusTbl[iEffect] , CHAR_getWorkInt( attackindex , CHAR_WORKBATTLECOM6 ) ); //趨˯ - CHAR_setWorkInt( defindex, CHAR_WORKBATTLECOM1, BATTLE_COM_NONE );//Ϊ趨˻˯,趨޶ + CHAR_setWorkInt( defindex, StatusTbl[iEffect] , CHAR_getWorkInt( attackindex , CHAR_WORKBATTLECOM6 ) ); //设定昏睡 + CHAR_setWorkInt( defindex, CHAR_WORKBATTLECOM1, BATTLE_COM_NONE );//因为设定了昏睡,所以设定无动作 } } #endif @@ -2901,10 +2901,10 @@ int BATTLE_Attack( int battleindex, int attackNo, int defNo ) } } -#ifdef _PROFESSION_SKILL // WON ADD ְҵ +#ifdef _PROFESSION_SKILL // WON ADD 人物职业技能 if( damage > 0 && (CHAR_getInt(attackindex, CHAR_WHICHTYPE)== CHAR_TYPEPLAYER) ){ int i; - // 𡢱׸ + // 检查火、冰、雷附体 for( i=0; i<3; i++ ){ int turn = 0, status = -1; @@ -2914,10 +2914,10 @@ int BATTLE_Attack( int battleindex, int attackNo, int defNo ) int skill_type = CHAR_getWorkInt( attackindex, CHAR_WORKBATTLECOM1 ); int perStatus = 0, j = 0; int skill_level = CHAR_getWorkInt( attackindex, CHAR_WORKMOD_F_ENCLOSE_2+i ); - char pszP[3][10] = { "","˪","" }; + char pszP[3][10] = { "烧","霜","电" }; int img1 = 101697, img2 = 101698 + i; - // ״̬ + // 状态 for( j = 1; j < BATTLE_ST_END; j ++ ){ if( strncmp( pszP[i], aszStatus[j], 2 ) == 0 ){ status = j; @@ -2925,19 +2925,19 @@ int BATTLE_Attack( int battleindex, int attackNo, int defNo ) } } - // + // 命中率 perStatus = 20 + skill_level * 2; - // غ + // 回合数 if( skill_level >= 10 ) turn = 3; else if( skill_level >= 5 ) turn = 2; else turn = 1; - // ׸һغ + // 雷附体一回合数 if( i == 2 ) turn = 1; - // 𡢱׸帽ӹ -// Terry add fix Ȯbug + // 火、冰、雷附体附加攻击 +// Terry add fix 忠犬bug if(Guardian >= 0) iRet = BATTLE_PROFESSION_RANG_ATTACK_DAMAGE(attackindex, attackNo, Guardian, skill_type, status, turn, perStatus, 0, img1, img2 ); else iRet = BATTLE_PROFESSION_RANG_ATTACK_DAMAGE(attackindex, attackNo, defNo, skill_type, status, turn, perStatus, 0, img1, img2 ); @@ -3018,11 +3018,11 @@ int BATTLE_Attack_FIREKILL( int battleindex, int attackNo, int defNo ) if( CHAR_getInt( attackindex, CHAR_HP ) <= 0 ) return FALSE; - // ⡢ + // 光、镜、守 // if( BATTLE_GetDamageReact( attackindex ) > 0 ) iRet = FALSE; // else if( BATTLE_GetDamageReact( defindex ) > 0 ) iRet = FALSE; - // ģʽ + // 攻击模式 iWork = BATTLE_AttackSeq( attackindex, toindex, &damage, &Guardian, opt ); if( Guardian >= 0 ) @@ -3038,7 +3038,7 @@ int BATTLE_Attack_FIREKILL( int battleindex, int attackNo, int defNo ) ultimate = BATTLE_DamageSub_FIREKILL( attackindex, defindex, &damage, &petdamage, &react ); -//#ifdef _PROFESSION_SKILL // WON ADD ְҵ +//#ifdef _PROFESSION_SKILL // WON ADD 人物职业技能 // if( react == BATTLE_MD_TRAP ){ // defindex = attackindex; // statusDefNo = attackNo; @@ -3062,13 +3062,13 @@ int BATTLE_Attack_FIREKILL( int battleindex, int attackNo, int defNo ) // } //#ifdef _PETSKILL_ACUPUNCTURE -// if( react == BATTLE_MD_ACUPUNCTURE ){ //Ƥʱ޷򷽵״̬,԰index +// if( react == BATTLE_MD_ACUPUNCTURE ){ //针刺外皮时会无法正常解除被打方的状态,所以把index换回来 // defindex = toindex = BATTLE_No2Index( battleindex, defNo ); // statusDefNo = defNo; // } //#endif - //˯ʱ,״̬(Ҳ״̬) + //昏睡时,在这里解除状态(也有其它的状态) if( damage > 0 && ( react != BATTLE_MD_ABSROB ) && ( react != BATTLE_MD_VANISH ) ){ BATTLE_DamageWakeUp( battleindex, defindex ); } @@ -3083,7 +3083,7 @@ int BATTLE_Attack_FIREKILL( int battleindex, int attackNo, int defNo ) switch( iWork ){ case BATTLE_RET_ALLGUARD: //snprintf( szBuffer, sizeof(szBuffer), - // "(%s)(%s),׵ر㿪", + // "(%s)朝向(%s)攻击,轻易地被躲开。", // CHAR_getUseName( attackindex ), // CHAR_getUseName( defindex ) //); @@ -3091,14 +3091,14 @@ int BATTLE_Attack_FIREKILL( int battleindex, int attackNo, int defNo ) break; case BATTLE_RET_MISS: //snprintf( szBuffer, sizeof(szBuffer), - // "(%s)(%s),ûС", + // "(%s)朝向(%s)攻击,没击中。", // CHAR_getUseName( attackindex ), // CHAR_getUseName( defindex ) //); break; case BATTLE_RET_DODGE: //snprintf( szBuffer, sizeof(szBuffer), - // "(%s)(%s)㿪(%.2f%%)", + // "(%s)攻击了(%s)躲开了(%.2f%%)", // CHAR_getUseName( attackindex ), // CHAR_getUseName( defindex ), // gDuckPer @@ -3110,7 +3110,7 @@ int BATTLE_Attack_FIREKILL( int battleindex, int attackNo, int defNo ) break; case BATTLE_RET_NORMAL: //snprintf( szBuffer, sizeof(szBuffer), - // "(%s)ܵ(%s)Ĺ(%d)(%d:%d:%d%%)", + // "(%s)受到(%s)的攻击(%d)遭受损伤(%d:%d:%d%%)", // CHAR_getUseName( attackindex ), // CHAR_getUseName( defindex ), // damage, @@ -3124,7 +3124,7 @@ int BATTLE_Attack_FIREKILL( int battleindex, int attackNo, int defNo ) break; case BATTLE_RET_CRITICAL: //snprintf( szBuffer, sizeof(szBuffer), - //"(%s)(%s)CRITICAL(%d%%)(%d)(%d:%d:%d%%)", + //"(%s)向(%s)CRITICAL(%d%%)(%d)不可以(%d:%d:%d%%)", // CHAR_getUseName( attackindex ), // CHAR_getUseName( defindex ), // (int)(gCriper*0.01), @@ -3141,7 +3141,7 @@ int BATTLE_Attack_FIREKILL( int battleindex, int attackNo, int defNo ) #ifdef _EQUIT_ARRANGE case BATTLE_RET_ARRANGE: //snprintf( szBuffer, sizeof(szBuffer), - // "(%s)(%s)(%.2f%%)", + // "(%s)攻击了(%s)挡掉了(%.2f%%)", // CHAR_getUseName( attackindex ), // CHAR_getUseName( defindex ), // gDuckPer @@ -3168,7 +3168,7 @@ int BATTLE_Attack_FIREKILL( int battleindex, int attackNo, int defNo ) } } #ifdef _PETSKILL_LER -// ׶ܱ +// 雷尔不能被打飞 if(CHAR_getInt(defindex,CHAR_BASEBASEIMAGENUMBER) == 101813 || CHAR_getInt(defindex,CHAR_BASEBASEIMAGENUMBER) == 101814) ultimate = 0; #endif @@ -3190,11 +3190,11 @@ int BATTLE_Attack_FIREKILL( int battleindex, int attackNo, int defNo ) //#ifdef _PETSKILL_ACUPUNCTURE -// if( react == BATTLE_MD_ACUPUNCTURE ){ //Ƥᷴ״̬,ҪĻ +// if( react == BATTLE_MD_ACUPUNCTURE ){ //针刺外皮不会反射特殊状态,所以要改回来 // defindex = toindex = BATTLE_No2Index( battleindex, defNo ); // statusDefNo = defNo; // } -// //ע:֮ҪҪٸĻԭ.......???? +// //注意:之後要不要再改回原本反射.......???? //#endif @@ -3217,7 +3217,7 @@ int BATTLE_Attack_FIREKILL( int battleindex, int attackNo, int defNo ) CHAR_getWorkInt( defindex, CHAR_WORKDRUNK ) / 2 ); } -#ifdef _PET_SKILL_SARS // WON ADD ɷ +#ifdef _PET_SKILL_SARS // WON ADD 毒煞蔓延 if( gBattleStausChange == BATTLE_ST_SARS ){ CHAR_setWorkInt( defindex, CHAR_WORKMODSARS, 1); } @@ -3232,7 +3232,7 @@ int BATTLE_Attack_FIREKILL( int battleindex, int attackNo, int defNo ) } //snprintf( szBuffer, sizeof(szBuffer), - //"(%s)(%s)(%d%%)", + //"(%s)变成(%s)(%d%%)", // CHAR_getUseName( defindex ), // aszStatusFull[gBattleStausChange], // perStatus @@ -3243,18 +3243,18 @@ int BATTLE_Attack_FIREKILL( int battleindex, int attackNo, int defNo ) BATTLE_BadStatusString( statusDefNo, gBattleStausChange ); }else{ //snprintf( szBuffer, sizeof(szBuffer), - //"(%s)޷ɹ\(%d%%)", + //"(%s)无法成功\(%d%%)", // aszStatusFull[gBattleStausChange], // perStatus ); //BATTLE_BroadCast( battleindex, szBuffer, // (attackNo >= 10)? CHAR_COLORGRAY : CHAR_COLORPURPLE ) ; } } -#ifdef _SHOOTCHESTNUT // Syu ADD 輼 +#ifdef _SHOOTCHESTNUT // Syu ADD 宠技:丢栗子 if ( ( damage > 0 ) && ( CHAR_getWorkInt( attackindex , CHAR_WORKBATTLECOM1 ) == BATTLE_COM_S_ATTSHOOT ) ) { if ( RAND ( 1 , 5 ) > 4 ) { - CHAR_setWorkInt( defindex, CHAR_WORKSLEEP , 3 ); //趨˯ - CHAR_setWorkInt( defindex, CHAR_WORKBATTLECOM1, BATTLE_COM_NONE );//Ϊ趨˻˯,趨޶ + CHAR_setWorkInt( defindex, CHAR_WORKSLEEP , 3 ); //设定昏睡 + CHAR_setWorkInt( defindex, CHAR_WORKBATTLECOM1, BATTLE_COM_NONE );//因为设定了昏睡,所以设定无动作 } } #endif @@ -3268,10 +3268,10 @@ int BATTLE_Attack_FIREKILL( int battleindex, int attackNo, int defNo ) } } -#ifdef _PROFESSION_SKILL // WON ADD ְҵ +#ifdef _PROFESSION_SKILL // WON ADD 人物职业技能 if( damage > 0 && (CHAR_getInt(attackindex, CHAR_WHICHTYPE)== CHAR_TYPEPLAYER) ){ int i; - // 𡢱׸ + // 检查火、冰、雷附体 for( i=0; i<3; i++ ){ int turn = 0, status = -1; @@ -3281,10 +3281,10 @@ int BATTLE_Attack_FIREKILL( int battleindex, int attackNo, int defNo ) int skill_type = CHAR_getWorkInt( attackindex, CHAR_WORKBATTLECOM1 ); int perStatus = 0, j = 0; int skill_level = CHAR_getWorkInt( attackindex, CHAR_WORKMOD_F_ENCLOSE_2+i ); - char pszP[3][10] = { "","˪","" }; + char pszP[3][10] = { "烧","霜","电" }; int img1 = 101697, img2 = 101698 + i; - // ״̬ + // 状态 for( j = 1; j < BATTLE_ST_END; j ++ ){ if( strncmp( pszP[i], aszStatus[j], 2 ) == 0 ){ status = j; @@ -3292,19 +3292,19 @@ int BATTLE_Attack_FIREKILL( int battleindex, int attackNo, int defNo ) } } - // + // 命中率 perStatus = 20 + skill_level * 2; - // غ + // 回合数 if( skill_level >= 10 ) turn = 3; else if( skill_level >= 5 ) turn = 2; else turn = 1; - // ׸һغ + // 雷附体一回合数 if( i == 2 ) turn = 1; - // 𡢱׸帽ӹ -// Terry add fix Ȯbug + // 火、冰、雷附体附加攻击 +// Terry add fix 忠犬bug if(Guardian >= 0) iRet = BATTLE_PROFESSION_RANG_ATTACK_DAMAGE(attackindex, attackNo, Guardian, skill_type, status, turn, perStatus, 0, img1, img2 ); else iRet = BATTLE_PROFESSION_RANG_ATTACK_DAMAGE(attackindex, attackNo, defNo, skill_type, status, turn, perStatus, 0, img1, img2 ); @@ -3511,7 +3511,7 @@ static BOOL BATTLE_CounterCheckPet( int attackindex, int defindex, int *pPer ) static BOOL BATTLE_CounterCheck( int attackindex, int defindex, int *pPar ) { -#ifdef _SHOOTCHESTNUT // Syu ADD 輼 +#ifdef _SHOOTCHESTNUT // Syu ADD 宠技:丢栗子 if ( CHAR_getWorkInt( attackindex, CHAR_WORKBATTLECOM1 ) == BATTLE_COM_S_ATTSHOOT || CHAR_getWorkInt( defindex, CHAR_WORKBATTLECOM1 ) == BATTLE_COM_S_ATTSHOOT ) { @@ -3527,7 +3527,7 @@ static BOOL BATTLE_CounterCheck( int attackindex, int defindex, int *pPar ) -//ж +//反击判定 BOOL BATTLE_Counter( int battleindex, int attackNo, int defNo ) { @@ -3540,7 +3540,7 @@ BOOL BATTLE_Counter( int battleindex, int attackNo, int defNo ) attackindex = BATTLE_No2Index( battleindex, attackNo ); defindex = BATTLE_No2Index( battleindex, defNo ); -#ifdef _SHOOTCHESTNUT // Syu ADD 輼 +#ifdef _SHOOTCHESTNUT // Syu ADD 宠技:丢栗子 if ( CHAR_getWorkInt( attackindex, CHAR_WORKBATTLECOM1 ) == BATTLE_COM_S_ATTSHOOT ) { return FALSE; } @@ -3556,13 +3556,13 @@ BOOL BATTLE_Counter( int battleindex, int attackNo, int defNo ) return FALSE; } - // nono + // nono宠 if( CHAR_getWorkInt( attackindex, CHAR_WORKBATTLEFLG ) & CHAR_BATTLEFLG_ABIO ) return FALSE; - // + // 反击条件 if( BATTLE_CounterCheck( attackindex, defindex, &per ) == FALSE ) return FALSE; - // ⡢ + // 光、镜、守 if( BATTLE_GetDamageReact( attackindex ) > 0 ) iRet = FALSE; else if( BATTLE_GetDamageReact( defindex ) > 0 ) @@ -3585,7 +3585,7 @@ BOOL BATTLE_Counter( int battleindex, int attackNo, int defNo ) ultimate = BATTLE_DamageSub( attackindex, defindex, &damage, &petdamage, &react ); if( react == BATTLE_MD_REFLEC ) defindex = attackindex; -#ifdef _PROFESSION_SKILL // WON ADD ְҵ +#ifdef _PROFESSION_SKILL // WON ADD 人物职业技能 if( react == BATTLE_MD_TRAP ) defindex = attackindex; #endif @@ -3601,7 +3601,7 @@ BOOL BATTLE_Counter( int battleindex, int attackNo, int defNo ) case BATTLE_RET_MISS: /* snprintf( szBuffer, sizeof(szBuffer), - "(%s)(%s),ûС", + "(%s)朝向(%s)反击,没击中。", CHAR_getUseName( attackindex ), CHAR_getUseName( defindex ) ); @@ -3610,7 +3610,7 @@ BOOL BATTLE_Counter( int battleindex, int attackNo, int defNo ) case BATTLE_RET_DODGE: //snprintf( szBuffer, sizeof(szBuffer), - // "(%s)⹥(%d%%)!(%s)(%.2f%%)", + // "(%s)意外攻击(%d%%)!但是(%s)闪开了(%.2f%%)", // CHAR_getUseName( attackindex ), // per, // CHAR_getUseName( defindex ), @@ -3621,7 +3621,7 @@ BOOL BATTLE_Counter( int battleindex, int attackNo, int defNo ) case BATTLE_RET_NORMAL: //snprintf( szBuffer, sizeof(szBuffer), - //"(%s)ķ!(%d%%)(%d) (%d:%d:%d%%)", + //"(%s)的反击!(%d%%)(%d)损伤 (%d:%d:%d%%)", // CHAR_getUseName( attackindex ), // per, // damage, @@ -3635,7 +3635,7 @@ BOOL BATTLE_Counter( int battleindex, int attackNo, int defNo ) case BATTLE_RET_CRITICAL: //snprintf( szBuffer, sizeof(szBuffer), - //"(%s)CRITICAL(%d%%)(%d) (%d:%d:%d%%)", + //"(%s)的CRITICAL!(%d%%)(%d)损伤 (%d:%d:%d%%)", // CHAR_getUseName( attackindex ), // per, // damage, @@ -3651,7 +3651,7 @@ BOOL BATTLE_Counter( int battleindex, int attackNo, int defNo ) #ifdef _EQUIT_ARRANGE case BATTLE_RET_ARRANGE: //snprintf( szBuffer, sizeof(szBuffer), - // "(%s)(%s)(%.2f%%)", + // "(%s)攻击了(%s)挡掉了(%.2f%%)", // CHAR_getUseName( attackindex ), // CHAR_getUseName( defindex ), // gDuckPer @@ -3675,7 +3675,7 @@ BOOL BATTLE_Counter( int battleindex, int attackNo, int defNo ) } } #ifdef _PETSKILL_LER -// ׶ܱ +// 雷尔不能被打飞 if(CHAR_getInt(defindex,CHAR_BASEBASEIMAGENUMBER) == 101813 || CHAR_getInt(defindex,CHAR_BASEBASEIMAGENUMBER) == 101814) ultimate = 0; #endif @@ -3816,7 +3816,7 @@ typedef struct _NeedItemEnemy{ }NEEDITEMENEMY; NEEDITEMENEMY NeedEnemy[128] = { { 524, { 2456, -1, -1, -1, -1, -1, -1, -1, -1, -1} }, - // + //伊甸任务 { 961, {20219, -1, -1, -1, -1, -1, -1, -1, -1, -1} }, { 953, {20223, -1, -1, -1, -1, -1, -1, -1, -1, -1} }, { 962, {20222, -1, -1, -1, -1, -1, -1, -1, -1, -1} }, @@ -3827,7 +3827,7 @@ NEEDITEMENEMY NeedEnemy[128] = { { 1105, {1690, 1691, 1692, -1, -1, -1, -1, -1, -1, -1} }, { 8, {1810, -1, -1, -1, -1, -1, -1, -1, -1, -1} }, -#ifdef _WOLF_TAKE_AXE // WON ADD ץ˫ͷǵ +#ifdef _WOLF_TAKE_AXE // WON ADD 抓双头狼的限制 { 145, {2236, -1, -1, -1, -1, -1, -1, -1, -1, -1} }, { 146, {2236, -1, -1, -1, -1, -1, -1, -1, -1, -1} }, #endif @@ -3843,7 +3843,7 @@ int need_item_eneny_init() fp = fopen("data/needitemeneny.txt", "r"); if (fp == NULL) { - print("޷ļ\n"); + print("无法打开文件\n"); return FALSE; } while(1){ @@ -3872,7 +3872,7 @@ typedef struct _NeedItemEnemy{ }NEEDITEMENEMY; NEEDITEMENEMY NeedEnemy[] = { { 524, 2456 }, - // + //伊甸任务 { 961, 20219}, { 953, 20223}, { 962, 20222}, @@ -3917,7 +3917,7 @@ BOOL BATTLE_CaptureItemCheck( int attackindex, int defindex ) if( ITEM_getInt( itemindex, ITEM_ID ) != NeedEnemy[ ti].ItemId[i] ) continue; break; } - //ûҵ + //没找到 if( j>= CHAR_MAXITEMHAVE ) return FALSE; } return TRUE; @@ -3950,12 +3950,12 @@ BOOL BATTLE_CaptureItemDelAll( int attackindex, int defindex ) // LogItem( // CHAR_getChar( attackindex, CHAR_NAME ), // CHAR_getChar( attackindex, CHAR_CDKEY ), -//#ifdef _add_item_log_name // WON ADD itemlogitem +//#ifdef _add_item_log_name // WON ADD 在item的log中增加item名称 // itemindex, //#else // ITEM_getInt( itemindex, ITEM_ID ), //#endif -// "PetEaten(ʹ߲)", +// "PetEaten(使用条件道具捕获宠物)", // CHAR_getInt( attackindex,CHAR_FLOOR), // CHAR_getInt( attackindex,CHAR_X ), // CHAR_getInt( attackindex,CHAR_Y ), @@ -3979,7 +3979,7 @@ BOOL BATTLE_CaptureItemDelAll( int attackindex, int defindex ) } CHAR_DelItem( attackindex, j); CHAR_complianceParameter( attackindex); - break;//Change fix ץһֻֻɾһ(ỹǾȫɾ) + break;//Change fix 抓到一只宠只删除一个道具(最後还是决定全删) } } } @@ -4013,13 +4013,13 @@ BOOL BATTLE_Capture( ){ flg = 0; //snprintf( szBuffer, sizeof(szBuffer), - // "(%s)ûв(%s)ıҪߡ", + // "(%s)没有捕获(%s)的必要道具。", // CHAR_getUseName( attackindex ), // CHAR_getUseName( defindex ) //); }else if( BATTLE_CaptureCheck( attackindex, defindex, &per ) == FALSE ){ - //snprintf( szBuffer, sizeof(szBuffer), "(%s)޷(%s)(%.2f%%)", + //snprintf( szBuffer, sizeof(szBuffer), "(%s)无法捕获(%s)(%.2f%%)", // CHAR_getUseName( attackindex ), // CHAR_getUseName( defindex ), // per @@ -4030,13 +4030,13 @@ BOOL BATTLE_Capture( if( flg == 1 ){ pindex = PET_createPetFromCharaIndex( attackindex, defindex ); if( pindex == -1 ){ - //snprintf( szBuffer, sizeof(szBuffer), "(%s)޷״̬", + //snprintf( szBuffer, sizeof(szBuffer), "(%s)呈现无法捕获的状态。", // CHAR_getUseName( attackindex ) ); flg = 0; }else{ int ai; CHAR_setInt( pindex, CHAR_PETGETLV, CHAR_getInt( pindex, CHAR_LV ) ); - //snprintf( szBuffer, sizeof(szBuffer), "(%s)(%s)(%.2f%%)", + //snprintf( szBuffer, sizeof(szBuffer), "(%s)捕获了(%s)(%.2f%%)", // CHAR_getUseName( attackindex ), // CHAR_getUseName( defindex ), // per @@ -4048,7 +4048,7 @@ BOOL BATTLE_Capture( // CHAR_getUseID( attackindex ), // CHAR_getChar( defindex, CHAR_NAME ), // CHAR_getInt( defindex, CHAR_LV ), -// "Get()", +// "Get(捕获宠物)", // CHAR_getInt( attackindex, CHAR_FLOOR ), // CHAR_getInt( attackindex, CHAR_X ), // CHAR_getInt( attackindex, CHAR_Y ), @@ -4071,12 +4071,12 @@ BOOL BATTLE_Capture( // LogItem( // CHAR_getChar( attackindex, CHAR_NAME ), // CHAR_getChar( attackindex, CHAR_CDKEY ), -//#ifdef _add_item_log_name // WON ADD itemlogitem +//#ifdef _add_item_log_name // WON ADD 在item的log中增加item名称 // itemindex, //#else // ITEM_getInt( itemindex, ITEM_ID ), //#endif -// "PetEaten(ʹ)", +// "PetEaten(使用料理捕获宠物)", // CHAR_getInt( attackindex,CHAR_FLOOR), // CHAR_getInt( attackindex,CHAR_X ), // CHAR_getInt( attackindex,CHAR_Y ), @@ -4130,7 +4130,7 @@ void BATTLE_Guard( /*attackindex = BATTLE_No2Index( battleindex, attackNo ); { char szBuffer[256]=""; - //snprintf( szBuffer, sizeof(szBuffer), "(%s)סȫ", + //snprintf( szBuffer, sizeof(szBuffer), "(%s)保住了自身安全。", // CHAR_getUseName( attackindex ) //); //BATTLE_BroadCast( battleindex, szBuffer, @@ -4258,7 +4258,7 @@ BOOL BATTLE_Escape( int battleindex, int attackNo, int flag) } if( flg == 1 || flag == 1 ){ - //snprintf( szBuffer, sizeof(szBuffer), "(%s)(%d%%)", + //snprintf( szBuffer, sizeof(szBuffer), "(%s)逃跑了(%d%%)", // CHAR_getUseName( attackindex ), iPar //); //if( getBattleDebugMsg( ) != 0 ){ @@ -4279,7 +4279,7 @@ BOOL BATTLE_Escape( int battleindex, int attackNo, int flag) BATTLE_Exit( attackindex, battleindex ); }else{ //if( getBattleDebugMsg( ) != 0 ){ - //snprintf( szBuffer, sizeof(szBuffer), "(%s)(%d%%)", + //snprintf( szBuffer, sizeof(szBuffer), "(%s)差点跑了(%d%%)", // CHAR_getUseName( attackindex ), iPar //); //BATTLE_BroadCast( battleindex, szBuffer, @@ -4343,7 +4343,7 @@ int BATTLE_NoAction( int battleindex, int attackNo ) sprintf( szCommand, "bn|%x|", attackNo ); BATTLESTR_ADD( szCommand ); - //snprintf( szBuffer, sizeof(szBuffer), "(%s)ʲҲ", + //snprintf( szBuffer, sizeof(szBuffer), "(%s)什麽也不能做。", // CHAR_getUseName( attackindex ) //); //BATTLE_BroadCast( battleindex, szBuffer, @@ -4362,7 +4362,7 @@ int BATTLE_PetIn( int battleindex, int attackNo ) attackindex = BATTLE_No2Index( battleindex, attackNo ); petindex = CHAR_getInt( attackindex, CHAR_DEFAULTPET ); petindex = CHAR_getCharPet( attackindex, petindex ); -#ifdef _FIXWOLF // Syu ADD ˱Bug +#ifdef _FIXWOLF // Syu ADD 修正狼人变身Bug if ( CHAR_getInt ( petindex , CHAR_BASEIMAGENUMBER) == 101428 ) { CHAR_setInt( petindex, CHAR_BASEIMAGENUMBER, CHAR_getInt( petindex , CHAR_BASEBASEIMAGENUMBER)); @@ -4370,9 +4370,9 @@ int BATTLE_PetIn( int battleindex, int attackNo ) CHAR_setWorkInt( petindex, CHAR_WORKQUICK, CHAR_getWorkInt( petindex , CHAR_WORKFIXDEX)); } #endif -#ifdef _PETSKILL_BECOMEFOX // ĻջٷųʱҪָ״̬ +#ifdef _PETSKILL_BECOMEFOX // 宠物中媚惑术收回後再放出来时要恢复正常状态 if ( CHAR_getInt ( petindex , CHAR_WORKFOXROUND) != -1 - || CHAR_getInt( petindex, CHAR_BASEIMAGENUMBER) == 101749 ){ //DZΪ + || CHAR_getInt( petindex, CHAR_BASEIMAGENUMBER) == 101749 ){ //若是变身为狸 CHAR_setInt( petindex, CHAR_BASEIMAGENUMBER, CHAR_getInt( petindex , CHAR_BASEBASEIMAGENUMBER)); CHAR_setWorkInt( petindex, CHAR_WORKATTACKPOWER, CHAR_getWorkInt( petindex , CHAR_WORKFIXSTR)); CHAR_setWorkInt( petindex, CHAR_WORKQUICK, CHAR_getWorkInt( petindex , CHAR_WORKFIXDEX)); @@ -4382,7 +4382,7 @@ int BATTLE_PetIn( int battleindex, int attackNo ) if( CHAR_getWorkInt( petindex, CHAR_WORKBATTLEFLG ) & CHAR_BATTLEFLG_NORETURN ){ - //snprintf( szBuffer, sizeof(szBuffer), "(%s)޷ظ(%s)", + //snprintf( szBuffer, sizeof(szBuffer), "(%s)无法回复成(%s)", // CHAR_getUseName( attackindex ), // CHAR_getUseName( petindex ) //); @@ -4392,7 +4392,7 @@ int BATTLE_PetIn( int battleindex, int attackNo ) BATTLE_PetDefaultExit( attackindex, battleindex ); CHAR_setInt( attackindex, CHAR_DEFAULTPET, -1 ); - //snprintf( szBuffer, sizeof(szBuffer), "(%s)ظ(%s)", + //snprintf( szBuffer, sizeof(szBuffer), "(%s)回复成(%s)", // CHAR_getUseName( attackindex ), // CHAR_getUseName( petindex ) //); @@ -4428,12 +4428,12 @@ int BATTLE_PetOut( int battleindex, int attackNo ) CHAR_getWorkInt( attackindex, CHAR_WORKBATTLESIDE ) ); if( iRet < 0 ){ - //snprintf( szBuffer, sizeof(szBuffer), "(%s),ûгټ", + //snprintf( szBuffer, sizeof(szBuffer), "(%s)呼唤宠物,可是没有出现其踪迹。", // CHAR_getUseName( attackindex ) //); }else if( CHAR_getInt( attackindex, CHAR_DEFAULTPET ) < 0 ){ - //snprintf( szBuffer, sizeof(szBuffer), "(%s),ûгټ", + //snprintf( szBuffer, sizeof(szBuffer), "(%s)呼唤宠物,可是没有出现其踪迹。", // CHAR_getUseName( attackindex ) //); }else{ @@ -4444,7 +4444,7 @@ int BATTLE_PetOut( int battleindex, int attackNo ) CHAR_setWorkInt( petindex, CHAR_WORKBATTLEMODE, BATTLE_CHARMODE_C_OK ); - //snprintf( szBuffer, sizeof(szBuffer), "(%s)(%s)", + //snprintf( szBuffer, sizeof(szBuffer), "(%s)呼唤(%s)", // CHAR_getUseName( attackindex ), // CHAR_getUseName( petindex ) //); @@ -4484,7 +4484,7 @@ int BATTLE_Magic( int battleindex, int attackNo ) } -//б𹥻Ƿ +//判别攻击是否命中 int BATTLE_S_GBreak( int battleindex, int attackNo, int defNo ) { char szBuffer[512]=""; @@ -4512,7 +4512,7 @@ int BATTLE_S_GBreak( int battleindex, int attackNo, int defNo ) react = 0; ultimate = BATTLE_DamageSub( attackindex, defindex, &damage, &petdamage, &react ); if( react == BATTLE_MD_REFLEC )defindex = attackindex; -#ifdef _PROFESSION_SKILL // WON ADD ְҵ +#ifdef _PROFESSION_SKILL // WON ADD 人物职业技能 if( react == BATTLE_MD_TRAP ) defindex = attackindex; #endif #ifdef _PETSKILL_ACUPUNCTURE @@ -4520,7 +4520,7 @@ int BATTLE_S_GBreak( int battleindex, int attackNo, int defNo ) #endif }else{ - //зǷdamageΪ0 + //若敌非防御则damage为0 damage = 0; iWork = BATTLE_RET_MISS; } @@ -4538,7 +4538,7 @@ int BATTLE_S_GBreak( int battleindex, int attackNo, int defNo ) case BATTLE_RET_ALLGUARD: case BATTLE_RET_MISS: //snprintf( szBuffer, sizeof(szBuffer), - // "(%s)(%s),ûС", + // "(%s)朝向(%s)发动绝技,没击中。", // CHAR_getUseName( attackindex ), // CHAR_getUseName( defindex ) //); @@ -4547,7 +4547,7 @@ int BATTLE_S_GBreak( int battleindex, int attackNo, int defNo ) case BATTLE_RET_DODGE: //snprintf( szBuffer, sizeof(szBuffer), - // "(%s)չ(%s)㿪(%.2f%%)", + // "(%s)展开防御攻击(%s)躲开了(%.2f%%)", // CHAR_getUseName( attackindex ), // CHAR_getUseName( defindex ), // gDuckPer @@ -4558,7 +4558,7 @@ int BATTLE_S_GBreak( int battleindex, int attackNo, int defNo ) case BATTLE_RET_NORMAL: //snprintf( szBuffer, sizeof(szBuffer), - // "(%s)ܵ(%s)ľ(%d)(%d:%d:%d%%)", + // "(%s)受到(%s)的绝技攻击(%d)损伤(%d:%d:%d%%)", // CHAR_getUseName( attackindex ), // CHAR_getUseName( defindex ), // damage, @@ -4574,7 +4574,7 @@ int BATTLE_S_GBreak( int battleindex, int attackNo, int defNo ) case BATTLE_RET_CRITICAL: //snprintf( szBuffer, sizeof(szBuffer), - //"(%s)ܵ(%s)ľCRITICAL(%d)(%d:%d:%d%%)", + //"(%s)受到(%s)的绝技CRITICAL(%d)损伤(%d:%d:%d%%)", // CHAR_getUseName( attackindex ), // CHAR_getUseName( defindex ), // damage, @@ -4590,7 +4590,7 @@ int BATTLE_S_GBreak( int battleindex, int attackNo, int defNo ) #ifdef _EQUIT_ARRANGE case BATTLE_RET_ARRANGE: //snprintf( szBuffer, sizeof(szBuffer), - // "(%s)(%s)(%.2f%%)", + // "(%s)攻击了(%s)挡掉了(%.2f%%)", // CHAR_getUseName( attackindex ), // CHAR_getUseName( defindex ), // gDuckPer @@ -4621,7 +4621,7 @@ int BATTLE_S_GBreak( int battleindex, int attackNo, int defNo ) } } #ifdef _PETSKILL_LER -// ׶ܱ +// 雷尔不能被打飞 if(CHAR_getInt(defindex,CHAR_BASEBASEIMAGENUMBER) == 101813 || CHAR_getInt(defindex,CHAR_BASEBASEIMAGENUMBER) == 101814) ultimate = 0; #endif @@ -4680,7 +4680,7 @@ int BATTLE_S_GBreak( int battleindex, int attackNo, int defNo ) } -#ifdef _SKILL_SACRIFICE//Ԯ vincent add 2002/05/30 +#ifdef _SKILL_SACRIFICE//救援 vincent add 2002/05/30 int BATTLE_S_Sacrifice( int battleindex, int attackNo, int defNo ) { int attackindex, defindex = 0; @@ -4695,14 +4695,14 @@ int BATTLE_S_Sacrifice( int battleindex, int attackNo, int defNo ) DefSide = 1; } - //HP + //修正HP CHAR_setInt(attackindex,CHAR_HP,(CHAR_getInt(attackindex,CHAR_HP)*0.5)); CHAR_setInt(defindex,CHAR_HP,min(CHAR_getInt(attackindex,CHAR_HP)+CHAR_getInt(defindex,CHAR_HP),CHAR_getWorkInt(defindex,CHAR_WORKMAXHP))); Damage=CHAR_getInt(attackindex,CHAR_HP); - //ħ + //魔法动画 BATTLE_MultiList( battleindex, defNo, ToList ); - //hpıֵ + //秀hp改变数值 BATTLE_MagicEffect(battleindex, attackNo, ToList, MAGIC_EFFECT_USER, SPR_heal2 ); snprintf( szCommand, sizeof(szCommand),"BD|r%X|%X|%X|d%X|p%X|", attackNo, BD_KIND_HP, 0, Damage, 0 ); BATTLESTR_ADD( szCommand ); @@ -4749,7 +4749,7 @@ int BATTLE_S_Refresh( int battleindex, int attackNo, int defNo, int marray ) } #endif -#ifdef _SKILL_ROAR //vincent輼: +#ifdef _SKILL_ROAR //vincent宠技:大吼 int BATTLE_S_Roar( int battleindex, int attackNo, int defNo, int marray ) { int masteridx=-1, index2, charaindex; @@ -4764,43 +4764,43 @@ int BATTLE_S_Roar( int battleindex, int attackNo, int defNo, int marray ) charaindex = BATTLE_No2Index( battleindex, attackNo ); - index2 = BATTLE_No2Index( battleindex, defNo);//Ŀ֮index + index2 = BATTLE_No2Index( battleindex, defNo);//被击中目标之index if( !CHAR_CHECKINDEX( index2) ) return iRet; - if( BATTLE_Index2No( battleindex, charaindex ) == defNo ){// + if( BATTLE_Index2No( battleindex, charaindex ) == defNo ){//用在自身 return iRet; } if( CHAR_getInt( index2, CHAR_WHICHTYPE) == CHAR_TYPEPLAYER ) { - petid = -1;// + petid = -1;//作用在人物 }else if( CHAR_getInt( index2, CHAR_WHICHTYPE) == CHAR_TYPEPET ) { - masteridx = BATTLE_No2Index(battleindex,defNo-5);//ڳ + masteridx = BATTLE_No2Index(battleindex,defNo-5);//作用在宠物 if( !CHAR_CHECKINDEX( masteridx) ) return iRet; - petid = CHAR_getInt(index2,CHAR_PETID);//id + petid = CHAR_getInt(index2,CHAR_PETID);//宠物id }else if( CHAR_getInt( index2, CHAR_WHICHTYPE) == CHAR_TYPEENEMY ) { petid = CHAR_getInt(index2,CHAR_PETID); } magicarg = PETSKILL_getChar( marray, PETSKILL_OPTION ); while( getStringFromIndexWithDelim( magicarg,"|", i, buf1, sizeof( buf1)) != FALSE ) { - if( petid == atoi( buf1) ){//б + if( petid == atoi( buf1) ){//年兽判别 FINDPET = TRUE; break; } i++; } -//ѶϢ - if( FINDPET == TRUE ) {//Ϊ +//送讯息至玩家 + if( FINDPET == TRUE ) {//若为年兽 char buf4[255]; - sprintf( buf4, "%sˣ", CHAR_getChar( index2, CHAR_NAME)); - BATTLE_Exit(index2,battleindex);//뿪ս + sprintf( buf4, "%s被吼声吓跑了!", CHAR_getChar( index2, CHAR_NAME)); + BATTLE_Exit(index2,battleindex);//离开战斗 if( CHAR_CHECKINDEX( masteridx) ){ - CHAR_setInt(masteridx,CHAR_DEFAULTPET,-1);//޲ս + CHAR_setInt(masteridx,CHAR_DEFAULTPET,-1);//无参战宠 CHAR_talkToCli( masteridx,-1, buf4, CHAR_COLORYELLOW); } - //ǰ + //前攻动画 flg |= BCF_ROAR; sprintf( szWork, "BH|a%X|", attackNo ); BATTLESTR_ADD( szWork ); @@ -4808,7 +4808,7 @@ int BATTLE_S_Roar( int battleindex, int attackNo, int defNo, int marray ) BATTLESTR_ADD(szWork); BATTLESTR_ADD( "FF|" ); - sprintf(szWork,"BQ|e%X|",defNo);//ܶ + sprintf(szWork,"BQ|e%X|",defNo);//逃跑动画 BATTLESTR_ADD(szWork); CHAR_talkToCli( CHAR_getWorkInt(charaindex, CHAR_WORKPLAYERINDEX),-1, buf4, CHAR_COLORYELLOW); } @@ -4817,7 +4817,7 @@ int BATTLE_S_Roar( int battleindex, int attackNo, int defNo, int marray ) } #endif -#ifdef _SKILL_GUARDBREAK2//Ƴ2 vincent add 2002/05/20 +#ifdef _SKILL_GUARDBREAK2//破除防御2 vincent add 2002/05/20 int BATTLE_S_GBreak2( int battleindex, int attackNo, int defNo ) { char szBuffer[512]=""; @@ -4842,7 +4842,7 @@ int BATTLE_S_GBreak2( int battleindex, int attackNo, int defNo ) ultimate = BATTLE_DamageSub( attackindex, defindex, &damage, &petdamage, &react ); if( react == BATTLE_MD_REFLEC )defindex = attackindex; -#ifdef _PROFESSION_SKILL // WON ADD ְҵ +#ifdef _PROFESSION_SKILL // WON ADD 人物职业技能 if( react == BATTLE_MD_TRAP ) defindex = attackindex; #endif #ifdef _PETSKILL_ACUPUNCTURE @@ -4863,7 +4863,7 @@ int BATTLE_S_GBreak2( int battleindex, int attackNo, int defNo ) case BATTLE_RET_ALLGUARD: case BATTLE_RET_MISS: //snprintf( szBuffer, sizeof(szBuffer), - // "(%s)(%s),ûС", + // "(%s)朝向(%s)发动绝技,没击中。", // CHAR_getUseName( attackindex ), // CHAR_getUseName( defindex ) //); @@ -4872,7 +4872,7 @@ int BATTLE_S_GBreak2( int battleindex, int attackNo, int defNo ) case BATTLE_RET_DODGE: //snprintf( szBuffer, sizeof(szBuffer), - // "(%s)չ(%s)㿪(%.2f%%)", + // "(%s)展开防御攻击(%s)躲开了(%.2f%%)", // CHAR_getUseName( attackindex ), // CHAR_getUseName( defindex ), // gDuckPer @@ -4883,7 +4883,7 @@ int BATTLE_S_GBreak2( int battleindex, int attackNo, int defNo ) case BATTLE_RET_NORMAL: //snprintf( szBuffer, sizeof(szBuffer), - // "(%s)ܵ(%s)ľ(%d)(%d:%d:%d%%)", + // "(%s)受到(%s)的绝技攻击(%d)损伤(%d:%d:%d%%)", // CHAR_getUseName( attackindex ), // CHAR_getUseName( defindex ), // damage, @@ -4899,7 +4899,7 @@ int BATTLE_S_GBreak2( int battleindex, int attackNo, int defNo ) case BATTLE_RET_CRITICAL: //snprintf( szBuffer, sizeof(szBuffer), - //"(%s)ܵ(%s)ľCRITICAL(%d)(%d:%d:%d%%)", + //"(%s)受到(%s)的绝技CRITICAL(%d)损伤(%d:%d:%d%%)", // CHAR_getUseName( attackindex ), // CHAR_getUseName( defindex ), // damage, @@ -4915,7 +4915,7 @@ int BATTLE_S_GBreak2( int battleindex, int attackNo, int defNo ) #ifdef _EQUIT_ARRANGE case BATTLE_RET_ARRANGE: //snprintf( szBuffer, sizeof(szBuffer), - // "(%s)(%s)(%.2f%%)", + // "(%s)攻击了(%s)挡掉了(%.2f%%)", // CHAR_getUseName( attackindex ), // CHAR_getUseName( defindex ), // gDuckPer @@ -4943,7 +4943,7 @@ int BATTLE_S_GBreak2( int battleindex, int attackNo, int defNo ) } } #ifdef _PETSKILL_LER -// ׶ܱ +// 雷尔不能被打飞 if(CHAR_getInt(defindex,CHAR_BASEBASEIMAGENUMBER) == 101813 || CHAR_getInt(defindex,CHAR_BASEBASEIMAGENUMBER) == 101814) ultimate = 0; #endif @@ -5027,7 +5027,7 @@ int BATTLE_Charge( int battleindex, int attackNo ) CHAR_SETWORKINT_LOW( attackindex, CHAR_WORKBATTLECOM3, iWork - 1); //snprintf( szBuffer, sizeof(szBuffer), - // "(%s)С", + // "(%s)保持体力中。", // CHAR_getUseName( attackindex ) //); //BATTLE_BroadCast( battleindex, szBuffer, @@ -5039,7 +5039,7 @@ int BATTLE_Charge( int battleindex, int attackNo ) } } -//״̬ж +//状态攻击命中判定 int BATTLE_StatusAttackCheck( int attackindex, int defindex, @@ -5054,7 +5054,7 @@ int BATTLE_StatusAttackCheck( int Df_Reg = 0, level = 0, per = 0, i ; int battleindex; if( status >= BATTLE_ST_END || status <= 0 )return FALSE; - for( i = 1; i < BATTLE_ST_END; i++ ){//쳣״̬return + for( i = 1; i < BATTLE_ST_END; i++ ){//若已有异常状态则return if( CHAR_getWorkInt( defindex, StatusTbl[i] ) > 0 )return FALSE; } @@ -5141,7 +5141,7 @@ int BATTLE_StatusAttackCheck( } } -//ְҵ״̬ж +//职业技能状态攻击命中判定 int PROFESSION_BATTLE_StatusAttackCheck( int charaindex, int toindex, int status, int Success ) { int rand_num = RAND( 1, 100 ); @@ -5152,7 +5152,7 @@ int PROFESSION_BATTLE_StatusAttackCheck( int charaindex, int toindex, int status if( CHAR_getFlg( toindex, CHAR_ISDIE ) == TRUE ) return 0; #ifdef _PROFESSION_ADDSKILL - if( status == BATTLE_ST_RESIST_F_I_T ){//Ȼ + if( status == BATTLE_ST_RESIST_F_I_T ){//自然威能 if( CHAR_getWorkInt( toindex, StatusTbl[BATTLE_ST_RESIST_F] ) > 0 ) return 0; if( CHAR_getWorkInt( toindex, StatusTbl[BATTLE_ST_RESIST_I] ) > 0 ) return 0; if( CHAR_getWorkInt( toindex, StatusTbl[BATTLE_ST_RESIST_T] ) > 0 ) return 0; @@ -5172,7 +5172,7 @@ int PROFESSION_BATTLE_StatusAttackCheck( int charaindex, int toindex, int status } #endif - for( i = 1; i < BATTLE_ST_END; i++ ){//쳣״̬return + for( i = 1; i < BATTLE_ST_END; i++ ){//若已有异常状态则return if( CHAR_getWorkInt( toindex, StatusTbl[i] ) > 0 ) return 0; } @@ -5204,7 +5204,7 @@ int BATTLE_Combo( int battleindex, int *pAttackList, int defNo ) defindex = toindex = BATTLE_No2Index( battleindex, defNo ); - //BATTLE_BroadCast( battleindex, "ɱ", + //BATTLE_BroadCast( battleindex, "发动必杀技!!", // (pAttackList[0] >= 10)? CHAR_COLORGRAY : CHAR_COLORPURPLE ) ; for( i = 0; pAttackList[i] != -1 && i < BATTLE_ENTRY_MAX; i ++ ){ @@ -5234,7 +5234,7 @@ int BATTLE_Combo( int battleindex, int *pAttackList, int defNo ) react = BATTLE_GetDamageReact( defindex ); if( ( react == BATTLE_MD_REFLEC -#ifdef _PROFESSION_SKILL // WON ADD ְҵ +#ifdef _PROFESSION_SKILL // WON ADD 人物职业技能 || react == BATTLE_MD_TRAP #endif #ifdef _PETSKILL_ACUPUNCTURE @@ -5268,7 +5268,7 @@ int BATTLE_Combo( int battleindex, int *pAttackList, int defNo ) if( react == BATTLE_MD_REFLEC ){ defindex = attackindex; } -#ifdef _PROFESSION_SKILL // WON ADD ְҵ +#ifdef _PROFESSION_SKILL // WON ADD 人物职业技能 if( react == BATTLE_MD_TRAP ) defindex = attackindex; #endif #ifdef _PETSKILL_ACUPUNCTURE @@ -5285,7 +5285,7 @@ int BATTLE_Combo( int battleindex, int *pAttackList, int defNo ) case BATTLE_RET_ALLGUARD: case BATTLE_RET_NORMAL: //snprintf( szBuffer, sizeof(szBuffer), - // "(%s)ܵ(%s)Ĺ(%d)(%d:%d:%d%%)", + // "(%s)受到(%s)的攻击(%d)遭受损伤(%d:%d:%d%%)", // CHAR_getUseName( attackindex ), // CHAR_getUseName( defindex ), // damage, @@ -5301,7 +5301,7 @@ int BATTLE_Combo( int battleindex, int *pAttackList, int defNo ) case BATTLE_RET_CRITICAL: //snprintf( szBuffer, sizeof(szBuffer), - //"(%s)(%s)CRITICAL(%d%%)(%d)(%d:%d:%d%%)", + //"(%s)向(%s)CRITICAL(%d%%)(%d)不可以(%d:%d:%d%%)", // CHAR_getUseName( attackindex ), // CHAR_getUseName( defindex ), // (int)(gCriper*0.01), @@ -5340,7 +5340,7 @@ int BATTLE_Combo( int battleindex, int *pAttackList, int defNo ) } } #ifdef _PETSKILL_LER -// ׶ܱ +// 雷尔不能被打飞 if(CHAR_getInt(defindex,CHAR_BASEBASEIMAGENUMBER) == 101813 || CHAR_getInt(defindex,CHAR_BASEBASEIMAGENUMBER) == 101814) ultimate = 0; #endif @@ -5444,7 +5444,7 @@ int BATTLE_EarthRoundHide( int battleindex, int attackNo ) BATTLESTR_ADD( szCommand ); //snprintf( szBuffer, sizeof(szBuffer), - // "(%s)Ƶȥ", + // "(%s)绕到背後去。", // CHAR_getUseName( attackindex ) //); @@ -5482,7 +5482,7 @@ BOOL BATTLE_LostEscape( int battleindex, int attackNo ) pno = CHAR_getInt( oyaindex, CHAR_DEFAULTPET ); if( pno < 0 )return FALSE; -// print(" nonoϢ "); +// print(" nono宠改休息 "); BATTLE_Exit( attackindex, battleindex ); @@ -5496,7 +5496,7 @@ BOOL BATTLE_LostEscape( int battleindex, int attackNo ) // CHAR_getChar( attackindex, CHAR_NAME ), // CHAR_getInt( attackindex, CHAR_LV ), // -// "EscapeLost(ս߲)", +// "EscapeLost(战斗逃走并回收)", // // CHAR_getInt( oyaindex, CHAR_FLOOR ), // CHAR_getInt( oyaindex, CHAR_X ), @@ -5504,7 +5504,7 @@ BOOL BATTLE_LostEscape( int battleindex, int attackNo ) // CHAR_getChar( attackindex, CHAR_UNIQUECODE) // shan 2001/12/14 // ); - //snprintf( szBuffer, sizeof(szBuffer), "(%s)ߵˡ", + //snprintf( szBuffer, sizeof(szBuffer), "(%s)走掉了。", // CHAR_getUseName( attackindex ) //); //if( getBattleDebugMsg( ) != 0 ){ @@ -5548,7 +5548,7 @@ BOOL BATTLE_Abduct( if( CHAR_CHECKINDEX( attackindex ) == FALSE ) return iRet; if( CHAR_CHECKINDEX( defindex ) == FALSE ) return iRet; #ifdef _BATTLE_ABDUCTII - // ȡó\ + // 取得宠物技能命令 pszP = PETSKILL_getChar( array, PETSKILL_OPTION ); if( pszP == "\0" ) return iRet; #endif @@ -5575,7 +5575,7 @@ BOOL BATTLE_Abduct( if( Deftype != CHAR_TYPEPLAYER ){ #ifdef _BATTLE_ABDUCTII int AiPer=0; - // ȡó\ + // 取得宠物技能命令 AiPer = atoi( pszP); if( AiPer <= 0 || Deftype != CHAR_TYPEPET ){ #endif @@ -5607,7 +5607,7 @@ BOOL BATTLE_Abduct( if( RAND( 1, 100 ) < per ){ flg = 1; //snprintf( szBuffer, sizeof(szBuffer), - // "(%s)(%s)뿪ô(%d%%)", + // "(%s)带着(%s)离开该处(%d%%)", // CHAR_getUseName( attackindex ), // CHAR_getUseName( defindex ), // per @@ -5621,7 +5621,7 @@ BOOL BATTLE_Abduct( }else{ flg = 0; //snprintf( szBuffer, sizeof(szBuffer), - // "(%s)޷(%s)һĬĬ뿪(%d%%)", + // "(%s)无法带离(%s)一个人默默地离开(%d%%)", // CHAR_getUseName( attackindex ), // CHAR_getUseName( defindex ), // per @@ -5669,9 +5669,9 @@ void BATTLE_StealMoney( int battleindex, int attackNo, int defNo) if( attackNo > 10 ) { safeSide = 1; } - if( defNo>=safeSide*SIDE_OFFSET && defNo<((safeSide*SIDE_OFFSET)+SIDE_OFFSET)){//ͬ + if( defNo>=safeSide*SIDE_OFFSET && defNo<((safeSide*SIDE_OFFSET)+SIDE_OFFSET)){//同边 per = 0; - }else { //ͬ + }else { //不同边 per = 50; per = (((per+LV)/4)+10)>>1; } @@ -5702,7 +5702,7 @@ void BATTLE_StealMoney( int battleindex, int attackNo, int defNo) S_FLG = 0; }else{ //snprintf( szBuffer, sizeof(szBuffer), - // "(%s)(%s)(%d)STONE(%d%%)", + // "(%s)从(%s)获得了(%d)STONE(%d%%)", // CHAR_getUseName( attackindex ), // CHAR_getUseName( defindex ), // GOLD, @@ -5715,15 +5715,15 @@ void BATTLE_StealMoney( int battleindex, int attackNo, int defNo) } }else{ //snprintf( szBuffer, sizeof(szBuffer), - // "(%s)û(%s)ö(%d%%)", + // "(%s)没从(%s)获得东西(%d%%)", // CHAR_getUseName( attackindex ), // CHAR_getUseName( defindex ), // per //); } - sprintf( buf1, "͵һЩʯ"); + sprintf( buf1, "被偷了一些石币"); if( S_FLG) { - sprintf( szBuffer, "BK|%s%s|", CHAR_getUseName( defindex ), buf1 ); + sprintf( szBuffer, "BK|%s%s。|", CHAR_getUseName( defindex ), buf1 ); strcatsafe( szBadStatusString,sizeof(szBadStatusString), szBuffer ); if( CHAR_getInt( attackindex, CHAR_WHICHTYPE ) == CHAR_TYPEPET ){ int attackoyaindex = CHAR_getWorkInt( attackindex, CHAR_WORKPLAYERINDEX ); @@ -5780,7 +5780,7 @@ void BATTLE_Steal( int battleindex, int attackNo, int defNo ) gold = (int)( (float)gold * RAND( 8, 12 ) * 0.01 ); if( gold <= 0 ){ //snprintf( szBuffer, sizeof(szBuffer), - // "(%s)޷(%s)STONE(%d%%)", + // "(%s)无法获得(%s)的STONE(%d%%)", // CHAR_getUseName( attackindex ), // CHAR_getUseName( defindex ), // per @@ -5788,7 +5788,7 @@ void BATTLE_Steal( int battleindex, int attackNo, int defNo ) flg = 0; }else{ //snprintf( szBuffer, sizeof(szBuffer), - // "(%s)(%s)(%d)STONE(%d%%)", + // "(%s)从(%s)获得了(%d)STONE(%d%%)", // CHAR_getUseName( attackindex ), // CHAR_getUseName( defindex ), // gold, @@ -5813,7 +5813,7 @@ void BATTLE_Steal( int battleindex, int attackNo, int defNo ) i = RAND( 0, j-1 ); if( i >= 0 ){ if( 0 <= itemtbl[i] && itemtbl[i] < CHAR_STARTITEMARRAY ){ - fprint( "err:ҪȡװƷ(%d)\n", itemtbl[i] ); + fprint( "err:要盗取装备品(%d)\n", itemtbl[i] ); }else{ itemindex = CHAR_getItemIndex( defindex, itemtbl[i] ); } @@ -5821,7 +5821,7 @@ void BATTLE_Steal( int battleindex, int attackNo, int defNo ) } if( itemindex == - 1 ){ //snprintf( szBuffer, sizeof(szBuffer), - // "(%s)޷(%s)ĵ(%d%%)", + // "(%s)无法获得(%s)的道具(%d%%)", // CHAR_getUseName( attackindex ), // CHAR_getUseName( defindex ), // per @@ -5829,7 +5829,7 @@ void BATTLE_Steal( int battleindex, int attackNo, int defNo ) flg = 0; }else{ //snprintf( szBuffer, sizeof(szBuffer), - // "(%s)(%s)(%s)(%d%%)", + // "(%s)从(%s)获得了(%s)(%d%%)", // CHAR_getUseName( attackindex ), // CHAR_getUseName( defindex ), // ITEM_getAppropriateName( itemindex ), @@ -5841,12 +5841,12 @@ void BATTLE_Steal( int battleindex, int attackNo, int defNo ) // LogItem( // CHAR_getChar( defindex, CHAR_NAME ), // CHAR_getChar( defindex, CHAR_CDKEY ), -//#ifdef _add_item_log_name // WON ADD itemlogitem +//#ifdef _add_item_log_name // WON ADD 在item的log中增加item名称 // itemindex, //#else // ITEM_getInt( itemindex, ITEM_ID ), //#endif -// "Stealed(͵Եĵ)", +// "Stealed(偷窃的道具)", // CHAR_getInt( defindex,CHAR_FLOOR), // CHAR_getInt( defindex,CHAR_X ), // CHAR_getInt( defindex,CHAR_Y ), @@ -5860,11 +5860,11 @@ void BATTLE_Steal( int battleindex, int attackNo, int defNo ) } }else{ flg = 0; - //snprintf( szBuffer, sizeof(szBuffer), "(%s)û(%s)ö(%d%%)", + //snprintf( szBuffer, sizeof(szBuffer), "(%s)没从(%s)获得东西(%d%%)", // CHAR_getUseName( attackindex ), CHAR_getUseName( defindex ), per ); } if( flg == 1 ){ - sprintf( szBuffer, "BK|%s͵һЩ|", + sprintf( szBuffer, "BK|%s被偷了一些东西。|", CHAR_getUseName( defindex ) ); strcatsafe( szBadStatusString,sizeof(strcatsafe), szBuffer ); if( CHAR_getInt( attackindex, CHAR_WHICHTYPE ) == CHAR_TYPEPET ){ @@ -5887,7 +5887,7 @@ void BATTLE_Steal( int battleindex, int attackNo, int defNo ) BATTLESTR_ADD( szCommand ); } -#ifdef _PSKILL_FALLGROUND // +#ifdef _PSKILL_FALLGROUND //落马术 int BATTLE_S_FallGround( int battleindex, int attackNo, int defNo, int skill_type) { char szBuffer[512]=""; @@ -5896,8 +5896,8 @@ int BATTLE_S_FallGround( int battleindex, int attackNo, int defNo, int skill_typ int damage=0, petdamage=0, i=0, iWork, Guardian=-1; int flg = 0, DefSide=0,par,ultimate=0, react=0; BOOL iRet = FALSE; - attackindex = BATTLE_No2Index( battleindex, attackNo ); //index - defindex = BATTLE_No2Index( battleindex, defNo ); //طindex + attackindex = BATTLE_No2Index( battleindex, attackNo ); //攻方index + defindex = BATTLE_No2Index( battleindex, defNo ); //守方index if( defNo >= SIDE_OFFSET ){ @@ -5905,8 +5905,8 @@ int BATTLE_S_FallGround( int battleindex, int attackNo, int defNo, int skill_typ DefSide = 1; } react = 0; - react = BATTLE_GetDamageReact( defindex);//й⾵ - //ȡù״̬ + react = BATTLE_GetDamageReact( defindex);//有光镜守 + //取得攻击後状态 iWork = BATTLE_AttackSeq( attackindex, defindex, &damage, &Guardian, BATTLE_COM_S_FALLRIDE ); @@ -5914,7 +5914,7 @@ int BATTLE_S_FallGround( int battleindex, int attackNo, int defNo, int skill_typ ultimate = BATTLE_DamageSub( attackindex, defindex, &damage, &petdamage, &react ); if( react == BATTLE_MD_REFLEC ) defindex = attackindex; -#ifdef _PROFESSION_SKILL // WON ADD ְҵ +#ifdef _PROFESSION_SKILL // WON ADD 人物职业技能 if( react == BATTLE_MD_TRAP ) defindex = attackindex; #endif #ifdef _PETSKILL_ACUPUNCTURE @@ -5931,7 +5931,7 @@ int BATTLE_S_FallGround( int battleindex, int attackNo, int defNo, int skill_typ case BATTLE_RET_ALLGUARD: case BATTLE_RET_MISS: //snprintf( szBuffer, sizeof(szBuffer), - // "(%s)(%s),ûС", + // "(%s)朝向(%s)发动绝技,没击中。", // CHAR_getUseName( attackindex ), // CHAR_getUseName( defindex ) //); @@ -5939,7 +5939,7 @@ int BATTLE_S_FallGround( int battleindex, int attackNo, int defNo, int skill_typ break; case BATTLE_RET_DODGE: //snprintf( szBuffer, sizeof(szBuffer), - // "(%s)չ(%s)㿪(%.2f%%)", + // "(%s)展开防御攻击(%s)躲开了(%.2f%%)", // CHAR_getUseName( attackindex ), // CHAR_getUseName( defindex ), // gDuckPer @@ -5949,7 +5949,7 @@ int BATTLE_S_FallGround( int battleindex, int attackNo, int defNo, int skill_typ break; case BATTLE_RET_NORMAL: //snprintf( szBuffer, sizeof(szBuffer), - // "(%s)ܵ(%s)ľ(%d)(%d:%d:%d%%)", + // "(%s)受到(%s)的绝技攻击(%d)损伤(%d:%d:%d%%)", // CHAR_getUseName( attackindex ), // CHAR_getUseName( defindex ), // damage, @@ -5964,7 +5964,7 @@ int BATTLE_S_FallGround( int battleindex, int attackNo, int defNo, int skill_typ break; case BATTLE_RET_CRITICAL: //snprintf( szBuffer, sizeof(szBuffer), - //"(%s)ܵ(%s)ľCRITICAL(%d)(%d:%d:%d%%)", + //"(%s)受到(%s)的绝技CRITICAL(%d)损伤(%d:%d:%d%%)", // CHAR_getUseName( attackindex ), // CHAR_getUseName( defindex ), // damage, @@ -5979,7 +5979,7 @@ int BATTLE_S_FallGround( int battleindex, int attackNo, int defNo, int skill_typ #ifdef _EQUIT_ARRANGE case BATTLE_RET_ARRANGE: //snprintf( szBuffer, sizeof(szBuffer), - // "(%s)(%s)(%.2f%%)", + // "(%s)攻击了(%s)挡掉了(%.2f%%)", // CHAR_getUseName( attackindex ), // CHAR_getUseName( defindex ), // gDuckPer @@ -5999,7 +5999,7 @@ int BATTLE_S_FallGround( int battleindex, int attackNo, int defNo, int skill_typ #ifdef _PREVENT_TEAMATTACK && BATTLE_CheckSameSide( attackindex, defNo) == 0 #endif - ){ // + ){ //落马 int fallflg = RAND( 0, 100); if( #ifdef _EQUIT_RESIST @@ -6009,7 +6009,7 @@ int BATTLE_S_FallGround( int battleindex, int attackNo, int defNo, int skill_typ #endif ){ if( CHAR_getInt( defindex , CHAR_WHICHTYPE ) == CHAR_TYPEPLAYER ) { -#ifdef _FIXPETFALL //Syu ADD +#ifdef _FIXPETFALL //Syu ADD 修正落马术 if( CHAR_getInt( defindex, CHAR_RIDEPET) >= 0 ) { #else if( CHAR_getInt( defindex, CHAR_RIDEPET) > 0 ) { @@ -6050,7 +6050,7 @@ int BATTLE_S_FallGround( int battleindex, int attackNo, int defNo, int skill_typ } } #ifdef _PETSKILL_LER -// ׶ܱ +// 雷尔不能被打飞 if(CHAR_getInt(defindex,CHAR_BASEBASEIMAGENUMBER) == 101813 || CHAR_getInt(defindex,CHAR_BASEBASEIMAGENUMBER) == 101814) ultimate = 0; #endif @@ -6231,7 +6231,7 @@ int BATTLE_E_ENEMYHELP( int battleindex, int attackNo, int defNo, int skill_type if( BATTLE_NewEntry( enindex, battleindex, Side) ) { //CHAR_setWorkInt( enindex, CHAR_WORKBATTLEMODE, BATTLE_CHARMODE_RESCUE ); CHAR_setWorkInt( enindex, CHAR_WORKBATTLEMODE, BATTLE_CHARMODE_C_OK ); - //snprintf( szBuffer, sizeof( szBuffer ), "(%s)ս", + //snprintf( szBuffer, sizeof( szBuffer ), "(%s)加入作战。", // CHAR_getUseName( enindex ) ); //BATTLE_BroadCast( battleindex, szBuffer, CHAR_COLORYELLOW ); }else { @@ -6255,7 +6255,7 @@ int BATTLE_DefineAttack( int attackindex, int defindex, int iWork, case BATTLE_RET_ALLGUARD: case BATTLE_RET_MISS: //snprintf( szBuffer, sizeof(szBuffer), - // "(%s)(%s),ûС", + // "(%s)朝向(%s)发动绝技,没击中。", // CHAR_getUseName( attackindex ), // CHAR_getUseName( defindex ) //); @@ -6263,7 +6263,7 @@ int BATTLE_DefineAttack( int attackindex, int defindex, int iWork, break; case BATTLE_RET_DODGE: //snprintf( szBuffer, sizeof(szBuffer), - // "(%s)չ(%s)㿪(%.2f%%)", + // "(%s)展开防御攻击(%s)躲开了(%.2f%%)", // CHAR_getUseName( attackindex ), // CHAR_getUseName( defindex ), // gDuckPer @@ -6273,7 +6273,7 @@ int BATTLE_DefineAttack( int attackindex, int defindex, int iWork, break; case BATTLE_RET_NORMAL: //snprintf( szBuffer, sizeof(szBuffer), - // "(%s)ܵ(%s)ľ(%d)(%d:%d:%d%%)", + // "(%s)受到(%s)的绝技攻击(%d)损伤(%d:%d:%d%%)", // CHAR_getUseName( attackindex ), // CHAR_getUseName( defindex ), // damage, @@ -6288,7 +6288,7 @@ int BATTLE_DefineAttack( int attackindex, int defindex, int iWork, break; case BATTLE_RET_CRITICAL: //snprintf( szBuffer, sizeof(szBuffer), - //"(%s)ܵ(%s)ľCRITICAL(%d)(%d:%d:%d%%)", + //"(%s)受到(%s)的绝技CRITICAL(%d)损伤(%d:%d:%d%%)", // CHAR_getUseName( attackindex ), // CHAR_getUseName( defindex ), // damage, @@ -6303,7 +6303,7 @@ int BATTLE_DefineAttack( int attackindex, int defindex, int iWork, #ifdef _EQUIT_ARRANGE case BATTLE_RET_ARRANGE: //snprintf( szBuffer, sizeof(szBuffer), - // "(%s)(%s)(%.2f%%)", + // "(%s)攻击了(%s)挡掉了(%.2f%%)", // CHAR_getUseName( attackindex ), // CHAR_getUseName( defindex ), // gDuckPer @@ -6335,7 +6335,7 @@ int BATTLE_DefDieType( int defindex, int iRet, int *ultimate, int *flg, char *sz } #ifdef _PETSKILL_LER -// ׶ܱ +// 雷尔不能被打飞 if(CHAR_getInt(defindex,CHAR_BASEBASEIMAGENUMBER) == 101813 || CHAR_getInt(defindex,CHAR_BASEBASEIMAGENUMBER) == 101814) *ultimate = 0; #endif @@ -6361,7 +6361,7 @@ int BATTLE_S_DamageToHp( int battleindex, int attackindex, int defindex, int Dam int A_HP=0, pHP,defi=0; float def=0.00; if( Damage < 1 ) return A_HP; - if( BATTLE_GetDamageReact( defindex) > 0 )//й⾵ + if( BATTLE_GetDamageReact( defindex) > 0 )//有光镜守 return A_HP; pszOption = PETSKILL_getChar( skill, PETSKILL_OPTION ); @@ -6393,7 +6393,7 @@ int BATTLE_S_DamageToHp2( int battleindex, int attackindex, int defindex, int Da int A_HP=0, pHP,defi=0; float def=0.00; if( Damage < 1 ) return A_HP; - if( BATTLE_GetDamageReact( defindex) > 0 )//й⾵ + if( BATTLE_GetDamageReact( defindex) > 0 )//有光镜守 return A_HP; pszOption = PETSKILL_getChar( skill, PETSKILL_OPTION ); @@ -6410,7 +6410,7 @@ int BATTLE_S_DamageToHp2( int battleindex, int attackindex, int defindex, int Da if( (A_HP+CHAR_getInt( attackindex, CHAR_HP)) > CHAR_getWorkInt( attackindex, CHAR_WORKMAXHP ) ){ A_HP = CHAR_getWorkInt( attackindex, CHAR_WORKMAXHP )-CHAR_getInt( attackindex, CHAR_HP); } - //print("\n:%d Ѫ:%d",Damage,A_HP); + //print("\n伤:%d 回血:%d",Damage,A_HP); pHP = CHAR_getInt( attackindex, CHAR_HP) + A_HP; CHAR_setInt( attackindex, CHAR_HP, min( pHP, CHAR_getWorkInt( attackindex, CHAR_WORKMAXHP ))); CHAR_send_P_StatusString( attackindex, CHAR_P_STRING_HP); @@ -6426,7 +6426,7 @@ int BATTLE_S_MpDamage( int battleindex, int attackindex, int defindex, int damag int D_MP=0,defi=0; float def=0.00; if( damage < 1 ) return D_MP; - if( BATTLE_GetDamageReact( defindex) > 0 )//й⾵ + if( BATTLE_GetDamageReact( defindex) > 0 )//有光镜守 return D_MP; if( CHAR_getInt( defindex, CHAR_WHICHTYPE) == CHAR_TYPEENEMY || CHAR_getInt( defindex, CHAR_WHICHTYPE) == CHAR_TYPEPET ) @@ -6450,7 +6450,7 @@ int BATTLE_S_MpDamage( int battleindex, int attackindex, int defindex, int damag void BATTLE_S_ToothCrushe( int battleindex, int attackindex, int defindex, int damage, int skill) { int crushindex, itemindex; //aszCrushTbl - //char *strCrushTbl[] = { "", "", "ٻ" , "ʹ" , "Ƭ" }; + //char *strCrushTbl[] = { "完好", "受损", "毁坏" , "不堪使用" , "碎片" }; if( CHAR_getInt( defindex, CHAR_WHICHTYPE) != CHAR_TYPEPLAYER #ifdef _TAKE_ITEMDAMAGE_FOR_PET && CHAR_getInt( defindex, CHAR_WHICHTYPE) == CHAR_TYPEPET @@ -6484,18 +6484,18 @@ void BATTLE_S_ToothCrushe( int battleindex, int attackindex, int defindex, int d if( crushenum <= 0 ) { char buf2[256]; - sprintf(buf2, "%s𻵶ʧ\n", ITEM_getChar( itemindex, ITEM_NAME)); + sprintf(buf2, "%s因过度损坏而消失。\n", ITEM_getChar( itemindex, ITEM_NAME)); CHAR_talkToCli( defindex, -1, buf2, CHAR_COLORYELLOW); // LogItem( // CHAR_getChar( defindex, CHAR_NAME ), // CHAR_getChar( defindex, CHAR_CDKEY ), -//#ifdef _add_item_log_name // WON ADD itemlogitem +//#ifdef _add_item_log_name // WON ADD 在item的log中增加item名称 // itemindex, //#else // ITEM_getInt( itemindex, ITEM_ID ), //#endif -// "𻵶ʧ", +// "因过度损坏而消失", // CHAR_getInt( defindex,CHAR_FLOOR), // CHAR_getInt( defindex,CHAR_X ), // CHAR_getInt( defindex,CHAR_Y ), @@ -6509,9 +6509,9 @@ void BATTLE_S_ToothCrushe( int battleindex, int attackindex, int defindex, int d }else { char buf2[256]; - sprintf( buf2, "%s%sġ", ITEM_getChar( itemindex, ITEM_NAME ), aszCrushTbl[level] ); + sprintf( buf2, "%s是%s的。", ITEM_getChar( itemindex, ITEM_NAME ), aszCrushTbl[level] ); CHAR_talkToCli( defindex, -1, buf2, CHAR_COLORYELLOW); - //ĵ˵ + //更改道具说明 // buf1 = ITEM_getChar( itemindex, ITEM_SECRETNAME); // if( strstr( buf1, "(") != 0 ) { // char buf5[256]; @@ -6583,7 +6583,7 @@ int BATTLE_S_PetSkillProperty( int battleindex, int attackNo, int skill_type, in if( pszP == "\0" ) return iRet; - attackindex = BATTLE_No2Index( battleindex, attackNo ); //index + attackindex = BATTLE_No2Index( battleindex, attackNo ); //攻方index if( !CHAR_CHECKINDEX( attackindex)) return iRet; switch( skill_type){ case BATTLE_COM_S_PROPERTYSKILL: @@ -6592,7 +6592,7 @@ int BATTLE_S_PetSkillProperty( int battleindex, int attackNo, int skill_type, in ch = CHAR_getCharPointer( attackindex); if( ch == NULL ) return iRet; strcpysafe( ch->charfunctable[CHAR_BATTLEPROPERTY].string, - sizeof( ch->charfunctable[CHAR_BATTLEPROPERTY]), pszP);//ս + sizeof( ch->charfunctable[CHAR_BATTLEPROPERTY]), pszP);//战斗 CHAR_constructFunctable( attackindex); iRet = TRUE; } @@ -6618,9 +6618,9 @@ int BATTLE_S_AttackDamage( int battleindex, int attackNo, int defNo, int skill_t if( pszP == "\0" ) return iRet; react = 0; - attackindex = BATTLE_No2Index( battleindex, attackNo ); //index - defindex = BATTLE_No2Index( battleindex, defNo ); //طindex - if( (ReactType=BATTLE_GetDamageReact( defindex)) > 0 ) { //й⾵ + attackindex = BATTLE_No2Index( battleindex, attackNo ); //攻方index + defindex = BATTLE_No2Index( battleindex, defNo ); //守方index + if( (ReactType=BATTLE_GetDamageReact( defindex)) > 0 ) { //有光镜守 react = ReactType; #ifdef _BATTLE_LIGHTTAKE if( skill_type == BATTLE_COM_S_LIGHTTAKE ){ @@ -6646,7 +6646,7 @@ int BATTLE_S_AttackDamage( int battleindex, int attackNo, int defNo, int skill_t DefSide = 1; } - //ȡù״̬ + //取得攻击後状态 iWork = BATTLE_AttackSeq( attackindex, defindex, &damage, &Guardian, skill_type ); switch( skill_type){ @@ -6683,7 +6683,7 @@ int BATTLE_S_AttackDamage( int battleindex, int attackNo, int defNo, int skill_t if( react == BATTLE_MD_REFLEC ) defindex = attackindex; -#ifdef _PROFESSION_SKILL // WON ADD ְҵ +#ifdef _PROFESSION_SKILL // WON ADD 人物职业技能 if( react == BATTLE_MD_TRAP ) defindex = attackindex; #endif @@ -6698,7 +6698,7 @@ int BATTLE_S_AttackDamage( int battleindex, int attackNo, int defNo, int skill_t if( CHAR_getInt( defindex, CHAR_HP ) <= 0 ) iRet = BATTLE_DefDieType( defindex, iRet, &ultimate, &flg, szBuffer); #ifdef _PETSKILL_ANTINTER - //ǿƽij + //强制将死掉的宠打飞 if( CHAR_getWorkInt( attackindex, CHAR_WORKBATTLECOM1 ) == BATTLE_COM_S_ANTINTER && CHAR_getInt( defindex, CHAR_WHICHTYPE ) == CHAR_TYPEPET ){ ultimate = 2; @@ -6706,7 +6706,7 @@ int BATTLE_S_AttackDamage( int battleindex, int attackNo, int defNo, int skill_t flg |= BCF_DEATH; flg |= BCF_ULTIMATE_2; CHAR_setWorkInt( defindex, CHAR_WORKULTIMATE, 0 ); - damage=1;//ж damage<=0 skill_type=-1 damageΪ1 + damage=1;//因後面有判断若 damage<=0 则 skill_type=-1 所以这里damage设为1 } #endif @@ -6721,7 +6721,7 @@ int BATTLE_S_AttackDamage( int battleindex, int attackNo, int defNo, int skill_t } if( damage <= 0 ) { -#ifdef _SONIC_ATTACK // WON ADD +#ifdef _SONIC_ATTACK // WON ADD 音波攻击 if( skill_type != BATTLE_COM_S_SONIC && skill_type != BATTLE_COM_S_SONIC2 #ifdef _PETSKILL_REGRET && skill_type != BATTLE_COM_S_REGRET && skill_type != BATTLE_COM_S_REGRET2 @@ -6778,7 +6778,7 @@ int BATTLE_S_AttackDamage( int battleindex, int attackNo, int defNo, int skill_t #endif #ifdef _SKILL_TOOTH - case BATTLE_COM_S_TOOTHCRUSHE: //ܳ tooth + case BATTLE_COM_S_TOOTHCRUSHE: //囓齿术 tooth flg |= BCF_TOOTH; BATTLE_S_ToothCrushe( battleindex, attackindex, defindex, damage, skill); snprintf( szCommand, sizeof( szCommand ), "BH|a%X|r%X|f%X|d%X|p%X|FF|", @@ -6811,7 +6811,7 @@ int BATTLE_S_AttackDamage( int battleindex, int attackNo, int defNo, int skill_t snprintf( szCommand, sizeof( szCommand ), "BH|a%X|r%X|f%X|d%X|p%X|FF|", attackNo, defNo, flg, damage, petdamage ); BATTLESTR_ADD( szCommand ); - if( timid < 15 && damage > 1 ){//ս + if( timid < 15 && damage > 1 ){//怯战 BATTLE_NoAction( battleindex, defNo ); sprintf( szCommand, "BE|e%X|", defNo ); BATTLESTR_ADD( szCommand ); @@ -6831,7 +6831,7 @@ int BATTLE_S_AttackDamage( int battleindex, int attackNo, int defNo, int skill_t }else { BATTLE_Exit( defindex, battleindex); - CHAR_DischargePartyNoMsg( defindex);//ɢŶ + CHAR_DischargePartyNoMsg( defindex);//解散团队 } } } @@ -6843,7 +6843,7 @@ int BATTLE_S_AttackDamage( int battleindex, int attackNo, int defNo, int skill_t int timid=0; char *timidc=NULL; pszP = PETSKILL_getChar( skill, PETSKILL_OPTION ); - if( ( timidc = strstr( pszP, "%" ) ) != NULL ) + if( ( timidc = strstr( pszP, "命%" ) ) != NULL ) sscanf( timidc+3,"%d", &timid ); snprintf( szCommand, sizeof( szCommand ), "BH|a%X|r%X|f%X|d%X|p%X|FF|", attackNo, defNo, flg, damage, petdamage ); @@ -6884,8 +6884,8 @@ int BATTLE_S_AttackDamage( int battleindex, int attackNo, int defNo, int skill_t BATTLESTR_ADD( szCommand ); if( CHAR_getInt( defindex, CHAR_WHICHTYPE ) == CHAR_TYPEPET ){ int defkoyaindex = CHAR_getWorkInt( defindex, CHAR_WORKPLAYERINDEX ); - BATTLE_PetDefaultExit( defkoyaindex, battleindex );//뿪ս - CHAR_setInt( defkoyaindex, CHAR_DEFAULTPET, -1 );//趨޲ս + BATTLE_PetDefaultExit( defkoyaindex, battleindex );//宠物离开战场 + CHAR_setInt( defkoyaindex, CHAR_DEFAULTPET, -1 );//设定无参战宠物 } } break; @@ -6918,15 +6918,15 @@ int BATTLE_S_AttackDamage( int battleindex, int attackNo, int defNo, int skill_t break; #endif -#ifdef _SONIC_ATTACK // WON ADD - // ˺ +#ifdef _SONIC_ATTACK // WON ADD 音波攻击 + // 宠物伤害 case BATTLE_COM_S_SONIC: { int img2=0; if( defNo >= 10 ) img2 = 101703; else img2 = 101704; - flg |= BCF_B_SKILLACT; //ͼ + flg |= BCF_B_SKILLACT; //击中後秀图 snprintf( szCommand, sizeof( szCommand ), "B+|a%X|r%X|f%X|d%X|e%X|s%X|h%X|FF|", attackNo, defNo, flg, damage, 0, 0, img2 ); @@ -6934,7 +6934,7 @@ int BATTLE_S_AttackDamage( int battleindex, int attackNo, int defNo, int skill_t break; } - // ˺ + // 人物伤害 case BATTLE_COM_S_SONIC2: { sprintf( szCommand, "BD|r%X|0|0|d%X|p%X|", defNo, damage, petdamage ); @@ -6944,17 +6944,17 @@ int BATTLE_S_AttackDamage( int battleindex, int attackNo, int defNo, int skill_t } #endif #ifdef _PETSKILL_REGRET - // ˺ + // 宠物伤害 case BATTLE_COM_S_REGRET: { int img2=0,Success=0; char *psz = NULL; - if( (psz = strstr( pszP, "%" ) ) != NULL ) sscanf( psz+3, "%d", &Success ); + if( (psz = strstr( pszP, "命%" ) ) != NULL ) sscanf( psz+3, "%d", &Success ); if( (PROFESSION_BATTLE_StatusAttackCheck( attackindex, defindex, 12, Success ) == 0 ) || (CHAR_getInt( defindex, CHAR_HP ) <= 0 ) ){ }else{ - CHAR_setWorkInt( defindex, StatusTbl[12], 2 );//ѣ1غ + CHAR_setWorkInt( defindex, StatusTbl[12], 2 );//晕眩1回合 CHAR_setWorkInt( defindex, CHAR_WORKBATTLECOM1, BATTLE_COM_NONE ); BATTLE_BadStatusString( defNo, 12 ); } @@ -6962,23 +6962,23 @@ int BATTLE_S_AttackDamage( int battleindex, int attackNo, int defNo, int skill_t if( defNo >= 10 ) img2 = 101418;//101703; else img2 = 101418;//101704; - flg |= BCF_B_SKILLACT; //ͼ + flg |= BCF_B_SKILLACT; //击中後秀图 snprintf( szCommand, sizeof( szCommand ), "B+|a%X|r%X|f%X|d%X|e%X|s%X|h%X|FF|", attackNo, defNo, flg, damage, 0, 0, img2 ); BATTLESTR_ADD( szCommand ); break; } - // ˺ + // 人物伤害 case BATTLE_COM_S_REGRET2: { int Success; char *psz = NULL; - if( (psz = strstr( pszP, "%" ) ) != NULL ) sscanf( psz+3, "%d", &Success ); + if( (psz = strstr( pszP, "命%" ) ) != NULL ) sscanf( psz+3, "%d", &Success ); if( (PROFESSION_BATTLE_StatusAttackCheck( attackindex, defindex, 12, Success ) == 0 ) || (CHAR_getInt( defindex, CHAR_HP ) <= 0 ) ){ }else{ - CHAR_setWorkInt( defindex, StatusTbl[12], 2 );//ѣ1غ + CHAR_setWorkInt( defindex, StatusTbl[12], 2 );//晕眩1回合 CHAR_setWorkInt( defindex, CHAR_WORKBATTLECOM1, BATTLE_COM_NONE ); BATTLE_BadStatusString( defNo, 12 ); } @@ -7012,7 +7012,7 @@ int PETSKILL_MagicStatusChange_Battle( int battleindex, int attackNo, int toNo, int status = -1, i, turn = 3, nums=0; int ReceveEffect, charaindex=-1; char buf1[256]; - charaindex = BATTLE_No2Index( battleindex, attackNo ); //index + charaindex = BATTLE_No2Index( battleindex, attackNo ); //攻方index if( !CHAR_CHECKINDEX( charaindex)) return FALSE; magicarg = PETSKILL_getChar( marray, PETSKILL_OPTION ); if( getStringFromIndexWithDelim( magicarg,"|",1, buf1, sizeof( buf1)) == FALSE ) @@ -7031,13 +7031,13 @@ int PETSKILL_MagicStatusChange_Battle( int battleindex, int attackNo, int toNo, nums = atoi( buf1); if( getStringFromIndexWithDelim( magicarg,"|",4, buf1, sizeof( buf1)) == FALSE ) return FALSE; - if( strstr( buf1, "") != 0 ) { + if( strstr( buf1, "单") != 0 ) { if( toNo >= 20 ) return FALSE; } battleindex = CHAR_getWorkInt( charaindex, CHAR_WORKBATTLEINDEX ); //attackNo = BATTLE_Index2No( battleindex, charaindex ); -/* //ͼž +/* //动画图号决定 if( status == BATTLE_ST_NONE ){ ReceveEffect = SPR_tyusya; }else{ @@ -7061,7 +7061,7 @@ int PETSKILL_SetDuckChange_Battle( int battleindex, int attackNo, int toNo, int int charaindex=-1; char buf1[256]; - charaindex = BATTLE_No2Index( battleindex, attackNo ); //index + charaindex = BATTLE_No2Index( battleindex, attackNo ); //攻方index if( !CHAR_CHECKINDEX( charaindex)) return FALSE; if( BATTLE_No2Index( battleindex, toNo ) != charaindex ) return FALSE; @@ -7102,7 +7102,7 @@ int PETSKILL_SetMagicPet_Battle( int battleindex, int attackNo, int toNo, int ma int charaindex=-1; char buf1[256]; - charaindex = BATTLE_No2Index( battleindex, attackNo ); //index + charaindex = BATTLE_No2Index( battleindex, attackNo ); //攻方index if( !CHAR_CHECKINDEX( charaindex)) return FALSE; if( BATTLE_CHECKINDEX( battleindex ) == FALSE ) return FALSE; @@ -7161,7 +7161,7 @@ int PETSKILL_SetMagicPet_Battle( int battleindex, int attackNo, int toNo, int ma } #endif -#ifdef _SKILL_WEAKEN //vincent輼: +#ifdef _SKILL_WEAKEN //vincent宠技:虚弱 int BATTLE_S_Weaken( int battleindex, int attackNo, @@ -7175,7 +7175,7 @@ int BATTLE_S_Weaken( int ReceveEffect, Success = 0; char *pszP; char szTurn[] = "turn"; - char szSuccess[] = ""; + char szSuccess[] = "成"; magicarg = PETSKILL_getChar( marray, PETSKILL_OPTION ); if( magicarg == "\0" ) { //print("\n magicarg == NULL "); @@ -7237,8 +7237,8 @@ BOOL BATTLE_S_Temptation( int battleindex,int attackNo,int defNo, int skill ) if( CHAR_CHECKINDEX( defindex ) == FALSE )return iRet; if( CHAR_getInt( defindex, CHAR_WHICHTYPE) != CHAR_TYPEPET ) return iRet; if( CHAR_getWorkInt( defindex , CHAR_WORKFIXAI ) <= atoi(magicarg)){ - //ܹ - CHAR_setWorkInt( defindex, CHAR_WORKTEMPTATION , 1 ); //Լ1Ѫ + //技能攻击 + CHAR_setWorkInt( defindex, CHAR_WORKTEMPTATION , 1 ); //用来解除打自己方1滴血的限制 defside = CHAR_getWorkInt( defindex, CHAR_WORKBATTLESIDE); target = CHAR_getWorkInt( defindex, CHAR_WORKBATTLECOM2 ); @@ -7249,10 +7249,10 @@ BOOL BATTLE_S_Temptation( int battleindex,int attackNo,int defNo, int skill ) CHAR_setWorkInt( defindex , CHAR_WORKBATTLECOM2, BATTLE_DefaultAttacker(battleindex,defside)); } - img1 = 101505; //鶯101637; //׼ڶ - img2 = 101502; //鶯101645; //ᶯ + img1 = 101505; //珠珠动画101637; //准备期动画 + img2 = 101502; //珠珠动画101645; //击中後动画 flg |= BCF_NO_DAMAGE; - flg |= BCF_B_SKILLACT; //ͼ + flg |= BCF_B_SKILLACT; //击中後秀图 snprintf( szWork, sizeof( szWork ), "B+|a%X|r%X|f%X|d%X|p%X|e%X|s%X|h%X|FF|", attackNo, defNo, flg, 0, 0, 1 , img1 , img2 ); BATTLESTR_ADD( szWork ); @@ -7263,7 +7263,7 @@ BOOL BATTLE_S_Temptation( int battleindex,int attackNo,int defNo, int skill ) } #endif -#ifdef _SKILL_DEEPPOISON //vincent輼:綾 +#ifdef _SKILL_DEEPPOISON //vincent宠技:剧毒 int BATTLE_S_Deeppoison( int battleindex, int attackNo, int defNo, int marray ) { BOOL iRet = FALSE; @@ -7272,7 +7272,7 @@ int BATTLE_S_Deeppoison( int battleindex, int attackNo, int defNo, int marray ) int ReceveEffect, Success = 0; char *pszP; char szTurn[] = "turn"; - char szSuccess[] = ""; + char szSuccess[] = "成"; magicarg = PETSKILL_getChar( marray, PETSKILL_OPTION ); if( magicarg == "\0" ) { //print("\n magicarg == NULL "); @@ -7315,7 +7315,7 @@ int BATTLE_S_Deeppoison( int battleindex, int attackNo, int defNo, int marray ) } #endif -#ifdef _SKILL_BARRIER //vincent輼:ħ +#ifdef _SKILL_BARRIER //vincent宠技:魔障 int BATTLE_S_Barrier( int battleindex, int attackNo, @@ -7330,9 +7330,9 @@ int BATTLE_S_Barrier( char *magicarg; int Success = 0; char szTurn[] = "turn"; - char szSuccess[] = ""; + char szSuccess[] = "成"; char *pszP; - charaindex = BATTLE_No2Index( battleindex, attackNo ); //index + charaindex = BATTLE_No2Index( battleindex, attackNo ); //攻方index //check index if( CHAR_CHECKINDEX( charaindex ) == FALSE )return FALSE; @@ -7350,12 +7350,12 @@ int BATTLE_S_Barrier( pszP = magicarg; - //ȡûغ + //读取作用回合数 if( ( pszP = strstr( pszP, szTurn ) ) != NULL){ pszP += sizeof( szTurn ); sscanf( pszP, "%d", &turn ); } - // + //命中率 if( ( pszP = strstr( pszP, szSuccess ) ) != NULL){ pszP += sizeof( szSuccess ); sscanf( pszP, "%d", &Success ); @@ -7363,10 +7363,10 @@ int BATTLE_S_Barrier( BATTLE_MultiList( battleindex, defNo, ToList ); - //ʩħЧ + //施魔法动画效果 BATTLE_MagicEffect(battleindex, attackNo, ToList, MAGIC_EFFECT_USER, SPR_hoshi); - //checkǷս + //check是否战斗中 if( IsBATTLING( charaindex ) == TRUE ) { @@ -7384,7 +7384,7 @@ int BATTLE_S_Barrier( } #endif -#ifdef _SKILL_NOCAST //vincent輼:Ĭ +#ifdef _SKILL_NOCAST //vincent宠技:沉默 int BATTLE_S_Nocast( int battleindex, int attackNo, @@ -7399,9 +7399,9 @@ int BATTLE_S_Nocast( char *magicarg; int Success = 0; char szTurn[] = "turn"; - char szSuccess[] = ""; + char szSuccess[] = "成"; char *pszP; - charaindex = BATTLE_No2Index( battleindex, attackNo ); //index + charaindex = BATTLE_No2Index( battleindex, attackNo ); //攻方index //check index if( CHAR_CHECKINDEX( charaindex ) == FALSE )return FALSE; @@ -7419,12 +7419,12 @@ int BATTLE_S_Nocast( pszP = magicarg; - //ȡûغ + //读取作用回合数 if( ( pszP = strstr( pszP, szTurn ) ) != NULL){ pszP += sizeof( szTurn ); sscanf( pszP, "%d", &turn ); } - // + //命中率 if( ( pszP = strstr( pszP, szSuccess ) ) != NULL){ pszP += sizeof( szSuccess ); sscanf( pszP, "%d", &Success ); @@ -7432,17 +7432,17 @@ int BATTLE_S_Nocast( BATTLE_MultiList( battleindex, defNo, ToList ); - //ʩħЧ + //施魔法动画效果 BATTLE_MagicEffect(battleindex, attackNo, ToList, MAGIC_EFFECT_USER, SPR_hoshi); - //checkǷս + //check是否战斗中 if( IsBATTLING( charaindex ) == TRUE ){ for( i = 0; ToList[i] != -1; i ++ ){ toindex = BATTLE_No2Index( battleindex, ToList[i] ); if( BATTLE_StatusAttackCheck( charaindex,toindex, BATTLE_ST_NOCAST, Success, 30, 1.0, &perStatus ) == TRUE && CHAR_getInt( toindex, CHAR_WHICHTYPE) != CHAR_TYPEPET){ - //޷չҳ + //无法展开咒术页 lssproto_NC_send( getfdFromCharaIndex( toindex ), 1); CHAR_setWorkInt( toindex, CHAR_WORKNOCAST, turn ); BATTLE_BadStatusString( ToList[i], BATTLE_ST_NOCAST ); @@ -7465,7 +7465,7 @@ int BATTLE_getReactFlg( int index, int react) flg |= BCF_SUPERWALL; } #endif -#ifdef _PROFESSION_SKILL // WON ADD ְҵ +#ifdef _PROFESSION_SKILL // WON ADD 人物职业技能 if( react == BATTLE_MD_TRAP ) flg |= BCF_TRAP; #endif #ifdef _PETSKILL_ACUPUNCTURE @@ -7484,9 +7484,9 @@ int BATTLE_CheckSameSide( int charaindex, int toNo) MySide = CHAR_getWorkInt( charaindex, CHAR_WORKBATTLESIDE); //toindex = BATTLE_No2Index( battleindex, ToList[i] ); - if( toNo < 20 ){//һĿ + if( toNo < 20 ){//单一目标 toindex = BATTLE_No2Index( battleindex, toNo); - if( CHAR_getWorkInt( toindex, CHAR_WORKBATTLESIDE) == MySide ) return 1;//ͬ + if( CHAR_getWorkInt( toindex, CHAR_WORKBATTLESIDE) == MySide ) return 1;//同边 }else if( toNo){ BATTLE_MultiList( battleindex, toNo, ToList ); @@ -7494,7 +7494,7 @@ int BATTLE_CheckSameSide( int charaindex, int toNo) toindex = BATTLE_No2Index( battleindex, ToList[i] ); if( !CHAR_CHECKINDEX( toindex) ) continue; - if( CHAR_getWorkInt( toindex, CHAR_WORKBATTLESIDE) == MySide ) return 1;//ͬ + if( CHAR_getWorkInt( toindex, CHAR_WORKBATTLESIDE) == MySide ) return 1;//同边 } } return 0; @@ -7520,7 +7520,7 @@ int CHAR_BattleStayLoop( int charaindex) if( CONNECT_getBDTime( fd) < time( NULL) ) { if( CHAR_getWorkInt( charaindex, CHAR_WORKBATTLEMODE ) == BATTLE_CHARMODE_NONE){ if(getNoStayBattle()==1){ - CHAR_talkToCli(charaindex, -1, "Ϊҵ·ԭ쳣뵽·ԡ", CHAR_COLORYELLOW); + CHAR_talkToCli(charaindex, -1, "本线为商业娱乐线路,原地遇敌异常缓慢,请到其他线路尝试。", CHAR_COLORYELLOW); } lssproto_EN_recv( fd, CHAR_getInt( charaindex,CHAR_X), CHAR_getInt( charaindex,CHAR_Y)); CONNECT_setBDTime( fd, (int)time( NULL)); @@ -7531,7 +7531,7 @@ int CHAR_BattleStayLoop( int charaindex) ch = CHAR_getCharPointer( charaindex); if( ch == NULL ) return 0; strcpysafe( ch->charfunctable[CHAR_LOOPFUNCTEMP1].string, - sizeof( ch->charfunctable[CHAR_LOOPFUNCTEMP1]), "");//ս + sizeof( ch->charfunctable[CHAR_LOOPFUNCTEMP1]), "");//战斗 CHAR_setInt( charaindex, CHAR_LOOPINTERVAL, 0); CHAR_constructFunctable( charaindex); } @@ -7549,7 +7549,7 @@ int PET_PetskillPropertyEvent( int Myindex, int defindex, int *damage, int *T_Po if( !CHAR_CHECKINDEX( defindex)) return 0; BATTLE_GetAttr( defindex, My_Pow); - //ת + //被攻击方转变属性 for( i=0; i<4; i++) { int nums = (i+3)%4; if( My_Pow[i] != 0 ){ @@ -7566,9 +7566,9 @@ int PET_PetskillPropertyEvent( int Myindex, int defindex, int *damage, int *T_Po -#ifdef _PROFESSION_SKILL // WON ADD ְҵ +#ifdef _PROFESSION_SKILL // WON ADD 人物职业技能 -// ֱӹʽ +// 直接攻击函式 int battle_profession_attack_fun(int battleindex, int attackNo, int defNo, int charaindex) { char szBuffer[512]=""; @@ -7585,55 +7585,55 @@ int battle_profession_attack_fun(int battleindex, int attackNo, int defNo, int c skill = CHAR_GETWORKINT_LOW( charaindex, CHAR_WORKBATTLECOM3); skill_type=CHAR_getWorkInt( charaindex, CHAR_WORKBATTLECOM1 ); - //index + //攻方index attackindex = BATTLE_No2Index( battleindex, attackNo ); if( CHAR_CHECKINDEX( attackindex ) == FALSE ) return iRet; - //طindex + //守方index defindex = BATTLE_No2Index( battleindex, defNo ); if( CHAR_CHECKINDEX( defindex ) == FALSE ){ return iRet; } - // Ӷ + // 屍体掠夺 if( (CHAR_getInt( defindex, CHAR_HP ) <= 0) && (skill_type != BATTLE_COM_S_PLUNDER) ){ return iRet; } - // սʹü + // 非战斗使用技能 if( !PROFESSION_SKILL_getInt( skill, PROFESSION_SKILL_USE_FLAG) ) return iRet; - // ȡüܲ + // 取得技能参数 pszOption = PROFESSION_SKILL_getChar( skill, PROFESSION_SKILL_OPTION); if( pszOption == "\0" ) return iRet; - // ܵȼ + // 技能等级 skill_level = CHAR_GETWORKINT_HIGH( charaindex, CHAR_WORKBATTLECOM3); skill_level = PROFESSION_CHANGE_SKILL_LEVEL_A( skill_level ); - // ʽ 0ԭ㶯 1ƶ㶯 - if( (pszP = strstr( pszOption, "Ч%" ) ) != NULL ) sscanf( pszP+3, "%d", &effect ); + // 动画方式 0原地秀动画 1人物移动秀动画 + if( (pszP = strstr( pszOption, "效%" ) ) != NULL ) sscanf( pszP+3, "%d", &effect ); - // ׼ڵĶ + // 准备期的动画 img1 = PROFESSION_SKILL_getInt( skill, PROFESSION_SKILL_IMG_1 ); - // Ķ + // 击中後的动画 img2 = PROFESSION_SKILL_getInt( skill, PROFESSION_SKILL_IMG_2 ); - // Ŀһܣ + // 目标地球一周,不动作 if( defNo >= 0 && defNo <= 19 ){ if( CHAR_getWorkInt( defindex, CHAR_WORKBATTLECOM1 ) == BATTLE_COM_S_EARTHROUND0 ){ return iRet; } } - // ȡܲ + // 取出各技能参数 switch( skill_type){ - case BATTLE_COM_S_BRUST: // + case BATTLE_COM_S_BRUST: // 爆击 { int str=0, old_str=0; - // ӹ + // 增加攻击力 old_str = CHAR_getWorkInt( charaindex, CHAR_WORKFIXSTR); str = old_str * ( skill_level * 3 + 100 ) / 100; @@ -7641,10 +7641,10 @@ int battle_profession_attack_fun(int battleindex, int attackNo, int defNo, int c break; } - case BATTLE_COM_S_CHAOS: // ҹ + case BATTLE_COM_S_CHAOS: // 混乱攻击 { int atk = 0; - // 30% + // 减30%攻击力 atk = CHAR_getWorkInt( charaindex, CHAR_WORKATTACKPOWER ); atk = atk * 70 / 100; CHAR_setWorkInt(charaindex,CHAR_WORKATTACKPOWER, atk ); @@ -7655,7 +7655,7 @@ int battle_profession_attack_fun(int battleindex, int attackNo, int defNo, int c break; } - case BATTLE_COM_S_CHAIN_ATK: // + case BATTLE_COM_S_CHAIN_ATK: // 连环攻击 { int rand_num = RAND(1, 100); int hit; @@ -7665,45 +7665,45 @@ int battle_profession_attack_fun(int battleindex, int attackNo, int defNo, int c hit = skill_level * 5 + 15; if( rand_num <= hit ) - atk_num=2; // + atk_num=2; // 攻击二次 else atk_num=0; break; } - case BATTLE_COM_S_ENRAGE_PET: // ŭ + case BATTLE_COM_S_ENRAGE_PET: // 激怒宠物 { - // жǷͬ + // 判断是否同队 if( BATTLE_CheckSameSide( charaindex, defNo) != 1 ) return iRet; defNo = attackNo; - // 1 + // 攻击力 1 CHAR_setWorkInt(charaindex,CHAR_WORKATTACKPOWER, 0 ); break; } - case BATTLE_COM_S_CHAIN_ATK_2: // ˫ع + case BATTLE_COM_S_CHAIN_ATK_2: // 双重攻击 { int atkpower = 0; - int absrob_num = CHAR_getWorkInt( defindex, CHAR_WORKDAMAGEABSROB ); // - //int reflec_num = CHAR_getWorkInt( defindex, CHAR_WORKDAMAGEREFLEC ); // - int evanish_num = CHAR_getWorkInt( defindex, CHAR_WORKDAMAGEVANISH ); // - int trap_num = CHAR_getWorkInt( defindex, CHAR_WORKTRAP ); // + int absrob_num = CHAR_getWorkInt( defindex, CHAR_WORKDAMAGEABSROB ); // 光 + //int reflec_num = CHAR_getWorkInt( defindex, CHAR_WORKDAMAGEREFLEC ); // 镜 + int evanish_num = CHAR_getWorkInt( defindex, CHAR_WORKDAMAGEVANISH ); // 守 + int trap_num = CHAR_getWorkInt( defindex, CHAR_WORKTRAP ); // 陷阱 if( absrob_num > 0 ) CHAR_setWorkInt( defindex, CHAR_WORKDAMAGEABSROB, max(absrob_num - 1, 0) ); - //if( reflec_num > 0 ) CHAR_setWorkInt( defindex, CHAR_WORKDAMAGEREFLEC, max(reflec_num - 1, 0) );//þЧ,Ҫõ + //if( reflec_num > 0 ) CHAR_setWorkInt( defindex, CHAR_WORKDAMAGEREFLEC, max(reflec_num - 1, 0) );//让镜有效,这行要拿掉 if( evanish_num > 0 ) CHAR_setWorkInt( defindex, CHAR_WORKDAMAGEVANISH, max(evanish_num - 1, 0) ); if( trap_num > 0 ) CHAR_setWorkInt( defindex, CHAR_WORKTRAP, 0 ); - // һ¹ 0 + // 第一下攻击力 0 CHAR_setWorkInt(charaindex,CHAR_WORKATTACKPOWER, 0 ); snprintf( szCommand, sizeof( szCommand ), "B+|a%X|r%X|f%X|d%X|p%X|e%X|s%X|h%X|", attackNo, defNo, BCF_NO_DAMAGE, 0, 0, effect, img1, img2 ); BATTLESTR_ADD( szCommand ); - // ӹ + // 增加攻击力 atkpower =(int)( CHAR_getWorkInt(charaindex,CHAR_WORKFIXSTR) * (skill_level * 2 + 100) /100 ); CHAR_setWorkInt(charaindex,CHAR_WORKATTACKPOWER, atkpower ); @@ -7718,7 +7718,7 @@ int battle_profession_attack_fun(int battleindex, int attackNo, int defNo, int c return iRet; } - case BATTLE_COM_S_DEAD_ATTACK: // + case BATTLE_COM_S_DEAD_ATTACK: // 濒死攻击 { int hit=0, hp=0, old_hp=0, rate=0; @@ -7727,7 +7727,7 @@ int battle_profession_attack_fun(int battleindex, int attackNo, int defNo, int c hp = old_hp * rate / 100; if( old_hp <= 10 ){ - CHAR_talkToCli( charaindex, -1, "HP㣬޷ʹü", CHAR_COLORYELLOW); + CHAR_talkToCli( charaindex, -1, "HP不足,无法使用技能", CHAR_COLORYELLOW); return iRet; } @@ -7736,7 +7736,7 @@ int battle_profession_attack_fun(int battleindex, int attackNo, int defNo, int c CHAR_setWorkInt(charaindex,CHAR_WORKHITRIGHT, CHAR_getWorkInt(charaindex,CHAR_WORKHITRIGHT) + hit ); CHAR_setWorkInt( charaindex, CHAR_MYSKILLHIT, 1); CHAR_setWorkInt( charaindex, CHAR_MYSKILLHIT_NUM, hit); - CHAR_talkToCli( charaindex, -1, "", CHAR_COLORYELLOW); + CHAR_talkToCli( charaindex, -1, "命中率上升", CHAR_COLORYELLOW); sprintf( szCommand, "BD|r%X|0|1|%X|", attackNo, (-1) * (old_hp - hp) ); BATTLESTR_ADD( szCommand ); @@ -7744,20 +7744,20 @@ int battle_profession_attack_fun(int battleindex, int attackNo, int defNo, int c CHAR_setInt(charaindex, CHAR_HP, hp); break; } - case BATTLE_COM_S_ATTACK_WEAK: // 㹥 + case BATTLE_COM_S_ATTACK_WEAK: // 弱点攻击 { float str=0.0, dex=0.0; int whichtype; whichtype = CHAR_getInt( defindex, CHAR_WHICHTYPE); - // ĿΪʱ + // 目标为宠物时升攻 if( (whichtype == CHAR_TYPEPET) || (whichtype == CHAR_TYPEENEMY) ){ str = skill_level * 2 +10 + 100; CHAR_setWorkInt(charaindex,CHAR_WORKATTACKPOWER, CHAR_getWorkInt(charaindex,CHAR_WORKATTACKPOWER) * (str/100) ); } - // + // 降敏 dex = 100 - ( skill_level + 10 ); CHAR_setWorkInt(charaindex,CHAR_WORKQUICK, CHAR_getWorkInt(charaindex,CHAR_WORKFIXDEX) * (dex/100) ); sprintf( szCommand, "BD|r%X|0|6|%X|", attackNo, (-1) * (skill_level + 10) ); @@ -7765,14 +7765,14 @@ int battle_profession_attack_fun(int battleindex, int attackNo, int defNo, int c break; } - case BATTLE_COM_S_PLUNDER: // Ӷ + case BATTLE_COM_S_PLUNDER: // 屍体掠夺 { char pBidList[BATTLE_ENTRY_MAX*2+1]; int item, start = 0; memset( pBidList, -1, sizeof(pBidList) ); pBidList[0] = defNo; - // ӶĿ + // 掠夺的目标 defNo = CHAR_getWorkInt( charaindex, CHAR_WORKBATTLECOM2 ); defindex = BATTLE_No2Index( battleindex, defNo ); if( CHAR_getInt( defindex, CHAR_WHICHTYPE) != CHAR_TYPEENEMY ) return 1; @@ -7801,7 +7801,7 @@ int battle_profession_attack_fun(int battleindex, int attackNo, int defNo, int c item_name = ITEM_getChar( itemindex, ITEM_NAME); - sprintf( msg, "õ%s", item_name ); + sprintf( msg, "得到%s", item_name ); CHAR_talkToCli( charaindex, -1, msg, CHAR_COLORYELLOW); CHAR_setItemIndex( enemy_index, item, -1 ); @@ -7823,7 +7823,7 @@ int battle_profession_attack_fun(int battleindex, int attackNo, int defNo, int c react = 0; - if( (ReactType=BATTLE_GetDamageReact( defindex)) > 0 ) { //й⾵ + if( (ReactType=BATTLE_GetDamageReact( defindex)) > 0 ) { //有光镜守 react = ReactType; if( skill_type != BATTLE_COM_S_CHAIN_ATK ){ react=0; @@ -7837,14 +7837,14 @@ int battle_profession_attack_fun(int battleindex, int attackNo, int defNo, int c DefSide = 1; } - //ȡù״̬ + //取得攻击後状态 iWork = BATTLE_AttackSeq( attackindex, defindex, &damage, &Guardian, skill_type ); - if( skill_type == BATTLE_COM_S_ENRAGE_PET ){//üŭ\ܲҪĴ + if( skill_type == BATTLE_COM_S_ENRAGE_PET ){//让激怒宠物技能不要真的打死宠物 if( CHAR_getInt( defindex, CHAR_HP ) <= damage ){ damage = 0; } } - if( skill_type == BATTLE_COM_S_CAVALRY) // ﹥ + if( skill_type == BATTLE_COM_S_CAVALRY) // 座骑攻击 ultimate = BATTLE_PROFESSION_ATK_PET_DamageSub( attackindex, defindex, &damage, &petdamage, &react, skill_level ); else ultimate = BATTLE_DamageSub( attackindex, defindex, &damage, &petdamage, &react); @@ -7860,13 +7860,13 @@ int battle_profession_attack_fun(int battleindex, int attackNo, int defNo, int c iRet = BATTLE_DefineAttack( attackindex, defindex, iWork, szBuffer, damage, react, &flg); - // NORMAL CRITICAL flg ij ְҵflg + // 将 NORMAL 及 CRITICAL 的 flg 改成 职业的flg if( img2 != 0 ){ if( flg == BCF_NORMAL || flg == BCF_KAISHIN ){ - if( (pszP = strstr( pszOption, "ǰ" ) ) != NULL ) - flg |= BCF_F_SKILLACT; //ǰͼ + if( (pszP = strstr( pszOption, "前" ) ) != NULL ) + flg |= BCF_F_SKILLACT; //击中前秀图 else - flg |= BCF_B_SKILLACT; // + flg |= BCF_B_SKILLACT; //击中後秀 } } @@ -7882,17 +7882,17 @@ int battle_profession_attack_fun(int battleindex, int attackNo, int defNo, int c memset( szCommand, 0, sizeof( szCommand)); switch( skill_type){ - case BATTLE_COM_S_BRUST: // - case BATTLE_COM_S_DEAD_ATTACK: // - case BATTLE_COM_S_ATTACK_WEAK: // 㹥 - case BATTLE_COM_S_CAVALRY: // ﹥ + case BATTLE_COM_S_BRUST: // 爆击 + case BATTLE_COM_S_DEAD_ATTACK: // 濒死攻击 + case BATTLE_COM_S_ATTACK_WEAK: // 弱点攻击 + case BATTLE_COM_S_CAVALRY: // 座骑攻击 { snprintf( szCommand, sizeof( szCommand ), "B+|a%X|r%X|f%X|d%X|p%X|e%X|s%X|h%X|FF|", attackNo, defNo, flg, damage, petdamage, effect, img1, img2 ); BATTLESTR_ADD( szCommand ); break; } - case BATTLE_COM_S_ENRAGE_PET: // ŭ + case BATTLE_COM_S_ENRAGE_PET: // 激怒宠物 { int str = 0; int turn = 0; @@ -7900,20 +7900,20 @@ int battle_profession_attack_fun(int battleindex, int attackNo, int defNo, int c flg |= BCF_NO_DAMAGE; - flg |= BCF_B_SKILLACT; //ͼ + flg |= BCF_B_SKILLACT; //击中後秀图 defNo = CHAR_getWorkInt( charaindex, CHAR_WORKBATTLECOM2 ); pindex = BATTLE_No2Index( battleindex, defNo ); - // ǷΪ + // 检查是否为宠物 if( CHAR_getInt( pindex, CHAR_WHICHTYPE) != CHAR_TYPEPET ) break; snprintf( szCommand, sizeof( szCommand ), "B+|a%X|r%X|f%X|d%X|p%X|e%X|s%X|h%X|FF|", attackNo, defNo, flg, 0, 0, effect, img1, img2 ); BATTLESTR_ADD( szCommand ); - // ӹ + // 加攻 str = skill_level * 2 + 10; sprintf( szCommand, "BD|r%X|0|4|%X|", defNo, str); BATTLESTR_ADD( szCommand ); @@ -7927,7 +7927,7 @@ int battle_profession_attack_fun(int battleindex, int attackNo, int defNo, int c break; } - case BATTLE_COM_S_CHAOS: // ҹ + case BATTLE_COM_S_CHAOS: // 混乱攻击 { int i=0, j=0, k=0, f_num=0; int temp[10], chose_temp[10]; @@ -7943,10 +7943,10 @@ int battle_profession_attack_fun(int battleindex, int attackNo, int defNo, int c if( defNo >= 10 ) f_num = 10; else f_num = 0; - // 30% + // 减30%攻击力 //CHAR_setWorkInt(charaindex,CHAR_WORKATTACKPOWER, CHAR_getWorkInt( charaindex, CHAR_WORKATTACKPOWER ) * 70 / 100 ); - //clientЧ + //传给client减攻击力效果 sprintf( szCommand, "BD|r%X|0|4|%X|", attackNo, -30 ); BATTLESTR_ADD( szCommand ); @@ -7954,7 +7954,7 @@ int battle_profession_attack_fun(int battleindex, int attackNo, int defNo, int c attackNo, defNo, flg, damage, petdamage, effect, img1, img2 ); BATTLESTR_ADD( szCommand ); - // ȡսϴ + // 取出战场上存活的人 for( i=f_num; i 0 ){ int atk_to_index = -1; atk_to_index = BATTLE_No2Index( battleindex, chose_temp[k] ); @@ -8004,7 +8004,7 @@ int battle_profession_attack_fun(int battleindex, int attackNo, int defNo, int c memset( chose_temp, -1, sizeof( chose_temp ) ); j = 0; k = 0; - // ȡսϴ + // 取出战场上存活的人 for( i=f_num; i=23 && toindex<=26 ){ // + }else if( toindex>=23 && toindex<=26 ){ // 单排 attIdx = 1; - }else if( toindex==20 || toindex==21 ){ // һȫ + }else if( toindex==20 || toindex==21 ){ // 一方全体 attIdx = 2; } - // Robin fix ս + // Robin fix 增加战场属性优势 attr = BattleArray[battleindex].field_att -1; PROFESSION_MAGIC_ATTAIC( battleindex, attackNo, toindex, attIdx, attr, skill); @@ -8100,7 +8100,7 @@ int battle_profession_attack_magic_fun(int battleindex, int attackNo, int defNo, return TRUE; } -// ϵʽ +// 提升自已能力系函式 int battle_profession_assist_fun(int battleindex, int attackNo, int defNo, int charaindex) { int i, skill, skill_type, skill_level, img1, img2, turn=1; @@ -8111,28 +8111,28 @@ int battle_profession_assist_fun(int battleindex, int attackNo, int defNo, int c skill = CHAR_GETWORKINT_LOW( charaindex, CHAR_WORKBATTLECOM3); skill_type = CHAR_getWorkInt( charaindex, CHAR_WORKBATTLECOM1 ); - // սʹü + // 非战斗使用技能 if( !PROFESSION_SKILL_getInt( skill, PROFESSION_SKILL_USE_FLAG) ) return iRet; - // ܵIJ + // 技能的参数 pszOption = PROFESSION_SKILL_getChar( skill, PROFESSION_SKILL_OPTION); if( pszOption == "\0" ) return iRet; - // ܵȼ + // 技能等级 skill_level = CHAR_GETWORKINT_HIGH( charaindex, CHAR_WORKBATTLECOM3); - // ׼ڵĶ + // 准备期的动画 img1 = PROFESSION_SKILL_getInt( skill, PROFESSION_SKILL_IMG_1 ); - // Ķ + // 击中後的动画 img2 = PROFESSION_SKILL_getInt( skill, PROFESSION_SKILL_IMG_2 ); - // ʹûغ - if( (pszP = strstr( pszOption, "%" ) ) != NULL ) sscanf( pszP+3, "%d", &turn ); + // 使用回合数 + if( (pszP = strstr( pszOption, "回%" ) ) != NULL ) sscanf( pszP+3, "%d", &turn ); if(turn < 1) turn=1; switch(skill_type){ - case BATTLE_COM_S_TRANSPOSE: // λλ + case BATTLE_COM_S_TRANSPOSE: // 移形换位 { int defNo2 = CHAR_getWorkInt(charaindex,CHAR_WORKBATTLECOM2); skill_level = PROFESSION_CHANGE_SKILL_LEVEL_M( skill_level ); @@ -8147,7 +8147,7 @@ int battle_profession_assist_fun(int battleindex, int attackNo, int defNo, int c if( !CHAR_CHECKINDEX( toindex ))continue; if( charaindex != toindex ) continue; - // ر + // 回避率 if( skill_level >= 10 ) avoid = 70; else if( skill_level >= 9 ) avoid = 60; else if( skill_level >= 8 ) avoid = 50; @@ -8170,7 +8170,7 @@ int battle_profession_assist_fun(int battleindex, int attackNo, int defNo, int c } break; } - case BATTLE_COM_S_SCAPEGOAT: // Ϊ + case BATTLE_COM_S_SCAPEGOAT: // 舍已为友 { int tgh=0, old_tgh=0, flg=0, rate=0; int pos=0, side=0, ownerpos=0; @@ -8179,17 +8179,17 @@ int battle_profession_assist_fun(int battleindex, int attackNo, int defNo, int c pos = BATTLE_Index2No( battleindex, charaindex ); side = CHAR_getWorkInt( charaindex, CHAR_WORKBATTLESIDE ); - if( skill_level >= 10 ){ // ҷȫ + if( skill_level >= 10 ){ // 我方全体 for(i=0; i<10; i++){ if(pos != i ) BattleArray[battleindex].Side[side].Entry[i].guardian = pos; } - }else if( skill_level >= 5 ){ // ҷг + }else if( skill_level >= 5 ){ // 我方所有宠物 for(i=5; i<10; i++){ if(pos != i ) BattleArray[battleindex].Side[side].Entry[i].guardian = pos; } - }else{ // ֮ + }else{ // 人物之宠物 ownerpos = pos + 5; if( ownerpos >= 10 ) ownerpos -= 10; if( ownerpos < 0 || ownerpos > 19 ){ @@ -8216,7 +8216,7 @@ int battle_profession_assist_fun(int battleindex, int attackNo, int defNo, int c break; } - case BATTLE_COM_S_ENRAGE: // + case BATTLE_COM_S_ENRAGE: // 激化攻击 { int str=0, tgh=0; skill_level = PROFESSION_CHANGE_SKILL_LEVEL_A( skill_level ); @@ -8225,14 +8225,14 @@ int battle_profession_assist_fun(int battleindex, int attackNo, int defNo, int c BATTLE_MultiList( battleindex, attackNo, ToList ); BATTLE_MagicEffect( battleindex, attackNo, ToList, img1, img2 ); - // + // 减防 tgh = skill_level * 2 + 10; sprintf( szCommand, "BD|r%X|0|5|%X|", attackNo, (-1) * tgh ); BATTLESTR_ADD( szCommand ); CHAR_setWorkInt(charaindex,CHAR_MYSKILLTGHPOWER, (-1) * tgh); - // ӹ + // 加攻 str = skill_level * 2 + 20; sprintf( szCommand, "BD|r%X|0|4|%X|", attackNo, str); BATTLESTR_ADD( szCommand ); @@ -8249,7 +8249,7 @@ int battle_profession_assist_fun(int battleindex, int attackNo, int defNo, int c iRet = TRUE; break; } - case BATTLE_COM_S_COLLECT: // ۼ + case BATTLE_COM_S_COLLECT: // 能量聚集 { int dex=0, tgh=0; skill_level = PROFESSION_CHANGE_SKILL_LEVEL_A( skill_level ); @@ -8258,13 +8258,13 @@ int battle_profession_assist_fun(int battleindex, int attackNo, int defNo, int c BATTLE_MultiList( battleindex, attackNo, ToList ); BATTLE_MagicEffect( battleindex, attackNo, ToList, img1, img2 ); - // + // 减敏 dex = (skill_level * 2) + 10; sprintf( szCommand, "BD|r%X|0|6|%X|", attackNo, (-1) * dex ); BATTLESTR_ADD( szCommand ); CHAR_setWorkInt(charaindex,CHAR_MYSKILLDEXPOWER, dex); - // ӷ + // 加防 tgh = (skill_level * 2) + 20; sprintf( szCommand, "BD|r%X|0|5|%X|", attackNo, tgh); BATTLESTR_ADD( szCommand ); @@ -8280,7 +8280,7 @@ int battle_profession_assist_fun(int battleindex, int attackNo, int defNo, int c iRet = TRUE; break; } - case BATTLE_COM_S_FOCUS: // רעս + case BATTLE_COM_S_FOCUS: // 专注战斗 { int ToList[SIDE_OFFSET*2+1]; skill_level = PROFESSION_CHANGE_SKILL_LEVEL_A( skill_level ); @@ -8292,12 +8292,12 @@ int battle_profession_assist_fun(int battleindex, int attackNo, int defNo, int c CHAR_setWorkInt( charaindex, CHAR_MYSKILLHIT, 2); CHAR_setWorkInt( charaindex, CHAR_MYSKILLHIT_NUM, 100); - CHAR_talkToCli( charaindex, -1, "", CHAR_COLORYELLOW); + CHAR_talkToCli( charaindex, -1, "命中率上升", CHAR_COLORYELLOW); iRet = TRUE; break; } - case BATTLE_COM_S_TRAP: // + case BATTLE_COM_S_TRAP: // 陷阱 { int value; int ToList[SIDE_OFFSET*2+1]; @@ -8319,7 +8319,7 @@ int battle_profession_assist_fun(int battleindex, int attackNo, int defNo, int c iRet = TRUE; break; } - case BATTLE_COM_S_DOCILE: // ѱ + case BATTLE_COM_S_DOCILE: // 驯伏宠物 { int rate = 0; skill_level = PROFESSION_CHANGE_SKILL_LEVEL_A( skill_level ); @@ -8332,13 +8332,13 @@ int battle_profession_assist_fun(int battleindex, int attackNo, int defNo, int c break; } #ifdef _PROFESSION_ADDSKILL - case BATTLE_COM_S_CALL_NATURE: // Ȼ + case BATTLE_COM_S_CALL_NATURE: // 号召自然 { int ridepet=0,count=0,addhp=0,toindex=-1; int ToList[SIDE_OFFSET*2+1]; BATTLE_MultiList( battleindex, defNo, ToList ); - if( defNo == 20 || defNo == 25 || defNo == 26 )//ҷ + if( defNo == 20 || defNo == 25 || defNo == 26 )//右方 img1 = 101772; for( i = 0; ToList[i] != -1; i ++ ){ toindex = BATTLE_No2Index( battleindex, ToList[i] ); @@ -8414,7 +8414,7 @@ int battle_profession_assist_fun(int battleindex, int attackNo, int defNo, int c extern unsigned int GET_PROFESSION_magic_array(int idx); #endif -// иı״̬ϵʽ +// 击中改变状态系函式 extern void BATTLE_TargetListSet( int charaindex, int attackNo, int *pList); extern int BoomerangVsTbl[4][5]; int battle_profession_status_chang_fun(int battleindex, int attackNo, int defNo, int charaindex) @@ -8431,34 +8431,34 @@ int battle_profession_status_chang_fun(int battleindex, int attackNo, int defNo, skill = CHAR_GETWORKINT_LOW( charaindex, CHAR_WORKBATTLECOM3 ); skill_type=CHAR_getWorkInt( charaindex, CHAR_WORKBATTLECOM1 ); - // սʹü + // 非战斗使用技能 if( !PROFESSION_SKILL_getInt( skill, PROFESSION_SKILL_USE_FLAG) ) return iRet; - // ܵIJ + // 技能的参数 pszOption = PROFESSION_SKILL_getChar( skill, PROFESSION_SKILL_OPTION); if( pszOption == "\0" ) return iRet; - // ܵȼ + // 技能等级 skill_level = CHAR_GETWORKINT_HIGH( charaindex, CHAR_WORKBATTLECOM3); skill_level = PROFESSION_CHANGE_SKILL_LEVEL_A( skill_level ); - // ܵȼ rate - if( (pszP = strstr( pszOption, "%" ) ) != NULL ) sscanf( pszP+3, "%f", &rate ); + // 技能等级 rate + if( (pszP = strstr( pszOption, "倍%" ) ) != NULL ) sscanf( pszP+3, "%f", &rate ); - // ׼ڵĶ + // 准备期的动画 img1 = PROFESSION_SKILL_getInt( skill, PROFESSION_SKILL_IMG_1 ); - // Ķ + // 击中後的动画 img2 = PROFESSION_SKILL_getInt( skill, PROFESSION_SKILL_IMG_2 ); - // ʹûغ - if( (pszP = strstr( pszOption, "%" ) ) != NULL ) sscanf( pszP+3, "%d", &turn ); + // 使用回合数 + if( (pszP = strstr( pszOption, "回%" ) ) != NULL ) sscanf( pszP+3, "%d", &turn ); if(turn < 1) turn=1; - // ʽ 0ԭ㶯 1ƶ㶯 - if( (pszP = strstr( pszOption, "Ч%" ) ) != NULL ) sscanf( pszP+3, "%d", &effect ); + // 动画方式 0原地秀动画 1人物移动秀动画 + if( (pszP = strstr( pszOption, "效%" ) ) != NULL ) sscanf( pszP+3, "%d", &effect ); - // Ŀһܣ + // 目标地球一周,不动作 if( defNo >= 0 && defNo <= 19 ){ defindex = BATTLE_No2Index( battleindex, defNo ); if( CHAR_CHECKINDEX( defindex ) == FALSE ) return iRet; @@ -8468,32 +8468,32 @@ int battle_profession_status_chang_fun(int battleindex, int attackNo, int defNo, } switch(skill_type){ - // ƶ - case BATTLE_COM_S_ENTWINE: // - case BATTLE_COM_S_DRAGNET: // ޵ - case BATTLE_COM_S_INSTIGATE: // - case BATTLE_COM_S_OBLIVION: // - case BATTLE_COM_S_RESIST_FIRE: // - case BATTLE_COM_S_RESIST_ICE: // - case BATTLE_COM_S_RESIST_THUNDER: // ׿ + // 不移动型 + case BATTLE_COM_S_ENTWINE: // 树根缠绕 + case BATTLE_COM_S_DRAGNET: // 天罗地网 + case BATTLE_COM_S_INSTIGATE: // 挑拨 + case BATTLE_COM_S_OBLIVION: // 遗忘 + case BATTLE_COM_S_RESIST_FIRE: // 火抗性提升 + case BATTLE_COM_S_RESIST_ICE: // 冰抗性提升 + case BATTLE_COM_S_RESIST_THUNDER: // 雷抗性提升 #ifdef _PROFESSION_ADDSKILL - case BATTLE_COM_S_RESIST_F_I_T: // Ȼ + case BATTLE_COM_S_RESIST_F_I_T: // 自然威能 #endif - case BATTLE_COM_S_FIRE_ENCLOSE: // - case BATTLE_COM_S_ICE_ENCLOSE: // - case BATTLE_COM_S_THUNDER_ENCLOSE: // ׸ + case BATTLE_COM_S_FIRE_ENCLOSE: // 火附体 + case BATTLE_COM_S_ICE_ENCLOSE: // 冰附体 + case BATTLE_COM_S_THUNDER_ENCLOSE: // 雷附体 { int perStatus=0, toindex=-1, status=-1, Success=0, dex=0, old_dex; //char szBuffer[256]=""; int ToList[SIDE_OFFSET*2+1]; int defNo2 = CHAR_getWorkInt(charaindex,CHAR_WORKBATTLECOM2); - // ʹö - if( skill_type == BATTLE_COM_S_RESIST_FIRE || // - skill_type == BATTLE_COM_S_RESIST_ICE || // - skill_type == BATTLE_COM_S_RESIST_THUNDER // ׿ + // 使用对象 + if( skill_type == BATTLE_COM_S_RESIST_FIRE || // 火抗性提升 + skill_type == BATTLE_COM_S_RESIST_ICE || // 冰抗性提升 + skill_type == BATTLE_COM_S_RESIST_THUNDER // 雷抗性提升 #ifdef _PROFESSION_ADDSKILL - || skill_type == BATTLE_COM_S_RESIST_F_I_T // Ȼ + || skill_type == BATTLE_COM_S_RESIST_F_I_T // 自然威能 #endif ){ #ifdef _PROFESSION_ADDSKILL @@ -8517,19 +8517,19 @@ int battle_profession_status_chang_fun(int battleindex, int attackNo, int defNo, charaindex = BATTLE_No2Index( battleindex, attackNo ); if( CHAR_CHECKINDEX( charaindex ) == FALSE ) return iRet; - // ı״̬ - if( ((pszP = strstr( pszOption, "" ) ) != NULL ) || - ((pszP = strstr( pszOption, "" ) ) != NULL ) || - ((pszP = strstr( pszOption, "" ) ) != NULL ) || - ((pszP = strstr( pszOption, "" ) ) != NULL ) || - ((pszP = strstr( pszOption, "" ) ) != NULL ) || - ((pszP = strstr( pszOption, "" ) ) != NULL ) || - ((pszP = strstr( pszOption, "" ) ) != NULL ) || - ((pszP = strstr( pszOption, "" ) ) != NULL ) || - ((pszP = strstr( pszOption, "" ) ) != NULL ) || - ((pszP = strstr( pszOption, "" ) ) != NULL ) + // 改变状态 + if( ((pszP = strstr( pszOption, "缠" ) ) != NULL ) || + ((pszP = strstr( pszOption, "挑" ) ) != NULL ) || + ((pszP = strstr( pszOption, "忘" ) ) != NULL ) || + ((pszP = strstr( pszOption, "火" ) ) != NULL ) || + ((pszP = strstr( pszOption, "冰" ) ) != NULL ) || + ((pszP = strstr( pszOption, "雷" ) ) != NULL ) || + ((pszP = strstr( pszOption, "罗" ) ) != NULL ) || + ((pszP = strstr( pszOption, "击" ) ) != NULL ) || + ((pszP = strstr( pszOption, "冻" ) ) != NULL ) || + ((pszP = strstr( pszOption, "炎" ) ) != NULL ) #ifdef _PROFESSION_ADDSKILL - || ((pszP = strstr( pszOption, "" ) ) != NULL ) + || ((pszP = strstr( pszOption, "抗" ) ) != NULL ) #endif ){ for( i = 1; i < BATTLE_ST_END; i ++ ){ @@ -8547,8 +8547,8 @@ int battle_profession_status_chang_fun(int battleindex, int attackNo, int defNo, else { #endif - // ɹ - if( (pszP = strstr( pszOption, "%" ) ) != NULL ) sscanf( pszP+3, "%d", &Success ); + // 成功率 + if( (pszP = strstr( pszOption, "成%" ) ) != NULL ) sscanf( pszP+3, "%d", &Success ); Success = Success + skill_level * 5; #ifdef _BATTLE_NO_WANG } @@ -8556,9 +8556,9 @@ int battle_profession_status_chang_fun(int battleindex, int attackNo, int defNo, if( skill_type == BATTLE_COM_S_DRAGNET ){ int DRAGNET=0,dragnet_idx=-1; int PLAYER=0; - //ҳһߵ - if( attackNo > 9 ){// - for(i=0;i<10;i++){//ұж + //找出攻方是那一边的 + if( attackNo > 9 ){//左边 + for(i=0;i<10;i++){//计算右边有多少人中天罗 dragnet_idx = BATTLE_No2Index( battleindex, i ); if( CHAR_CHECKINDEX( dragnet_idx ) ){ PLAYER++; @@ -8568,8 +8568,8 @@ int battle_profession_status_chang_fun(int battleindex, int attackNo, int defNo, } } } - else{// - for(i=10;i<20;i++){//ж + else{//右 + for(i=10;i<20;i++){//计算左边有多少人中天罗 dragnet_idx = BATTLE_No2Index( battleindex, i ); if( CHAR_CHECKINDEX( dragnet_idx ) ){ PLAYER++; @@ -8589,23 +8589,23 @@ int battle_profession_status_chang_fun(int battleindex, int attackNo, int defNo, perStatus = Success; - // غ - if( (skill_type == BATTLE_COM_S_INSTIGATE) && (skill_level == 10) ){ // + // 回合数 + if( (skill_type == BATTLE_COM_S_INSTIGATE) && (skill_level == 10) ){ // 挑拨 turn = 4; - }else if( (skill_type == BATTLE_COM_S_RESIST_FIRE) || // - (skill_type == BATTLE_COM_S_RESIST_ICE) || // - (skill_type == BATTLE_COM_S_RESIST_THUNDER) ){ // ׿ + }else if( (skill_type == BATTLE_COM_S_RESIST_FIRE) || // 火抗性提升 + (skill_type == BATTLE_COM_S_RESIST_ICE) || // 冰抗性提升 + (skill_type == BATTLE_COM_S_RESIST_THUNDER) ){ // 雷抗性提升 if( skill_level >= 10 ) turn = 5; else if( skill_level >= 5 ) turn = 4; else turn = 3; - }else if( skill_type == BATTLE_COM_S_OBLIVION ){ // + }else if( skill_type == BATTLE_COM_S_OBLIVION ){ // 遗忘 if( skill_level >= 10 ){ turn = 4; }else if( skill_level >= 5 ){ turn = 3; }else{ turn = 2; } } #ifdef _PROFESSION_ADDSKILL - else if( skill_type == BATTLE_COM_S_RESIST_F_I_T ){ // Ȼ + else if( skill_type == BATTLE_COM_S_RESIST_F_I_T ){ // 自然威能 skill_level = CHAR_GETWORKINT_HIGH( charaindex, CHAR_WORKBATTLECOM3); if( skill_level >= 100 ) turn = 5; else if( skill_level > 80 ) turn = 4; @@ -8615,14 +8615,14 @@ int battle_profession_status_chang_fun(int battleindex, int attackNo, int defNo, switch( skill_type ){ case BATTLE_COM_S_RESIST_FIRE: - CHAR_talkToCli( charaindex, -1 , "" , CHAR_COLORYELLOW ); break; + CHAR_talkToCli( charaindex, -1 , "火抗性提升" , CHAR_COLORYELLOW ); break; case BATTLE_COM_S_RESIST_ICE: - CHAR_talkToCli( charaindex, -1 , "" , CHAR_COLORYELLOW ); break; + CHAR_talkToCli( charaindex, -1 , "冰抗性提升" , CHAR_COLORYELLOW ); break; case BATTLE_COM_S_RESIST_THUNDER: - CHAR_talkToCli( charaindex, -1 , "׿" , CHAR_COLORYELLOW ); break; + CHAR_talkToCli( charaindex, -1 , "雷抗性提升" , CHAR_COLORYELLOW ); break; #ifdef _PROFESSION_ADDSKILL case BATTLE_COM_S_RESIST_F_I_T: - CHAR_talkToCli( charaindex, -1 , "׿" , CHAR_COLORYELLOW ); break; + CHAR_talkToCli( charaindex, -1 , "火冰雷抗性提升" , CHAR_COLORYELLOW ); break; #endif } @@ -8630,19 +8630,19 @@ int battle_profession_status_chang_fun(int battleindex, int attackNo, int defNo, toindex = BATTLE_No2Index( battleindex, ToList[i] ); if( CHAR_CHECKINDEX( toindex ) == FALSE ) return iRet; - // ʩ + // 挑拨不可施於玩家人物身上 if( skill_type == BATTLE_COM_S_INSTIGATE ){ if( CHAR_getInt( toindex, CHAR_WHICHTYPE ) == CHAR_TYPEPLAYER ){ - CHAR_talkToCli( charaindex, -1, "ʩ", CHAR_COLORYELLOW ); + CHAR_talkToCli( charaindex, -1, "不可施於人物身上", CHAR_COLORYELLOW ); break; } } - // ״̬м춨 + // 状态命中检定 if( (PROFESSION_BATTLE_StatusAttackCheck( charaindex, toindex, status, Success ) == 0 ) || (CHAR_getInt( toindex, CHAR_HP ) <= 0 ) ){ - //snprintf( szBuffer, sizeof(szBuffer), "(%s)޷(%s)(%s)(%d%%)", + //snprintf( szBuffer, sizeof(szBuffer), "(%s)无法将(%s)做成(%s)(%d%%)", // CHAR_getUseName( charaindex ), CHAR_getUseName( toindex ), // aszStatusFull[status], perStatus ); @@ -8650,7 +8650,7 @@ int battle_profession_status_chang_fun(int battleindex, int attackNo, int defNo, // (attackNo >= 10)? CHAR_COLORGRAY : CHAR_COLORPURPLE ) ; }else{ #ifdef _PROFESSION_ADDSKILL - if( status == BATTLE_ST_RESIST_F_I_T ){//Ȼ + if( status == BATTLE_ST_RESIST_F_I_T ){//自然威能 CHAR_setWorkInt( toindex, StatusTbl[BATTLE_ST_RESIST_F], turn + 1 ); CHAR_setWorkInt( toindex, StatusTbl[BATTLE_ST_RESIST_I], turn + 1 ); CHAR_setWorkInt( toindex, StatusTbl[BATTLE_ST_RESIST_T], turn + 1 ); @@ -8670,48 +8670,48 @@ int battle_profession_status_chang_fun(int battleindex, int attackNo, int defNo, || status == BATTLE_ST_ICEARROW ){ CHAR_setWorkInt( toindex, CHAR_WORKBATTLECOM1, BATTLE_COM_NONE ); } - if( status == BATTLE_ST_DRAGNET ){//޵ - CHAR_setWorkInt( toindex, CHAR_DOOMTIME, 0 );//ĩռ + if( status == BATTLE_ST_DRAGNET ){//天罗地网 + CHAR_setWorkInt( toindex, CHAR_DOOMTIME, 0 );//世界末日集气 CHAR_setWorkInt( toindex, CHAR_WORK_com1, 0 ); CHAR_setWorkInt( toindex, CHAR_WORK_toNo, 0 ); CHAR_setWorkInt( toindex, CHAR_WORK_mode, 0 ); CHAR_setWorkInt( toindex, CHAR_WORK_skill_level, 0 ); CHAR_setWorkInt( toindex, CHAR_WORK_array, 0 ); } - if( skill_type == BATTLE_COM_S_FIRE_ENCLOSE ){ // + if( skill_type == BATTLE_COM_S_FIRE_ENCLOSE ){ // 火附体 CHAR_setWorkInt( toindex, CHAR_WORKMOD_F_ENCLOSE_2, skill_level ); - // ӻȾֵ + // 加火熟练度经验值 PROFESSION_SKILL_LVEVEL_UP( charaindex, "PROFESSION_FIRE_PRACTICE" ); - }else if(skill_type == BATTLE_COM_S_ICE_ENCLOSE ){ // + }else if(skill_type == BATTLE_COM_S_ICE_ENCLOSE ){ // 冰附体 CHAR_setWorkInt( toindex, CHAR_WORKMOD_I_ENCLOSE_2, skill_level ); - // ӱȾֵ + // 加冰熟练度经验值 PROFESSION_SKILL_LVEVEL_UP( charaindex, "PROFESSION_ICE_PRACTICE" ); - }else if(skill_type == BATTLE_COM_S_THUNDER_ENCLOSE ){ // ׸ + }else if(skill_type == BATTLE_COM_S_THUNDER_ENCLOSE ){ // 雷附体 CHAR_setWorkInt( toindex, CHAR_WORKMOD_T_ENCLOSE_2, skill_level ); - // Ⱦֵ + // 加雷熟练度经验值 PROFESSION_SKILL_LVEVEL_UP( charaindex, "PROFESSION_THUNDER_PRACTICE" ); } - // + // 遗忘 宠物遗忘技能 if( skill_type == BATTLE_COM_S_OBLIVION ){ int toNo = -1, toNoindex = -1, pet_no = -1, num = 0; char msg[20]; memset( msg, -1, sizeof(msg) ); - // index + // 主人index toNo = ToList[i] - 5; toNoindex = BATTLE_No2Index( battleindex, toNo ); - // + // 宠物编号 pet_no = CHAR_getInt( toNoindex, CHAR_DEFAULTPET ); - // 輼 + // 遗忘宠技数量 num = skill_level / 2; if( num < 1 ) num = 1; CHAR_setWorkInt( toindex, CHAR_WORKMODOBLIVION, num ); - // client + // 传给 client 遗忘技能 if( toNoindex != -1 ){ sprintf( msg, "W%d", pet_no ); CHAR_sendStatusString( toNoindex, msg ); @@ -8722,7 +8722,7 @@ int battle_profession_status_chang_fun(int battleindex, int attackNo, int defNo, } } - // + // 挑拨 降属性 if(skill_type == BATTLE_COM_S_INSTIGATE ){ int rate=0; rate = skill_level * 1 + 10; @@ -8737,9 +8737,9 @@ int battle_profession_status_chang_fun(int battleindex, int attackNo, int defNo, } - // + // 树根缠绕 降敏 if(skill_type == BATTLE_COM_S_ENTWINE ){ - if( (pszP = strstr( pszOption, "%" ) ) != NULL ) sscanf( pszP+3, "%d", &dex ); + if( (pszP = strstr( pszOption, "敏%" ) ) != NULL ) sscanf( pszP+3, "%d", &dex ); dex = skill_level * 4 + dex; old_dex = CHAR_getWorkInt( toindex, CHAR_WORKFIXDEX); old_dex = old_dex * (100 - dex) / 100; @@ -8748,7 +8748,7 @@ int battle_profession_status_chang_fun(int battleindex, int attackNo, int defNo, BATTLESTR_ADD( szCommand ); } - // + // 火抗性提升 if(skill_type == BATTLE_COM_S_RESIST_FIRE ){ int old_value = CHAR_getWorkInt( toindex, CHAR_WORK_F_RESIST ); int up_value = skill_level + 10; @@ -8756,7 +8756,7 @@ int battle_profession_status_chang_fun(int battleindex, int attackNo, int defNo, CHAR_setWorkInt( toindex, CHAR_WORK_F_RESIST, old_value + up_value ); }else - // + // 冰抗性提升 if(skill_type == BATTLE_COM_S_RESIST_ICE ){ int old_value = CHAR_getWorkInt( toindex, CHAR_WORK_I_RESIST ); int up_value = skill_level + 10; @@ -8764,7 +8764,7 @@ int battle_profession_status_chang_fun(int battleindex, int attackNo, int defNo, CHAR_setWorkInt( toindex, CHAR_WORK_I_RESIST, old_value + up_value ); }else - // ׿ + // 雷抗性提升 if(skill_type == BATTLE_COM_S_RESIST_THUNDER ){ int old_value = CHAR_getWorkInt( toindex, CHAR_WORK_T_RESIST ); int up_value = skill_level + 10; @@ -8774,10 +8774,10 @@ int battle_profession_status_chang_fun(int battleindex, int attackNo, int defNo, } #ifdef _PROFESSION_ADDSKILL else - // Ȼ + // 自然威能 if(skill_type == BATTLE_COM_S_RESIST_F_I_T ){ int old_value = CHAR_getWorkInt( toindex, CHAR_WORK_F_RESIST ); - int up_value = 2; //ֵ + int up_value = 2; //抗性值 if( skill_level >= 10 ) up_value = 20; else if( skill_level > 8 ) up_value = 18; @@ -8804,7 +8804,7 @@ int battle_profession_status_chang_fun(int battleindex, int attackNo, int defNo, } #endif //snprintf( szBuffer, sizeof(szBuffer), - // "(%s)(%s)(%s)(%d%%)", CHAR_getUseName( charaindex ), + // "(%s)将(%s)做成(%s)(%d%%)", CHAR_getUseName( charaindex ), // CHAR_getUseName( toindex ), aszStatusFull[status], perStatus ); //BATTLE_BroadCast( battleindex, szBuffer, @@ -8815,8 +8815,8 @@ int battle_profession_status_chang_fun(int battleindex, int attackNo, int defNo, } break; } - // ƶ - case BATTLE_COM_S_SHIELD_ATTACK: // ܻ + // 移动型 + case BATTLE_COM_S_SHIELD_ATTACK: // 盾击 { int itmid=-1; int perStatus, status=-1, Success=-1; @@ -8827,20 +8827,20 @@ int battle_profession_status_chang_fun(int battleindex, int attackNo, int defNo, itmid = CHAR_getItemIndex( charaindex, CHAR_EQSHIELD ); if( ( itmid < 0 ) || ITEM_WSHIELD != ITEM_getInt( itmid , ITEM_TYPE ) ){ - CHAR_talkToCli( charaindex, -1, "δװƣ޷ʹô˼", CHAR_COLORYELLOW); + CHAR_talkToCli( charaindex, -1, "未装备盾牌,无法使用此技能", CHAR_COLORYELLOW); iRet = FALSE; break; } - // + // 攻击力减半 if( skill_level != 10 ) CHAR_setWorkInt(charaindex,CHAR_WORKATTACKPOWER, (int)(CHAR_getWorkInt(charaindex,CHAR_WORKATTACKPOWER) * 0.5 ) ); memset( ToList, -1, sizeof( ToList)); BATTLE_MultiList( battleindex, defNo2, ToList ); - // ı״̬ - if( (pszP = strstr( pszOption, "" ) ) != NULL ){ + // 改变状态 + if( (pszP = strstr( pszOption, "晕" ) ) != NULL ){ for( i = 1; i < BATTLE_ST_END; i ++ ){ if( strncmp( pszP, aszStatus[i], 2 ) == 0 ){ status = i; @@ -8849,8 +8849,8 @@ int battle_profession_status_chang_fun(int battleindex, int attackNo, int defNo, } } - // ɹ - if( (pszP = strstr( pszOption, "%" ) ) != NULL ) sscanf( pszP+3, "%d", &Success ); + // 成功率 + if( (pszP = strstr( pszOption, "成%" ) ) != NULL ) sscanf( pszP+3, "%d", &Success ); Success += skill_level * 4; perStatus = Success; @@ -8863,15 +8863,15 @@ int battle_profession_status_chang_fun(int battleindex, int attackNo, int defNo, int hit = -1; react = 0; - defindex = BATTLE_No2Index( battleindex, ToList[i] ); //طindex + defindex = BATTLE_No2Index( battleindex, ToList[i] ); //守方index if( CHAR_CHECKINDEX( defindex ) == FALSE ) continue; - if( (ReactType=BATTLE_GetDamageReact( defindex)) > 0 ) { //й⾵ + if( (ReactType=BATTLE_GetDamageReact( defindex)) > 0 ) { //有光镜守 react = ReactType; skill_type=-1; } - //ȡù״̬ + //取得攻击後状态 iWork = BATTLE_AttackSeq( charaindex, defindex, &damage, &Guardian, skill_type ); ultimate = BATTLE_DamageSub( charaindex, defindex, &damage, &petdamage, &react); @@ -8882,14 +8882,14 @@ int battle_profession_status_chang_fun(int battleindex, int attackNo, int defNo, iRet = BATTLE_DefineAttack( charaindex, defindex, iWork, szBuffer, damage, react, &flg); - // NORMAL CRITICAL flg ij ְҵflg + // 将 NORMAL 及 CRITICAL 的 flg 改成 职业的flg if( img2 != 0 ){ if( flg == BCF_NORMAL || flg == BCF_KAISHIN ){ hit=1; - if( (pszP = strstr( pszOption, "ǰ" ) ) != NULL ){ - flg |= BCF_F_SKILLACT; //ǰͼ + if( (pszP = strstr( pszOption, "前" ) ) != NULL ){ + flg |= BCF_F_SKILLACT; //击中前秀图 }else{ - flg |= BCF_B_SKILLACT; //ͼ + flg |= BCF_B_SKILLACT; //击中後秀图 } } } @@ -8907,7 +8907,7 @@ int battle_profession_status_chang_fun(int battleindex, int attackNo, int defNo, if( (PROFESSION_BATTLE_StatusAttackCheck( charaindex, defindex, status, Success ) == 0 ) || (CHAR_getInt( defindex, CHAR_HP ) <= 0 ) ){ - //snprintf( szBuffer, sizeof(szBuffer), "(%s)޷(%s)(%s)(%d%%)", + //snprintf( szBuffer, sizeof(szBuffer), "(%s)无法将(%s)做成(%s)(%d%%)", // CHAR_getUseName( charaindex ), CHAR_getUseName( defindex ), aszStatusFull[status], perStatus ); //BATTLE_BroadCast( battleindex, szBuffer, @@ -8929,7 +8929,7 @@ int battle_profession_status_chang_fun(int battleindex, int attackNo, int defNo, } //snprintf( szBuffer, sizeof(szBuffer), - // "(%s)(%s)(%s)(%d%%)", + // "(%s)将(%s)做成(%s)(%d%%)", // CHAR_getUseName( charaindex ), // CHAR_getUseName( defindex ), // aszStatusFull[status], @@ -8957,7 +8957,7 @@ int battle_profession_status_chang_fun(int battleindex, int attackNo, int defNo, break; } - case BATTLE_COM_S_TOXIN_WEAPON: // + case BATTLE_COM_S_TOXIN_WEAPON: // 毒素武器 { int perStatus, status=-1, Success=-1; int defNo2 = CHAR_getWorkInt(charaindex,CHAR_WORKBATTLECOM2); @@ -8965,8 +8965,8 @@ int battle_profession_status_chang_fun(int battleindex, int attackNo, int defNo, charaindex = BATTLE_No2Index( battleindex, attackNo ); if( CHAR_CHECKINDEX( charaindex ) == FALSE ) return iRet; - // ı״̬ - if( ((pszP = strstr( pszOption, "" ) ) != NULL ) ){ + // 改变状态 + if( ((pszP = strstr( pszOption, "毒" ) ) != NULL ) ){ for( i = 1; i < BATTLE_ST_END; i ++ ){ if( strncmp( pszP, aszStatus[i], 2 ) == 0 ){ @@ -8976,8 +8976,8 @@ int battle_profession_status_chang_fun(int battleindex, int attackNo, int defNo, } } - // ɹ - if( (pszP = strstr( pszOption, "%" ) ) != NULL ) sscanf( pszP+3, "%d", &Success ); + // 成功率 + if( (pszP = strstr( pszOption, "成%" ) ) != NULL ) sscanf( pszP+3, "%d", &Success ); Success += skill_level * 2; perStatus = Success; @@ -8998,7 +8998,7 @@ int battle_profession_status_chang_fun(int battleindex, int attackNo, int defNo, memset( szCommand, -1, sizeof(szCommand) ); - // ޱ + // 有无变身 #ifdef _PETSKILL_BECOMEPIG if(CHAR_getWorkInt(charaindex, CHAR_WORKFOXROUND) > 0 || CHAR_getWorkInt(charaindex, CHAR_BECOMEPIG) > 0) bChange = TRUE; @@ -9006,7 +9006,7 @@ int battle_profession_status_chang_fun(int battleindex, int attackNo, int defNo, if(CHAR_getWorkInt(charaindex, CHAR_WORKFOXROUND) > 0) bChange = TRUE; #endif if(!bChange){ - // ΪԶ + // 武器为远程武器 if( gWeponType == ITEM_BOW ){ sprintf( szCommand, "BB|a%X|w0|", attackNo ); BATTLESTR_ADD( szCommand ); @@ -9038,16 +9038,16 @@ int battle_profession_status_chang_fun(int battleindex, int attackNo, int defNo, //memset( szBuffer, 0, sizeof( szBuffer ) ); - defindex = BATTLE_No2Index( battleindex, ToList[i] ); //طindex + defindex = BATTLE_No2Index( battleindex, ToList[i] ); //守方index if( CHAR_CHECKINDEX( defindex ) == FALSE ) continue; if( CHAR_getInt( defindex, CHAR_HP ) <= 0 ) continue; - if( (ReactType=BATTLE_GetDamageReact( defindex)) > 0 ){ //й⾵ + if( (ReactType=BATTLE_GetDamageReact( defindex)) > 0 ){ //有光镜守 react = ReactType; skill_type=-1; } - //ȡù״̬ + //取得攻击後状态 iWork = BATTLE_AttackSeq( charaindex, defindex, &damage, &Guardian, skill_type ); if(Guardian >= 0) defindex = BATTLE_No2Index( battleindex, Guardian ); @@ -9070,7 +9070,7 @@ int battle_profession_status_chang_fun(int battleindex, int attackNo, int defNo, if( (PROFESSION_BATTLE_StatusAttackCheck( charaindex, defindex, status, perStatus ) == 0 ) || (CHAR_getInt( defindex, CHAR_HP ) <= 0 ) ){ - //snprintf( szBuffer, sizeof(szBuffer), "(%s)޷(%s)(%s)(%d%%)", + //snprintf( szBuffer, sizeof(szBuffer), "(%s)无法将(%s)做成(%s)(%d%%)", // CHAR_getUseName( charaindex ), CHAR_getUseName( defindex ), aszStatusFull[status], perStatus ); //BATTLE_BroadCast( battleindex, szBuffer, // (attackNo >= 10)? CHAR_COLORGRAY : CHAR_COLORPURPLE ) ; @@ -9091,7 +9091,7 @@ int battle_profession_status_chang_fun(int battleindex, int attackNo, int defNo, } //snprintf( szBuffer, sizeof(szBuffer), - // "(%s)(%s)(%s)(%d%%)", + // "(%s)将(%s)做成(%s)(%d%%)", // CHAR_getUseName( charaindex ), // CHAR_getUseName( defindex ), // aszStatusFull[status], @@ -9102,7 +9102,7 @@ int battle_profession_status_chang_fun(int battleindex, int attackNo, int defNo, } } - // ΪԶʱ + // 武器为远程武器时 if(((gWeponType == ITEM_BOW) || (gWeponType == ITEM_BOUNDTHROW) @@ -9126,7 +9126,7 @@ int battle_profession_status_chang_fun(int battleindex, int attackNo, int defNo, iRet = TRUE; } - // ΪԶʱ + // 武器为远程武器时 if((( gWeponType == ITEM_BOW ) || ( gWeponType == ITEM_BOUNDTHROW ) || ( gWeponType == ITEM_BREAKTHROW ) || ( gWeponType == ITEM_BOOMERANG )) && !bChange){ snprintf( szCommand, sizeof( szCommand ), "FF|" ); BATTLESTR_ADD( szCommand ); @@ -9136,7 +9136,7 @@ int battle_profession_status_chang_fun(int battleindex, int attackNo, int defNo, break; } #ifdef _PROFESSION_ADDSKILL - case BATTLE_COM_S_BOUNDARY: // Խ + case BATTLE_COM_S_BOUNDARY: // 四属性结界 { int ToList[SIDE_OFFSET*2+1],status=-1,power=20,toindex=-1,loop=1; int defNo2 = defNo;//CHAR_getWorkInt(charaindex,CHAR_WORKBATTLECOM2); @@ -9160,16 +9160,16 @@ int battle_profession_status_chang_fun(int battleindex, int attackNo, int defNo, else if( skill_level > 20 ) power = 30; else power = 20; - if( ((pszP = strstr( pszOption, "ؽ" ) ) != NULL ) ) + if( ((pszP = strstr( pszOption, "地结界" ) ) != NULL ) ) status = CHAR_WORKFIXEARTHAT_BOUNDARY; - else if( ((pszP = strstr( pszOption, "ˮ" ) ) != NULL ) ) + else if( ((pszP = strstr( pszOption, "水结界" ) ) != NULL ) ) status = CHAR_WORKFIXWATERAT_BOUNDARY; - else if( ((pszP = strstr( pszOption, "" ) ) != NULL ) ) + else if( ((pszP = strstr( pszOption, "火结界" ) ) != NULL ) ) status = CHAR_WORKFIXFIREAT_BOUNDARY; - else if( ((pszP = strstr( pszOption, "" ) ) != NULL ) ){ + else if( ((pszP = strstr( pszOption, "风结界" ) ) != NULL ) ){ status = CHAR_WORKFIXWINDAT_BOUNDARY; } - else{//ƽ + else{//破结界 status = CHAR_WORKFIXEARTHAT_BOUNDARY; if( skill_level >= 100 ) rand_boundary = 100; @@ -9186,14 +9186,14 @@ int battle_profession_status_chang_fun(int battleindex, int attackNo, int defNo, loop = 0; } - if( ((pszP = strstr( pszOption, "ƽ" ) ) != NULL ) ){ + if( ((pszP = strstr( pszOption, "破结界" ) ) != NULL ) ){ if( defNo2 < 10 )defNo2 = 20; else defNo2 = 21; } memset( ToList, -1, sizeof( ToList)); BATTLE_MultiList( battleindex, defNo2, ToList ); - if( ((pszP = strstr( pszOption, "ƽ" ) ) == NULL ) ){//Ȱн + if( ((pszP = strstr( pszOption, "破结界" ) ) == NULL ) ){//先把所有结界清除 for( j=CHAR_WORKFIXEARTHAT_BOUNDARY; j 0 ){ //й⾵ + if( (ReactType=BATTLE_GetDamageReact( defindex)) > 0 ){ //有光镜守 react = ReactType; skill_type=-1; } @@ -9517,7 +9517,7 @@ int BATTLE_PROFESSION_RANG_ATTACK_DAMAGE( int charaindex, int attackNo, int defN if( img1 != 0 ){ if( (PROFESSION_BATTLE_StatusAttackCheck( charaindex, defindex, status, perStatus ) == 0 ) || (CHAR_getInt( defindex, CHAR_HP ) <= 0 ) ){ - //snprintf( szBuffer, sizeof(szBuffer), "(%s)޷(%s)(%s)(%d%%)", + //snprintf( szBuffer, sizeof(szBuffer), "(%s)无法将(%s)做成(%s)(%d%%)", // CHAR_getUseName( charaindex ), CHAR_getUseName( defindex ), aszStatusFull[status], perStatus ); //BATTLE_BroadCast( battleindex, szBuffer,(attackNo >= 10)? CHAR_COLORGRAY : CHAR_COLORPURPLE ) ; } @@ -9536,7 +9536,7 @@ int BATTLE_PROFESSION_RANG_ATTACK_DAMAGE( int charaindex, int attackNo, int defN ) CHAR_setWorkInt( defindex, CHAR_WORKBATTLECOM1, BATTLE_COM_NONE ); //snprintf( szBuffer, sizeof(szBuffer), - // "(%s)(%s)(%s)(%d%%)", + // "(%s)将(%s)做成(%s)(%d%%)", // CHAR_getUseName( charaindex ), // CHAR_getUseName( defindex ), // aszStatusFull[status], @@ -9556,7 +9556,7 @@ int BATTLE_PROFESSION_RANG_ATTACK_DAMAGE( int charaindex, int attackNo, int defN #ifdef _PETSKILL_LER extern ToCallMagic PROFESSION_magic[3]; -// ׶ - ȺĴ +// 雷尔技 - 群蝠四窜 void BATTLE_BatFly( int battleindex, int attackNo,int myside) { int ToList[SIDE_OFFSET*2+1],i,toindex; @@ -9567,14 +9567,14 @@ void BATTLE_BatFly( int battleindex, int attackNo,int myside) if(CHAR_CHECKINDEX(charaindex) == FALSE) return; memset(ToList,-1,sizeof(ToList)); - if(myside) BATTLE_MultiList(battleindex,TARGET_SIDE_0,ToList); // - else BATTLE_MultiList(battleindex,TARGET_SIDE_1,ToList); // + if(myside) BATTLE_MultiList(battleindex,TARGET_SIDE_0,ToList); // 打右上 + else BATTLE_MultiList(battleindex,TARGET_SIDE_1,ToList); // 打左下 PROFESSION_magic[2].uiSpriteNum = myside ? 101806:101807; PROFESSION_magic[2].siSx = 320; PROFESSION_magic[2].siSy = 240; - PROFESSION_magic[2].uiPrevMagicNum = myside ? 101808:101809; // ǰö - PROFESSION_magic[2].uiPostMagicNum = 0xffffffff; // ö + PROFESSION_magic[2].uiPrevMagicNum = myside ? 101808:101809; // 前置动画 + PROFESSION_magic[2].uiPostMagicNum = 0xffffffff; // 无後置动画 PROFESSION_magic[2].uiShowType = 1; PROFESSION_magic[2].uiShowBehindChar = 1; PROFESSION_magic[2].siPrevMagicSx = 0; @@ -9588,14 +9588,14 @@ void BATTLE_BatFly( int battleindex, int attackNo,int myside) petidx = BATTLE_getRidePet(toindex); if(!CHAR_CHECKINDEX(toindex)) continue; charhp = CHAR_getInt(toindex,CHAR_HP); - // û + // 没骑宠物 if( -1 == petidx || CHAR_getInt(petidx,CHAR_HP) <= 0){ - // ʣ²10Ѫ + // 剩下不到10滴血 if((charhp/10) == 0){ CHAR_setInt(toindex,CHAR_HP,charhp - 1); charhp = 1; } - // 10%HP + // 扣10%的HP else{ CHAR_setInt(toindex,CHAR_HP,charhp - (charhp/10)); charhp /= 10; @@ -9604,19 +9604,19 @@ void BATTLE_BatFly( int battleindex, int attackNo,int myside) sprintf(szCommand,"BD|r%X|%X|0|d%X|p0|",ToList[i],BD_KIND_HP,charhp); } else{ - // ʣ²20Ѫ + // 剩下不到20滴血 if((charhp/20) == 0){ CHAR_setInt(toindex,CHAR_HP,charhp - 1); charhp = 1; } - // ˺ͳ5%HP + // 人和宠各扣5%HP else{ CHAR_setInt(toindex,CHAR_HP,charhp - (charhp/20)); charhp /= 20; } addhp += charhp; pethp = CHAR_getInt(petidx,CHAR_HP); - // ʣ²20Ѫ + // 剩下不到20滴血 if((pethp/20) == 0){ CHAR_setInt(petidx,CHAR_HP,pethp - 1); pethp = 1; @@ -9644,7 +9644,7 @@ void BATTLE_BatFly( int battleindex, int attackNo,int myside) BATTLESTR_ADD(szCommand); } -// ׶ - +// 雷尔技 - 分身地裂 void BATTLE_DivideAttack( int battleindex, int attackNo,int myside) { int ToList[SIDE_OFFSET*2+1],i,toindex; @@ -9655,14 +9655,14 @@ void BATTLE_DivideAttack( int battleindex, int attackNo,int myside) if(CHAR_CHECKINDEX(charaindex) == FALSE) return; memset(ToList,-1,sizeof(ToList)); - if(myside) BATTLE_MultiList(battleindex,TARGET_SIDE_0,ToList); // - else BATTLE_MultiList(battleindex,TARGET_SIDE_1,ToList); // + if(myside) BATTLE_MultiList(battleindex,TARGET_SIDE_0,ToList); // 打左上 + else BATTLE_MultiList(battleindex,TARGET_SIDE_1,ToList); // 打右下 PROFESSION_magic[2].uiSpriteNum = myside ? 101798:101800; PROFESSION_magic[2].siSx = 320; PROFESSION_magic[2].siSy = 240; - PROFESSION_magic[2].uiPrevMagicNum = myside ? 101808:101809; // ǰö - PROFESSION_magic[2].uiPostMagicNum = 0xffffffff; // ö + PROFESSION_magic[2].uiPrevMagicNum = myside ? 101808:101809; // 前置动画 + PROFESSION_magic[2].uiPostMagicNum = 0xffffffff; // 无後置动画 PROFESSION_magic[2].uiShowType = 1; PROFESSION_magic[2].uiShowBehindChar = 0; PROFESSION_magic[2].siPrevMagicSx = 0; @@ -9671,14 +9671,14 @@ void BATTLE_DivideAttack( int battleindex, int attackNo,int myside) sprintf(szCommand,"%X|",0x5711438); BATTLESTR_ADD(szCommand); - // ɿMPĶ + // 先完成扣MP的动作 for(i=0;i>1)); charmp >>= 1; sprintf(szCommand,"BD|r%X|%X|0|d%X|",ToList[i],BD_KIND_MP,charmp); @@ -9691,9 +9691,9 @@ void BATTLE_DivideAttack( int battleindex, int attackNo,int myside) if(!CHAR_CHECKINDEX(toindex)) continue; charhp = CHAR_getInt(toindex,CHAR_HP); - // û + // 没骑宠物 if( -1 == petidx || CHAR_getInt(petidx,CHAR_HP) <= 0){ - // 20%HP + // 扣20%HP if((charhp/5) == 0){ CHAR_setInt(toindex,CHAR_HP,charhp - 1); charhp = 1; @@ -9705,7 +9705,7 @@ void BATTLE_DivideAttack( int battleindex, int attackNo,int myside) sprintf(szCommand,"BD|r%X|%X|0|d%X|p0|",ToList[i],BD_KIND_HP,charhp); } else{ - // ˺ͳ10%HP + // 人和宠各扣10%HP if((charhp/10) == 0){ CHAR_setInt(toindex,CHAR_HP,charhp - 1); charhp = 1; @@ -9734,7 +9734,7 @@ void BATTLE_DivideAttack( int battleindex, int attackNo,int myside) } } -// ׶, +// 雷尔死亡,变身 void BATTLE_LerChange(int battleindex,int charaindex,int no) { int array = -1,newindex = -1; @@ -9766,11 +9766,11 @@ void BATTLE_LerChange(int battleindex,int charaindex,int no) #ifdef _PETSKILL_BATTLE_MODEL typedef struct _tsAttackObject{ - int index; // - int target; // Ŀ - int actionNumber; // ͼ + int index; // 攻击物件编号 + int target; // 目标编号 + int actionNumber; // 攻击物件图号 }AttackObject; -// BATTLE_BattleModel õĹʽ +// BATTLE_BattleModel 用的攻击函式 void BATTLE_BattleModel_ATTACK( int battleindex, int charaindex, @@ -9783,48 +9783,48 @@ void BATTLE_BattleModel_ATTACK( int i,iDefindex,iPetindex,iToindex,iDamage,iPetDamage,iGuardian = -1,iDefState,iUltimate = 0,iTemp = 0,iTemp2 = 0,iFlg = 0; char szCommand[1024]; - // Ŀ治ڻû + // 检查目标存不存在或有没有死亡 if(!BATTLE_TargetCheck(battleindex,pAAttackObject->target)) return; iToindex = iDefindex = BATTLE_No2Index(battleindex,pAAttackObject->target); - // dz,ڲڳ + // 若是宠物,检查主人在不在场上 if(CHAR_getInt(iToindex,CHAR_WHICHTYPE ) == CHAR_TYPEPET){ if(pAAttackObject->target + 5 >= SIDE_OFFSET) iFlg = 1; i = pAAttackObject->target + 5 - iFlg * SIDE_OFFSET; if(BattleArray[battleindex].Side[iFlg].Entry[i].flg & BENT_FLG_ULTIMATE) return; } iPetindex = BATTLE_getRidePet(iToindex); - // ˺ + // 计算伤害 iDefState = BATTLE_AttackSeq(charaindex,iToindex,&iDamage,&iGuardian,-1); - // iType & 0x00000004 Ϊ true ʾΪ + // iType & 0x00000004 为 true 表示为物理攻击 if(iType & 0x00000004){ - // Ȯû,趨Ȯ + // 若忠犬没死亡,设定忠犬 if(BATTLE_TargetCheck(battleindex,iGuardian)){ - // Ȯ,ѱ趨ΪʹȮܵĽɫ,򱻹ΪԭĿ + // 若有忠犬,把被攻击者设定为使用忠犬技能的角色,否则被攻击者为原目标 if(iGuardian >= 0) iDefindex = BATTLE_No2Index(battleindex,iGuardian); } else iGuardian = -1; } - // 趨 CHAR_NPCWORKINT1 Ϊ BATTLE_COM_S_BATTLE_MODEL BATTLE_DamageSub õ + // 设定 CHAR_NPCWORKINT1 为 BATTLE_COM_S_BATTLE_MODEL 在 BATTLE_DamageSub 会用到 iTemp2 = CHAR_getWorkInt(iDefindex,CHAR_NPCWORKINT1); CHAR_setWorkInt(iDefindex,CHAR_NPCWORKINT1,BATTLE_COM_S_BATTLE_MODEL); - // ֮ iDefindex ˵Ŀ + // 在这之後的 iDefindex 才是真正会受伤的目标 if(gDamageDiv != 0.0 && iDamage > 0){ iDamage /= gDamageDiv; if(iDamage <= 0) iDamage = 1; } - // ûһ,пѪ + // 若没有下列任一项,进行扣血 if(!(iDefState == BATTLE_RET_DODGE)){ - // Ѫ - // + // 扣血 + // 物理攻击 if(iType & 0x00000004) iUltimate = BATTLE_DamageSub(charaindex,iDefindex,&iDamage,&iPetDamage,&iTemp); - // + // 非物理攻击 else{ iTemp = -1; iUltimate = BATTLE_DamageSub(charaindex,iDefindex,&iDamage,&iPetDamage,&iTemp); } } iFlg = 0; - // ش״̬ + // 回传状态检查 switch(iDefState){ case BATTLE_RET_ALLGUARD:iFlg |= BCF_GUARD;break; case BATTLE_RET_MISS:iDamage = 0;break; @@ -9842,17 +9842,17 @@ void BATTLE_BattleModel_ATTACK( #endif } - //˯ʱ,״̬(Ҳ״̬) + //昏睡时,在这里解除状态(也有其它的状态) if(iDamage > 0 && (iTemp != BATTLE_MD_ABSROB) && (iTemp != BATTLE_MD_VANISH)) BATTLE_DamageWakeUp(battleindex,iDefindex); - // ĿǷ + // 目标是否死亡 if(CHAR_getInt(iDefindex,CHAR_HP) <= 0){ if(CHAR_getWorkInt(iDefindex,CHAR_WORKBATTLEFLG ) & CHAR_BATTLEFLG_ABIO) iUltimate = 1; else if(CHAR_getInt(iDefindex,CHAR_WHICHTYPE) != CHAR_TYPEPLAYER && (iFlg & BCF_KAISHIN)){ if(RAND(1,100) < 50) iUltimate = 1; } #ifdef _PETSKILL_LER - // ׶ܱ + // 雷尔不能被打飞 if(CHAR_getInt(iDefindex,CHAR_BASEBASEIMAGENUMBER) == 101813 || CHAR_getInt(iDefindex,CHAR_BASEBASEIMAGENUMBER) == 101814) iUltimate = 0; #endif @@ -9867,16 +9867,16 @@ void BATTLE_BattleModel_ATTACK( if(BATTLE_ItemCrushSeq(iDefindex) == TRUE) #endif iFlg |= BCF_CRUSH; - // ״̬ж + // 状态命中判定 if(iDamage > 0 && BATTLE_StatusAttackCheck(charaindex,iDefindex,iEffect,iEffectHit,30,1.0,&iTemp)){ CHAR_setWorkInt(iDefindex,StatusTbl[iEffect],iTurn); if(iEffect == BATTLE_ST_DRUNK) CHAR_setWorkInt(iDefindex,CHAR_WORKDRUNK,CHAR_getWorkInt(iDefindex,CHAR_WORKDRUNK) >> 1); - // ״̬Ŀûغ֮᲻ж + // 中以下状态的目标该回合之後不能行动 if(iEffect == BATTLE_ST_PARALYSIS || iEffect == BATTLE_ST_SLEEP || iEffect == BATTLE_ST_STONE || iEffect == BATTLE_ST_BARRIER) CHAR_setWorkInt(iDefindex,CHAR_WORKBATTLECOM1,BATTLE_COM_NONE); - // شclientһĿҪִ״̬ı - if(iGuardian >= 0) BATTLE_BadStatusString(iGuardian,iEffect); // iGuardian 춵 0 ʾĿʹȮ,Ŀ״̬ı - else BATTLE_BadStatusString(pAAttackObject->target,iEffect); // ԭĿ״̬ı + // 回传client那一个目标要执行状态改变 + if(iGuardian >= 0) BATTLE_BadStatusString(iGuardian,iEffect); // iGuardian 大於等於 0 表示有目标使用了忠犬,该目标状态改变 + else BATTLE_BadStatusString(pAAttackObject->target,iEffect); // 否则原目标状态改变 } } @@ -9901,12 +9901,12 @@ void BATTLE_BattleModel_ATTACK( iPetDamage, pAAttackObject->actionNumber); - // 봫clientbuffer + // 把命令送入传给client的buffer BATTLESTR_ADD(szCommand); iTemp = BATTLE_Index2No(battleindex,iDefindex); - // iFlg û,; + // iFlg 已没作用,拿来作别的用途 iFlg = 0; if(iTemp >= SIDE_OFFSET) iFlg = 1; @@ -9933,7 +9933,7 @@ void BATTLE_BattleModel(int battleindex,int attackNo,int myside) return; } - // ȡЧ + // 取得效果 if(getStringFromIndexWithDelim(pszOption,"|",3,szData,sizeof(szData)) != FALSE){ for(i=1;i= iActionAmount) i1 = 0; } - // 鳡Ŀʣֻ + // 检查场上目标剩几只 for(i=0;i= i){ - i0 = i; // ¼Ŀֻ + i0 = i; // 记录场上目标只数 for(i=0;istatus:%d",status); - // ئмƥ + // 効果ないので失敗 if( status == -1 ) return; - // į + // バトル番号 battleindex = CHAR_getWorkInt( charaindex, CHAR_WORKBATTLEINDEX ); - index2 = BATTLE_No2Index( battleindex, toindex);//Ŀ֮index + index2 = BATTLE_No2Index( battleindex, toindex);//被击中目标之index attackNo = BATTLE_Index2No( battleindex, charaindex ); // defNo = BATTLE_Index2No( battleindex, index2 ); //print("\nvincent-->charaindex:%d,attackNo:%d,index2:%d,defNo:%d,",charaindex,attackNo,index2,defNo); - /* ƽҷ ջ */ + /* キャラクターの所持品リストから消去 */ CHAR_setItemIndex(charaindex, haveitemindex ,-1); - CHAR_sendItemDataOne( charaindex, haveitemindex);/* ʧ ةޥ */ + CHAR_sendItemDataOne( charaindex, haveitemindex);/* アイテム更新 */ // if( CHAR_getWorkInt( charaindex, StatusTbl[status] ) > 0 ){ // ReceveEffect = SPR_tyusya; // }else{ // ReceveEffect = SPR_hoshi; // } - ReceveEffect = SPR_tyusya;// + ReceveEffect = SPR_tyusya;//打针 BATTLE_MultiStatusRecovery( battleindex, attackNo, toindex, status, MAGIC_EFFECT_USER, ReceveEffect ); - /* */ + /* 消す */ ITEM_endExistItemsOne( itemindex ); ////////////////////////// // BATTLE_MultiList( battleindex, defNo, ToList ); @@ -823,7 +823,7 @@ void ITEM_useRefresh_Effect( charaindex, toindex, haveitemindex) //////////////////////////// } #endif -#ifdef _ITEM_ADDEXP //vincent +#ifdef _ITEM_ADDEXP //vincent 经验提升 void ITEM_useAddexp_Effect( charaindex, toindex, haveitemindex) { int itemindex,power,vtime; @@ -833,14 +833,14 @@ void ITEM_useAddexp_Effect( charaindex, toindex, haveitemindex) itemindex = CHAR_getItemIndex(charaindex,haveitemindex); - // Ʒ + // 检查物品 if(!ITEM_CHECKINDEX(itemindex)) return; arg = ITEM_getChar(itemindex, ITEM_ARGUMENT ); - if( (p = strstr( arg, "" )) != NULL ){ + if( (p = strstr( arg, "增" )) != NULL ){ sscanf( p+2, "%d", &power ); } - if( (p = strstr( arg, "" )) != NULL ){ + if( (p = strstr( arg, "分" )) != NULL ){ sscanf( p+2, "%d", &vtime ); } if( p == NULL )return; @@ -850,12 +850,12 @@ void ITEM_useAddexp_Effect( charaindex, toindex, haveitemindex) 0 != (int)(CHAR_getInt( charaindex, CHAR_ADDEXPPOWER)) ) { - CHAR_talkToCli( charaindex, -1, "ӵЧͬ,޷ʹ", CHAR_COLORYELLOW); + CHAR_talkToCli( charaindex, -1, "经验增加的效果不同,无法叠加使用", CHAR_COLORYELLOW); return; } } #endif -#ifdef _ITEM_ADDEXP2 // ǹʱۼ +#ifdef _ITEM_ADDEXP2 // 智果时间可以累加 { int point; point = CHAR_getInt( charaindex, CHAR_ADDEXPPOWER) @@ -865,7 +865,7 @@ void ITEM_useAddexp_Effect( charaindex, toindex, haveitemindex) #else if( point >= 7200000) { #endif - CHAR_talkToCli( charaindex, -1, "ǻ֮ۼʱ估ЧѴޡ", CHAR_COLORYELLOW); + CHAR_talkToCli( charaindex, -1, "智慧之果累计时间及效果已达上限。", CHAR_COLORYELLOW); return; } @@ -891,14 +891,14 @@ void ITEM_useAddexp_Effect( charaindex, toindex, haveitemindex) CHAR_setInt( charaindex, CHAR_ADDEXPPOWER, power); CHAR_setInt( charaindex, CHAR_ADDEXPTIME,vtime*60 ); - // + //清除道具 BATTLE_ItemUseDelete(charaindex,haveitemindex); - //sprintf(szBuffer, "ѧϰ%d", power); - sprintf(szBuffer, "ѧϰ%dʱЧʣ%dӡ", power, vtime); + //sprintf(szBuffer, "学习经验的能力提升了%d%", power); + sprintf(szBuffer, "学习经验的能力提升了%d%,时效剩余%d分钟。", power, vtime); CHAR_talkToCli(charaindex,-1,szBuffer,CHAR_COLORYELLOW); //int mfd=getfdFromCharaIndex( charaindex); CHAR_charSaveFromConnect(charaindex, FALSE); - CHAR_talkToCli(charaindex, -1, "ϵͳΪԶ浵", CHAR_COLORRED); + CHAR_talkToCli(charaindex, -1, "系统为你自动存档!", CHAR_COLORRED); } #endif //Terry add 2001/12/24 @@ -918,7 +918,7 @@ void ITEM_useFirecracker_Battle( charaindex, toindex, haveitemindex) #endif itemindex = CHAR_getItemIndex(charaindex,haveitemindex); - // Ʒ + // 检查物品 if(!ITEM_CHECKINDEX(itemindex)) return; battleindex = CHAR_getWorkInt(charaindex,CHAR_WORKBATTLEINDEX); @@ -935,24 +935,24 @@ void ITEM_useFirecracker_Battle( charaindex, toindex, haveitemindex) MySide_start = safeSide*SIDE_OFFSET; MySide_end = ((safeSide*SIDE_OFFSET) + SIDE_OFFSET); - if( (toindex >= MySide_start) && (toindex= MySide_start) && (toindex= 901 && CHAR_getInt(index2,CHAR_PETID) <= 904){ - // ȡĿ᷽Ľɫindex + // 取得目标的正後方的角色的index masteridx = BATTLE_No2Index(battleindex,toindex-5); - // ս + // 如果对战的是玩家 if(CHAR_getInt(masteridx,CHAR_WHICHTYPE) == CHAR_TYPEPLAYER) PetEscape = 1; - else print("\nʱ"); + else print("\n年兽在遇敌时出现"); } } - // ըԼ + // 如果不是炸自己 if(BATTLE_Index2No(battleindex,charaindex) != toindex) { sprintf(szWork,"BB|a%X|w3|r%X|f0|d0|p0|FF|",BATTLE_Index2No(battleindex,charaindex),toindex); @@ -1021,13 +1021,13 @@ void ITEM_useFirecracker_Battle( charaindex, toindex, haveitemindex) CHAR_setInt(masteridx,CHAR_DEFAULTPET,-1); sprintf(szWork,"BQ|e%X|",toindex); BATTLESTR_ADD(szWork); - CHAR_talkToCli(masteridx,-1,"ޱˣ",CHAR_COLORWHITE); - CHAR_talkToCli(charaindex,-1,"ޱˣ",CHAR_COLORWHITE); + CHAR_talkToCli(masteridx,-1,"年兽被吓跑了!",CHAR_COLORWHITE); + CHAR_talkToCli(charaindex,-1,"年兽被吓跑了!",CHAR_COLORWHITE); } } - CHAR_talkToCli(charaindex,-1,"ʲ¶û",CHAR_COLORWHITE); - CHAR_talkToCli(charaindex,-1,"ʧˡ",CHAR_COLORWHITE); - // ʹʧ + CHAR_talkToCli(charaindex,-1,"什麽事都没发生。",CHAR_COLORWHITE); + CHAR_talkToCli(charaindex,-1,"道具消失了。",CHAR_COLORWHITE); + // 使用後道具消失 BATTLE_ItemUseDelete(charaindex,haveitemindex); #endif } @@ -1038,9 +1038,9 @@ void ITEM_useFirecracker_Battle( charaindex, toindex, haveitemindex) -//״̬ظ,Ӹ(,,) ͬħ(,,),ֻս֮ʹ,û -// :ֵ turn 1 -#ifdef _FEV_ADD_NEW_ITEM // FEV ADD Ӹؾ +//气绝状态回复耐力,复加复活(光,镜,守)精灵 参数同魔法(光,镜,守)精灵,但只能在战斗之使用,用完就没了 +//参数 例如:耐力值 吸 turn 1 +#ifdef _FEV_ADD_NEW_ITEM // FEV ADD 增加复活守精 void ITEM_ResAndDef( int charaindex, int toindex, int haveitemindex ) { int itemindex, battleindex, attackNo, par = 0, pow = 0, ReceveEffect; @@ -1051,37 +1051,37 @@ void ITEM_ResAndDef( int charaindex, int toindex, int haveitemindex ) char magicarg4[200]; char *pszP = NULL; - char delim[] = " ";//ЭִֽԪ + char delim[] = " ";//协助分解字串的区隔字元 int status = -1, i, turn = 3; char szTurn[] = "turn"; - // ʧ ةؤ¾ + // アイテムがあるかどうか itemindex = CHAR_getItemIndex( charaindex, haveitemindex); if(!ITEM_CHECKINDEX(itemindex)) return; - buffer = ITEM_getChar(itemindex, ITEM_ARGUMENT );//ִ - pszP = strtok(buffer, delim);//һ - magicarg = strtok(NULL, delim);//ڶ - magicarg2 = strtok(NULL, delim);// - magicarg3 = strtok(NULL, delim);//ĸ + buffer = ITEM_getChar(itemindex, ITEM_ARGUMENT );//整串字串 + pszP = strtok(buffer, delim);//第一个参数 + magicarg = strtok(NULL, delim);//第二个参数 + magicarg2 = strtok(NULL, delim);//第叁个参数 + magicarg3 = strtok(NULL, delim);//第四个参数 sprintf(magicarg4,"%s %s %s",magicarg,magicarg2,magicarg3); magicarg = (char*)magicarg4; - //⾵..ʹõз + //光镜守..不得使用敌方 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, toindex) == 0 ){//ͬ + if( BATTLE_CheckSameSide( charaindex, toindex) == 0 ){//不同边 battleindex = CHAR_getWorkInt( charaindex, CHAR_WORKBATTLEINDEX ); BATTLE_NoAction( battleindex, BATTLE_Index2No( battleindex, charaindex) ); - CHAR_talkToCli( charaindex, -1, "⾵..ʩҵз", CHAR_COLORYELLOW); + CHAR_talkToCli( charaindex, -1, "光镜守..不得施予非玩家敌方。", CHAR_COLORYELLOW); return; } } - //״̬ظ + //在气绝状态回复耐力 if( strstr( pszP, "%" ) ){ par = 1; } @@ -1092,7 +1092,7 @@ void ITEM_ResAndDef( int charaindex, int toindex, int haveitemindex ) attackNo = BATTLE_Index2No( battleindex, charaindex ); - //ѡЧ + //选择代表的特效 if( pow <= 0 ){ ReceveEffect = SPR_fukkatu3; }else @@ -1109,12 +1109,12 @@ void ITEM_ResAndDef( int charaindex, int toindex, int haveitemindex ) pow, par, SPR_item3, ReceveEffect ); - //(,,) + //(光,镜,守)精灵 - // ë + // 効果を取得 for( ;status == -1 && magicarg[0] != 0; magicarg++ ){ for( i = 1; i < BATTLE_MD_END; i ++ ){ - // + // 効果ピッタリか? if( strncmp( magicarg, aszMagicDef[i], 2 ) == 0 ){ status = i; pszP +=2; @@ -1122,22 +1122,22 @@ void ITEM_ResAndDef( int charaindex, int toindex, int haveitemindex ) } } } - // ئмƥ + // 効果ないので失敗 if( status == -1 ) return; - // ϼ ʽ¾ + // 何回変更させるか? if( ( magicarg = strstr( magicarg, szTurn ) ) != NULL){ magicarg += sizeof( szTurn ); sscanf( magicarg, "%d", &turn ); } - //print(":%d",turn); + //print("次数:%d",turn); - // į + // バトル番号 battleindex = CHAR_getWorkInt( charaindex, CHAR_WORKBATTLEINDEX ); attackNo = BATTLE_Index2No( battleindex, charaindex ); - // 幻 + // 全員 BATTLE_MultiMagicDef( battleindex, attackNo, toindex, status, turn, MAGIC_EFFECT_USER, SPR_difence ); diff --git a/battle/battle_magic.c b/battle/battle_magic.c index 19de874..4e02c72 100644 --- a/battle/battle_magic.c +++ b/battle/battle_magic.c @@ -11,7 +11,7 @@ #include"common.h" #include"lssproto_serv.h" -#ifdef _PROFESSION_SKILL // WON ADD ְҵ +#ifdef _PROFESSION_SKILL // WON ADD 人物职业技能 #include "profession_skill.h" #include "skill.h" #endif @@ -37,26 +37,26 @@ void Magic_ComputeDefExp( int charindex, int Mnum, int MagicLv, int Damage); /* typedef struct tagToCallMagic { - unsigned int uiSpriteNum; // Spr_x.binı - unsigned int uiAttackType; // ķʽˣ( ) , ( ) , ( ͬʱ ) , ȫ( ) , ȫ( ͬʱ ) - unsigned int uiSliceTime; // ʱʱ - unsigned int uiShowType; // ʾλ÷ʽ롢ָ - int siSx; // ʾλ - X - int siSy; // ʾλ - Y - unsigned int uiShowBehindChar; // ʾǰ· - unsigned int uiShakeScreen; // Ƿ𶯻 - unsigned int uiShakeFrom; // 𶯻ʼʱ( ) - unsigned int uiShakeTo; // 𶯻Ľʱ( _ - unsigned int uiPrevMagicNum; // ǰ( 0XFFFFFFFFFF ʾǰ ) - int siPrevMagicSx; // ǰʾλ - X - int siPrevMagicSy; // ǰʾλ - Y - int siPrevMagicOnChar; // ǰʾǰ· - unsigned int uiPostMagicNum; // ( 0XFFFFFFFF ʾ ) - int siPostMagicSx; // ʾλ - X - int siPostMagicSy; // ʾλ - Y - int siPostMagicOnChar; // ʾǰ· - int isPostDisappear; // һ㹥ʱǷʧ - int ToCallMagicNo; // ٻı + unsigned int uiSpriteNum; // 此咒术在Spr_x.bin的编号 + unsigned int uiAttackType; // 攻击的方式:单人,整排( 轮流 ) , 整排( 轮流 ) , 整排( 同时 ) , 全体( 轮流 ) , 全体( 同时 ) + unsigned int uiSliceTime; // 轮流攻击时的时间差 + unsigned int uiShowType; // 显示的位置方式:中央、指定 + int siSx; // 显示的位置 - X轴 + int siSy; // 显示的位置 - Y轴 + unsigned int uiShowBehindChar; // 显示在人物的前方或下方 + unsigned int uiShakeScreen; // 是否震动画面 + unsigned int uiShakeFrom; // 震动画面的起始时间( 毫秒 ) + unsigned int uiShakeTo; // 震动画面的结束时间( 毫秒 _ + unsigned int uiPrevMagicNum; // 前置咒术的索引号( 0XFFFFFFFFFF 表示无前置咒术 ) + int siPrevMagicSx; // 前置咒术的显示位置 - X轴 + int siPrevMagicSy; // 前置咒术的显示位置 - Y轴 + int siPrevMagicOnChar; // 前置咒术显示在人物的前方或下方 + unsigned int uiPostMagicNum; // 後置咒术的索引号( 0XFFFFFFFF 表示无後置咒术 ) + int siPostMagicSx; // 後置咒术的显示位置 - X轴 + int siPostMagicSy; // 後置咒术的显示位置 - Y轴 + int siPostMagicOnChar; // 後置咒术显示在人物的前方或下方 + int isPostDisappear; // 咒术一般攻击完时是否马上消失 + int ToCallMagicNo; // 召唤术的编号 }ToCallMagic; */ @@ -67,7 +67,7 @@ ToCallMagic TOCALL_magic[3] = { {100354,0,0,0,50,25,1,0,0,0,101120,65528,65485,0 #endif -// ħȼ辭ֵ +// 魔法熟练度及抗性升级所需经验值 int Magic_Level_Table[101] = { 1, 3, 6, 10, 15, 21, 28, 36, 45, 55, //lv 1~10 @@ -246,7 +246,7 @@ void BATTLE_ImprecateRecovery( case BD_KIND_CURSE: if( CHAR_getWorkInt( toindex, CHAR_WORKIMPRECATENUM1 ) <= 0 && CHAR_getInt( toindex, CHAR_WHICHTYPE) == CHAR_TYPEPLAYER ) { - CHAR_setWorkInt( toindex, CHAR_WORKHURTMP, powers); //˺ MP + CHAR_setWorkInt( toindex, CHAR_WORKHURTMP, powers); //伤害 MP CHAR_setWorkInt( toindex, CHAR_WORKIMPRECATENUM1, rounds); } break; @@ -255,14 +255,14 @@ void BATTLE_ImprecateRecovery( #ifdef _TYPE_TOXICATION if( CHAR_CanCureFlg( toindex, "HP") == FALSE ) break; #endif - CHAR_setWorkInt( toindex, CHAR_WORKWISHESHP, powers); //ף hp + CHAR_setWorkInt( toindex, CHAR_WORKWISHESHP, powers); //祝福 hp CHAR_setWorkInt( toindex, CHAR_WORKIMPRECATENUM2, rounds); } break; case BD_KIND_WISHES: if( CHAR_getWorkInt( toindex, CHAR_WORKIMPRECATENUM3 ) <= 0 && CHAR_getInt( toindex, CHAR_WHICHTYPE) == CHAR_TYPEPLAYER ) { - CHAR_setWorkInt( toindex, CHAR_WORKWISHESMP, powers); //ף MP + CHAR_setWorkInt( toindex, CHAR_WORKWISHESMP, powers); //祝福 MP CHAR_setWorkInt( toindex, CHAR_WORKIMPRECATENUM3, rounds); } break; @@ -324,7 +324,7 @@ void BATTLE_MultiRecovery( CHAR_complianceParameter( toindex ); CHAR_sendCToArroundCharacter( CHAR_getWorkInt( toindex , CHAR_WORKOBJINDEX )); CHAR_send_P_StatusString( toindex , CHAR_P_STRING_BASEBASEIMAGENUMBER); - CHAR_talkToCli( toindex,-1,"ʧЧˡ",CHAR_COLORWHITE); + CHAR_talkToCli( toindex,-1,"乌力化失效了。",CHAR_COLORWHITE); } break; #endif @@ -333,8 +333,8 @@ void BATTLE_MultiRecovery( { if (CHAR_getInt(toindex, CHAR_WHICHTYPE)!=CHAR_TYPEPLAYER) return; - //print("ˮ:%d %d %d %d", CHAR_getInt( toindex, CHAR_EARTHAT ), CHAR_getInt( toindex, CHAR_WATERAT ), CHAR_getInt( toindex, CHAR_FIREAT ), CHAR_getInt( toindex, CHAR_WINDAT ) ); - if( power == 1 ){//ת ת + //print("地水火风:%d %d %d %d", CHAR_getInt( toindex, CHAR_EARTHAT ), CHAR_getInt( toindex, CHAR_WATERAT ), CHAR_getInt( toindex, CHAR_FIREAT ), CHAR_getInt( toindex, CHAR_WINDAT ) ); + if( power == 1 ){//旋转属性 正转 if( CHAR_getInt( toindex, CHAR_EARTHAT ) == 100 ) CHAR_setInt( toindex, CHAR_EARTHAT, CHAR_getInt( toindex, CHAR_EARTHAT )-10 ), CHAR_setInt( toindex, CHAR_WATERAT, CHAR_getInt( toindex, CHAR_WATERAT )+10 ); @@ -360,7 +360,7 @@ void BATTLE_MultiRecovery( CHAR_setInt( toindex, CHAR_WINDAT, CHAR_getInt( toindex, CHAR_WINDAT )-10 ), CHAR_setInt( toindex, CHAR_EARTHAT, CHAR_getInt( toindex, CHAR_EARTHAT )+10 ); } - if( power == 2 ){//ת ת + if( power == 2 ){//旋转属性 反转 if( CHAR_getInt( toindex, CHAR_EARTHAT ) == 100 ) CHAR_setInt( toindex, CHAR_EARTHAT, CHAR_getInt( toindex, CHAR_EARTHAT )-10 ), CHAR_setInt( toindex, CHAR_WINDAT, CHAR_getInt( toindex, CHAR_WINDAT )+10 ); @@ -408,7 +408,7 @@ void BATTLE_MultiRecovery( CHAR_setInt( toindex, CHAR_HP, min( workhp, CHAR_getWorkInt( toindex, CHAR_WORKMAXHP ) ) ); - //snprintf( szBuffer, sizeof(szBuffer), "(%s);ظ(%d)", CHAR_getUseName( toindex ), UpPoint ); + //snprintf( szBuffer, sizeof(szBuffer), "(%s)的耐久力回复(%d)", CHAR_getUseName( toindex ), UpPoint ); }else { int allUpPoint; @@ -446,7 +446,7 @@ void BATTLE_MultiRecovery( CHAR_setInt( ridepet, CHAR_HP, min( workhp, CHAR_getWorkInt( ridepet, CHAR_WORKMAXHP ) ) ); //snprintf( szBuffer, sizeof(szBuffer), - // "(%s);ظ(%d),(%s);ظ(%d)", + // "(%s)的耐久力回复(%d),(%s的骑宠)的耐久力回复(%d)", // CHAR_getUseName( toindex ), // UpPoint, // CHAR_getUseName( toindex ), @@ -465,7 +465,7 @@ void BATTLE_MultiRecovery( CHAR_setInt( toindex, CHAR_MP, min( workhp, CHAR_getWorkInt( toindex, CHAR_WORKMAXMP ) ) ); //snprintf( szBuffer, sizeof(szBuffer), - // "(%s)ظ(%d)", + // "(%s)的气力回复(%d)", // CHAR_getUseName( toindex ), // UpPoint // ); @@ -531,23 +531,23 @@ int MAGIC_Recovery_Battle( int charaindex, int toNo, int marray, int mp ) battleindex = CHAR_getWorkInt( charaindex, CHAR_WORKBATTLEINDEX ); attackNo = BATTLE_Index2No( battleindex, charaindex ); -#if 1 // Robin fix MagicΧ +#if 1 // Robin fix 防封包改Magic范围 range = MAGIC_getInt( marray, MAGIC_TARGET ); //print(" MAGIC_TARGET:%d toNo:%d ", range, toNo); - if( range == 0 && toNo != attackNo ) { // ֻܶԼʹ -// print("\n ķ!MAGICֻܶԼʹ!!:%s ", CHAR_getChar( charaindex, CHAR_CDKEY) ); + if( range == 0 && toNo != attackNo ) { // 只能对自己使用 +// print("\n 改封包!MAGIC只能对自己使用!!:%s ", CHAR_getChar( charaindex, CHAR_CDKEY) ); return FALSE; } - if( range == 1 && toNo >= 20 ) { // ֻܶԵʹ -// print("\n ķ!MAGICֻܶԵʹ!!:%s ", CHAR_getChar( charaindex, CHAR_CDKEY) ); + if( range == 1 && toNo >= 20 ) { // 只能对单体使用 +// print("\n 改封包!MAGIC只能对单体使用!!:%s ", CHAR_getChar( charaindex, CHAR_CDKEY) ); return FALSE; } #endif - // shan(ȫʹħbug)޸jinchao+2001/12/07 + // shan(对全体使用魔法的bug),修改者jinchao+2001/12/07 if( BATTLE_CHECKINDEX( battleindex ) == FALSE ) return FALSE; magicarg = MAGIC_getChar( marray, MAGIC_OPTION ); - // shan(ȫʹħbug)޸jinchao+2001/12/07 + // shan(对全体使用魔法的bug),修改者jinchao+2001/12/07 if (magicarg == "\0") return FALSE; power = atoi( magicarg ); @@ -568,15 +568,16 @@ int MAGIC_Recovery_Battle( int charaindex, int toNo, int marray, int mp ) } void BATTLE_MultiResAndDef( - int battleindex, // ̼͵ - int attackNo, // į - int toNo, // ľ į - int power, // - int per, // Ѿ - int kind, // ܷ - int count, // ϼ ʲ - int UseEffect, // мް - int RecevEffect // ľмް + int battleindex, // バトルインデックス + int attackNo, // かける人番号 + int toNo, // かけられる人番号 + int power, // 基本回復値 + int per, // %か? + int kind, // 魔法防御の種類 + int count, // 何回防ぐか + int UseEffect, // 使う人のエフェクト + int RecevEffect // かけられる人のエフェクト + ) { int i, toindex, charaindex, UpPoint = 0, workhp; @@ -589,11 +590,11 @@ void BATTLE_MultiResAndDef( BATTLE_MultiListDead( battleindex, toNo, ToList ); BATTLE_MagicEffect( - battleindex, // ̼͵ - attackNo, // į( ) - ToList, // ľ į( ) - UseEffect, // оް - RecevEffect // ľоް + battleindex, // バトルインデックス + attackNo, // かける人番号(0~19) + ToList, // かけられる人番号リスト(0~19) + UseEffect, // かける人エフェクト + RecevEffect // かけられる人エフェクト ); charaindex = BATTLE_No2Index( battleindex, attackNo ); for( i = 0; ToList[i] != -1; i ++ ){ @@ -625,10 +626,10 @@ void BATTLE_MultiResAndDef( CHAR_setWorkInt( toindex, MagicDefTbl[kind], count ); //snprintf( szBuffer, sizeof(szBuffer), - // "(%s)ָʶ", + // "(%s)恢复意识", // CHAR_getUseName( toindex ) ); //snprintf( szBuffer, sizeof(szBuffer), - // "(%s)(%s)(%s)", + // "(%s)将(%s)遭受(损伤%s)", // CHAR_getUseName( charaindex ), // CHAR_getUseName( toindex ), // aszMagicDefFull[kind] @@ -679,7 +680,7 @@ static int SortLoc( const int *pEle1 , const int *pEle2 ) ele2basex = CharTableIdx[*pEle2][1]; ele2basey = CharTableIdx[*pEle2][0]; - // Ϸ + // 左上方 if( *pEle1 >= 10 ) { if( ele1basey != ele2basey ) @@ -687,7 +688,7 @@ static int SortLoc( const int *pEle1 , const int *pEle2 ) return ( ele1basex - ele2basex ); } - // · + // 右下方 else { if( ele1basey != ele2basey ) @@ -771,7 +772,7 @@ int BATTLE_CalcCharaRatio( int AttEle , int charaidx ) int petidx , charahurt , pethurt; int charaattr[4] , petattr[4]; - // ûг + // 没有宠物 if( -1 == ( petidx = BATTLE_getRidePet( charaidx ) ) ) return 10; @@ -798,12 +799,12 @@ int BATTLE_CalcCharaRatio( int AttEle , int charaidx ) } static int BATTLE_AttrCalc( - int My_Fire, // д(ĤҰ»õ) + int My_Fire, // 自分側(修正受けるほう) int My_Water, int My_Earth, int My_Wind, int My_None, - int Vs_Fire, // 촡 + int Vs_Fire, // 相手側 int Vs_Water, int Vs_Earth, int Vs_Wind, @@ -812,46 +813,47 @@ static int BATTLE_AttrCalc( { int iRet = 0; - // ܼ £ - My_Fire = My_Fire * Vs_None * AJ_UP // - + My_Fire * Vs_Fire * AJ_SAME // Ԫ - + My_Fire * Vs_Water * AJ_DOWN // - + My_Fire * Vs_Earth * AJ_SAME // Ԫ - + My_Fire * Vs_Wind * AJ_UP; // + // 火の攻撃力合計する。 + My_Fire = My_Fire * Vs_None * AJ_UP // 火→無 強い + + My_Fire * Vs_Fire * AJ_SAME // 火→火 同じ + + My_Fire * Vs_Water * AJ_DOWN // 火→水 弱い + + My_Fire * Vs_Earth * AJ_SAME // 火→土 同じ + + My_Fire * Vs_Wind * AJ_UP; // 火→風 強い - // £ - My_Water = My_Water * Vs_None * AJ_UP // - + My_Water * Vs_Fire * AJ_UP // - + My_Water * Vs_Water * AJ_SAME // Ԫ - + My_Water * Vs_Earth * AJ_DOWN // - + My_Water * Vs_Wind * AJ_SAME; // Ԫ + // 水の攻撃力合計する。 + My_Water = My_Water * Vs_None * AJ_UP // 水→無 強い + + My_Water * Vs_Fire * AJ_UP // 水→火 強い + + My_Water * Vs_Water * AJ_SAME // 水→水 同じ + + My_Water * Vs_Earth * AJ_DOWN // 水→土 弱い + + My_Water * Vs_Wind * AJ_SAME; // 水→風 同じ - // - My_Earth = My_Earth * Vs_None * AJ_UP // - + My_Earth * Vs_Fire * AJ_SAME // Ԫ - + My_Earth * Vs_Water * AJ_UP // - + My_Earth * Vs_Earth * AJ_SAME // Ԫ - + My_Earth * Vs_Wind * AJ_DOWN; // + // 土 + My_Earth = My_Earth * Vs_None * AJ_UP // 土→無 強い + + My_Earth * Vs_Fire * AJ_SAME // 土→火 同じ + + My_Earth * Vs_Water * AJ_UP // 土→水 強い + + My_Earth * Vs_Earth * AJ_SAME // 土→土 同じ + + My_Earth * Vs_Wind * AJ_DOWN; // 土→風 弱い - // - My_Wind = My_Wind * Vs_None * AJ_UP // - + My_Wind * Vs_Fire * AJ_DOWN // - + My_Wind * Vs_Water * AJ_SAME // Ԫ - + My_Wind * Vs_Earth * AJ_UP // - + My_Wind * Vs_Wind * AJ_SAME; // Ԫ + // 風 + My_Wind = My_Wind * Vs_None * AJ_UP // 風→無 強い + + My_Wind * Vs_Fire * AJ_DOWN // 風→火 弱い + + My_Wind * Vs_Water * AJ_SAME // 風→水 同じ + + My_Wind * Vs_Earth * AJ_UP // 風→土 強い + + My_Wind * Vs_Wind * AJ_SAME; // 風→風 同じ - // - My_None = My_None * Vs_None * AJ_SAME // Ԫ - + My_None * Vs_Fire * AJ_DOWN // - + My_None * Vs_Water * AJ_DOWN // - + My_None * Vs_Earth * AJ_DOWN // - + My_None * Vs_Wind * AJ_DOWN; // + // 無属性 + My_None = My_None * Vs_None * AJ_SAME // 無→無 同じ + + My_None * Vs_Fire * AJ_DOWN // 無→火 弱い + + My_None * Vs_Water * AJ_DOWN // 無→水 弱い + + My_None * Vs_Earth * AJ_DOWN // 無→土 弱い + + My_None * Vs_Wind * AJ_DOWN; // 無→風 弱い - // + // 全部合計する iRet = (My_Fire + My_Water + My_Earth + My_Wind + My_None) ; - // ңȾԻƥ ئ׼ƥг + // 掛け算ばっかりで大きくなったのでその分へらす return (iRet * D_ATTR); + } extern float BATTLE_FieldAttAdjust(int battleindex,int pAt_Fire,int pAt_Water,int pAt_Earth,int pAt_Wind); @@ -886,8 +888,8 @@ static int BATTLE_AttrAdjust( return damage; } #endif -// -// return: 0:û 1: +// 计算闪避率 +// return: 0:没闪过 1:闪过 int BATTLE_MagicDodge(int charindex,int nDefKind,int nFieldAttr) { float fLuck = 0,fResist = 0; @@ -895,7 +897,7 @@ int BATTLE_MagicDodge(int charindex,int nDefKind,int nFieldAttr) float Dluck=0.0; #endif int charType = CHAR_getInt( charindex, CHAR_WHICHTYPE); - // Ƿ + // 如果是防守者是玩家 if( charType == CHAR_TYPEPLAYER ){ fLuck = (float)CHAR_getInt( charindex, CHAR_LUCK) * 3; fResist = (float)CHAR_getInt( charindex, CHAR_EARTH_RESIST + nFieldAttr) * 0.15; @@ -904,7 +906,7 @@ int BATTLE_MagicDodge(int charindex,int nDefKind,int nFieldAttr) Dluck = (float)(CHAR_getWorkInt( charindex, CHAR_EQUITQUIMAGIC)*0.9); fLuck += Dluck; #endif - }else {// Ƿdz + }else {// 如果是防守者是宠物 fLuck = (float)CHAR_getInt( charindex, CHAR_LV) * 0.2; if(fLuck > 30) fLuck = 30; } @@ -943,7 +945,7 @@ void BATTLE_MultiAttMagic( int battleindex, int attackNo, int toNo , int attIdx, float temp = 0.0f; // int attattr[5], defattr[5]; char msgbuf[64]; - char kind[4][3] = {"","ˮ","",""}; + char kind[4][3] = {"地","水","火","风"}; #else BOOL TrueMagic=FALSE; #endif @@ -957,7 +959,7 @@ void BATTLE_MultiAttMagic( int battleindex, int attackNo, int toNo , int attIdx, if(z != toNo) toNo = z; } BATTLE_AttMagicEffect( battleindex , attackNo , list , attIdx ); - // 㹥嵥 + // 计算攻击的人物清单 if( attackNo < 10 ) magicattidx = attIdx * 2 + 1; else @@ -965,7 +967,7 @@ void BATTLE_MultiAttMagic( int battleindex, int attackNo, int toNo , int attIdx, listidx = 0; memset(def_is_player,-1,sizeof(def_is_player)); memset(def_be_hit,-1,sizeof(def_be_hit)); - // ˹ + // 单人攻击 if( toNo < 20 ){ toNo = list[0]; basex = CharTableIdx[toNo][1]; @@ -976,7 +978,7 @@ void BATTLE_MultiAttMagic( int battleindex, int attackNo, int toNo , int attIdx, continue; else if( toNo >= 10 && ( j < 0 || j > 1 ) ) continue; - // ЩҪ嵥 + // 计算那些人需要加入清单 for( k = 0 ; k < 5 ; k++ ){ if( basex - 2 + k < 0 || basex - 2 + k > 4 ) continue; @@ -988,7 +990,7 @@ void BATTLE_MultiAttMagic( int battleindex, int attackNo, int toNo , int attIdx, } } } - }else if( 20 == toNo ){ // ȫ + }else if( 20 == toNo ){ // 右下全体 for( i = 0 ; i < 2 ; i++ ){ for( j = 0 ; j < 5 ; j++ ){ if( ATTMAGIC_magic[magicattidx].siField[i][j] && TRUE == BATTLE_TargetCheck( battleindex , CharTable[i + 2][j] ) ){ @@ -997,7 +999,7 @@ void BATTLE_MultiAttMagic( int battleindex, int attackNo, int toNo , int attIdx, } } } - }else if( 21 == toNo ){ // ȫ + }else if( 21 == toNo ){ // 左上全体 for( i = 0 ; i < 2 ; i++ ){ for( j = 0 ; j < 5 ; j++ ){ if( ATTMAGIC_magic[magicattidx].siField[i][j] && TRUE == BATTLE_TargetCheck( battleindex , CharTable[i][j] ) ){ @@ -1007,7 +1009,7 @@ void BATTLE_MultiAttMagic( int battleindex, int attackNo, int toNo , int attIdx, } } } - // ϵһ , ϵڶ , µһ , µڶ + // 左上第一列 , 左上第二列 , 右下第一列 , 右下第二列 else if( 23 == toNo || 24 == toNo || 25 == toNo || 26 == toNo ){ basey = toNo - 23; @@ -1017,7 +1019,7 @@ void BATTLE_MultiAttMagic( int battleindex, int attackNo, int toNo , int attIdx, else if( ( 23 == toNo || 24 == toNo ) && ( j < 0 || j > 1 ) ) continue; - // ЩҪ嵥 + // 计算那些人需要加入清单 for( k = 0 ; k < 5 ; k++ ){ if( ATTMAGIC_magic[magicattidx].siField[i][k] && TRUE == BATTLE_TargetCheck( battleindex , CharTable[j][k] ) ) { @@ -1028,17 +1030,17 @@ void BATTLE_MultiAttMagic( int battleindex, int attackNo, int toNo , int attIdx, } } - qsort( list , listidx , sizeof( list[0] ) , ( FUNC )SortLoc );// λ - // ȡ(һdz) + qsort( list , listidx , sizeof( list[0] ) , ( FUNC )SortLoc );// 排序位置 + // 取得人物的属性(不论玩家或是宠物) //BATTLE_GetAttr( BATTLE_No2Index( battleindex , attackNo ) , &attattr[2] , &attattr[1] , &attattr[0] , &attattr[3] , &attattr[4] ); - // ,ȡħȼħ + // 如果攻击者是玩家,取得人物的魔法熟练度及魔法抗性 { int attType = CHAR_getInt(BATTLE_No2Index(battleindex,attackNo),CHAR_WHICHTYPE); int Check=0; AttIsPlayer=0; if( attType == CHAR_TYPEPLAYER) { AttIsPlayer = 1; - for(i=0;i<4;i++){ // att_magic_lv[i]: i = 0: 1:ˮ 2: 3: + for(i=0;i<4;i++){ // att_magic_lv[i]: i = 0:地 1:水 2:火 3:风 att_magic_lv[i] = CHAR_getInt(BATTLE_No2Index(battleindex,attackNo),CHAR_EARTH_EXP+i); } }else if( attType == CHAR_TYPEENEMY ) { @@ -1074,7 +1076,7 @@ void BATTLE_MultiAttMagic( int battleindex, int attackNo, int toNo , int attIdx, DefIsPlayer = 0; if( defType == CHAR_TYPEPLAYER) { DefIsPlayer = 1; - for(j=0;j 0) { CHAR_setWorkInt(def_be_hit[i],CHAR_WORKSLEEP,0); z = BATTLE_Index2No(battleindex,def_be_hit[i]); @@ -1262,47 +1264,47 @@ void BATTLE_MultiAttMagic( int battleindex, int attackNo, int toNo , int attIdx, } #else //TrueMagic == FALSE - // ľֵ----------------------------------------------------------------------------- + // 攻击方的经验值----------------------------------------------------------------------------- if(AttIsPlayer){ - // ˵ħ + // 被克的魔法 DefFieldAttr = (FieldAttr+1)%4; - // ȡõħľֵ + // 取得玩家所用的魔法的经验值 att_magic_exp_add = CHAR_getInt(BATTLE_No2Index(battleindex,attackNo),CHAR_EARTH_ATTMAGIC_EXP+FieldAttr); - // ȡõħıħֵ + // 取得玩家所用的魔法的被克魔法经验值 att_magic_exp_sub = CHAR_getInt(BATTLE_No2Index(battleindex,attackNo),CHAR_EARTH_ATTMAGIC_EXP+DefFieldAttr); - // ʹõħӸԵexp,ֻ㼸exp + // 依所使用的魔法加该属性的exp,打几只算几点exp att_magic_exp_add += getexp; - // ʹõħ۱Եexp,ֻۼexp + // 依所使用的魔法扣被克属性的exp,打几只扣几点exp att_magic_exp_sub -= getexp; lv_up_exp = Magic_Level_Table[att_magic_lv[FieldAttr]]; while(att_magic_exp_add >= lv_up_exp || att_magic_exp_sub < 0){ - // õħľֵڿ + // 如果玩家所用的魔法的经验值现在可以升级了 if(att_magic_exp_add >= lv_up_exp){ - // 100 + // 如果超过了100级 if(att_magic_lv[FieldAttr] + 1 > 100){ att_magic_lv[FieldAttr] = 100; - // ֵΪ0 + // 经验值清为0 att_magic_exp_add = 0; }else{ att_magic_lv[FieldAttr]++; - // ڵľֵ۵˼õľֵ + // 把现在的经验值扣掉升了级所用的经验值 att_magic_exp_add -= lv_up_exp; - snprintf(msgbuf,sizeof(msgbuf)," %s ħΪ %d",kind[FieldAttr],att_magic_lv[FieldAttr]); + snprintf(msgbuf,sizeof(msgbuf),"你的 %s 魔法熟练度升级为 %d。",kind[FieldAttr],att_magic_lv[FieldAttr]); CHAR_talkToCli(BATTLE_No2Index(battleindex,attackNo),-1,msgbuf,CHAR_COLORRED); } } - // õħħľֵڿԽ + // 如果玩家所用的魔法的相克魔法的经验值现在可以降级了 if(att_magic_exp_sub < 0 ){ - // ȼѾ1 + // 如果等级已经是1级 if(att_magic_lv[DefFieldAttr] <= 1){ att_magic_lv[DefFieldAttr] = 1; - // ֵΪ0 + // 经验值清为0 att_magic_exp_sub = 0; }else{ att_magic_lv[DefFieldAttr]--; - // һȼľֵ۵ڵľֵ + // 把下一个等级的经验值扣掉现在的经验值 att_magic_exp_sub = Magic_Level_Table[att_magic_lv[DefFieldAttr]] + att_magic_exp_sub; - snprintf(msgbuf,sizeof(msgbuf)," %s ħȽΪ %d",kind[DefFieldAttr],att_magic_lv[DefFieldAttr]); + snprintf(msgbuf,sizeof(msgbuf),"你的 %s 魔法熟练度降级为 %d。",kind[DefFieldAttr],att_magic_lv[DefFieldAttr]); CHAR_talkToCli(BATTLE_No2Index(battleindex,attackNo),-1,msgbuf,CHAR_COLORRED); } } @@ -1314,44 +1316,44 @@ void BATTLE_MultiAttMagic( int battleindex, int attackNo, int toNo , int attIdx, CHAR_setInt(BATTLE_No2Index(battleindex,attackNo),CHAR_EARTH_ATTMAGIC_EXP+DefFieldAttr,att_magic_exp_sub); } - // طľֵ----------------------------------------------------------------------------- + // 防守方的经验值----------------------------------------------------------------------------- for(i=0;i= lv_up_exp || def_magic_exp_sub < 0){ - // طҶԴħĿԵľֵڿ + // 如果防守方玩家对此魔法的抗性的经验值现在可以升级了 if(def_magic_exp_add >= lv_up_exp){ - // 100 + // 如果超过了100级 if(def_magic_resist[FieldAttr] + 1 > 100) def_magic_resist[FieldAttr] = 100; else { def_magic_resist[FieldAttr]++; - snprintf(msgbuf,sizeof(msgbuf)," %s ħΪ %d",kind[FieldAttr],def_magic_resist[FieldAttr]); + snprintf(msgbuf,sizeof(msgbuf),"你的 %s 魔法抗性升级为 %d。",kind[FieldAttr],def_magic_resist[FieldAttr]); CHAR_talkToCli(charaidx,-1,msgbuf,CHAR_COLORRED); } - // ֵΪ0 + // 经验值清为0 def_magic_exp_add = 0; } - // طҶԴħĿԵħľֵڿԽ + // 如果防守方玩家对此魔法的抗性的相克魔法的经验值现在可以降级了 if(def_magic_exp_sub < 0 ) { - // ȼѾ1 - if(def_magic_resist[DefFieldAttr] <= 1) def_magic_exp_sub = 0; // ֵΪ0 + // 如果等级已经是1级 + if(def_magic_resist[DefFieldAttr] <= 1) def_magic_exp_sub = 0; // 经验值清为0 else { def_magic_resist[DefFieldAttr]--; - // ֵһȼľֵ + // 经验值变成下一个等级的经验值 def_magic_exp_sub = Magic_Level_Table[def_magic_resist[DefFieldAttr]]; - snprintf(msgbuf,sizeof(msgbuf)," %s ħԽΪ %d",kind[DefFieldAttr],def_magic_resist[DefFieldAttr]); + snprintf(msgbuf,sizeof(msgbuf),"你的 %s 魔法抗性降级为 %d。",kind[DefFieldAttr],def_magic_resist[DefFieldAttr]); CHAR_talkToCli(charaidx,-1,msgbuf,CHAR_COLORRED); } } @@ -1362,7 +1364,7 @@ void BATTLE_MultiAttMagic( int battleindex, int attackNo, int toNo , int attIdx, CHAR_setInt(charaidx,CHAR_EARTH_RESIST+DefFieldAttr,def_magic_resist[DefFieldAttr]); CHAR_setInt(charaidx,CHAR_EARTH_DEFMAGIC_EXP+DefFieldAttr,def_magic_exp_sub); } - // ˯ + // 如果被攻击者中了睡眠 if(CHAR_getWorkInt(def_be_hit[i],CHAR_WORKSLEEP) > 0) { CHAR_setWorkInt(def_be_hit[i],CHAR_WORKSLEEP,0); z = BATTLE_Index2No(battleindex,def_be_hit[i]); @@ -1406,7 +1408,7 @@ void BATTLE_MultiToCallDragonMagic( int battleindex, int attackNo, int toNo, BATTLE_ToCallDragonEffect( battleindex , attackNo , list , attIdx); - // 㹥嵥 + // 计算攻击的人物清单 if( attackNo < 10 ) magicattidx = attIdx * 2 + 1; else @@ -1417,12 +1419,12 @@ void BATTLE_MultiToCallDragonMagic( int battleindex, int attackNo, int toNo, memset(def_is_player,-1,sizeof(def_is_player)); memset(def_be_hit,-1,sizeof(def_be_hit)); - // ˹ + // 单人攻击 if( toNo < 20 ){ toNo = list[0]; listidx++; - } else if( 20 == toNo ){ // ȫ + } else if( 20 == toNo ){ // 右下全体 for( i = 0 ; i < 2 ; i++ ){ for( j = 0 ; j < 5 ; j++ ){ if(TRUE == BATTLE_TargetCheck( battleindex , CharTable[i + 2][j] ) ){ @@ -1431,7 +1433,7 @@ void BATTLE_MultiToCallDragonMagic( int battleindex, int attackNo, int toNo, } } } - } else if( 21 == toNo ){ // ȫ + } else if( 21 == toNo ){ // 左上全体 for( i = 0 ; i < 2 ; i++ ){ for( j = 0 ; j < 5 ; j++ ){ if(TRUE == BATTLE_TargetCheck( battleindex , CharTable[i][j] ) ){ @@ -1440,7 +1442,7 @@ void BATTLE_MultiToCallDragonMagic( int battleindex, int attackNo, int toNo, } } } - } // ϵһ , ϵڶ , µһ , µڶ + } // 左上第一列 , 左上第二列 , 右下第一列 , 右下第二列 else if( 23 == toNo || 24 == toNo || 25 == toNo || 26 == toNo ){ basey = toNo - 23; for( i = 0 , j = basey - 1 ; j <= basey + 1 ; i++ , j++ ){ @@ -1448,7 +1450,7 @@ void BATTLE_MultiToCallDragonMagic( int battleindex, int attackNo, int toNo, continue; else if( ( 23 == toNo || 24 == toNo ) && ( j < 0 || j > 1 ) ) continue; - // ЩҪ嵥 + // 计算那些人需要加入清单 for( k = 0 ; k < 5 ; k++ ){ if(TRUE == BATTLE_TargetCheck( battleindex , CharTable[j][k] ) ) { @@ -1458,7 +1460,7 @@ void BATTLE_MultiToCallDragonMagic( int battleindex, int attackNo, int toNo, } } } - qsort( list , listidx , sizeof( list[0] ) , ( FUNC )SortLoc );// λ + qsort( list , listidx , sizeof( list[0] ) , ( FUNC )SortLoc );// 排序位置 for( i = 0 ; i < listidx ; i++ ) { int defType; charaidx = BATTLE_No2Index( battleindex , list[i] ); @@ -1479,10 +1481,10 @@ void BATTLE_MultiToCallDragonMagic( int battleindex, int attackNo, int toNo, 0); if (BATTLE_MagicDodge(charaidx, DefIsPlayer, FieldAttr)) { -// û +// 没击中 attvalue = 0; } else { - if( 0 == TOCALL_magic[attIdx].uiAttackType ) {// ˹ + if( 0 == TOCALL_magic[attIdx].uiAttackType ) {// 单人攻击 attvalue = BATTLE_DamageCalc(icindex, charaidx); } else { @@ -1492,13 +1494,13 @@ void BATTLE_MultiToCallDragonMagic( int battleindex, int attackNo, int toNo, CHAR_CharaDelete(icindex); charahp = CHAR_getInt( charaidx , CHAR_HP ); if (-1 == petidx || CHAR_getInt(petidx, CHAR_HP) <= 0) { -// û +// 没骑宠物 if( ( charahp -= attvalue ) < 0 ) { charahp = 0; } CHAR_setInt( charaidx , CHAR_HP , charahp ); pethp = 0; - if( 0 == TOCALL_magic[attIdx].uiAttackType ) {// ˹ + if( 0 == TOCALL_magic[attIdx].uiAttackType ) {// 单人攻击 sprintf( szcommand , "%X|%X|%X|%X|" , toNo , list[i] , attvalue , pethp); } else sprintf( szcommand , "%X|%X|%X|%X|" , list[i] , list[i] , attvalue , pethp); @@ -1517,7 +1519,7 @@ void BATTLE_MultiToCallDragonMagic( int battleindex, int attackNo, int toNo, if( ( pethp -= attvalue ) < 0) { pethp = 0; - // ûѪ˳ս + // 宠物没血了退出战场 CHAR_setInt(charaidx,CHAR_RIDEPET,-1); BATTLE_changeRideImage(charaidx); CHAR_setWorkInt(charaidx,CHAR_WORKPETFALL,1); @@ -1527,7 +1529,7 @@ void BATTLE_MultiToCallDragonMagic( int battleindex, int attackNo, int toNo, charahurt = charahurt_temp; - if( 0 == TOCALL_magic[attIdx].uiAttackType ) {// ˹ + if( 0 == TOCALL_magic[attIdx].uiAttackType ) {// 单人攻击 sprintf( szcommand , "%X|%X|%X|%X|" , toNo , list[i] , charahurt , attvalue); } else sprintf( szcommand , "%X|%X|%X|%X|" , list[i] , list[i] , charahurt , attvalue); @@ -1547,16 +1549,16 @@ void BATTLE_MultiToCallDragonMagic( int battleindex, int attackNo, int toNo, //*********************************************************** // -// ܷƥ Ѽƽҷëٽ +// 魔法等で複数のキャラクターを復活させる // void BATTLE_MultiRessurect( - int battleindex, // ̼͵ - int attackNo, // į - int toNo, // ľ į - int power, // - int per, // Ѿ - int UseEffect, // мް - int RecevEffect // ľмް + int battleindex, // バトルインデックス + int attackNo, // かける人番号 + int toNo, // かけられる人番号 + int power, // 基本回復値 + int per, // %か? + int UseEffect, // 使う人のエフェクト + int RecevEffect // かけられる人のエフェクト ) // //*********************************************************** @@ -1571,88 +1573,88 @@ void BATTLE_MultiRessurect( BATTLE_MultiListDead( battleindex, toNo, ToList ); BATTLE_MagicEffect( - battleindex, // ̼͵ - attackNo, // į( ) - ToList, // ľ į( ) - UseEffect, // оް - RecevEffect // ľоް + battleindex, // バトルインデックス + attackNo, // かける人番号(0~19) + ToList, // かけられる人番号リスト(0~19) + UseEffect, // かける人エフェクト + RecevEffect // かけられる人エフェクト ); - // ٽ + // 復活させる for( i = 0; ToList[i] != -1; i ++ ){ - // 켰̼͵ + //相手のインデックス toindex = BATTLE_No2Index( battleindex, ToList[i] ); - // Ϸ߯Ի + // DUEL中はプレイヤーの生き返り無し if( BattleArray[battleindex].type == BATTLE_TYPE_P_vs_P && CHAR_getInt( toindex, CHAR_WHICHTYPE ) == CHAR_TYPEPLAYER ){ continue; } - // ƻئľٽئ + // 気絶していなければ復活させない if( CHAR_getFlg( toindex, CHAR_ISDIE ) == FALSE ){ continue; } - // ң + // そのままの計算 UpPoint = power; if( per ){ - // ѻң + //%計算 UpPoint *= CHAR_getWorkInt( toindex, CHAR_WORKMAXHP ) * 0.01; } if( power == 0 ){ - // + //この場合は完全回復 UpPoint = CHAR_getWorkInt( toindex, CHAR_WORKMAXHP ); }else{ - // ڱë (ᷴ) + // 回復量に幅を持たせる(今は適当) UpPoint = RAND( (power*0.9), (power*1.1) ); } - // ƥ֨ + // 最低でも1 UpPoint = max( 1, UpPoint ); workhp = CHAR_getInt( toindex, CHAR_HP ) + UpPoint; - // ëئз + // 最大を超えないように回復 CHAR_setInt( toindex, CHAR_HP, min( workhp, CHAR_getWorkInt( toindex, CHAR_WORKMAXHP ) ) ); - // + // 復活 CHAR_setFlg( toindex, CHAR_ISDIE, 0 ); //snprintf( szBuffer, sizeof(szBuffer), - // "(%s)ָʶ", + // "(%s)恢复意识", // CHAR_getUseName( toindex ) ); - // ú + // 実況中継 //BATTLE_BroadCast( battleindex, szBuffer, // (attackNo >= 10)? CHAR_COLORGRAY : CHAR_COLORPURPLE ) ; - // ()Ѩëľ + // (復活)コマンドをいれる snprintf( szCommand, sizeof(szCommand), "BL|r%X|h%X|", ToList[i], CHAR_getInt( toindex, CHAR_HP ) ); - // ٯ ܰ + //文字列追加 BATTLESTR_ADD( szCommand ); /* { int Sign, Damage; Sign = (UpPoint >= 0)?(1):(0); Damage = ABS( UpPoint ); - // ( )Ѩëľ + // (HP回復)コマンドをいれる snprintf( szCommand, sizeof(szCommand), "BD|r%X|%X|%X|d%X|", ToList[i], 0, Sign, Damage ); } - // ٯ ܰ + // 文字列追加 BATTLESTR_ADD( szCommand ); */ - // 缰 ƥͻئ + // 敵との戦闘中でリスクがなかったら if( BattleArray[battleindex].norisk == 0 && BattleArray[battleindex].type == BATTLE_TYPE_P_vs_E ){ - // ƥʸհëµ + // ここでペットだったら値をプラスする if( CHAR_getInt( toindex, CHAR_WHICHTYPE ) == CHAR_TYPEPET ){ CHAR_PetAddVariableAi( toindex, AI_FIX_PETRESSURECT ); } @@ -1692,7 +1694,7 @@ void BATTLE_MultiReLife( int battleindex, int attackNo, int toNo, CHAR_setInt( toindex, CHAR_HP, min( workhp, CHAR_getWorkInt( toindex, CHAR_WORKMAXHP ) ) ); CHAR_setFlg( toindex, CHAR_ISDIE, 0 ); - //snprintf( szBuffer, sizeof(szBuffer), "(%s)ָʶ", CHAR_getUseName( toindex ) ); + //snprintf( szBuffer, sizeof(szBuffer), "(%s)恢复意识", CHAR_getUseName( toindex ) ); snprintf( buf1, sizeof(buf1), "BJ|a%X|m%X|e%X|e%X|FF|", ToList[i], @@ -1720,14 +1722,14 @@ void BATTLE_MultiReLife( int battleindex, int attackNo, int toNo, #endif void BATTLE_MultiStatusChange( - int battleindex, // ̼͵ - int attackNo, // į - int toNo, // ľ į - int status, // - int turn, // - int UseEffect, // мް - int RecevEffect, // ľмް - int Success // + int battleindex, // バトルインデックス + int attackNo, // かける人番号 + int toNo, // かけられる人番号 + int status, // ステータス種別 + int turn, // ターン数 + int UseEffect, // 使う人のエフェクト + int RecevEffect, // かけられる人のエフェクト + int Success // 成功率 ) { int i, toindex, charaindex; @@ -1737,11 +1739,11 @@ void BATTLE_MultiStatusChange( BATTLE_MultiList( battleindex, toNo, ToList ); BATTLE_MagicEffect( - battleindex, // ̼͵ - attackNo, // į( ) - ToList, // ľ į( ) - UseEffect, // оް - RecevEffect // ľоް + battleindex, // バトルインデックス + attackNo, // かける人番号(0~19) + ToList, // かけられる人番号リスト(0~19) + UseEffect, // かける人エフェクト + RecevEffect // かけられる人エフェクト ); charaindex = BATTLE_No2Index( battleindex, attackNo ); @@ -1750,7 +1752,7 @@ void BATTLE_MultiStatusChange( if( BATTLE_StatusAttackCheck( charaindex, toindex, status, Success, 30, 1.0, &perStatus ) == FALSE ){ //snprintf( szBuffer, sizeof(szBuffer), - // "(%s)޷(%s)(%s)(%d%%)", + // "(%s)无法将(%s)做成(%s)(%d%%)", // CHAR_getUseName( charaindex ), // CHAR_getUseName( toindex ), // aszStatusFull[status], @@ -1769,7 +1771,7 @@ void BATTLE_MultiStatusChange( } //snprintf( szBuffer, sizeof(szBuffer), - // "(%s)(%s)(%s)(%d%%)", + // "(%s)将(%s)做成(%s)(%d%%)", // CHAR_getUseName( charaindex ), // CHAR_getUseName( toindex ), // aszStatusFull[status], @@ -1816,15 +1818,16 @@ void BATTLE_MultiMagicStatusChange( int battleindex, int attackNo, int toNo, int //*********************************************************** // -// ܷƥ Ѽƽҷë +// 魔法等で複数のキャラクターをステータス回復 // void BATTLE_MultiStatusRecovery( - int battleindex, // ̼͵ - int attackNo, // į - int toNo, // ľ į - int status, // - int UseEffect, // мް - int RecevEffect // ľмް + int battleindex, // バトルインデックス + int attackNo, // かける人番号 + int toNo, // かけられる人番号 + int status, // ステータス種別 + int UseEffect, // 使う人のエフェクト + int RecevEffect // かけられる人のエフェクト + ) // //*********************************************************** @@ -1840,69 +1843,70 @@ void BATTLE_MultiStatusRecovery( BATTLE_MultiList( battleindex, toNo, ToList ); BATTLE_MagicEffect( - battleindex, // ̼͵ - attackNo, // į( ) - ToList, // ľ į( ) - UseEffect, // оް - RecevEffect // ľоް + battleindex, // バトルインデックス + attackNo, // かける人番号(0~19) + ToList, // かけられる人番号リスト(0~19) + UseEffect, // かける人エフェクト + RecevEffect // かけられる人エフェクト + ); charaindex = BATTLE_No2Index( battleindex, attackNo ); - // ټ + // ステータス異常回復させる for( i = 0; ToList[i] != -1; i ++ ){ - // 켰̼͵ + // 相手のインデックス toindex = BATTLE_No2Index( battleindex, ToList[i] ); - // 컥 + // 相手がどのステータスか?" tostatus = 0; - //쳣״̬ + //检查异常状态 for( j = 1; j < BATTLE_ST_END; j ++ ){ if( CHAR_getWorkInt( toindex, StatusTbl[j] ) > 0 ){ tostatus = j; } } - //======== ƥ ë ý ========== - if( tostatus == 0 ){// - // -// print("\n vincent--ܽ"); + //======== ここで成功かどうかを判定させる ========== + if( tostatus == 0 ){//正常 + // 失敗時 +// print("\n vincent--很健康"); //snprintf( szBuffer, sizeof(szBuffer), - // "(%s)ܽ", + // "(%s)很健康", // CHAR_getUseName( toindex ) ); }else - // ϶ƥҷ - if( ( status == 0 && tostatus != 0 && tostatus <= CHAR_WORKCONFUSION ) // ϶ƥ//ҵ쳣 - || ( status == tostatus ) // ֻѨ + // 全快指定で不健康だったら + if( ( status == 0 && tostatus != 0 && tostatus <= CHAR_WORKCONFUSION ) // 蝈莒隙烂匹尕麻僖//找到异常 + || ( status == tostatus ) // 異常と回復条がマッチした ){ - // + // 回復する CHAR_setWorkInt( toindex, StatusTbl[tostatus], 0 ); #ifdef _MAGIC_NOCAST if( StatusTbl[tostatus] == CHAR_WORKNOCAST ){ //print("\nvincent-->lssproto_NC_send"); - lssproto_NC_send( getfdFromCharaIndex( toindex ), 0);//Ĭ + lssproto_NC_send( getfdFromCharaIndex( toindex ), 0);//沉默解除 } #endif -// print("\n vincent--:%d",tostatus); - // +// print("\n vincent--解除了:%d",tostatus); + // 成功時 //snprintf( szBuffer, sizeof(szBuffer), - // "(%s)(%s)(%s)", + // "(%s)解除了(%s)的(%s)", // CHAR_getUseName( charaindex ), // CHAR_getUseName( toindex ), // aszStatusFull[tostatus] //); - // ƥ ٯ Ѩëľ - BATTLE_BadStatusString( ToList[i], 0 );//쳣 + // ここでステータス異常用文字列コマンドをいれる + BATTLE_BadStatusString( ToList[i], 0 );//解除异常 }else{ -// print("\n vincent--"); - // +// print("\n vincent--不"); + // 失敗時 /* snprintf( szBuffer, sizeof(szBuffer), - "(%s)(%s)", + "(%s)不(%s)", CHAR_getUseName( toindex ), aszStatusFull[status] ); */ } - // ú + // 実況中継 //BATTLE_BroadCast( battleindex, szBuffer, // (attackNo >= 10)? CHAR_COLORGRAY : CHAR_COLORPURPLE ) ; } @@ -1912,16 +1916,17 @@ void BATTLE_MultiStatusRecovery( //*********************************************************** // -// ܷƥ Ѽƽҷë ܷ +// 魔法等で複数のキャラクターを魔法防御 // void BATTLE_MultiMagicDef( - int battleindex, // ̼͵ - int attackNo, // į - int toNo, // ľ į - int kind, // ܷ - int count, // - int UseEffect, // мް - int RecevEffect // ľмް + int battleindex, // バトルインデックス + int attackNo, // かける人番号 + int toNo, // かけられる人番号 + int kind, // どの魔法防御か + int count, // 回数 + int UseEffect, // 使う人のエフェクト + int RecevEffect // かけられる人のエフェクト + ) // //*********************************************************** @@ -1936,11 +1941,12 @@ void BATTLE_MultiMagicDef( BATTLE_MultiList( battleindex, toNo, ToList ); BATTLE_MagicEffect( - battleindex, // ̼͵ - attackNo, // į( ) - ToList, // ľ į( ) - UseEffect, // оް - RecevEffect // ľоް + battleindex, // バトルインデックス + attackNo, // かける人番号(0~19) + ToList, // かけられる人番号リスト(0~19) + UseEffect, // かける人エフェクト + RecevEffect // かけられる人エフェクト + ); charaindex = BATTLE_No2Index( battleindex, attackNo ); @@ -1948,7 +1954,7 @@ void BATTLE_MultiMagicDef( toindex = BATTLE_No2Index( battleindex, ToList[i] ); CHAR_setWorkInt( toindex, MagicDefTbl[kind], count ); //snprintf( szBuffer, sizeof(szBuffer), - // "(%s)(%s)(%s)", + // "(%s)将(%s)遭受(损伤%s)", // CHAR_getUseName( charaindex ), // CHAR_getUseName( toindex ), // aszMagicDefFull[kind] @@ -1968,17 +1974,18 @@ void BATTLE_MultiMagicDef( //*********************************************************** // -// ܷƥ Ѽƽҷɷ¶ëƱ +// 魔法等で複数のキャラクターのパラメータを上下させる // void BATTLE_MultiParamChange( - int battleindex, // ̼͵ - int attackNo, // į - int toNo, // ľ į - int kind, // ɷ¶ - int power, // ̼ - int par, // ѻң - int UseEffect, // мް - int RecevEffect // ľмް + int battleindex, // バトルインデックス + int attackNo, // かける人番号 + int toNo, // かけられる人番号 + int kind, // どのパラメータか + int power, // ポイント + int par, // %計算する + int UseEffect, // 使う人のエフェクト + int RecevEffect // かけられる人のエフェクト + ) // //*********************************************************** @@ -1993,29 +2000,30 @@ void BATTLE_MultiParamChange( BATTLE_MultiList( battleindex, toNo, ToList ); BATTLE_MagicEffect( - battleindex, // ̼͵ - attackNo, // į( ) - ToList, // ľ į( ) - UseEffect, // оް - RecevEffect // ľоް + battleindex, // バトルインデックス + attackNo, // かける人番号(0~19) + ToList, // かけられる人番号リスト(0~19) + UseEffect, // かける人エフェクト + RecevEffect // かけられる人エフェクト + ); charaindex = BATTLE_No2Index( battleindex, attackNo ); - // ɷ¶¾ + // どのパラメータにするか for( i = 0; ToList[i] != -1; i ++ ){ - // 켰̼͵ + // 相手のインデックス toindex = BATTLE_No2Index( battleindex, ToList[i] ); switch( kind ){ case PC_KIND_ATTACK: if( par ){ - // ѻңئ׻ߨ߷ئ + // %計算なため、100はかけない work = CHAR_getWorkInt( toindex, CHAR_WORKFIXSTR ); work = work * power; }else{ - // ңئ׻ߨ߾ + // そのままの計算なため100かける work = power * 100; } CHAR_setWorkInt( toindex, CHAR_WORKMODATTACK, @@ -2024,11 +2032,11 @@ void BATTLE_MultiParamChange( break; case PC_KIND_DEFENSE: if( par ){ - // ѻңئ׻ߨ߷ئ + // %計算なため、100はかけない work = CHAR_getWorkInt( toindex, CHAR_WORKFIXTOUGH ); work = work * power; }else{ - // ңئ׻ߨ߾ + // そのままの計算なため100かける work = power * 100; } CHAR_setWorkInt( toindex, CHAR_WORKMODDEFENCE, @@ -2037,11 +2045,11 @@ void BATTLE_MultiParamChange( break; case PC_KIND_QUICK: if( par ){ - // ѻңئ׻ߨ߷ئ + // %計算なため、100はかけない work = CHAR_getWorkInt( toindex, CHAR_WORKFIXDEX ); work = work * power; }else{ - // ңئ׻ߨ߾ + // そのままの計算なため100かける work = power * 100; } CHAR_setWorkInt( toindex, CHAR_WORKMODQUICK, @@ -2050,11 +2058,11 @@ void BATTLE_MultiParamChange( break; case PC_KIND_CHARM: if( par ){ - // CHARM 100 ľئ׻100м + // CHARM は 100倍されてないため、100分の1する work = CHAR_getWorkInt( toindex, CHAR_WORKFIXCHARM ); work = work * power * 0.01; }else{ - // ң + // そのままの計算 work = power; } CHAR_setWorkInt( toindex, CHAR_WORKMODCHARM, @@ -2062,7 +2070,7 @@ void BATTLE_MultiParamChange( res = work; break; case PC_KIND_CAPTURE: - // CAPTURE % + // CAPTURE は % のみ work = power; CHAR_setWorkInt( toindex, CHAR_WORKMODCAPTURE, CHAR_getWorkInt( toindex, CHAR_WORKMODCAPTURE ) + work ); @@ -2070,15 +2078,15 @@ void BATTLE_MultiParamChange( break; } - // ƥ + // ここまで来たら必ず成功 //snprintf( szBuffer, sizeof(szBuffer), - // "(%s)(%s)(%+d)", + // "(%s)被(%s)(%+d)", // CHAR_getUseName( toindex ), // aszParamChangeFull[kind], // res //); - // ú + // 実況中継 //BATTLE_BroadCast( battleindex, szBuffer, // (attackNo >= 10)? CHAR_COLORGRAY : CHAR_COLORPURPLE ) ; @@ -2092,14 +2100,14 @@ void BATTLE_MultiParamChange( //*********************************************************** // -// ܷƥ Ѽ +// 魔法等で複数の属性反転 // void BATTLE_MultiAttReverse( - int battleindex, // ̼͵ - int attackNo, // į - int toNo, // ľ į - int UseEffect, // мް - int RecevEffect // ľмް + int battleindex, // バトルインデックス + int attackNo, // かける人番号 + int toNo, // かけられる人番号 + int UseEffect, // 使う人のエフェクト + int RecevEffect // かけられる人のエフェクト ) // //*********************************************************** @@ -2113,44 +2121,44 @@ void BATTLE_MultiAttReverse( BATTLE_MultiList( battleindex, toNo, ToList ); BATTLE_MagicEffect( - battleindex, // ̼͵ - attackNo, // į( ) - ToList, // ľ į( ) - UseEffect, // оް - RecevEffect // ľоް + battleindex, // バトルインデックス + attackNo, // かける人番号(0~19) + ToList, // かけられる人番号リスト(0~19) + UseEffect, // かける人エフェクト + RecevEffect // かけられる人エフェクト ); charaindex = BATTLE_No2Index( battleindex, attackNo ); - // ɷ¶¾ + // どのパラメータにするか for( i = 0; ToList[i] != -1; i ++ ){ - // 켰̼͵ + // 相手のインデックス toindex = BATTLE_No2Index( battleindex, ToList[i] ); flg = CHAR_getWorkInt( toindex, CHAR_WORKBATTLEFLG ); - flg ^= CHAR_BATTLEFLG_REVERSE; // + flg ^= CHAR_BATTLEFLG_REVERSE; // 反転 CHAR_setWorkInt( toindex, CHAR_WORKBATTLEFLG, flg ); OnOff = ( flg & CHAR_BATTLEFLG_REVERSE )?(1):(0); - // ƥʾ + //ここですかさず反転させる BATTLE_AttReverse( toindex ); if( OnOff ){ //snprintf( szBuffer, sizeof(szBuffer), - // "(%s)Ա෴", + // "(%s)的属性变成相反。", // CHAR_getUseName( toindex ) ); }else{ //snprintf( szBuffer, sizeof(szBuffer), - // "(%s)ظԭԡ", + // "(%s)回复成原本的属性。", // CHAR_getUseName( toindex ) ); } - // ú + // 実況中継 //BATTLE_BroadCast( battleindex, szBuffer, // (attackNo >= 10)? CHAR_COLORGRAY : CHAR_COLORPURPLE ) ; - // ƥ  ٯ ë˪ + // ここで属性反転の文字列を送る sprintf( szBuffer, "BR|%X|%X|", ToList[i], OnOff ); BATTLESTR_ADD( szBuffer ); } @@ -2204,7 +2212,7 @@ void BATTLE_MultiCaptureUp( CHAR_setWorkInt( toindex, CHAR_WORKMODCAPTURE, workhp ); //snprintf( szBuffer, sizeof(szBuffer), - // "(%s)IJʱ(%d)", + // "(%s)的捕获率变成(%d)", // CHAR_getUseName( toindex ), UpPoint ); //BATTLE_BroadCast( battleindex, szBuffer, @@ -2224,15 +2232,15 @@ void BATTLE_MultiCaptureUp( //**************************************************************** // -// ū +// フィールド属性変更呪術 // int BATTLE_FieldAttChange( - int charaindex, // м̼͵ + int charaindex, // かける人のインデックス char *pArg ) // -// ľ TRUE -// ئ FALSE +// 成功すれば TRUE +// 失敗なら FALSE // //**************************************************************** @@ -2243,18 +2251,18 @@ int BATTLE_FieldAttChange( int FieldAttr[] = { BATTLE_ATTR_NONE, BATTLE_ATTR_EARTH, BATTLE_ATTR_WATER, BATTLE_ATTR_FIRE, BATTLE_ATTR_WIND }; char szCommand[256], // Robin 03/20 debug - //*pszP, *aszAttr[] = { "", "", "ˮ", "", "" }; - *pszP, *aszAttr[] = { "", "", "ˮ", "", "" }; + //*pszP, *aszAttr[] = { "无", "土", "水", "火", "风" }; + *pszP, *aszAttr[] = { "无", "地", "水", "火", "风" }; // Robin 03/21 debug - //char szTurn[] = ""; + //char szTurn[] = "回"; char szTurn[] = "turn"; pszP = pArg; - // ë + // 属性を取得 for( ;attr == -1 && pszP[0] != 0; pszP++ ){ for( i = 0; i < 5; i ++ ){ - // + // 属性ピッタリか? if( strncmp( pszP, aszAttr[i], 2 ) == 0 ){ attr = i; pszP +=2; @@ -2262,17 +2270,17 @@ int BATTLE_FieldAttChange( } } } - // мƥ + // 属性無いので失敗 if( attr == -1 ) { return FALSE; } - // ľ ʽ¾ + // どれくらい変更させるか? sscanf( pszP, "%d", &power ); if( power < 0 || power > 100 )power = 30; - // ʽ¾ + // 何ターン変更させるか? if( ( pszP = strstr( pszP, szTurn ) ) != NULL){ pszP += sizeof( szTurn ); sscanf( pszP, "%d", &turn ); @@ -2280,17 +2288,17 @@ int BATTLE_FieldAttChange( battleindex = CHAR_getWorkInt( charaindex, CHAR_WORKBATTLEINDEX ); if( BATTLE_CHECKINDEX( battleindex ) == FALSE )return FALSE; - // + // 変化させる属性 BattleArray[battleindex].field_att = FieldAttr[attr]; - // Ĥɷ + // 修正するパワー BattleArray[battleindex].att_pow = power; - // Ĥ + // 修正するターン数 BattleArray[battleindex].att_count = turn; - // ƥ + // ここまで来たら必ず成功 if( attr >= 0 ){ //snprintf( szBuffer, sizeof(szBuffer), - // "(%s)fieldԸΪ(%s)", + // "(%s)将field的属性改为(%s)", // CHAR_getUseName( charaindex ), // aszAttr[attr] //); @@ -2298,11 +2306,11 @@ int BATTLE_FieldAttChange( attackNo = BATTLE_Index2No( battleindex, charaindex ); - // ú + // 実況中継 //BATTLE_BroadCast( battleindex, szBuffer, // (attackNo >= 10)? CHAR_COLORGRAY : CHAR_COLORPURPLE ) ; - // ƥ ٯ Ѩëľ + // ここで文字列コマンドをいれる sprintf( szCommand, "BV|%X|%X|",attackNo, attr ); BATTLESTR_ADD( szCommand ); @@ -2315,25 +2323,26 @@ int BATTLE_FieldAttChange( //**************************************************************** // -// ū +// フィールド属性変更呪術 // int MAGIC_FieldAttChange_Battle( - int charaindex, // м̼͵ - int toNo, // ľм̼͵( ) + int charaindex, // かける人のインデックス + int toNo, // かけられる人のインデックス(未使用) int marray, // magicindex int mp // MP ) -// ľ TRUE -// ئ FALSE +// 成功すれば TRUE +// 失敗なら FALSE + // //**************************************************************** { char *pArg; - // ɷ¶ë + // パラメータを取得 pArg = MAGIC_getChar( marray, MAGIC_OPTION ); - // ɷ¶ мƥ + // パラメータ無いので失敗 if( pArg == "\0" )return FALSE; return BATTLE_FieldAttChange( charaindex, pArg ); @@ -2341,16 +2350,17 @@ int MAGIC_FieldAttChange_Battle( } //**************************************************************** // -// ëܸ +// ステータス異常を与える呪術 // int MAGIC_StatusChange_Battle( - int charaindex, // м̼͵ - int toNo, // ľм̼͵ + int charaindex, // かける人のインデックス + int toNo, // かけられる人のインデックス int marray, // magicindex int mp // MP ) -// TRUE -// FALSE +// 成功したら TRUE +// 失敗したら FALSE + //**************************************************************** { @@ -2359,7 +2369,7 @@ int MAGIC_StatusChange_Battle( int battleindex, ReceveEffect, Success = 15; char *pszP; char szTurn[] = "turn"; - char szSuccess[] = ""; + char szSuccess[] = "成"; magicarg = MAGIC_getChar( marray, MAGIC_OPTION ); pszP = magicarg; @@ -2384,9 +2394,9 @@ int MAGIC_StatusChange_Battle( battleindex = CHAR_getWorkInt( charaindex, CHAR_WORKBATTLEINDEX ); attackNo = BATTLE_Index2No( battleindex, charaindex ); if( status == BATTLE_ST_NONE ){ - ReceveEffect = SPR_tyusya; // 巴ľ + ReceveEffect = SPR_tyusya; // 直るときはこれ }else{ - ReceveEffect = SPR_hoshi; // 巴ľ + ReceveEffect = SPR_hoshi; // かかるときはこれ } BATTLE_MultiStatusChange( battleindex, attackNo, toNo, @@ -2399,13 +2409,14 @@ int MAGIC_StatusChange_Battle( #ifdef _MAGIC_DEEPPOISON int MAGIC_StatusChange_Battle2( - int charaindex, // м̼͵ - int toNo, // ľм̼͵ + int charaindex, // かける人のインデックス + int toNo, // かけられる人のインデックス int marray, // magicindex int mp // MP ) -// TRUE -// FALSE +// 成功したら TRUE +// 失敗したら FALSE + //**************************************************************** { @@ -2414,18 +2425,18 @@ int MAGIC_StatusChange_Battle2( int battleindex, ReceveEffect, Success = 15; char *pszP; char szTurn[] = "turn"; - char szSuccess[] = ""; + char szSuccess[] = "成"; magicarg = MAGIC_getChar( marray, MAGIC_OPTION ); if( magicarg == "\0" ) { //print("\n magicarg == NULL "); return FALSE; } pszP = magicarg; - // ë + // 効果を取得 for( ;status == -1 && pszP[0] != 0; pszP++ ){ - // ྮո + // 1から検索 for( i = 1; i < BATTLE_ST_END; i ++ ){ - // + // 効果ピッタリか? if( strncmp( pszP, aszStatus[i], 2 ) == 0 ){ status = i; pszP +=2; @@ -2433,16 +2444,16 @@ int MAGIC_StatusChange_Battle2( } } } - // ئмƥ + // 効果ないので失敗 if( status == -1 ) return FALSE; - // ʽ¾ + // 何ターン変更させるか? if( ( pszP = strstr( pszP, szTurn ) ) != NULL){ pszP += sizeof( szTurn ); sscanf( pszP, "%d", &turn ); } - // ɬ + // 成功率設定 if( ( pszP = strstr( pszP, szSuccess ) ) != NULL){ pszP += sizeof( szSuccess ); sscanf( pszP, "%d", &Success ); @@ -2450,16 +2461,16 @@ int MAGIC_StatusChange_Battle2( - // į + // バトル番号 battleindex = CHAR_getWorkInt( charaindex, CHAR_WORKBATTLEINDEX ); attackNo = BATTLE_Index2No( battleindex, charaindex ); if( status == BATTLE_ST_NONE ){ - ReceveEffect = SPR_tyusya; // 巴ľ + ReceveEffect = SPR_tyusya; // 直るときはこれ }else{ - ReceveEffect = SPR_hoshi; // 巴ľ + ReceveEffect = SPR_hoshi; // かかるときはこれ } - // 幻 + // 全員 BATTLE_MultiStatusChange( battleindex, attackNo, toNo, status, turn+2, MAGIC_EFFECT_USER, ReceveEffect, Success ); return TRUE; @@ -2492,13 +2503,13 @@ int MAGIC_MagicStatusChange_Battle( int charaindex, int toNo, int marray, int mp nums = atoi( buf1); if( getStringFromIndexWithDelim( magicarg,"|",4, buf1, sizeof( buf1)) == FALSE ) return FALSE; - if( strstr( buf1, "") != 0 ) { + if( strstr( buf1, "单") != 0 ) { if( toNo >= 20 ) return FALSE; } battleindex = CHAR_getWorkInt( charaindex, CHAR_WORKBATTLEINDEX ); attackNo = BATTLE_Index2No( battleindex, charaindex ); - //ͼž + //动画图号决定 #define SPR_mic_def 101411 ReceveEffect = SPR_heal2; if( status == 1 ) @@ -2579,16 +2590,18 @@ int MAGIC_MagicDef_Battle( //**************************************************************** // -// ɷ¶ ëܸ +// パラメータ変化を与える呪術 // int MAGIC_ParamChange_Battle( - int charaindex, // м̼͵ - int toNo, // ľм̼͵ + int charaindex, // かける人のインデックス + int toNo, // かけられる人のインデックス int marray, // magicindex int mp // MP + ) -// TRUE -// FALSE +// 成功したら TRUE +// 失敗したら FALSE + //**************************************************************** { @@ -2598,14 +2611,14 @@ int MAGIC_ParamChange_Battle( char *pszP; - // ɷ¶ë //ħ + // パラメータを取得 //魔法名称 magicarg = MAGIC_getChar( marray, MAGIC_OPTION ); pszP = magicarg; - // ë //ȡøIJ(,,,,,) + // 効果を取得 //取得更改参数(无,攻,防,早,魅,捕) 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; @@ -2613,23 +2626,23 @@ int MAGIC_ParamChange_Battle( } } } - // ئмƥ + // 効果ないので失敗 if( kind == -1 ) return FALSE; - if( strstr( pszP, "%" ) ){ // ѻң + 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, MAGIC_EFFECT_USER, SPR_hoshi ); @@ -2649,28 +2662,29 @@ int MAGIC_ParamChange_Battle( //**************************************************************** // -// м ëܸ +// 個人の属性反転を与える呪術 // int MAGIC_AttReverse_Battle( - int charaindex, // м̼͵ - int toNo, // ľм̼͵ + int charaindex, // かける人のインデックス + int toNo, // かけられる人のインデックス int marray, // magicindex int mp // MP ) -// TRUE -// FALSE +// 成功したら TRUE +// 失敗したら FALSE //**************************************************************** { int attackNo; int battleindex; - // ɷ¶ἰǷ - // į + // パラメータは今のところ無い + // バトル番号 + battleindex = CHAR_getWorkInt( charaindex, CHAR_WORKBATTLEINDEX ); attackNo = BATTLE_Index2No( battleindex, charaindex ); - // 幻 + // 全員 BATTLE_MultiAttReverse( battleindex, attackNo, toNo, MAGIC_EFFECT_USER, SPR_kyu ); @@ -2682,16 +2696,16 @@ int MAGIC_AttReverse_Battle( //**************************************************************** // -// ë +// ステータス異常を回復する呪術 // int MAGIC_StatusRecovery_Battle( - int charaindex, // м̼͵ - int toNo, // ľм̼͵ + int charaindex, // かける人のインデックス + int toNo, // かけられる人のインデックス int marray, // magicindex int mp // MP ) -// TRUE -// FALSE +// 成功したら TRUE +// 失敗したら FALSE //**************************************************************** { char *magicarg; @@ -2699,15 +2713,15 @@ int MAGIC_StatusRecovery_Battle( int battleindex, ReceveEffect; char *pszP; - // ɷ¶ë + // パラメータを取得 magicarg = MAGIC_getChar( marray, MAGIC_OPTION ); pszP = magicarg; - // ë + // 効果を取得 for( ;status == -1 && pszP[0] != 0; pszP++ ){ - // ؤ¼ƥ߾ո + // 全快もあるので0から検索 for( i = 0; i < BATTLE_ST_END; i ++ ){ - // + // 効果ピッタリか? if( strncmp( pszP, aszStatus[i], 2 ) == 0 ){ status = i; pszP +=2; @@ -2715,17 +2729,17 @@ int MAGIC_StatusRecovery_Battle( } } } - // ئмƥ + // 効果ないので失敗 if( status == -1 ) return FALSE; - // į + // バトル番号 battleindex = CHAR_getWorkInt( charaindex, CHAR_WORKBATTLEINDEX ); attackNo = BATTLE_Index2No( battleindex, charaindex ); - ReceveEffect = SPR_tyusya; // 巴ľ + ReceveEffect = SPR_tyusya; // 直るときはこれ - // 幻 + // 全員 BATTLE_MultiStatusRecovery( battleindex, attackNo, toNo, status, MAGIC_EFFECT_USER, ReceveEffect ); @@ -2737,16 +2751,16 @@ int MAGIC_StatusRecovery_Battle( //**************************************************************** // -// 姾 +// 気絶から復活する呪術 // int MAGIC_Ressurect_Battle( - int charaindex, // м̼͵ - int toNo, // ľм̼͵ + int charaindex, // かける人のインデックス + int toNo, // かけられる人のインデックス int marray, // magicindex int mp // MP ) -// TRUE -// FALSE +// 成功したら TRUE +// 失敗したら FALSE //**************************************************************** { char *magicarg; @@ -2755,17 +2769,17 @@ int MAGIC_Ressurect_Battle( char *pszP; - // ɷ¶ë + // パラメータを取得 magicarg = MAGIC_getChar( marray, MAGIC_OPTION ); pszP = magicarg; - if( strstr( pszP, "%" ) ){ // ѻң + if( strstr( pszP, "%" ) ){ // この場合は%計算 par = 1; } if( sscanf( pszP, "%d", &pow ) != 1 ){ - // Ϻ̼¾ - pow = 0; // ߼ + // 何ポイント回復するか? + pow = 0; // 0の場合は完全回復 } if( pow <= 0 ){ @@ -2780,11 +2794,11 @@ int MAGIC_Ressurect_Battle( ReceveEffect = SPR_fukkatu3; } - // į + // バトル番号 battleindex = CHAR_getWorkInt( charaindex, CHAR_WORKBATTLEINDEX ); attackNo = BATTLE_Index2No( battleindex, charaindex ); - // 幻 + // 全員 BATTLE_MultiRessurect( battleindex, attackNo, toNo, pow, par, MAGIC_EFFECT_USER, ReceveEffect ); @@ -2803,43 +2817,44 @@ int MAGIC_ResAndDef_Battle( int attackNo, i; int battleindex, pow = 0, par = 0, turn = 3, status = -1; // Robin 03/21 debug - //char szTurn[] = ""; + //char szTurn[] = "回"; char szTurn[] = "turn"; char *pszP; // Terry add 2004/12/7 - // ..ʹõз + // 复活光..不得使用敌方 battleindex = CHAR_getWorkInt(charaindex, CHAR_WORKBATTLEINDEX); if(CHAR_getInt(charaindex, CHAR_WHICHTYPE) == CHAR_TYPEPLAYER) { - if(BATTLE_CheckSameSide(charaindex, toNo) == 0) //ͬ + if(BATTLE_CheckSameSide(charaindex, toNo) == 0) //不同边 { battleindex = CHAR_getWorkInt(charaindex, CHAR_WORKBATTLEINDEX); BATTLE_NoAction(battleindex, BATTLE_Index2No(battleindex, charaindex)); - CHAR_talkToCli(charaindex, -1, "⾵..ʩҵз", CHAR_COLORYELLOW); + CHAR_talkToCli(charaindex, -1, "复活光镜守..不得施予非玩家敌方。", CHAR_COLORYELLOW); return FALSE; } } // end - // ɷ¶ë + // パラメータを取得 magicarg = MAGIC_getChar( marray, MAGIC_OPTION ); pszP = magicarg; - if( strstr( pszP, "%" ) ){ // ѻң + if( strstr( pszP, "%" ) ){ // この場合は%計算 par = 1; } if( sscanf( pszP, "%d", &pow ) != 1 ){ - // Ϻ̼¾ - pow = 0; // ߼ + // 何ポイント回復するか? + pow = 0; // 0の場合は完全回復 + } - // ܰ ܷ ë + // 追加する魔法防御効果を取得 for( ;status == -1 && pszP[0] != 0; pszP++ ){ for( i = 1; i < BATTLE_MD_END; i ++ ){ char *p; - // + // 効果ピッタリか? p = strstr( pszP, aszMagicDef[i] ); if( p != NULL ){ status = i; @@ -2849,20 +2864,20 @@ int MAGIC_ResAndDef_Battle( } } - // ئмƥ + // 効果ないので失敗 if( status == -1 ) return FALSE; - // ϼ ʽ¾ + // 何回変更させるか? if( ( pszP = strstr( pszP, szTurn ) ) != NULL){ pszP += sizeof( szTurn ); sscanf( pszP, "%d", &turn ); } - // į + // バトル番号 battleindex = CHAR_getWorkInt( charaindex, CHAR_WORKBATTLEINDEX ); attackNo = BATTLE_Index2No( battleindex, charaindex ); - // 幻 + // 全員 BATTLE_MultiResAndDef( battleindex, attackNo, toNo, pow, par, status, turn, MAGIC_EFFECT_USER, SPR_difence ); @@ -2875,7 +2890,7 @@ int MAGIC_AttMagic_Battle( int charaindex , int toNo , int marray , int mp ) { int attno , attidx , battleindex; int attr = -1, i , power; - char aszattr[][32] = { "", "ˮ", "", "" }; + char aszattr[][32] = { "地", "水", "火", "风" }; char buf1[256]; char *magicarg; int magiclv=0; @@ -2924,7 +2939,7 @@ int MAGIC_ToCallDragon_Battle( int charaindex , int toNo , int marray , int mp ) { int attno , attidx , battleindex; int attr = -1,/* i , */power, imageno; -// char aszattr[][32] = { "", "ˮ", "", "" }; +// char aszattr[][32] = { "地", "水", "火", "风" }; char buf1[256]; char *magicarg; //int magiclv=0; @@ -2967,37 +2982,39 @@ int MAGIC_ToCallDragon_Battle( int charaindex , int toNo , int marray , int mp ) //**************************************************************** // -// +// 捕獲率変化する呪術 // int MAGIC_CaptureUp_Battle( - int charaindex, // м̼͵ - int toNo, // ľм̼͵ + int charaindex, // かける人のインデックス + int toNo, // かけられる人のインデックス int marray, // magicindex int mp // MP + ) -// TRUE -// FALSE +// 成功したら TRUE +// 失敗したら FALSE + //**************************************************************** { char *magicarg; int attackNo, ReceveEffect; int battleindex, pow = 5; - // ɷ¶ë + // パラメータを取得 magicarg = MAGIC_getChar( marray, MAGIC_OPTION ); if( sscanf( magicarg, "%d", &pow ) != 1 ){ - // Ϻ̼¾ + // 何ポイント回復するか? pow = 5; } ReceveEffect = SPR_hoshi; - // į + // バトル番号 battleindex = CHAR_getWorkInt( charaindex, CHAR_WORKBATTLEINDEX ); attackNo = BATTLE_Index2No( battleindex, charaindex ); - // 幻 + // 全員 BATTLE_MultiCaptureUp( battleindex, attackNo, toNo, pow, MAGIC_EFFECT_USER, ReceveEffect ); @@ -3009,10 +3026,10 @@ static int BATTLE_getMagicAdjustInt( int attackindex, int defindex, int MagicLv, int At_Fire, At_Earth, At_Water, At_Wind, At_none; int Df_Fire, Df_Earth, Df_Water, Df_Wind, Df_none; float At_FieldPow, Df_FieldPow; - //ȡʩ + //取得施法者属性 BATTLE_GetAttr(attackindex,&At_Fire,&At_Water,&At_Earth,&At_Wind,&At_none); MagicLv *=10; - switch( flg) { //ûΪħǣ + switch( flg) { //将属性置换为魔法牵引属性 case 0: At_Earth = MagicLv+(MagicLv*(At_Earth/50)); At_Water=0; At_Fire=0; At_Wind=0; @@ -3030,21 +3047,21 @@ static int BATTLE_getMagicAdjustInt( int attackindex, int defindex, int MagicLv, At_Earth=0; At_Water=0; At_Fire=0; break; } - //ȡøóԼӳ + //取得该场属性加成 At_FieldPow = BATTLE_FieldAttAdjust( CHAR_getWorkInt( attackindex, CHAR_WORKBATTLEINDEX ), At_Fire, At_Water, At_Earth, At_Wind ); At_Fire *= damage; At_Water *= damage; At_Earth *= damage; At_Wind *= damage; At_none *= damage; - //ȡ÷ط + //取得防守方属性 BATTLE_GetAttr( defindex, &Df_Fire, &Df_Water, &Df_Earth,&Df_Wind, &Df_none ); - //ȡøóԼӳ + //取得该场属性加成 Df_FieldPow = BATTLE_FieldAttAdjust( CHAR_getWorkInt( defindex, CHAR_WORKBATTLEINDEX ), Df_Fire, Df_Water, Df_Earth, Df_Wind ); - // + //四属相克 damage = BATTLE_AttrCalc( At_Fire, At_Water, At_Earth, At_Wind, At_none, Df_Fire, Df_Water, Df_Earth, Df_Wind, Df_none ); @@ -3056,7 +3073,7 @@ void Magic_ComputeAttExp( int charindex, int Mnum, int MagicLv, int Expoint) { int magiclv1, magicex1; int addEx = (MagicLv * 3) * Expoint; - char MagicStr[][128]={"","ˮ","",""}; + char MagicStr[][128]={"地","水","火","风"}; char buf1[256]; memset( buf1, 0, sizeof( buf1)); magiclv1 = CHAR_getInt( charindex, CHAR_EARTH_EXP+Mnum); @@ -3066,7 +3083,7 @@ void Magic_ComputeAttExp( int charindex, int Mnum, int MagicLv, int Expoint) magicex1 = 0; if( magiclv1 < 100 ) { magiclv1 += 1; - sprintf( buf1,"%sħΪ%d", MagicStr[Mnum], magiclv1); + sprintf( buf1,"%s魔法熟练度提升为%d。", MagicStr[Mnum], magiclv1); CHAR_talkToCli( charindex, -1, buf1, CHAR_COLORYELLOW); } } @@ -3076,7 +3093,7 @@ void Magic_ComputeAttExp( int charindex, int Mnum, int MagicLv, int Expoint) CHAR_setInt( charindex, CHAR_EARTH_EXP+Mnum, magiclv1); CHAR_setInt( charindex, CHAR_EARTH_ATTMAGIC_EXP+Mnum, magicex1); - Mnum = (Mnum+1)%4; //˵ħ + Mnum = (Mnum+1)%4; //相克的魔法 magiclv1 = CHAR_getInt( charindex, CHAR_EARTH_EXP+Mnum); magicex1 = CHAR_getInt( charindex, CHAR_EARTH_ATTMAGIC_EXP+Mnum); if( magiclv1 > 1 ) { @@ -3086,7 +3103,7 @@ void Magic_ComputeAttExp( int charindex, int Mnum, int MagicLv, int Expoint) magiclv1 -= 1; if( magiclv1 < 0 ) magiclv1 = 0; CHAR_setInt( charindex, CHAR_EARTH_EXP+Mnum, magiclv1); - sprintf( buf1,"%sħ½Ϊ%d", MagicStr[Mnum], magiclv1); + sprintf( buf1,"%s魔法熟练度下降为%d。", MagicStr[Mnum], magiclv1); CHAR_talkToCli( charindex, -1, buf1, CHAR_COLORYELLOW); } CHAR_setInt( charindex, CHAR_EARTH_ATTMAGIC_EXP+Mnum, magicex1); @@ -3100,7 +3117,7 @@ void Magic_ComputeDefExp( int charindex, int Mnum, int MagicLv, int Damage) int magicex1; int addEx; char buf1[256]; - char MagicStr[][128]={"","ˮ","",""}; + char MagicStr[][128]={"地","水","火","风"}; if( Damage < 200 ) return; memset( buf1, 0, sizeof( buf1)); magiclv1 = CHAR_getInt( charindex, CHAR_EARTH_RESIST+Mnum); @@ -3115,13 +3132,13 @@ void Magic_ComputeDefExp( int charindex, int Mnum, int MagicLv, int Damage) if( magiclv1 < 0 ) magiclv1 = 0; if( magiclv1 > 100 ) magiclv1 = 100; CHAR_setInt( charindex, CHAR_EARTH_RESIST+Mnum, magiclv1); - sprintf( buf1,"%sħֵΪ%d", MagicStr[Mnum], magiclv1); + sprintf( buf1,"%s抗魔值提升为%d。", MagicStr[Mnum], magiclv1); CHAR_talkToCli( charindex, -1, buf1, CHAR_COLORYELLOW); } } if( magicex1 < 0 ) magicex1 = 0; CHAR_setInt( charindex, CHAR_EARTH_DEFMAGIC_EXP+Mnum, magicex1); - Mnum = (Mnum+1)%4; //˵ħ + Mnum = (Mnum+1)%4; //相克的魔法 magiclv1 = CHAR_getInt( charindex, CHAR_EARTH_RESIST+Mnum); magicex1 = CHAR_getInt( charindex, CHAR_EARTH_DEFMAGIC_EXP+Mnum); if( magiclv1 > 1 ) { @@ -3131,7 +3148,7 @@ void Magic_ComputeDefExp( int charindex, int Mnum, int MagicLv, int Damage) magiclv1 -=1; if( magiclv1 < 0 ) magiclv1 = 0; - sprintf( buf1,"%sħֵ½Ϊ%d", MagicStr[Mnum], magiclv1); + sprintf( buf1,"%s抗魔值下降为%d。", MagicStr[Mnum], magiclv1); CHAR_talkToCli( charindex, -1, buf1, CHAR_COLORYELLOW); CHAR_setInt( charindex, CHAR_EARTH_RESIST+Mnum, magiclv1); } @@ -3155,18 +3172,18 @@ int MAGIC_ParamChange_Turn_Battle( int battleindex, Success = 15; char *pszP; char szTurn[] = "turn"; - char szSuccess[] = ""; + char szSuccess[] = "成"; magicarg = MAGIC_getChar( marray, MAGIC_OPTION ); if( magicarg == "\0" ) { //print("\n magicarg == NULL "); return FALSE; } pszP = magicarg; - // ë + // 効果を取得 for( ;status == -1 && pszP[0] != 0; pszP++ ){ - // ྮո + // 1から検索 for( i = 1; i < BATTLE_ST_END; i ++ ){ - // + // 効果ピッタリか? if( strncmp( pszP, aszStatus[i], 2 ) == 0 ){ status = i; pszP +=2; @@ -3206,10 +3223,10 @@ void BATTLE_MultiParamChangeTurn( int i, toindex,perStatus,charaindex; int ToList[SIDE_OFFSET*2+1]; - charaindex = BATTLE_No2Index( battleindex, attackNo ); //index + charaindex = BATTLE_No2Index( battleindex, attackNo ); //攻方index BATTLE_MultiList( battleindex, toNo, ToList ); - //ʩħЧ + //施魔法动画效果 BATTLE_MagicEffect(battleindex, attackNo, ToList, UseEffect, RecevEffect); for( i = 0; ToList[i] != -1; i ++ ) @@ -3231,36 +3248,36 @@ void BATTLE_MultiParamChangeTurn( /* typedef struct tagToCallMagic { - unsigned int uiSpriteNum; // Spr_x.binı - unsigned int uiAttackType; // ķʽˣ( ) , ( ) , ( ͬʱ ) , ȫ( ) , ȫ( ͬʱ ) - unsigned int uiSliceTime; // ʱʱ - unsigned int uiShowType; // ʾλ÷ʽ롢ָ - int siSx; // ʾλ - X - int siSy; // ʾλ - Y - unsigned int uiShowBehindChar; // ʾǰ· - unsigned int uiShakeScreen; // Ƿ𶯻 - unsigned int uiShakeFrom; // 𶯻ʼʱ( ) - unsigned int uiShakeTo; // 𶯻Ľʱ( _ - unsigned int uiPrevMagicNum; // ǰ( 0XFFFFFFFFFF ʾǰ ) - int siPrevMagicSx; // ǰʾλ - X - int siPrevMagicSy; // ǰʾλ - Y - int siPrevMagicOnChar; // ǰʾǰ· - unsigned int uiPostMagicNum; // ( 0XFFFFFFFF ʾ ) - int siPostMagicSx; // ʾλ - X - int siPostMagicSy; // ʾλ - Y - int siPostMagicOnChar; // ʾǰ· - int isPostDisappear; // һ㹥ʱǷʧ - int ToCallMagicNo; // ٻı + unsigned int uiSpriteNum; // 此咒术在Spr_x.bin的编号 + unsigned int uiAttackType; // 攻击的方式:单人,整排( 轮流 ) , 整排( 轮流 ) , 整排( 同时 ) , 全体( 轮流 ) , 全体( 同时 ) + unsigned int uiSliceTime; // 轮流攻击时的时间差 + unsigned int uiShowType; // 显示的位置方式:中央、指定 + int siSx; // 显示的位置 - X轴 + int siSy; // 显示的位置 - Y轴 + unsigned int uiShowBehindChar; // 显示在人物的前方或下方 + unsigned int uiShakeScreen; // 是否震动画面 + unsigned int uiShakeFrom; // 震动画面的起始时间( 毫秒 ) + unsigned int uiShakeTo; // 震动画面的结束时间( 毫秒 _ + unsigned int uiPrevMagicNum; // 前置咒术的索引号( 0XFFFFFFFFFF 表示无前置咒术 ) + int siPrevMagicSx; // 前置咒术的显示位置 - X轴 + int siPrevMagicSy; // 前置咒术的显示位置 - Y轴 + int siPrevMagicOnChar; // 前置咒术显示在人物的前方或下方 + unsigned int uiPostMagicNum; // 後置咒术的索引号( 0XFFFFFFFF 表示无後置咒术 ) + int siPostMagicSx; // 後置咒术的显示位置 - X轴 + int siPostMagicSy; // 後置咒术的显示位置 - Y轴 + int siPostMagicOnChar; // 後置咒术显示在人物的前方或下方 + int isPostDisappear; // 咒术一般攻击完时是否马上消失 + int ToCallMagicNo; // 召唤术的编号 }ToCallMagic; */ -ToCallMagic PROFESSION_magic[3] = { {0,0,0,1,0,0,1,1,0,0,0,65528,65485,0,-1,0,0,0,1,0}, // - {0,3,0,1,0,0,1,1,0,0,0,65528,65485,0,-1,0,0,0,1,1}, // - {0,5,0,1,0,0,1,1,0,0,0,65528,65485,0,-1,0,0,0,0,2}, // ȫ +ToCallMagic PROFESSION_magic[3] = { {0,0,0,1,0,0,1,1,0,0,0,65528,65485,0,-1,0,0,0,1,0}, // 单人 + {0,3,0,1,0,0,1,1,0,0,0,65528,65485,0,-1,0,0,0,1,1}, // 单排 + {0,5,0,1,0,0,1,1,0,0,0,65528,65485,0,-1,0,0,0,0,2}, // 全体 }; -#ifdef _PROFESSION_SKILL // WON ADD ְҵ +#ifdef _PROFESSION_SKILL // WON ADD 人物职业技能 void PROFESSION_MAGIC_ATTAIC( int battleindex, int attackNo, int toNo, int attIdx ,int FieldAttr, int skill) { int list[SIDE_OFFSET * 2 + 1]; @@ -3281,19 +3298,19 @@ void PROFESSION_MAGIC_ATTAIC( int battleindex, int attackNo, int toNo, int attId if((z = BATTLE_MultiList(battleindex,toNo,list)) == -1) return; else if(z != toNo){ toNo = z; -// terry fix for 趨ΪµĿ 2004/02/10 +// terry fix for 不设定为新的目标会有问题 2004/02/10 CHAR_setWorkInt(charaindex,CHAR_WORKBATTLECOM2,toNo); // end } - // + // 技能 command = CHAR_getWorkInt( charaindex, CHAR_WORKBATTLECOM1); - // ܵȼ + // 技能等级 skill_level = CHAR_GETWORKINT_HIGH( charaindex, CHAR_WORKBATTLECOM3); skill_level = PROFESSION_CHANGE_SKILL_LEVEL_M( skill_level ); - // ħ붯 + // 将魔法参数代入动画 magic_type = analysis_profession_parameter( attIdx, skill, toNo, charaindex ); PROFESSION_MAGIC_ATTAIC_Effect( battleindex, attackNo, list, attIdx); @@ -3301,12 +3318,12 @@ void PROFESSION_MAGIC_ATTAIC( int battleindex, int attackNo, int toNo, int attId memset(def_is_player,-1,sizeof(def_is_player)); memset(def_be_hit,-1,sizeof(def_be_hit)); - // ˹ + // 单人攻击 if( toNo < 20 ){ toNo = list[0]; listidx++; - } else if( 20 == toNo ){ // ȫ + } else if( 20 == toNo ){ // 右下全体 for( i = 0 ; i < 2 ; i++ ){ for( j = 0 ; j < 5 ; j++ ){ if(TRUE == BATTLE_TargetCheck( battleindex , CharTable[i + 2][j] ) ){ @@ -3315,7 +3332,7 @@ void PROFESSION_MAGIC_ATTAIC( int battleindex, int attackNo, int toNo, int attId } } } - } else if( 21 == toNo ){ // ȫ + } else if( 21 == toNo ){ // 左上全体 for( i = 0 ; i < 2 ; i++ ){ for( j = 0 ; j < 5 ; j++ ){ if(TRUE == BATTLE_TargetCheck( battleindex , CharTable[i][j] ) ){ @@ -3324,7 +3341,7 @@ void PROFESSION_MAGIC_ATTAIC( int battleindex, int attackNo, int toNo, int attId } } } - } // ϵһ , ϵڶ , µһ , µڶ + } // 左上第一列 , 左上第二列 , 右下第一列 , 右下第二列 else if( 23 == toNo || 24 == toNo || 25 == toNo || 26 == toNo ){ basey = toNo - 23; for( i = 0 , j = basey - 1 ; j <= basey + 1 ; i++ , j++ ){ @@ -3332,7 +3349,7 @@ void PROFESSION_MAGIC_ATTAIC( int battleindex, int attackNo, int toNo, int attId continue; else if( ( 23 == toNo || 24 == toNo ) && ( j < 0 || j > 1 ) ) continue; - // ЩҪ嵥 + // 计算那些人需要加入清单 for( k = 0 ; k < 5 ; k++ ){ if(TRUE == BATTLE_TargetCheck( battleindex , CharTable[j][k] ) ) { @@ -3342,15 +3359,15 @@ void PROFESSION_MAGIC_ATTAIC( int battleindex, int attackNo, int toNo, int attId } } } - qsort( list , listidx , sizeof( list[0] ) , ( FUNC )SortLoc );// λ + qsort( list , listidx , sizeof( list[0] ) , ( FUNC )SortLoc );// 排序位置 - // ȡ + // 取熟练度 PROFESSION_MAGIC_GET_PRACTICE( &hp_power, &mp_power, &dec_hp, &dec_mp, charaindex ); power = hp_power; - // ȡ list + // 取出攻击 list PROFESSION_MAGIC_TOLIST_SORT( list, &listidx, charaindex ); for( i = 0 ; i < listidx ; i++ ) { @@ -3362,7 +3379,7 @@ void PROFESSION_MAGIC_ATTAIC( int battleindex, int attackNo, int toNo, int attId if( !CHAR_CHECKINDEX(charaidx) ) continue; - // ħЧ + // 制作魔法特效 if (CHAR_createCharacter( 100354, 777, 45, 45, 0, &icindex, &ioindex, 0) == TRUE){ CHAR_setInt( icindex, CHAR_LUCK, 1); @@ -3370,35 +3387,35 @@ void PROFESSION_MAGIC_ATTAIC( int battleindex, int attackNo, int toNo, int attId CHAR_setWorkInt( icindex, CHAR_WORKOTHERDMAGE, 0 ); - // ħм춨 + // 魔法命中检定 if( PROFESSION_MAGIC_DODGE( charaindex, charaidx, magic_type ) == 1 ){ // MISS attvalue = 0; }else{ - // ȡħ˺ֵ + // 取特殊魔法伤害值 power = PROFESSION_MAGIC_GET_ICE_MIRROR_DAMAGE( charaindex, charaidx, command, power ); #ifdef _SUIT_ADDPART4 - if( CHAR_getWorkInt( charaidx, CHAR_WORKUNMPOWER ) > 0 ){//ֿʦħװ + if( CHAR_getWorkInt( charaidx, CHAR_WORKUNMPOWER ) > 0 ){//抵抗法师魔法的装备 power -= power * (CHAR_getWorkInt( charaidx, CHAR_WORKUNMPOWER )/100.00); // print("\nWORKUNMPOWER:%d", CHAR_getWorkInt( charaidx, CHAR_WORKUNMPOWER )); } #endif - // ȡħ˺ֵ + // 取魔法伤害值 #ifdef _PROFESSION_ADDSKILL attvalue = PROFESSION_MAGIC_GET_DAMAGE( charaindex, charaidx, magic_type, power, command ); #else attvalue = PROFESSION_MAGIC_GET_DAMAGE( charaindex, charaidx, magic_type, power ); #endif - // ı״̬ħ + // 改变自身状态魔法 PROFESSION_MAGIC_CHANGE_STATUS( charaindex, attvalue, mp_power, &add_hp, &add_mp ); - // ⹥ + // 特殊攻击 attvalue = PROFESSION_MAGIC_CHANG_STATUS( command, battleindex, charaindex, charaidx, attvalue, i ); def_be_hit[i] = charaidx; #ifdef _PROFESSION_ADDSKILL - if( command == BATTLE_COM_S_STORM ){// ˮ - if( (PROFESSION_BATTLE_StatusAttackCheck( charaindex, charaidx, BATTLE_ST_WATER, 30 ) == 0 )// ״̬м춨 + if( command == BATTLE_COM_S_STORM ){// 暴风雨 水附体 + if( (PROFESSION_BATTLE_StatusAttackCheck( charaindex, charaidx, BATTLE_ST_WATER, 30 ) == 0 )// 状态命中检定 || (CHAR_getInt( charaidx, CHAR_HP ) <= 0 ) ){ }else{ @@ -3414,25 +3431,25 @@ void PROFESSION_MAGIC_ATTAIC( int battleindex, int attackNo, int toNo, int attId } } - //¼idx + //记录被攻击方的idx decmplist[decmplistcount++] = list[i]; #endif } - // ħЧ + // 清除魔法特效 CHAR_CharaDelete(icindex); charahp = CHAR_getInt( charaidx, CHAR_HP ); - // û + // 没骑宠物 if( -1 == petidx || CHAR_getInt(petidx, CHAR_HP) <= 0 ){ if( ( charahp -= attvalue ) < 0 ){ charahp = 0; } CHAR_setInt( charaidx , CHAR_HP , charahp ); pethp = 0; - if( 0 == PROFESSION_magic[attIdx].uiAttackType ) {// ˹ + if( 0 == PROFESSION_magic[attIdx].uiAttackType ) {// 单人攻击 sprintf( szcommand , "%X|%X|%X|%X|" , toNo , list[i] , attvalue , pethp); } else sprintf( szcommand , "%X|%X|%X|%X|" , list[i] , list[i] , attvalue , pethp); @@ -3441,7 +3458,7 @@ void PROFESSION_MAGIC_ATTAIC( int battleindex, int attackNo, int toNo, int attId pethp = CHAR_getInt( petidx , CHAR_HP ); charahurt = attvalue * BATTLE_CalcCharaRatio( FieldAttr , charaidx ) / 10; - //µļ,ﱻ,Ѫ۵Ļ,Ὣ˺ۼ + //以下的计算,若人物被打死,血不够扣的话,会将多出来的伤害再累加至宠物身上 charahurt_temp = charahurt; if( ( charahp -= charahurt ) < 0 ) { @@ -3453,7 +3470,7 @@ void PROFESSION_MAGIC_ATTAIC( int battleindex, int attackNo, int toNo, int attId if( ( pethp -= attvalue ) < 0) { pethp = 0; - // ûѪ˳ս + // 宠物没血了退出战场 CHAR_setInt(charaidx,CHAR_RIDEPET,-1); BATTLE_changeRideImage(charaidx); CHAR_setWorkInt(charaidx,CHAR_WORKPETFALL,1); @@ -3463,7 +3480,7 @@ void PROFESSION_MAGIC_ATTAIC( int battleindex, int attackNo, int toNo, int attId charahurt = charahurt_temp; - if( 0 == PROFESSION_magic[attIdx].uiAttackType ) {// ˹ + if( 0 == PROFESSION_magic[attIdx].uiAttackType ) {// 单人攻击 sprintf( szcommand , "%X|%X|%X|%X|" , toNo , list[i] , charahurt , attvalue); } else sprintf( szcommand , "%X|%X|%X|%X|" , list[i] , list[i] , charahurt , attvalue); @@ -3471,13 +3488,13 @@ void PROFESSION_MAGIC_ATTAIC( int battleindex, int attackNo, int toNo, int attId { - //Change fix õDPֵ + //Change fix 加上这个先拿到DP值 int aAttackList[BATTLE_ENTRY_MAX*2+1]; aAttackList[0] = attackNo; aAttackList[1] = -1; BATTLE_AddProfit( battleindex, aAttackList); } - //change fix ޿ (зְսᶼòDPֵ,õ,ûϵ) + //change fix 让替身娃娃可正常运作 (这样做所有法术类职技战斗後都拿不到DP值,不过上面先拿到,所以没关系) if( CHAR_getInt( charaidx, CHAR_HP ) <= 0 && CHAR_getInt( charaidx, CHAR_WHICHTYPE ) == CHAR_TYPEPLAYER /*&& !BattleArray[battleindex].dpbattle*/ ) @@ -3491,7 +3508,7 @@ void PROFESSION_MAGIC_ATTAIC( int battleindex, int attackNo, int toNo, int attId BATTLESTR_ADD( szcommand ); #ifdef _PROFESSION_ADDSKILL - //۵зmp + //扣敌方mp if( (int)mp_power != 0 ){ for( i=0;i= 10 ){ for( i=0;i 0 ){ CHAR_setWorkInt( BATTLE_No2Index( battleindex , decmplist[i] ), CHAR_WORKFEAR, 4 ); BATTLE_BadStatusString( decmplist[i], BATTLE_ST_FEAR ); - sprintf( szcommand, "BD|r%X|0|6|%X|", decmplist[i], -20 );//30% + sprintf( szcommand, "BD|r%X|0|6|%X|", decmplist[i], -20 );//敏降30% BATTLESTR_ADD( szcommand ); - // + // 减攻 sprintf( szcommand, "BD|r%X|0|4|%X|", decmplist[i], -10 ); BATTLESTR_ADD( szcommand ); - // + // 减防 sprintf( szcommand, "BD|r%X|0|5|%X|", decmplist[i], -10 ); BATTLESTR_ADD( szcommand ); } @@ -3564,9 +3581,9 @@ void PROFESSION_MAGIC_ATTAIC( int battleindex, int attackNo, int toNo, int attId BATTLESTR_ADD( szcommand ); } -// Terry fix 2003/11/17 ˯˹Է +// Terry fix 2003/11/17 修正睡眠者中了攻击性法术不会醒 for(i=0; i 0) { CHAR_setWorkInt(def_be_hit[i],CHAR_WORKSLEEP,0); @@ -3589,7 +3606,7 @@ int PROFESSION_MAGIC_ATTAIC_Effect( int battleindex, int attackNo , int ToList[] if( FALSE == CHAR_CHECKINDEX( attackindex ) ) return 0; #ifdef _PROFESSION_ADDSKILL - //if( CHAR_getWorkInt( attackindex, CHAR_WORKBATTLECOM1 ) == BATTLE_COM_S_ICE_CRACK ) //Ч + //if( CHAR_getWorkInt( attackindex, CHAR_WORKBATTLECOM1 ) == BATTLE_COM_S_ICE_CRACK ) //冰爆术不先秀特效 // return 0; #endif snprintf( szcommand , sizeof( szcommand ) , "B$|a%X|i%X|m%X|%X|%X|%X|s%X|t%X|l%X|%X|%X|%X|%X|%X|%X|o%X|o%X|o%X|s%X|%X|%X|%X|%X|" , @@ -3635,15 +3652,15 @@ int analysis_profession_parameter( int attIdx, int skill, int toNo, int charaind char temp[64]; char *pszOption; // Robin fix profession magic_type - //char magic[3][5]={"","",""}; - char magic[3][5]={"","",""}; + //char magic[3][5]={"火","电","冰"}; + char magic[3][5]={"火","冰","电"}; int magic_type=-1; - // ȡüܲ + // 取得技能参数 if( (pszOption=PROFESSION_SKILL_getChar(skill,PROFESSION_SKILL_OPTION)) == "\0" ) return -1; - // ħ + // 魔法属性 memset( temp, 0, sizeof(temp) ); if( !getStringFromIndexWithDelim(pszOption,"|",1,temp,sizeof(temp)) ) return -1; @@ -3654,73 +3671,73 @@ int analysis_profession_parameter( int attIdx, int skill, int toNo, int charaind switch( magic_type ){ case 1: - // ӻȾֵ + // 加火熟练度经验值 PROFESSION_SKILL_LVEVEL_UP( charaindex, "PROFESSION_FIRE_PRACTICE" ); break; case 2: - // ӱȾֵ + // 加冰熟练度经验值 PROFESSION_SKILL_LVEVEL_UP( charaindex, "PROFESSION_ICE_PRACTICE" ); break; case 3: - // Ⱦֵ + // 加雷熟练度经验值 PROFESSION_SKILL_LVEVEL_UP( charaindex, "PROFESSION_THUNDER_PRACTICE" ); break; } - // ʾλ÷ʽ 0 1 + // 显示的位置方式 0人物 1画面中央 memset( temp, 0, sizeof(temp) ); if( !getStringFromIndexWithDelim(pszOption,"|",2,temp,sizeof(temp)) ) return -1; place = atoi(temp); PROFESSION_magic[attIdx].uiShowType = place; - // ʾǰ· + // 显示在人物的前方或下方 memset( temp, 0, sizeof(temp) ); if( !getStringFromIndexWithDelim(pszOption,"|",3,temp,sizeof(temp)) ) return -1; place2 = atoi(temp); PROFESSION_magic[attIdx].uiShowBehindChar = place2; - // ʾλX + // 显示的位置X memset( temp, 0, sizeof(temp) ); if( !getStringFromIndexWithDelim(pszOption,"|",4,temp,sizeof(temp)) ) return -1; x = atoi(temp); - // ʾλY + // 显示的位置Y memset( temp, 0, sizeof(temp) ); if( !getStringFromIndexWithDelim(pszOption,"|",5,temp,sizeof(temp)) ) return -1; y = atoi(temp); - // 𶯻Ŀʼ + // 震动画面的开始毫秒数 memset( temp, 0, sizeof(temp) ); if( !getStringFromIndexWithDelim(pszOption,"|",6,temp,sizeof(temp)) ) return -1; shake_s_time = atoi(temp); - // 𶯻Ľ + // 震动画面的结束毫秒数 memset( temp, 0, sizeof(temp) ); if( !getStringFromIndexWithDelim(pszOption,"|",7,temp,sizeof(temp)) ) return -1; shake_e_time = atoi(temp); - // һ㹥ʱǷʧ + // 咒术一般攻击完时是否马上消失 memset( temp, 0, sizeof(temp) ); if( !getStringFromIndexWithDelim(pszOption,"|",8,temp,sizeof(temp)) ) return -1; disappear = atoi(temp); - // ׼ħͼ + // 准备动作的魔法图号 image_1 = PROFESSION_SKILL_getInt( skill, PROFESSION_SKILL_IMG_1); - PROFESSION_magic[attIdx].uiPrevMagicNum = image_1; // ǰö + PROFESSION_magic[attIdx].uiPrevMagicNum = image_1; // 前置动画 - // սħͼ + // 战斗的魔法图号 image_2 = PROFESSION_SKILL_getInt( skill, PROFESSION_SKILL_IMG_2); - PROFESSION_magic[attIdx].uiSpriteNum = image_2; // ö + PROFESSION_magic[attIdx].uiSpriteNum = image_2; // 後置动画 - // ʾڻ x,y + // 显示在画面的 x,y座标 PROFESSION_magic[attIdx].siSx = x; PROFESSION_magic[attIdx].siSy = y; - // ȡùұߵħͼż + // 取得攻击右边的魔法图号及座标 PROFESSION_MAGIC_GET_IMG2( toNo, charaindex, attIdx, pszOption ); - // ʱ + // 地震的时间 if( (shake_s_time>0) || (shake_e_time>0) ){ PROFESSION_magic[attIdx].uiShakeScreen = 1; PROFESSION_magic[attIdx].uiShakeFrom = shake_s_time; @@ -3736,7 +3753,7 @@ int analysis_profession_parameter( int attIdx, int skill, int toNo, int charaind } -// ȡȵ˺ +// 取熟练度得伤害力 void PROFESSION_MAGIC_GET_PRACTICE( float *hp_power, float *mp_power, @@ -3755,7 +3772,7 @@ void PROFESSION_MAGIC_GET_PRACTICE( critical = RAND( 1,100); switch( command ){ - case BATTLE_COM_S_VOLCANO_SPRINGS: // ɽȪ + case BATTLE_COM_S_VOLCANO_SPRINGS: // 火山泉 { *hp_power = skill_level * 10 + 100; @@ -3769,7 +3786,7 @@ void PROFESSION_MAGIC_GET_PRACTICE( break; } - case BATTLE_COM_S_FIRE_BALL: // + case BATTLE_COM_S_FIRE_BALL: // 火星球 { if( skill_level >= 10 ) *hp_power = 360; @@ -3788,12 +3805,12 @@ void PROFESSION_MAGIC_GET_PRACTICE( break; } - case BATTLE_COM_S_SUMMON_THUNDER: // + case BATTLE_COM_S_SUMMON_THUNDER: // 召雷术 { *hp_power = skill_level*10 + 200; break; } - case BATTLE_COM_S_CURRENT: // + case BATTLE_COM_S_CURRENT: // 电流术 { #ifdef _PROFESSION_ADDSKILL if( skill_level >= 10 ) @@ -3813,7 +3830,7 @@ void PROFESSION_MAGIC_GET_PRACTICE( #endif break; } - case BATTLE_COM_S_STORM: // + case BATTLE_COM_S_STORM: // 暴风雨 { #ifdef _PROFESSION_ADDSKILL if( skill_level > 9 ) @@ -3831,7 +3848,7 @@ void PROFESSION_MAGIC_GET_PRACTICE( #endif break; } - case BATTLE_COM_S_ICE_ARROW: // + case BATTLE_COM_S_ICE_ARROW: // 冰箭术 { if( skill_level >= 10 ) *hp_power = 250; @@ -3839,7 +3856,7 @@ void PROFESSION_MAGIC_GET_PRACTICE( *hp_power = skill_level*10 + 130; break; } - case BATTLE_COM_S_ICE_CRACK: // + case BATTLE_COM_S_ICE_CRACK: // 冰爆术 { if( skill_level >= 10 ) *hp_power = 400; @@ -3850,7 +3867,7 @@ void PROFESSION_MAGIC_GET_PRACTICE( break; } - case BATTLE_COM_S_DOOM: // ĩ + case BATTLE_COM_S_DOOM: // 世界末日 { if( skill_level >= 10 ) *hp_power = 550; @@ -3870,7 +3887,7 @@ void PROFESSION_MAGIC_GET_PRACTICE( *hp_power = 200; break; } - case BATTLE_COM_S_FIRE_SPEAR: // ǹ + case BATTLE_COM_S_FIRE_SPEAR: // 火龙枪 { #ifdef _JOB_FIX if( skill_level > 9 ) @@ -3908,7 +3925,7 @@ void PROFESSION_MAGIC_GET_PRACTICE( break; } - case BATTLE_COM_S_BLOOD: // Ѫ + case BATTLE_COM_S_BLOOD: // 嗜血成性 { int hp = CHAR_getInt( charaindex, CHAR_HP); if( hp > 1 ) @@ -3918,12 +3935,12 @@ void PROFESSION_MAGIC_GET_PRACTICE( break; } - case BATTLE_COM_S_BLOOD_WORMS: // Ѫ + case BATTLE_COM_S_BLOOD_WORMS: // 嗜血蛊 { *hp_power = skill_level*10+20; break; } - case BATTLE_COM_S_SIGN: // һѪ + case BATTLE_COM_S_SIGN: // 一针见血 { #ifdef _PROFESSION_ADDSKILL if( skill_level >= 10 ){ @@ -3959,7 +3976,7 @@ void PROFESSION_MAGIC_GET_PRACTICE( #endif break; } - case BATTLE_COM_S_ENCLOSE: // + case BATTLE_COM_S_ENCLOSE: // 附身术 { #ifdef _PROFESSION_ADDSKILL if( skill_level >= 10 ) @@ -3994,7 +4011,7 @@ void PROFESSION_MAGIC_GET_PRACTICE( #endif #ifdef _SUIT_ADDPART4 if( rand()%100 < 30 ) - *hp_power += *hp_power * (CHAR_getWorkInt( charaindex, CHAR_WORKMPOWER2 )/100.00);//ǿʦħװ(޶30%) + *hp_power += *hp_power * (CHAR_getWorkInt( charaindex, CHAR_WORKMPOWER2 )/100.00);//加强法师魔法的装备(限定30%机率) #endif if( *hp_power > 0 ){ @@ -4006,7 +4023,7 @@ void PROFESSION_MAGIC_GET_PRACTICE( } -// ѡĻ +// 选择改击数量 void PROFESSION_MAGIC_TOLIST_SORT( int *list, int *listidx, int charaindex ) { int j=0, get_num=0, temp[SIDE_OFFSET * 2 + 1]; @@ -4018,7 +4035,7 @@ void PROFESSION_MAGIC_TOLIST_SORT( int *list, int *listidx, int charaindex ) command = CHAR_getWorkInt( charaindex, CHAR_WORKBATTLECOM1); switch(command){ - case BATTLE_COM_S_CURRENT: // + case BATTLE_COM_S_CURRENT: // 电流术 { #ifdef _PROFESSION_ADDSKILL if( skill_level > 9 ) get_num = 10; @@ -4040,12 +4057,12 @@ void PROFESSION_MAGIC_TOLIST_SORT( int *list, int *listidx, int charaindex ) #endif break; } - case BATTLE_COM_S_STORM: // + case BATTLE_COM_S_STORM: // 暴风雨 { get_num = skill_level; break; } - case BATTLE_COM_S_DOOM: // ĩ + case BATTLE_COM_S_DOOM: // 世界末日 { if( skill_level >= 8 ) get_num = 10; else if( skill_level >= 7 ) get_num = 8; @@ -4054,7 +4071,7 @@ void PROFESSION_MAGIC_TOLIST_SORT( int *list, int *listidx, int charaindex ) else get_num = 2; break; } - case BATTLE_COM_S_FIRE_SPEAR: // ǹ + case BATTLE_COM_S_FIRE_SPEAR: // 火龙枪 { /*int miss_rate=0, rand_num=0; @@ -4083,7 +4100,7 @@ void PROFESSION_MAGIC_TOLIST_SORT( int *list, int *listidx, int charaindex ) */ break; } - case BATTLE_COM_S_SIGN: // һѪ + case BATTLE_COM_S_SIGN: // 一针见血 { #ifdef _PROFESSION_ADDSKILL get_num = 10; @@ -4096,8 +4113,8 @@ void PROFESSION_MAGIC_TOLIST_SORT( int *list, int *listidx, int charaindex ) #endif break; } - case BATTLE_COM_S_CONVOLUTE: // - case BATTLE_COM_S_FIRE_BALL: // + case BATTLE_COM_S_CONVOLUTE: // 回旋攻击 + case BATTLE_COM_S_FIRE_BALL: // 火星球 { int toNo=-1, toNo2=-1, battleindex=-1, i=0, count=0; battleindex = CHAR_getWorkInt( charaindex, CHAR_WORKBATTLEINDEX ); @@ -4127,7 +4144,7 @@ void PROFESSION_MAGIC_TOLIST_SORT( int *list, int *listidx, int charaindex ) return; } - case BATTLE_COM_S_THROUGH_ATTACK: // ᴩ + case BATTLE_COM_S_THROUGH_ATTACK: // 贯穿攻击 { int toNo = -1, toNo2 = -1, battleindex = -1; @@ -4192,7 +4209,7 @@ void PROFESSION_MAGIC_TOLIST_SORT( int *list, int *listidx, int charaindex ) } -// ı״̬ +// 改变自身状态 void PROFESSION_MAGIC_CHANGE_STATUS( int charaindex, int hp_power, @@ -4210,7 +4227,7 @@ void PROFESSION_MAGIC_CHANGE_STATUS( command = CHAR_getWorkInt( charaindex, CHAR_WORKBATTLECOM1); switch( command ){ - case BATTLE_COM_S_BLOOD: // Ѫ + case BATTLE_COM_S_BLOOD: // 嗜血成性 { int rate = 0; @@ -4224,7 +4241,7 @@ void PROFESSION_MAGIC_CHANGE_STATUS( break; } - case BATTLE_COM_S_BLOOD_WORMS: // Ѫ + case BATTLE_COM_S_BLOOD_WORMS: // 嗜血蛊 { if( skill_level >= 10 ){ *add_hp += hp_power * 0.2; @@ -4236,10 +4253,10 @@ void PROFESSION_MAGIC_CHANGE_STATUS( break; } #ifdef _PROFESSION_ADDSKILL - case BATTLE_COM_S_SIGN: // һѪ + case BATTLE_COM_S_SIGN: // 一针见血 { int success=10; - /*( skill_level >= 10 ) success = 30;//ɹ + /*( skill_level >= 10 ) success = 30;//成功率 else if( skill_level > 9 ) success = 25; else if( skill_level > 8 ) success = 20; else if( skill_level > 7 ) success = 15; @@ -4268,7 +4285,7 @@ void PROFESSION_MAGIC_CHANGE_STATUS( } } -// ȡλòĶħͼż +// 取得位置不是在中央的多人魔法图号及座标 void PROFESSION_MAGIC_GET_IMG2( int toNo, int charaindex, int attIdx, char *pszOption ) { int command=0, img2=0, x=0, y=0; @@ -4281,7 +4298,7 @@ void PROFESSION_MAGIC_GET_IMG2( int toNo, int charaindex, int attIdx, char *pszO command = CHAR_getWorkInt( charaindex, CHAR_WORKBATTLECOM1); switch( command ){ - case BATTLE_COM_S_BLOOD: // Ѫ + case BATTLE_COM_S_BLOOD: // 嗜血成性 { int img=0; @@ -4293,7 +4310,7 @@ void PROFESSION_MAGIC_GET_IMG2( int toNo, int charaindex, int attIdx, char *pszO PROFESSION_MAGIC_CHANG_IMG2( img, pszOption, attIdx ); return; } - case BATTLE_COM_S_VOLCANO_SPRINGS: // ɽȪ + case BATTLE_COM_S_VOLCANO_SPRINGS: // 火山泉 { int img=0; @@ -4313,25 +4330,25 @@ void PROFESSION_MAGIC_GET_IMG2( int toNo, int charaindex, int attIdx, char *pszO memset( temp, 0, sizeof(temp) ); if( getStringFromIndexWithDelim(pszOption,"|",12,temp,sizeof(temp)) ) y = atoi(temp); - // ö + // 後置动画 PROFESSION_magic[attIdx].uiSpriteNum = img; - // ö + // 後置动画座标 PROFESSION_magic[attIdx].siSx = x; PROFESSION_magic[attIdx].siSy = y; } return; } - case BATTLE_COM_S_BLOOD_WORMS: // Ѫ + case BATTLE_COM_S_BLOOD_WORMS: // 嗜血蛊 { - // ҷ + // 右方 if( toNo == 20 || toNo == 25 || toNo == 26 || ( toNo >= 0 && toNo < SIDE_OFFSET ) ) PROFESSION_MAGIC_CHANG_IMG2( 101623, pszOption, attIdx ); return; } - case BATTLE_COM_S_ICE_MIRROR: // + case BATTLE_COM_S_ICE_MIRROR: // 冰镜术 { if( toNo >= 0 && toNo < 10 ) PROFESSION_MAGIC_CHANG_IMG2( 101652, pszOption, attIdx ); @@ -4345,76 +4362,76 @@ void PROFESSION_MAGIC_GET_IMG2( int toNo, int charaindex, int attIdx, char *pszO memset( temp, 0, sizeof(temp) ); if( getStringFromIndexWithDelim(pszOption,"|",12,temp,sizeof(temp)) ) y = atoi(temp); - // ö + // 後置动画 PROFESSION_magic[attIdx].uiSpriteNum = 101652; - // ö + // 後置动画座标 PROFESSION_magic[attIdx].siSx = x; PROFESSION_magic[attIdx].siSy = y; } return; } - case BATTLE_COM_S_ENCLOSE: // + case BATTLE_COM_S_ENCLOSE: // 附身术 { - // ҷ + // 右方 if( toNo == 20 || toNo == 25 || toNo == 26 || ( toNo >= 0 && toNo < SIDE_OFFSET ) ) PROFESSION_MAGIC_CHANG_IMG2( 101643, pszOption, attIdx ); return; } - case BATTLE_COM_S_FIRE_SPEAR: // ǹ + case BATTLE_COM_S_FIRE_SPEAR: // 火龙枪 { - // ҷ + // 右方 //if( toNo == 20 || toNo == 25 || toNo == 26 ) if( toNo < 10 ) PROFESSION_MAGIC_CHANG_IMG2( 101642, pszOption, attIdx ); return; } - case BATTLE_COM_S_DOOM: // ĩ + case BATTLE_COM_S_DOOM: // 世界末日 { - // ҷ + // 右方 if( toNo == 20 || toNo == 25 || toNo == 26 ) PROFESSION_MAGIC_CHANG_IMG2( 101639, pszOption, attIdx ); return; } - case BATTLE_COM_S_ICE_CRACK: // + case BATTLE_COM_S_ICE_CRACK: // 冰爆术 { - // ҷ + // 右方 if( toNo == 20 || toNo == 25 || toNo == 26 ) PROFESSION_MAGIC_CHANG_IMG2( 101650, pszOption, attIdx ); return; } - case BATTLE_COM_S_ICE_ARROW: // + case BATTLE_COM_S_ICE_ARROW: // 冰箭术 { - // ҷ + // 右方 if( toNo == 20 || toNo == 25 || toNo == 26 || ( toNo >= 0 && toNo < SIDE_OFFSET ) ) PROFESSION_MAGIC_CHANG_IMG2( 101649, pszOption, attIdx ); return; } - case BATTLE_COM_S_STORM: // + case BATTLE_COM_S_STORM: // 暴风雨 { - // ҷ + // 右方 if( toNo == 20 || toNo == 25 || toNo == 26 ) PROFESSION_MAGIC_CHANG_IMG2( 101677, pszOption, attIdx ); return; } #ifdef _PROFESSION_ADDSKILL - case BATTLE_COM_S_BOUNDARY: // Խ + case BATTLE_COM_S_BOUNDARY: // 四属性结界 { - // ҷ + // 右方 if( toNo == 20 || toNo == 25 || toNo == 26 ){ if( getStringFromIndexWithDelim(pszOption,"|",1,temp,sizeof(temp)) ) { - if( strcmp( "ؽ", temp ) == 0 ) + if( strcmp( "地结界", temp ) == 0 ) PROFESSION_MAGIC_CHANG_IMG2( 101786, pszOption, attIdx ); - else if( strcmp( "ˮ", temp ) == 0 ) + else if( strcmp( "水结界", temp ) == 0 ) PROFESSION_MAGIC_CHANG_IMG2( 101774, pszOption, attIdx ); - else if( strcmp( "", temp ) == 0 ) + else if( strcmp( "火结界", temp ) == 0 ) PROFESSION_MAGIC_CHANG_IMG2( 101780, pszOption, attIdx ); - else if( strcmp( "", temp ) == 0 ) + else if( strcmp( "风结界", temp ) == 0 ) PROFESSION_MAGIC_CHANG_IMG2( 101792, pszOption, attIdx ); else PROFESSION_MAGIC_CHANG_IMG2( 101770, pszOption, attIdx ); @@ -4423,25 +4440,25 @@ void PROFESSION_MAGIC_GET_IMG2( int toNo, int charaindex, int attIdx, char *pszO return; } #endif - case BATTLE_COM_S_CONVOLUTE: // + case BATTLE_COM_S_CONVOLUTE: // 回旋攻击 { img2=101656; - if( toNo == 25 ){ // 1 + if( toNo == 25 ){ // 右 1 memset( temp, 0, sizeof(temp) ); if( getStringFromIndexWithDelim(pszOption,"|",9,temp,sizeof(temp)) ) x = atoi(temp); memset( temp, 0, sizeof(temp) ); if( getStringFromIndexWithDelim(pszOption,"|",10,temp,sizeof(temp)) ) y = atoi(temp); - }else if( toNo == 26 ){ // 2 + }else if( toNo == 26 ){ // 右 2 memset( temp, 0, sizeof(temp) ); if( getStringFromIndexWithDelim(pszOption,"|",11,temp,sizeof(temp)) ) x = atoi(temp); memset( temp, 0, sizeof(temp) ); if( getStringFromIndexWithDelim(pszOption,"|",12,temp,sizeof(temp)) ) y = atoi(temp); - }else if( toNo == 23 ){ // 1 + }else if( toNo == 23 ){ // 左 1 memset( temp, 0, sizeof(temp) ); if( getStringFromIndexWithDelim(pszOption,"|",13,temp,sizeof(temp)) ) x = atoi(temp); memset( temp, 0, sizeof(temp) ); if( getStringFromIndexWithDelim(pszOption,"|",14,temp,sizeof(temp)) ) y = atoi(temp); - }else if( toNo == 24 ){ // 2 + }else if( toNo == 24 ){ // 左 2 memset( temp, 0, sizeof(temp) ); if( getStringFromIndexWithDelim(pszOption,"|",15,temp,sizeof(temp)) ) x = atoi(temp); memset( temp, 0, sizeof(temp) ); @@ -4449,62 +4466,62 @@ void PROFESSION_MAGIC_GET_IMG2( int toNo, int charaindex, int attIdx, char *pszO }else return; - // ö + // 後置动画 PROFESSION_magic[attIdx].uiSpriteNum = img2; - // ö + // 後置动画座标 PROFESSION_magic[attIdx].siSx = x; PROFESSION_magic[attIdx].siSy = y; break; } - case BATTLE_COM_S_THROUGH_ATTACK: // ᴩ + case BATTLE_COM_S_THROUGH_ATTACK: // 贯穿攻击 { - if( (toNo == 13) || (toNo == 18) ){ // 1 + if( (toNo == 13) || (toNo == 18) ){ // 左下 1 img2=101676; x = 50; y = 240; - }else if( (toNo == 11) || (toNo == 16) ){ // 2 + }else if( (toNo == 11) || (toNo == 16) ){ // 左 2 img2=101675; x = 120; y = 200; - }else if( (toNo == 10) || (toNo == 15) ){ // 3 + }else if( (toNo == 10) || (toNo == 15) ){ // 左 3 img2=101674; x = 140; y = 160; - }else if( (toNo == 12) || (toNo == 17) ){ // 4 + }else if( (toNo == 12) || (toNo == 17) ){ // 左 4 img2=101673; x = 160; y = 120; - }else if( (toNo == 14) || (toNo == 19) ){ // 5 + }else if( (toNo == 14) || (toNo == 19) ){ // 左 5 img2=101672; x = 180; y = 80; - }else if( (toNo == 3) || (toNo == 8) ){ // 1 + }else if( (toNo == 3) || (toNo == 8) ){ // 右 1 img2=101665; memset( temp, 0, sizeof(temp) ); if( getStringFromIndexWithDelim(pszOption,"|",9,temp,sizeof(temp)) ) x = atoi(temp); memset( temp, 0, sizeof(temp) ); if( getStringFromIndexWithDelim(pszOption,"|",10,temp,sizeof(temp)) ) y = atoi(temp); - }else if( (toNo == 1) || (toNo == 6) ){ // 2 + }else if( (toNo == 1) || (toNo == 6) ){ // 右 2 img2=101664; memset( temp, 0, sizeof(temp) ); if( getStringFromIndexWithDelim(pszOption,"|",11,temp,sizeof(temp)) ) x = atoi(temp); memset( temp, 0, sizeof(temp) ); if( getStringFromIndexWithDelim(pszOption,"|",12,temp,sizeof(temp)) ) y = atoi(temp); - }else if( (toNo == 0) || (toNo == 5) ){ // 3 + }else if( (toNo == 0) || (toNo == 5) ){ // 右 3 img2=101663; memset( temp, 0, sizeof(temp) ); if( getStringFromIndexWithDelim(pszOption,"|",13,temp,sizeof(temp)) ) x = atoi(temp); memset( temp, 0, sizeof(temp) ); if( getStringFromIndexWithDelim(pszOption,"|",14,temp,sizeof(temp)) ) y = atoi(temp); - }else if( (toNo == 2) || (toNo == 7) ){ // 4 + }else if( (toNo == 2) || (toNo == 7) ){ // 右 4 img2=101662; memset( temp, 0, sizeof(temp) ); if( getStringFromIndexWithDelim(pszOption,"|",15,temp,sizeof(temp)) ) x = atoi(temp); memset( temp, 0, sizeof(temp) ); if( getStringFromIndexWithDelim(pszOption,"|",16,temp,sizeof(temp)) ) y = atoi(temp); - }else if( (toNo == 4) || (toNo == 9) ){ // 5 + }else if( (toNo == 4) || (toNo == 9) ){ // 右 5 img2=101661; memset( temp, 0, sizeof(temp) ); if( getStringFromIndexWithDelim(pszOption,"|",17,temp,sizeof(temp)) ) x = atoi(temp); @@ -4513,44 +4530,44 @@ void PROFESSION_MAGIC_GET_IMG2( int toNo, int charaindex, int attIdx, char *pszO }else return; - // ö + // 後置动画 PROFESSION_magic[attIdx].uiSpriteNum = img2; - // ö + // 後置动画座标 PROFESSION_magic[attIdx].siSx = x; PROFESSION_magic[attIdx].siSy = y; - // ǰö + // 前置动画 if( toNo >= 10 ){ int img1 = 101671; PROFESSION_magic[attIdx].uiPrevMagicNum = img1; } break; } - case BATTLE_COM_S_FIRE_BALL: // + case BATTLE_COM_S_FIRE_BALL: // 火星球 { - if( toNo == 25 ){ // 1 + if( toNo == 25 ){ // 右 1 img2=101694; memset( temp, 0, sizeof(temp) ); if( getStringFromIndexWithDelim(pszOption,"|",9,temp,sizeof(temp)) ) x = atoi(temp); memset( temp, 0, sizeof(temp) ); if( getStringFromIndexWithDelim(pszOption,"|",10,temp,sizeof(temp)) ) y = atoi(temp); - }else if( toNo == 26 ){ // 2 + }else if( toNo == 26 ){ // 右 2 img2=101694; memset( temp, 0, sizeof(temp) ); if( getStringFromIndexWithDelim(pszOption,"|",11,temp,sizeof(temp)) ) x = atoi(temp); memset( temp, 0, sizeof(temp) ); if( getStringFromIndexWithDelim(pszOption,"|",12,temp,sizeof(temp)) ) y = atoi(temp); - }else if( toNo == 23 ){ // 1 + }else if( toNo == 23 ){ // 左 1 img2=101693; memset( temp, 0, sizeof(temp) ); if( getStringFromIndexWithDelim(pszOption,"|",13,temp,sizeof(temp)) ) x = atoi(temp); memset( temp, 0, sizeof(temp) ); if( getStringFromIndexWithDelim(pszOption,"|",14,temp,sizeof(temp)) ) y = atoi(temp); - }else if( toNo == 24 ){ // 2 + }else if( toNo == 24 ){ // 左 2 img2=101693; memset( temp, 0, sizeof(temp) ); @@ -4560,10 +4577,10 @@ void PROFESSION_MAGIC_GET_IMG2( int toNo, int charaindex, int attIdx, char *pszO }else return; - // ö + // 後置动画 PROFESSION_magic[attIdx].uiSpriteNum = img2; - // ö + // 後置动画座标 PROFESSION_magic[attIdx].siSx = x; PROFESSION_magic[attIdx].siSy = y; @@ -4577,7 +4594,7 @@ void PROFESSION_MAGIC_GET_IMG2( int toNo, int charaindex, int attIdx, char *pszO #define D_16 (1.0/16) #define D_8 (1.0/8) -// ȡù˺ +// 取得攻击伤害 #ifdef _PROFESSION_ADDSKILL int PROFESSION_MAGIC_GET_DAMAGE( int attackindex, int defindex, int magic_type, int power, int command ) #else @@ -4586,18 +4603,18 @@ int PROFESSION_MAGIC_GET_DAMAGE( int attackindex, int defindex, int magic_type, { int damage = 0; -#ifdef _FIX_MAGIC_RESIST // WON ADD ħ - int proficiency=0;// - int resist=0;// - int suit=0;//װ - int spirit=0;//ʹþɵĿ +#ifdef _FIX_MAGIC_RESIST // WON ADD 修正魔法抗性 + int proficiency=0;//熟练度 + int resist=0;//抗性 + int suit=0;//装备 + int spirit=0;//使用精灵造成的抗性 if( command == BATTLE_COM_S_DOOM ) magic_type = 1; - if( magic_type == 1){ // - proficiency = CHAR_getWorkInt( attackindex, CHAR_WORK_F_PROFICIENCY); // - resist = CHAR_getWorkInt( defindex, CHAR_WORK_F_RESIST); // + if( magic_type == 1){ // 火属性 + proficiency = CHAR_getWorkInt( attackindex, CHAR_WORK_F_PROFICIENCY); // 火熟练度 + resist = CHAR_getWorkInt( defindex, CHAR_WORK_F_RESIST); // 火抗 #ifdef _EQUIT_RESIST suit = CHAR_getWorkInt( defindex, CHAR_WORK_F_SUIT)+CHAR_getWorkInt( defindex, CHAR_WORKEQUITFIRE ); #else @@ -4614,9 +4631,9 @@ int PROFESSION_MAGIC_GET_DAMAGE( int attackindex, int defindex, int magic_type, magic_type = 2; } - if( magic_type == 2){ // - proficiency = CHAR_getWorkInt( attackindex, CHAR_WORK_T_PROFICIENCY); // - resist = CHAR_getWorkInt( defindex, CHAR_WORK_T_RESIST); // 翹 + if( magic_type == 2){ // 电属性 + proficiency = CHAR_getWorkInt( attackindex, CHAR_WORK_T_PROFICIENCY); // 电熟练度 + resist = CHAR_getWorkInt( defindex, CHAR_WORK_T_RESIST); // 电抗 #ifdef _EQUIT_RESIST suit = CHAR_getWorkInt( defindex, CHAR_WORK_I_SUIT)+CHAR_getWorkInt( defindex, CHAR_WORKEQUITTHUNDER ); #else @@ -4633,9 +4650,9 @@ int PROFESSION_MAGIC_GET_DAMAGE( int attackindex, int defindex, int magic_type, magic_type = 3; } - if( magic_type == 3){ // - proficiency = CHAR_getWorkInt( attackindex, CHAR_WORK_I_PROFICIENCY); // - resist = CHAR_getWorkInt( defindex, CHAR_WORK_I_RESIST); // + if( magic_type == 3){ // 冰属性 + proficiency = CHAR_getWorkInt( attackindex, CHAR_WORK_I_PROFICIENCY); // 冰熟练度 + resist = CHAR_getWorkInt( defindex, CHAR_WORK_I_RESIST); // 冰抗 #ifdef _EQUIT_RESIST suit = CHAR_getWorkInt( defindex, CHAR_WORK_T_SUIT)+CHAR_getWorkInt( defindex, CHAR_WORKEQUITICE ); #else @@ -4656,51 +4673,51 @@ int PROFESSION_MAGIC_GET_DAMAGE( int attackindex, int defindex, int magic_type, #else //_FIX_MAGIC_RESIST - fire_proficiency = CHAR_getWorkInt( attackindex, CHAR_WORK_F_PROFICIENCY); // - electric_proficiency = CHAR_getWorkInt( attackindex, CHAR_WORK_T_PROFICIENCY); // - ice_proficiency = CHAR_getWorkInt( attackindex, CHAR_WORK_I_PROFICIENCY); // - fire_resist = CHAR_getWorkInt( defindex, CHAR_WORK_F_RESIST); // - electric_resist = CHAR_getWorkInt( defindex, CHAR_WORK_T_RESIST); // 翹 - ice_resist = CHAR_getWorkInt( defindex, CHAR_WORK_I_RESIST); // + fire_proficiency = CHAR_getWorkInt( attackindex, CHAR_WORK_F_PROFICIENCY); // 火熟练度 + electric_proficiency = CHAR_getWorkInt( attackindex, CHAR_WORK_T_PROFICIENCY); // 电熟练度 + ice_proficiency = CHAR_getWorkInt( attackindex, CHAR_WORK_I_PROFICIENCY); // 冰熟练度 + fire_resist = CHAR_getWorkInt( defindex, CHAR_WORK_F_RESIST); // 火抗 + electric_resist = CHAR_getWorkInt( defindex, CHAR_WORK_T_RESIST); // 电抗 + ice_resist = CHAR_getWorkInt( defindex, CHAR_WORK_I_RESIST); // 冰抗 // print("\n won test 0.0 ==> f(%d) e(%d) i(%d)", fire_proficiency, electric_proficiency, ice_proficiency ); // print("\n won test 0.1 ==> f(%d) e(%d) i(%d)", fire_resist, electric_resist, ice_resist ); - if( magic_type == 1){ // + if( magic_type == 1){ // 火属性 - attack = power * ( 100 + fire_proficiency ) / 100; // ӳ + attack = power * ( 100 + fire_proficiency ) / 100; // 攻击加成 - if( rand_num < 40){ // ԭ˺ + if( rand_num < 40){ // 原攻击伤害 attack = attack * ( 100 - fire_resist ) / 100; - }else{ // ȡ˺ + }else{ // 乱数取伤害 rand_num = RAND(-20, 20); attack = attack * ( 100 - (rand_num + fire_resist) ) / 100; } //print( "\nattack:%d ", attack ); }else - if( magic_type == 2){ // + if( magic_type == 2){ // 电属性 - attack = power * ( 100 + electric_proficiency ) / 100; // ӳ + attack = power * ( 100 + electric_proficiency ) / 100; // 攻击加成 - if( rand_num < 40){ // ԭ˺ + if( rand_num < 40){ // 原攻击伤害 attack = attack * ( 100 - electric_resist ) / 100; - }else{ // ȡ˺ + }else{ // 乱数取伤害 rand_num = RAND(-20, 20); attack = attack * ( 100 - (rand_num + electric_resist) ) / 100; } }else - if( magic_type == 3){ // + if( magic_type == 3){ // 冰属性 - attack = power * ( 100 + ice_proficiency ) / 100; // ӳ + attack = power * ( 100 + ice_proficiency ) / 100; // 攻击加成 - if( rand_num < 40){ // ԭ˺ + if( rand_num < 40){ // 原攻击伤害 attack = attack * ( 100 - ice_resist ) / 100; - }else{ // ȡ˺ + }else{ // 乱数取伤害 rand_num = RAND(-20, 20); attack = attack * ( 100 - (rand_num + ice_resist) ) / 100; } - }else{ // + }else{ // 无 attack = power; } @@ -4715,12 +4732,12 @@ int PROFESSION_MAGIC_GET_DAMAGE( int attackindex, int defindex, int magic_type, } -// ȡ⹥˺ +// 取得特殊攻击伤害 int PROFESSION_MAGIC_GET_ICE_MIRROR_DAMAGE( int attackindex, int defindex, int command, int power ) { int damage = power; - if( command == BATTLE_COM_S_ICE_MIRROR ){ // + if( command == BATTLE_COM_S_ICE_MIRROR ){ // 冰镜术 float defense = -1; int rate=0; int defpet = BATTLE_getRidePet( defindex ); @@ -4748,12 +4765,12 @@ int PROFESSION_MAGIC_GET_ICE_MIRROR_DAMAGE( int attackindex, int defindex, int c #endif //andy_Edit damage = 120 + (int)( ( defense * rate / 100 ) + ( ( defense - base_defense ) * rate / 200 ) ); - //ƶnpc˺ + //控制对npc的伤害 if( CHAR_getInt( defindex , CHAR_WHICHTYPE ) == CHAR_TYPEENEMY ) damage = damage > 800 ? 800 : damage; }else - if( command == BATTLE_COM_S_CONVOLUTE ){ // + if( command == BATTLE_COM_S_CONVOLUTE ){ // 回旋攻击 int skill_level = CHAR_GETWORKINT_HIGH( attackindex, CHAR_WORKBATTLECOM3); int hit=0; @@ -4762,7 +4779,7 @@ int PROFESSION_MAGIC_GET_ICE_MIRROR_DAMAGE( int attackindex, int defindex, int c hit = skill_level * 2 + 60; //if( rand_num <= hit ){ - // ȡû˺ + // 取得回旋攻击伤害 #ifdef _JOB_FIX damage = BATTLE_PROFESSION_CONVOLUTE_GET_DAMAGE( attackindex, defindex, skill_level ) * 1.1; #else @@ -4772,19 +4789,19 @@ int PROFESSION_MAGIC_GET_ICE_MIRROR_DAMAGE( int attackindex, int defindex, int c // damage = 0; //} }else - if( command == BATTLE_COM_S_THROUGH_ATTACK ){ // ᴩ + if( command == BATTLE_COM_S_THROUGH_ATTACK ){ // 贯穿攻击 int skill_level = CHAR_GETWORKINT_HIGH( attackindex, CHAR_WORKBATTLECOM3); skill_level = PROFESSION_CHANGE_SKILL_LEVEL_A( skill_level ); if( skill_level != 10 ){ - // ½ + // 命中率下降 CHAR_setWorkInt( attackindex, CHAR_MYSKILLHIT, 1); CHAR_setWorkInt( attackindex, CHAR_MYSKILLHIT_NUM, -70); CHAR_setWorkInt( attackindex, CHAR_WORKHITRIGHT, CHAR_getWorkInt(attackindex,CHAR_WORKHITRIGHT) -50 ); } - // ȡùᴩ˺ + // 取得贯穿攻击伤害 #ifdef _JOB_FIX damage = BATTLE_PROFESSION_THROUGH_ATTACK_GET_DAMAGE( attackindex, defindex ) * 0.80; #else @@ -4793,9 +4810,9 @@ int PROFESSION_MAGIC_GET_ICE_MIRROR_DAMAGE( int attackindex, int defindex, int c } #ifdef _PROFESSION_ADDSKILL else - if( command == BATTLE_COM_S_CURRENT // - || command == BATTLE_COM_S_SUMMON_THUNDER ){// - if( CHAR_getWorkInt( defindex, CHAR_WORKWATER ) > 0 ){//ˮ + if( command == BATTLE_COM_S_CURRENT //电流术 + || command == BATTLE_COM_S_SUMMON_THUNDER ){//召雷术 + if( CHAR_getWorkInt( defindex, CHAR_WORKWATER ) > 0 ){//水附体 if( RAND(1, 100) < 75 ) damage *= 3; } @@ -4806,8 +4823,8 @@ int PROFESSION_MAGIC_GET_ICE_MIRROR_DAMAGE( int attackindex, int defindex, int c -// -// return: 0:û 1: +// 计算闪避率 +// return: 0:没闪过 1:闪过 int PROFESSION_MAGIC_DODGE( int atk_index, int def_index, int magic_type ) { float fLuck = 0,fResist = 0, proficiency = 0; @@ -4817,34 +4834,34 @@ int PROFESSION_MAGIC_DODGE( int atk_index, int def_index, int magic_type ) int command; - // Ŀһܣ + // 目标地球一周,不动作 if( CHAR_getWorkInt( def_index, CHAR_WORKBATTLECOM1 ) == BATTLE_COM_S_EARTHROUND0 ){ return 1; // Miss } - // Ƿ + // 如果是防守者是玩家 if( charType == CHAR_TYPEPLAYER ){ - // + // 幸运 fLuck = (float)CHAR_getInt( def_index, CHAR_LUCK) * 3; - // + // 抗性 if( magic_type != 0 ){ fResist = (float)(CHAR_getWorkInt( def_index, CHAR_WORK_F_RESIST + magic_type - 1 )) * 0.5; } fLuck += fResist; - // ħװ + // 抗魔装备 Dluck = (float)(CHAR_getWorkInt( def_index, CHAR_EQUITQUIMAGIC)*0.4); fLuck += Dluck; - }else {// Ƿdz + }else {// 如果是防守者是宠物 fLuck = (float)CHAR_getInt( def_index, CHAR_LV) * 0.15; if(fLuck > 20) fLuck = 20; } - // + // 熟练度 // Robin fix //if( magic_type != 0 ){ if( magic_type > 0 ){ @@ -4907,10 +4924,10 @@ void PROFESSION_MAGIC_CHANG_IMG2( int img2, char *pszOption, int attIdx ) memset( temp, 0, sizeof(temp) ); if( getStringFromIndexWithDelim(pszOption,"|",10,temp,sizeof(temp)) ) y = atoi(temp); - // ö + // 後置动画 PROFESSION_magic[attIdx].uiSpriteNum = img2; - // ö + // 後置动画座标 PROFESSION_magic[attIdx].siSx = x; PROFESSION_magic[attIdx].siSy = y; } @@ -4926,28 +4943,28 @@ int PROFESSION_MAGIC_CHANG_STATUS(int command,int battleindex, int charaindex, i skill_level = PROFESSION_CHANGE_SKILL_LEVEL_M( skill_level ); switch( command ){ - case BATTLE_COM_S_THROUGH_ATTACK: // ᴩ + case BATTLE_COM_S_THROUGH_ATTACK: // 贯穿攻击 { int skill_level = CHAR_GETWORKINT_HIGH( charaindex, CHAR_WORKBATTLECOM3); skill_level = PROFESSION_CHANGE_SKILL_LEVEL_A( skill_level ); - if( no == 0 ){ // ǰŵ + if( no == 0 ){ // 攻击前排的 attvalue = attvalue * (skill_level * 2 + 70) / 100; - }else if( no == 1 ){ // ŵ + }else if( no == 1 ){ // 攻击後排的 attvalue = attvalue * (skill_level * 2 + 50) / 100; } break; } - case BATTLE_COM_S_ICE_CRACK: // + case BATTLE_COM_S_ICE_CRACK: // 冰爆术 { int hit=0, rand_num = RAND( 0, 100 ); - //for( j = 1; j < BATTLE_ST_END; j++ ){ //쳣״̬return + //for( j = 1; j < BATTLE_ST_END; j++ ){ //若已有异常状态则return // if( CHAR_getWorkInt( charaidx, StatusTbl[j] ) > 0 ) return 0; //} - // + // 命中率 if( skill_level >= 10 ) hit = 80; else if( skill_level >= 7 ) hit = 70; else if( skill_level >= 5 ) hit = 80; @@ -4977,14 +4994,14 @@ int PROFESSION_MAGIC_CHANG_STATUS(int command,int battleindex, int charaindex, i } - // һ˺ + // 冰爆术第一击无伤害 attvalue = 0; break; } - case BATTLE_COM_S_ENCLOSE: // + case BATTLE_COM_S_ENCLOSE: // 附身术 { - for( j = 1; j < BATTLE_ST_END; j++ ) //쳣״̬return + for( j = 1; j < BATTLE_ST_END; j++ ) //若已有异常状态则return if( CHAR_getWorkInt( charaidx, StatusTbl[j] ) > 0 ) return attvalue; { @@ -5006,7 +5023,7 @@ int PROFESSION_MAGIC_CHANG_STATUS(int command,int battleindex, int charaindex, i rand_num = RAND(0,100); - if( rand_num <= success ){ //ɹʱĿ + if( rand_num <= success ){ //成功时目标混乱 #ifdef _PROFESSION_ADDSKILL CHAR_setWorkInt( charaidx, CHAR_WORKANNEX, round ); #else @@ -5018,9 +5035,9 @@ int PROFESSION_MAGIC_CHANG_STATUS(int command,int battleindex, int charaindex, i } break; } - case BATTLE_COM_S_ICE_ARROW: // + case BATTLE_COM_S_ICE_ARROW: // 冰箭 { - for( j = 1; j < BATTLE_ST_END; j++ ){ //쳣״̬return + for( j = 1; j < BATTLE_ST_END; j++ ){ //若已有异常状态则return if( CHAR_getWorkInt( charaidx, StatusTbl[j] ) > 0 ) return attvalue; } { @@ -5033,7 +5050,7 @@ int PROFESSION_MAGIC_CHANG_STATUS(int command,int battleindex, int charaindex, i else success = 10; rand_num = RAND(0,100); - if( rand_num <= success ){ //ɹʱĿ꽵 + if( rand_num <= success ){ //成功时目标降敏 int dec_dex=0, turn=0; if( skill_level >= 8 ) dec_dex = 25; @@ -5062,9 +5079,9 @@ int PROFESSION_MAGIC_CHANG_STATUS(int command,int battleindex, int charaindex, i } break; } - case BATTLE_COM_S_BLOOD_WORMS: // Ѫ + case BATTLE_COM_S_BLOOD_WORMS: // 嗜血蛊 { - for( j = 1; j < BATTLE_ST_END; j++ ){ //쳣״̬return + for( j = 1; j < BATTLE_ST_END; j++ ){ //若已有异常状态则return if( CHAR_getWorkInt( charaidx, StatusTbl[j] ) > 0 ) return attvalue; } { @@ -5085,18 +5102,18 @@ int PROFESSION_MAGIC_CHANG_STATUS(int command,int battleindex, int charaindex, i } break; } - case BATTLE_COM_S_SIGN: // һѪ + case BATTLE_COM_S_SIGN: // 一针见血 { #ifdef _PROFESSION_ADDSKILL #else - for( j = 1; j < BATTLE_ST_END; j++ ){ //쳣״̬return + for( j = 1; j < BATTLE_ST_END; j++ ){ //若已有异常状态则return if( CHAR_getWorkInt( charaidx, StatusTbl[j] ) > 0 ) return attvalue; } { int turn=0, success=0, rand_num=0; int bid = BATTLE_Index2No( battleindex, charaidx ); - // 뿪 + // 非玩家离开 // if( CHAR_getInt( charaidx, CHAR_WHICHTYPE ) != CHAR_TYPEPLAYER ) return attvalue; if( skill_level == 10 ) success = 35; @@ -5108,7 +5125,7 @@ int PROFESSION_MAGIC_CHANG_STATUS(int command,int battleindex, int charaindex, i rand_num = RAND(0,100); - if( rand_num <= success ){ //ɹʱĿѪ + if( rand_num <= success ){ //成功时目标吸血 if( skill_level >= 10 ) turn = 5; else if( skill_level >= 7 ) turn = 4; else if( skill_level >= 4 ) turn = 3; @@ -5124,7 +5141,7 @@ int PROFESSION_MAGIC_CHANG_STATUS(int command,int battleindex, int charaindex, i #endif break; } - case BATTLE_COM_S_DOOM: // ĩ + case BATTLE_COM_S_DOOM: // 世界末日 { /* int rand_num = RAND( 1, 100 ), work, dex; char szCommand[64]; @@ -5135,11 +5152,11 @@ int PROFESSION_MAGIC_CHANG_STATUS(int command,int battleindex, int charaindex, i CHAR_setWorkInt( charaidx, CHAR_WORKFEAR, 2 ); BATTLE_BadStatusString( bid, BATTLE_ST_FEAR ); work = CHAR_getWorkInt( charaindex, CHAR_WORKQUICK )+20; - dex = work>>1;//50% + dex = work>>1;//敏降50% sprintf( szCommand, "BD|r%X|0|6|%X|", bid, (-1) * dex ); BATTLESTR_ADD( szCommand ); #endif - // + // 中麻痹 if( rand_num <= 20 ){ CHAR_setWorkInt( charaidx, CHAR_WORKPARALYSIS, 3 ); BATTLE_BadStatusString( bid, BATTLE_ST_PARALYSIS ); @@ -5164,14 +5181,6 @@ int PROFESSION_MAGIC_CHANG_STATUS(int command,int battleindex, int charaindex, i #ifdef _PETSKILL_FIREKILL -/* - . ... ... . - *. .. .* . . - . . .. - .. /\_/\_ . - ??̡ ̡??? - ڿ -*/ void BATTLE_MultiAttMagic_Fire( int battleindex, int attackNo, int defNo, int FieldAttr , int Power) @@ -5190,7 +5199,7 @@ void BATTLE_MultiAttMagic_Fire( int battleindex, int attackNo, int defNo, float temp = 0.0f; // int attattr[5], defattr[5]; char msgbuf[64]; - char kind[4][3] = {"","ˮ","",""}; + char kind[4][3] = {"地","水","火","风"}; #else BOOL TrueMagic=FALSE; #endif @@ -5208,7 +5217,7 @@ void BATTLE_MultiAttMagic_Fire( int battleindex, int attackNo, int defNo, else f_num = 15; - // ȡսϴ + // 取出战场上存活的人 for( i=f_num; i 0) { CHAR_setWorkInt(def_be_hit[i],CHAR_WORKSLEEP,0); diff --git a/battle/pet_skill.c b/battle/pet_skill.c index a532531..9c01066 100644 --- a/battle/pet_skill.c +++ b/battle/pet_skill.c @@ -16,7 +16,7 @@ #include "char_talk.h" /*======================================================================== - * ʸ 年лĩ ĸʽ + * ペットの技についてのソース 宠物的各式技能 *========================================================================*/ static Petskill *PETSKILL_petskill; @@ -24,13 +24,13 @@ static int PETSKILL_petskillnum; typedef struct tagPetskill_PetskillFunctionTable { - char *functionname; /* ɬð̻̤Ѽ */ - PETSKILL_CALLFUNC func; /* ˱̫ľ */ + char *functionname; /* 設定ファイルに書く関数の名前 */ + PETSKILL_CALLFUNC func; /* 実際に呼び出される関数 */ int hash; /* hash */ - int status; /* Ѩëʸ϶ִ */ + int status; /* このコマンドをペットが指定した印 */ }PETSKILL_PetskillFunctionTable; -/* ë ֧ճ */ +/*技を増やしたらここに登録する事 */ static PETSKILL_PetskillFunctionTable PETSKILL_functbl[] = { { "PETSKILL_None", PETSKILL_None, 0 }, { "PETSKILL_NormalAttack", PETSKILL_NormalAttack, 0 }, @@ -43,7 +43,7 @@ static PETSKILL_PetskillFunctionTable PETSKILL_functbl[] = { { "PETSKILL_StatusChange", PETSKILL_StatusChange, 0 }, { "PETSKILL_EarthRound", PETSKILL_EarthRound, 0 }, { "PETSKILL_GuardBreak", PETSKILL_GuardBreak, 0 }, -#ifdef _SKILL_GUARDBREAK2//Ƴ2 vincent add 2002/05/20 +#ifdef _SKILL_GUARDBREAK2//破除防御2 vincent add 2002/05/20 { "PETSKILL_GuardBreak2", PETSKILL_GuardBreak2, 0 }, #endif { "PETSKILL_Abduct", PETSKILL_Abduct, 0 }, @@ -113,7 +113,7 @@ static PETSKILL_PetskillFunctionTable PETSKILL_functbl[] = { { "PETSKILL_AttackCrazed", PETSKILL_AttackCrazed, 0}, #endif -#ifdef _SHOOTCHESTNUT // Syu ADD 輼 +#ifdef _SHOOTCHESTNUT // Syu ADD 宠技:丢栗子 { "PETSKILL_AttackShoot", PETSKILL_AttackShoot, 0}, #endif @@ -157,27 +157,27 @@ static PETSKILL_PetskillFunctionTable PETSKILL_functbl[] = { #ifdef _SKILL_REFRESH { "PETSKILL_Refresh", PETSKILL_Refresh, 0},//vincent add 2002/08/08 #endif -#ifdef _SKILL_WEAKEN //vincent輼: +#ifdef _SKILL_WEAKEN //vincent宠技:虚弱 { "PETSKILL_Weaken", PETSKILL_Weaken, 0},//vincent add 2002/07/11 #endif -#ifdef _SKILL_DEEPPOISON //vincent輼:綾 +#ifdef _SKILL_DEEPPOISON //vincent宠技:剧毒 { "PETSKILL_Deeppoison", PETSKILL_Deeppoison, 0},//vincent add 2002/07/16 #endif -#ifdef _SKILL_BARRIER //vincent輼:ħ +#ifdef _SKILL_BARRIER //vincent宠技:魔障 { "PETSKILL_Barrier", PETSKILL_Barrier, 0},//vincent add 2002/07/16 #endif -#ifdef _SKILL_NOCAST //vincent輼:Ĭ +#ifdef _SKILL_NOCAST //vincent宠技:沉默 { "PETSKILL_Nocast", PETSKILL_Nocast, 0},//vincent add 2002/07/16 #endif -#ifdef _SKILL_ROAR //vincent輼: +#ifdef _SKILL_ROAR //vincent宠技:大吼 { "PETSKILL_Roar", PETSKILL_Roar, 0},//vincent add 2002/07/11 #endif -#ifdef _PET_SKILL_SARS // WON ADD ɷ +#ifdef _PET_SKILL_SARS // WON ADD 毒煞蔓延 { "PETSKILL_Sars", PETSKILL_Sars, 0}, #endif -#ifdef _SONIC_ATTACK // WON ADD +#ifdef _SONIC_ATTACK // WON ADD 音波攻击 { "PETSKILL_Sonic", PETSKILL_Sonic, 0}, #endif #ifdef _PETSKILL_REGRET @@ -188,7 +188,7 @@ static PETSKILL_PetskillFunctionTable PETSKILL_functbl[] = { { "PETSKILL_Gyrate", PETSKILL_Gyrate, 0}, #endif -#ifdef _PETSKILL_ACUPUNCTURE //Ƥ +#ifdef _PETSKILL_ACUPUNCTURE //针刺外皮 { "PETSKILL_Acupuncture", PETSKILL_Acupuncture, 0}, #endif @@ -237,7 +237,7 @@ static PETSKILL_PetskillFunctionTable PETSKILL_functbl[] = { /*----------------------------------------------------------------------*/ -/* ͣʧͱ */ +/* 基本チェック,アクセス関係*/ /*----------------------------------------------------------------------*/ INLINE BOOL PETSKILL_CHECKINDEX( int index ) { @@ -288,7 +288,7 @@ INLINE BOOL PETSKILL_setChar( int index ,PETSKILL_DATACHAR element, char* new ) return TRUE; } /*---------------------------------------------------------------------- - * ʸ ë£ + * ペット技の数を知る *---------------------------------------------------------------------*/ int PETSKILL_getPetskillNum( void) { @@ -302,7 +302,7 @@ int PETSKILL_getPetskillNum( void) #endif /*---------------------------------------------------------------------- - * ʸ ɬð̻ë //ʼ輼 + * ペット技の設定ファイルを読む//初始宠技 *---------------------------------------------------------------------*/ BOOL PETSKILL_initPetskill( char *filename) { @@ -321,7 +321,7 @@ BOOL PETSKILL_initPetskill( char *filename) PETSKILL_petskillnum=0; - /* ئ滥ϵؤ¾Ʃ *///輼 + /* まず有効な行が何行あるかどうか調べる *///读取宠技总数 while( fgets( line, sizeof( line ), f ) ){ char token[256]; linenum ++; @@ -329,35 +329,35 @@ BOOL PETSKILL_initPetskill( char *filename) if( line[0] == '\n' )continue; /* none */ chomp( line ); PETSKILL_petskillnum++; -#ifdef _PETSKILL_OPTIMUM // Robin ȡ輼ID +#ifdef _PETSKILL_OPTIMUM // Robin 取出最大宠技ID if( getStringFromIndexWithDelim( line, ",", PETSKILL_STARTINTNUM, token, sizeof(token)) == FALSE ) continue; - //print("\n 輼ID:%d %s ", atoi( token), line); + //print("\n 宠技ID:%d %s ", atoi( token), line); max_skillid = max( atoi( token), max_skillid); #endif } if( fseek( f, 0, SEEK_SET ) == -1 ){ - fprint( "Ѱʧ\n" ); + fprint( "寻找失败\n" ); fclose(f); return FALSE; } -#ifdef _PETSKILL_OPTIMUM // 輼TableΪ ID +1 +#ifdef _PETSKILL_OPTIMUM // 宠技Table数为 最大技能ID +1 PETSKILL_petskillnum = max_skillid +1; -// print("\n 輼ID = %d\n", max_skillid); +// print("\n 最大宠技ID = %d\n", max_skillid); #endif PETSKILL_petskill = allocateMemory( sizeof(struct tagPetskill) * PETSKILL_petskillnum ); if( PETSKILL_petskill == NULL ){ - fprint( "޷ڴ %d\n" , + fprint( "无法分配内存 %d\n" , sizeof(struct tagPetskill)*PETSKILL_petskillnum); fclose( f ); return FALSE; } - /* */ + /* 初期化 */ for( i = 0; i < PETSKILL_petskillnum; i ++ ) { for( j = 0; j < PETSKILL_DATAINTNUM; j ++ ) { PETSKILL_setInt( i,j,-1); @@ -367,7 +367,7 @@ BOOL PETSKILL_initPetskill( char *filename) } } - /* */ + /* また読み直す */ linenum = 0; while( fgets( line, sizeof( line ), f ) ){ linenum ++; @@ -376,10 +376,10 @@ BOOL PETSKILL_initPetskill( char *filename) chomp( line ); - /* ë */ - /* tab ë " " 徧 */ + /* 行を整形する */ + /* まず tab を " " に置き換える */ replaceString( line, '\t' , ' ' ); - /* ʸë£*/ + /* 先頭のスペースを取る*/ { char buf[256]; for( i = 0; i < strlen( line); i ++) { @@ -396,31 +396,31 @@ BOOL PETSKILL_initPetskill( char *filename) char token[256]; int ret; -#ifdef _PETSKILL_OPTIMUM // ȡг輼ID, ֱԳ輼IDTable index +#ifdef _PETSKILL_OPTIMUM // 读取本行宠技的ID, 直接以宠技ID当Table index ret = getStringFromIndexWithDelim( line, ",", PETSKILL_STARTINTNUM, token, sizeof(token)); if( ret==FALSE ){ - fprint("ļ﷨:%s %d\n",filename,linenum); + fprint("文件语法错误:%s 第%d行\n",filename,linenum); break; } petskill_readlen = atoi( token); #endif for( i = 0; i < PETSKILL_DATACHARNUM; i ++ ) { - /* ٯ ͼëέ */ + /* 文字列用トークンを見る */ ret = getStringFromIndexWithDelim( line,",", i + 1, token,sizeof(token)); if( ret==FALSE ){ - fprint("ļ﷨:%s %d\n",filename,linenum); + fprint("文件语法错误:%s 第%d行\n",filename,linenum); break; } PETSKILL_setChar( petskill_readlen, i, token); } - /* 4 ϷѰ */ + /* 4つ目以降は数値データ */ for( i = PETSKILL_STARTINTNUM; i < PETSKILL_DATAINTNUM+PETSKILL_STARTINTNUM; i ++ ) { ret = getStringFromIndexWithDelim( line,",",i,token, sizeof(token)); if( ret==FALSE ){ - fprint("ļ﷨:%s %d\n",filename,linenum); + fprint("文件语法错误:%s 第%d行\n",filename,linenum); break; } if( strlen( token) != 0 ) { @@ -446,9 +446,9 @@ BOOL PETSKILL_initPetskill( char *filename) PETSKILL_petskillnum = petskill_readlen; - print( "Ч\ %d...", PETSKILL_petskillnum ); + print( "有效宠物技能数是 %d...", PETSKILL_petskillnum ); - /* hash */ + /* hash の登録 */ for( i = 0; i < arraysizeof( PETSKILL_functbl); i ++ ) { PETSKILL_functbl[i].hash = hashpjw( PETSKILL_functbl[i].functionname); } @@ -471,7 +471,7 @@ BOOL PETSKILL_initPetskill( char *filename) return TRUE; } /*------------------------------------------------------------------------ - * Petskillɬð̻ + * Petskillの設定ファイル読み直し *-----------------------------------------------------------------------*/ BOOL PETSKILL_reinitPetskill( void ) { @@ -479,14 +479,14 @@ BOOL PETSKILL_reinitPetskill( void ) return( PETSKILL_initPetskill( getPetskillfile())); } /*------------------------------------------------------------------------ - * PETSKILL_IDսٯë - * ߯Ի - * : ٯ - * : -1 + * PETSKILL_IDから添字を知る関数 + * 返り値 + * 成功: 添字 + * 失敗: -1 *-----------------------------------------------------------------------*/ int PETSKILL_getPetskillArray( int petskillid) { -#ifdef _PETSKILL_OPTIMUM // ѯ輼IDΪʽ +#ifdef _PETSKILL_OPTIMUM // 查询宠技ID改为阵列式 if( petskillid >= 0 && petskillid < PETSKILL_petskillnum ) return PETSKILL_petskill[petskillid].data[PETSKILL_ID]; #else @@ -500,11 +500,11 @@ int PETSKILL_getPetskillArray( int petskillid) return -1; } /*------------------------------------------------------------ - * ʸ պ̼ë߯ - * ¦ - * name char*  - * ߯Ի - * ѳ߼̼ئ巴NULL + * ペット技の関数名からポインターを返す + * 引数 + * name char* 呪術の名前 + * 返り値 + * 関数へのポインタ。ない場合にはNULL ------------------------------------------------------------*/ PETSKILL_CALLFUNC PETSKILL_getPetskillFuncPointer(char* name ) { @@ -538,7 +538,7 @@ int PETSKILL_Use( if(petskillid!=0 && petskillid!=1 && petskillid!=2) petskillid=0; } -#ifdef _FIXWOLF // Syu ADD ˱Bug +#ifdef _FIXWOLF // Syu ADD 修正狼人变身Bug if( petskillid == 600 ){ if ( CHAR_getInt ( charaindex , CHAR_BASEIMAGENUMBER) == 101428 ) petskillid = -1; @@ -603,7 +603,7 @@ int PETSKILL_ContinuationAttack( { #ifdef _FIX_ContinuationAttack if(toindex<0 || toindex>=BATTLE_ENTRY_MAX*2){ - print("err:NιĻĿ쳣 %d ", toindex); + print("err:N段攻击的击目标索引异常 %d ", toindex); return FALSE; } #endif @@ -652,7 +652,7 @@ int PETSKILL_ChargeAttack( }else{ N = 1; } - if( (pszP = strstr( pszOption, "%" ) ) != NULL ){ + if( (pszP = strstr( pszOption, "攻%" ) ) != NULL ){ sscanf( pszP+3, "%d", &Per ); } CHAR_SETWORKINT_LOW( charaindex, CHAR_WORKBATTLECOM3, N ); @@ -675,7 +675,7 @@ int PETSKILL_Guardian( pszOption = PETSKILL_getChar( array, PETSKILL_OPTION ); - if( (pszP = strstr( pszOption, "%" ) ) != NULL ){ + if( (pszP = strstr( pszOption, "攻%" ) ) != NULL ){ sscanf( pszP+3, "%f", &fPer ); fPer=(fPer/100); strdef=CHAR_getWorkInt(charaindex,CHAR_WORKFIXSTR); @@ -683,7 +683,7 @@ int PETSKILL_Guardian( CHAR_setWorkInt(charaindex,CHAR_WORKATTACKPOWER,(CHAR_getWorkInt(charaindex,CHAR_WORKFIXSTR)+strdef)); } - if( (pszP = strstr( pszOption, "%" ) ) != NULL ){ + if( (pszP = strstr( pszOption, "防%" ) ) != NULL ){ sscanf( pszP+3, "%f", &fPer ); fPer=(fPer/100); strdef=CHAR_getWorkInt(charaindex,CHAR_WORKFIXTOUGH); @@ -704,7 +704,7 @@ int PETSKILL_Guardian( pos = BATTLE_Index2No( battleindex, charaindex ); if( (pszP = strstr( pszOption, "COM:" ) ) != NULL - && strstr( pszP+4, "" ) != NULL + && strstr( pszP+4, "防御" ) != NULL ){ CHAR_setWorkInt( charaindex, CHAR_WORKBATTLECOM1, BATTLE_COM_GUARD ); @@ -749,7 +749,7 @@ int PETSKILL_Mighty( float fPer = 0.01; int strdef,i; char szTurn[] = "turn"; - char *hetStatus[]={"ȫ", "", "", "", "ʯ", "", "", "", "", "", "Ĭ"}; + char *hetStatus[]={"全", "毒", "麻", "眠", "石", "醉", "乱", "虚", "剧", "障", "默"}; pszOption = PETSKILL_getChar( array, PETSKILL_OPTION ); for(i=0;i<11;i++){ if((pszP = strstr( pszOption, hetStatus[i] ) ) != NULL) break; @@ -764,7 +764,7 @@ int PETSKILL_Mighty( CHAR_setWorkInt( charaindex, CHAR_WORKBATTLECOM6, 1); } - if((pszP = strstr( pszOption, "" ) ) != NULL){ + if((pszP = strstr( pszOption, "成" ) ) != NULL){ sscanf( pszP+3, "%d", &i ); CHAR_setWorkInt( charaindex, CHAR_WORKBATTLECOM7, i); }else{ @@ -775,16 +775,16 @@ int PETSKILL_Mighty( CHAR_setWorkInt( charaindex, CHAR_WORKBATTLECOM2, toindex ); CHAR_setWorkInt( charaindex, CHAR_WORKBATTLEMODE, BATTLE_CHARMODE_C_OK ); - if( (pszP = strstr( pszOption, "" ) ) != NULL ){ + if( (pszP = strstr( pszOption, "倍" ) ) != NULL ){ sscanf( pszP+2, "%f", &fBai ); iBai = (int)(fBai * 100); } CHAR_SETWORKINT_LOW( charaindex, CHAR_WORKBATTLECOM3, iBai ); pszOption = PETSKILL_getChar( array, PETSKILL_OPTION ); - if( ( pszP = strstr( pszOption, "" ) ) != NULL){ + if( ( pszP = strstr( pszOption, "避" ) ) != NULL){ sscanf( pszP+2, "%d", &iDuck ); } - if( (pszP = strstr( pszOption, "%" ) ) != NULL ){ + if( (pszP = strstr( pszOption, "攻%" ) ) != NULL ){ sscanf( pszP+3, "%f", &fPer ); fPer=(fPer/100); strdef=CHAR_getWorkInt(charaindex,CHAR_WORKFIXSTR); @@ -792,7 +792,7 @@ int PETSKILL_Mighty( CHAR_setWorkInt(charaindex,CHAR_WORKATTACKPOWER,(CHAR_getWorkInt(charaindex,CHAR_WORKFIXSTR)+strdef)); } - if( (pszP = strstr( pszOption, "%" ) ) != NULL ){ + if( (pszP = strstr( pszOption, "防%" ) ) != NULL ){ sscanf( pszP+3, "%f", &fPer ); fPer=(fPer/100); strdef=CHAR_getWorkInt(charaindex,CHAR_WORKFIXTOUGH); @@ -800,7 +800,7 @@ int PETSKILL_Mighty( CHAR_setWorkInt(charaindex,CHAR_WORKDEFENCEPOWER,(CHAR_getWorkInt(charaindex,CHAR_WORKFIXTOUGH)+strdef)); } - if( (pszP = strstr( pszOption, "%" ) ) != NULL ){ + if( (pszP = strstr( pszOption, "敏%" ) ) != NULL ){ sscanf( pszP+3, "%f", &fPer ); fPer=(fPer/100); strdef=CHAR_getWorkInt(charaindex,CHAR_WORKFIXDEX); @@ -834,7 +834,7 @@ int PETSKILL_PowerBalance( print("\n pszOption == NULL "); return FALSE; } - if( (pszP = strstr( pszOption, "%" ) ) != NULL ){ + if( (pszP = strstr( pszOption, "攻%" ) ) != NULL ){ sscanf( pszP+3, "%f", &fPer ); fPer=(fPer/100); strdef=CHAR_getWorkInt(charaindex,CHAR_WORKFIXSTR); @@ -842,7 +842,7 @@ int PETSKILL_PowerBalance( CHAR_setWorkInt(charaindex,CHAR_WORKATTACKPOWER,(CHAR_getWorkInt(charaindex,CHAR_WORKFIXSTR)+strdef)); } - if( (pszP = strstr( pszOption, "%" ) ) != NULL ){ + if( (pszP = strstr( pszOption, "防%" ) ) != NULL ){ sscanf( pszP+3, "%f", &fPer ); fPer=(fPer/100); strdef=CHAR_getWorkInt(charaindex,CHAR_WORKFIXTOUGH); @@ -850,7 +850,7 @@ int PETSKILL_PowerBalance( CHAR_setWorkInt(charaindex,CHAR_WORKDEFENCEPOWER,(CHAR_getWorkInt(charaindex,CHAR_WORKFIXTOUGH)+strdef)); } - if( (pszP = strstr( pszOption, "%" ) ) != NULL ){ + if( (pszP = strstr( pszOption, "敏%" ) ) != NULL ){ sscanf( pszP+3, "%f", &fPer ); fPer=(fPer/100); strdef=CHAR_getWorkInt(charaindex,CHAR_WORKFIXDEX); @@ -901,7 +901,7 @@ int PETSKILL_StatusChange( CHAR_SETWORKINT_LOW( charaindex, CHAR_WORKBATTLECOM3, i ); CHAR_SETWORKINT_HIGH( charaindex, CHAR_WORKBATTLECOM3, turn ); - if( (pszP = strstr( pszOption, "%" ) ) != NULL ){ + if( (pszP = strstr( pszOption, "攻%" ) ) != NULL ){ sscanf( pszP+3, "%f", &fPer ); fPer=(fPer/100); strdef=CHAR_getWorkInt(charaindex,CHAR_WORKFIXSTR); @@ -910,7 +910,7 @@ int PETSKILL_StatusChange( (CHAR_getWorkInt(charaindex,CHAR_WORKFIXSTR)+strdef) ); } - if( (pszP = strstr( pszOption, "%" ) ) != NULL ){ + if( (pszP = strstr( pszOption, "防%" ) ) != NULL ){ sscanf( pszP+3, "%f", &fPer ); fPer=(fPer/100); @@ -952,7 +952,7 @@ int PETSKILL_Vary( int cindex, int tindex, int id, char* data) //print("\n pszOption==NULL"); return FALSE; } - if( (pszP = strstr( pszOption, "%" ) ) != NULL ){ + if( (pszP = strstr( pszOption, "攻%" ) ) != NULL ){ sscanf( pszP+3, "%f", &fPer ); CHAR_setWorkInt( cindex, CHAR_SKILLSTRPOWER, fPer); fPer = fPer / 100; @@ -961,7 +961,7 @@ int PETSKILL_Vary( int cindex, int tindex, int id, char* data) CHAR_setWorkInt( cindex, CHAR_WORKATTACKPOWER, CHAR_getWorkInt( cindex, CHAR_WORKFIXSTR) + a_dep); } - if( (pszP = strstr( pszOption, "%" ) ) != NULL ){ + if( (pszP = strstr( pszOption, "敏%" ) ) != NULL ){ sscanf( pszP+3, "%f", &fPer ); CHAR_setWorkInt( cindex, CHAR_SKILLDEXPOWER, fPer); fPer = fPer / 100; @@ -1005,31 +1005,31 @@ int PETSKILL_WildViolentAttack( //print("\n pszOption == NULL "); return FALSE; } - //ȡֵ - if( (pszP = strstr( pszOption, "%" ) ) != NULL ){ + //读取攻值 + if( (pszP = strstr( pszOption, "攻%" ) ) != NULL ){ sscanf( pszP+3, "%f", &fPer ); fPer=(fPer/100); - //趨ֵ + //设定修正值 strdef=CHAR_getWorkInt(charaindex,CHAR_WORKFIXSTR); strdef=(int)(strdef * fPer); CHAR_setWorkInt(charaindex,CHAR_WORKATTACKPOWER,(CHAR_getWorkInt(charaindex,CHAR_WORKFIXSTR)+strdef)); } - //ȡֵ - if( (pszP = strstr( pszOption, "%" ) ) != NULL ){ + //读取防值 + if( (pszP = strstr( pszOption, "防%" ) ) != NULL ){ sscanf( pszP+3, "%f", &fPer ); fPer=(fPer/100); - //趨ֵ + //设定修正值 strdef=CHAR_getWorkInt(charaindex,CHAR_WORKFIXTOUGH); strdef=(int)(strdef * fPer); CHAR_setWorkInt(charaindex,CHAR_WORKDEFENCEPOWER,(CHAR_getWorkInt(charaindex,CHAR_WORKFIXTOUGH)+strdef)); } - //ȡֵ - if( ( pszP = strstr( pszOption, "" ) ) != NULL){ + //读取避值 + if( ( pszP = strstr( pszOption, "避" ) ) != NULL){ sscanf( pszP+2, "%d", &iDuck ); } - // Ĥë + // 膜恳毛忡绣 CHAR_SETWORKINT_HIGH( charaindex, CHAR_WORKBATTLECOM3, iDuck ); return TRUE; @@ -1056,7 +1056,7 @@ int PETSKILL_Sacrifice( else { - sprintf(buf, "%s; Ԯʧ!!", CHAR_getChar( charaindex, CHAR_NAME )); + sprintf(buf, "%s自身耐久力不足 救援失败!!", CHAR_getChar( charaindex, CHAR_NAME )); CHAR_talkToCli( CHAR_getWorkInt(charaindex, CHAR_WORKPLAYERINDEX), -1, buf, CHAR_COLORYELLOW); return FALSE; } @@ -1080,7 +1080,7 @@ int PETSKILL_Refresh( return TRUE; } #endif -#ifdef _SKILL_WEAKEN //vincent輼: +#ifdef _SKILL_WEAKEN //vincent宠技:虚弱 int PETSKILL_Weaken( int charaindex, int toindex, @@ -1096,7 +1096,7 @@ int PETSKILL_Weaken( return TRUE; } #endif -#ifdef _SKILL_DEEPPOISON //vincent輼:綾 +#ifdef _SKILL_DEEPPOISON //vincent宠技:剧毒 int PETSKILL_Deeppoison( int charaindex, int toindex, @@ -1113,7 +1113,7 @@ int PETSKILL_Deeppoison( } #endif -#ifdef _SKILL_BARRIER //vincent輼:ħ +#ifdef _SKILL_BARRIER //vincent宠技:魔障 int PETSKILL_Barrier( int charaindex, int toindex, @@ -1130,7 +1130,7 @@ int PETSKILL_Barrier( } #endif -#ifdef _SKILL_NOCAST //vincent輼:Ĭ +#ifdef _SKILL_NOCAST //vincent宠技:沉默 int PETSKILL_Nocast( int charaindex, int toindex, @@ -1147,7 +1147,7 @@ int PETSKILL_Nocast( } #endif -#ifdef _SKILL_ROAR //vincent輼: +#ifdef _SKILL_ROAR //vincent宠技:大吼 int PETSKILL_Roar( int charaindex, int toindex, @@ -1164,7 +1164,7 @@ int PETSKILL_Roar( } #endif -#ifdef _SKILL_GUARDBREAK2//Ƴ2 vincent add 2002/05/20 +#ifdef _SKILL_GUARDBREAK2//破除防御2 vincent add 2002/05/20 int PETSKILL_GuardBreak2( int charaindex, int toNo, @@ -1250,7 +1250,7 @@ int PETSKILL_EarthRound( float fPer = 0.01; #ifdef _FIX_EARTHROUND if(toNo<0 || toNo>=BATTLE_ENTRY_MAX*2){ - print("err:һܹĿ쳣 %d ", toNo); + print("err:地球一周攻击目标索引异常 %d ", toNo); return FALSE; } #endif @@ -1259,7 +1259,7 @@ int PETSKILL_EarthRound( CHAR_setWorkInt( charaindex, CHAR_WORKBATTLEMODE, BATTLE_CHARMODE_C_OK ); pszOption = PETSKILL_getChar( array, PETSKILL_OPTION ); - if( (pszP = strstr( pszOption, "%" ) ) != NULL ){ + if( (pszP = strstr( pszOption, "攻%" ) ) != NULL ){ sscanf( pszP+3, "%f", &fPer ); CHAR_setWorkInt(charaindex,CHAR_WORKBATTLECOM3, (int)fPer ); } @@ -1288,7 +1288,7 @@ int PETSKILL_GuardBreak( pszOption = PETSKILL_getChar( array, PETSKILL_OPTION ); - if( (pszP = strstr( pszOption, "%" ) ) != NULL ){ + if( (pszP = strstr( pszOption, "攻%" ) ) != NULL ){ sscanf( pszP+3, "%f", &fPer ); fPer=(fPer/100); @@ -1301,7 +1301,7 @@ int PETSKILL_GuardBreak( return TRUE; } -#ifdef _SKILL_SPEEDY_ATT//ٹ vincent add 2002/05/20 +#ifdef _SKILL_SPEEDY_ATT//疾速攻击 vincent add 2002/05/20 int PETSKILL_SpeedyAttack( int charaindex, int toNo, @@ -1325,12 +1325,12 @@ int PETSKILL_SpeedyAttack( return FALSE; } - //ȡֵ - if( (pszP = strstr( pszOption, "%" ) ) != NULL ){ + //读取防值 + if( (pszP = strstr( pszOption, "防%" ) ) != NULL ){ sscanf( pszP+3, "%f", &fPer ); fPer=(fPer/100); - //趨ֵ + //设定修正值 strdef=CHAR_getWorkInt(charaindex,CHAR_WORKFIXTOUGH); strdef=(int)(strdef * fPer); CHAR_setWorkInt(charaindex,CHAR_WORKDEFENCEPOWER,(CHAR_getWorkInt(charaindex,CHAR_WORKFIXTOUGH)+strdef)); @@ -1380,7 +1380,7 @@ int PETSKILL_StealMoney( int charaindex, int toNo, int array, char *data) #endif //******************************************************* -// -- ʧ ة +// 石版-- アイテム合成 // int PETSKILL_Merge( int charaindex, @@ -1439,14 +1439,14 @@ int PETSKILL_NoGuard( CHAR_setWorkInt( charaindex, CHAR_WORKBATTLECOM2, toNo ); CHAR_setWorkInt( charaindex, CHAR_WORKBATTLEMODE, BATTLE_CHARMODE_C_OK ); pszOption = PETSKILL_getChar( array, PETSKILL_OPTION ); - if( (pszP = strstr( pszOption, "%" ) ) != NULL ){ + if( (pszP = strstr( pszOption, "避%" ) ) != NULL ){ sscanf( pszP+3, "%d", &Duck ); CHAR_SETWORKINT_HIGH( charaindex, CHAR_WORKBATTLECOM3, Duck ); } - if( (pszP = strstr( pszOption, "%" ) ) != NULL ){ + if( (pszP = strstr( pszOption, "击%" ) ) != NULL ){ sscanf( pszP+3, "%d", &Counter ); } - if( (pszP = strstr( pszOption, "%" ) ) != NULL ){ + if( (pszP = strstr( pszOption, "心%" ) ) != NULL ){ sscanf( pszP+3, "%d", &Critical ); } CHAR_SETWORKINT_LOW( charaindex, CHAR_WORKBATTLECOM3, @@ -1467,34 +1467,34 @@ int PETSKILL_AttackMagic( char *pszP; char szMagic[] = "magic"; char szItem[] = "item"; - int magic = 313; // magic idԤΪħȼһ,item indexԤΪ19659 + int magic = 313; // magic id预设为火魔法等级一,item index预设为19659 // int item = 19659; - // ȡó\ + // 取得宠物技能命令 pszP = PETSKILL_getChar( array, PETSKILL_OPTION ); - // ȡʩŵħmagic id + // 取得施放的魔法的magic id if((pszP = strstr(pszP,szMagic)) != NULL) { pszP += sizeof(szMagic); sscanf(pszP,"%d",&magic); } /* - // ȡдħԵitem index + // 取得有此魔法属性的item index if((pszP = strstr(pszP,szItem)) != NULL) { pszP += sizeof(szItem); sscanf(pszP,"%d",&item); } */ - // 趨\Ϊħ + // 设定宠物技能为魔法 CHAR_setWorkInt(charaindex,CHAR_WORKBATTLECOM1,BATTLE_COM_S_ATTACK_MAGIC ); - // Ŀ趨 + // 攻击目标设定 CHAR_setWorkInt(charaindex,CHAR_WORKBATTLECOM2,toindex); - // 趨ʹõһħ + // 设定所使用的是那一种魔法 CHAR_SETWORKINT_LOW(charaindex,CHAR_WORKBATTLECOM3,magic); - // 趨ʹõħĵ + // 设定所使用的魔法的道具 // CHAR_SETWORKINT_HIGH(charaindex,CHAR_WORKBATTLECOM3,item); - // ´ + // 命令下达完毕 CHAR_setWorkInt(charaindex,CHAR_WORKBATTLEMODE,BATTLE_CHARMODE_C_OK ); return TRUE; @@ -1502,7 +1502,7 @@ int PETSKILL_AttackMagic( #endif -#ifdef _PSKILL_FALLGROUND // +#ifdef _PSKILL_FALLGROUND //落马术 int PETSKILL_FallGround( int charaindex, int toNo, int array, char *data ) { char *pszOption, *pszP; @@ -1514,7 +1514,7 @@ int PETSKILL_FallGround( int charaindex, int toNo, int array, char *data ) CHAR_setWorkInt( charaindex, CHAR_WORKBATTLEMODE, BATTLE_CHARMODE_C_OK ); pszOption = PETSKILL_getChar( array, PETSKILL_OPTION ); - if( (pszP = strstr( pszOption, "%" ) ) != NULL ){ + if( (pszP = strstr( pszOption, "攻%" ) ) != NULL ){ sscanf( pszP+3, "%f", &fPer ); fPer=(fPer/100); strdef=CHAR_getWorkInt(charaindex,CHAR_WORKFIXSTR); @@ -1553,7 +1553,7 @@ int ENEMYSKILL_EnemyHelp( int enemyindex, int toNo, int array, char *data ) #endif -#ifdef _SKILL_DAMAGETOHP //Ѫ { "PETSKILL_DamageToHp", PETSKILL_DamageToHp, 0}, +#ifdef _SKILL_DAMAGETOHP //嗜血技 { "PETSKILL_DamageToHp", PETSKILL_DamageToHp, 0}, int PETSKILL_DamageToHp( int charaindex, int toNo, int array, char *data ) { char *pszOption; @@ -1564,7 +1564,7 @@ int PETSKILL_DamageToHp( int charaindex, int toNo, int array, char *data ) CHAR_setWorkInt( charaindex, CHAR_WORKBATTLECOM1, BATTLE_COM_S_DAMAGETOHP ); CHAR_setWorkInt( charaindex, CHAR_WORKBATTLECOM2, toNo ); CHAR_setWorkInt( charaindex, CHAR_WORKBATTLEMODE, BATTLE_CHARMODE_C_OK ); - CHAR_SETWORKINT_LOW(charaindex,CHAR_WORKBATTLECOM3, array); //¼ + CHAR_SETWORKINT_LOW(charaindex,CHAR_WORKBATTLECOM3, array); //记录技能 pszOption = PETSKILL_getChar( array, PETSKILL_OPTION ); if( pszOption == "\0" ) return FALSE; @@ -1592,7 +1592,7 @@ int PETSKILL_MpDamage( int charaindex, int toNo, int array, char *data ) CHAR_setWorkInt( charaindex, CHAR_WORKBATTLECOM1, BATTLE_COM_S_MPDAMAGE ); CHAR_setWorkInt( charaindex, CHAR_WORKBATTLECOM2, toNo ); CHAR_setWorkInt( charaindex, CHAR_WORKBATTLEMODE, BATTLE_CHARMODE_C_OK ); - CHAR_SETWORKINT_LOW(charaindex,CHAR_WORKBATTLECOM3, array); ////¼ + CHAR_SETWORKINT_LOW(charaindex,CHAR_WORKBATTLECOM3, array); ////记录技能 pszOption = PETSKILL_getChar( array, PETSKILL_OPTION ); if( pszOption == "\0" ) return FALSE; @@ -1620,7 +1620,7 @@ int PETSKILL_ToothCrushe( int charaindex, int toNo, int array, char *data ) CHAR_setWorkInt( charaindex, CHAR_WORKBATTLECOM1, BATTLE_COM_S_TOOTHCRUSHE ); CHAR_setWorkInt( charaindex, CHAR_WORKBATTLECOM2, toNo ); CHAR_setWorkInt( charaindex, CHAR_WORKBATTLEMODE, BATTLE_CHARMODE_C_OK ); - CHAR_SETWORKINT_LOW( charaindex, CHAR_WORKBATTLECOM3, array); //¼ + CHAR_SETWORKINT_LOW( charaindex, CHAR_WORKBATTLECOM3, array); //记录技能 /* pszOption = PETSKILL_getChar( array, PETSKILL_OPTION ); if( pszOption == "\0" ) return FALSE; @@ -1646,7 +1646,7 @@ int PETSKILL_Modifyattack( int charaindex, int toNo, int array, char *data ) CHAR_setWorkInt( charaindex, CHAR_WORKBATTLECOM1, BATTLE_COM_S_MODIFYATT ); CHAR_setWorkInt( charaindex, CHAR_WORKBATTLECOM2, toNo ); CHAR_setWorkInt( charaindex, CHAR_WORKBATTLEMODE, BATTLE_CHARMODE_C_OK ); - CHAR_SETWORKINT_LOW( charaindex, CHAR_WORKBATTLECOM3, array); //¼ + CHAR_SETWORKINT_LOW( charaindex, CHAR_WORKBATTLECOM3, array); //记录技能 /* pszOption = PETSKILL_getChar( array, PETSKILL_OPTION ); if( pszOption == "\0" ) return FALSE; @@ -1673,7 +1673,7 @@ int PETSKILL_Mdfyattack( int charaindex, int toNo, int array, char *data ) CHAR_setWorkInt( charaindex, CHAR_WORKBATTLECOM1, BATTLE_COM_S_MDFYATTACK); CHAR_setWorkInt( charaindex, CHAR_WORKBATTLECOM2, toNo ); CHAR_setWorkInt( charaindex, CHAR_WORKBATTLEMODE, BATTLE_CHARMODE_C_OK ); - CHAR_SETWORKINT_LOW( charaindex, CHAR_WORKBATTLECOM3, array);//¼ + CHAR_SETWORKINT_LOW( charaindex, CHAR_WORKBATTLECOM3, array);//记录属性 pszOption = PETSKILL_getChar( array, PETSKILL_OPTION ); if( pszOption == "\0" ) return FALSE; @@ -1684,11 +1684,11 @@ int PETSKILL_Mdfyattack( int charaindex, int toNo, int array, char *data ) break; } if( i == 4 ) return FALSE; - CHAR_SETWORKINT_LOW( charaindex, CHAR_WORKBATTLECOM4, i);//¼ + CHAR_SETWORKINT_LOW( charaindex, CHAR_WORKBATTLECOM4, i);//记录属性 if( getStringFromIndexWithDelim( pszOption, "|", 2, buf1, sizeof( buf1)) == FALSE ) return FALSE; nums=atoi( buf1); - CHAR_SETWORKINT_HIGH( charaindex, CHAR_WORKBATTLECOM4, nums);//¼ֵ + CHAR_SETWORKINT_HIGH( charaindex, CHAR_WORKBATTLECOM4, nums);//记录数值 return TRUE; } #endif @@ -1725,21 +1725,21 @@ int PETSKILL_Inslay( int index, int toNo, int array, char *data) if( !ITEM_CHECKINDEX( itemindex) ) continue; if( i >= MAXINSLAY ) { - CHAR_talkToCli( charaindex, -1, "ÿֻѡĸƷ", CHAR_COLORYELLOW); + CHAR_talkToCli( charaindex, -1, "精工每次只能选择四个物品。", CHAR_COLORYELLOW); return FALSE; } for( j=0; j< MAXINSLAY; j++ ) { if( itemindexs[j] == itemindex ) { - //print("Ʒindexͬ ERROR !!\n"); + //print("精工物品index相同 ERROR !!\n"); return FALSE; } } if( (buf1 = ITEM_getChar( itemindex, ITEM_TYPECODE)) == "\0" ) { - //print(" ITEM_TYPECODE == NULL !!\n"); + //print(" ITEM_TYPECODE == NULL 错误 !!\n"); return FALSE; } if( !strcmp( buf1, "\0") || !strcmp( buf1, "NULL") ) { - CHAR_talkToCli( charaindex, -1, "ƷʺϾ", CHAR_COLORYELLOW); + CHAR_talkToCli( charaindex, -1, "这样物品不适合精工。", CHAR_COLORYELLOW); return FALSE; } if( strstr( buf1, "INSLAY") != 0 ) { @@ -1747,7 +1747,7 @@ int PETSKILL_Inslay( int index, int toNo, int array, char *data) inslayindex = itemindex; inslayno = itemno; }else { - CHAR_talkToCli( charaindex, -1, "ÿֻѡһߡ", CHAR_COLORYELLOW); + CHAR_talkToCli( charaindex, -1, "精工每次只能选择一个武器或防具。", CHAR_COLORYELLOW); return FALSE; } } @@ -1756,7 +1756,7 @@ int PETSKILL_Inslay( int index, int toNo, int array, char *data) } if( !ITEM_CHECKINDEX( inslayindex) ) { - CHAR_talkToCli( charaindex, -1, "ѡһߡ", CHAR_COLORYELLOW); + CHAR_talkToCli( charaindex, -1, "精工必须选择一个武器或防具。", CHAR_COLORYELLOW); return FALSE; } @@ -1792,7 +1792,7 @@ int PETSKILL_MagicStatusChange( int charaindex, int toindex, int array, char *da CHAR_setWorkInt( charaindex, CHAR_WORKBATTLECOM1, BATTLE_COM_S_SUPERWALL); CHAR_setWorkInt( charaindex, CHAR_WORKBATTLECOM2, toindex ); CHAR_setWorkInt( charaindex, CHAR_WORKBATTLEMODE, BATTLE_CHARMODE_C_OK ); - CHAR_SETWORKINT_LOW( charaindex, CHAR_WORKBATTLECOM3, array);//¼ + CHAR_SETWORKINT_LOW( charaindex, CHAR_WORKBATTLECOM3, array);//记录属性 return TRUE; } @@ -1807,7 +1807,7 @@ int PETSKILL_SetDuck( int charaindex, int toNo, int array, char *data ) CHAR_setWorkInt( charaindex, CHAR_WORKBATTLECOM1, BATTLE_COM_S_SETDUCK); CHAR_setWorkInt( charaindex, CHAR_WORKBATTLECOM2, toNo ); CHAR_setWorkInt( charaindex, CHAR_WORKBATTLEMODE, BATTLE_CHARMODE_C_OK ); - CHAR_SETWORKINT_LOW( charaindex, CHAR_WORKBATTLECOM3, array);//¼ + CHAR_SETWORKINT_LOW( charaindex, CHAR_WORKBATTLECOM3, array);//记录属性 CHAR_setWorkInt( charaindex, CHAR_MAGICPETMP, 0 ); @@ -1825,7 +1825,7 @@ int PETSKILL_SetMagicPet( int charaindex, int toNo, int array, char *data ) nums = CHAR_getWorkInt( charaindex, CHAR_MAGICPETMP); if( nums >= 3 ){ int toindex = CHAR_getWorkInt( charaindex, CHAR_WORKPLAYERINDEX); - CHAR_talkToCli( toindex, -1, "˼ܵΡ", CHAR_COLORYELLOW); + CHAR_talkToCli( toindex, -1, "此技能单场限用三次。", CHAR_COLORYELLOW); return FALSE; } CHAR_setWorkInt( charaindex, CHAR_MAGICPETMP, nums ); @@ -1833,7 +1833,7 @@ int PETSKILL_SetMagicPet( int charaindex, int toNo, int array, char *data ) CHAR_setWorkInt( charaindex, CHAR_WORKBATTLECOM1, BATTLE_COM_S_SETMAGICPET); CHAR_setWorkInt( charaindex, CHAR_WORKBATTLECOM2, toNo ); CHAR_setWorkInt( charaindex, CHAR_WORKBATTLEMODE, BATTLE_CHARMODE_C_OK ); - CHAR_SETWORKINT_LOW( charaindex, CHAR_WORKBATTLECOM3, array);//¼ + CHAR_SETWORKINT_LOW( charaindex, CHAR_WORKBATTLECOM3, array);//记录属性 return TRUE; } #endif @@ -1870,18 +1870,18 @@ int PETSKILL_Fixitem( int index, int toNo, int array, char *data) if( !ITEM_CHECKINDEX( itemindex) ) continue; if( i >= MAXFIXITEM ) { - CHAR_talkToCli( charaindex, -1, "޸ÿֻѡƷ", CHAR_COLORYELLOW); + CHAR_talkToCli( charaindex, -1, "修复每次只能选择两个物品。", CHAR_COLORYELLOW); return FALSE; } for( j=0; j< MAXFIXITEM; j++ ) { if( itemindexs[j] == itemindex ) { - //print("޸Ʒindexͬ ERROR !!\n"); + //print("修复物品index相同 ERROR !!\n"); return FALSE; } } itemtype = ITEM_getInt( itemindex, ITEM_TYPE); if( itemtype == ITEM_DISH ) { - CHAR_talkToCli( charaindex, -1, "޸", CHAR_COLORYELLOW); + CHAR_talkToCli( charaindex, -1, "料理不能做修复。", CHAR_COLORYELLOW); return FALSE; } @@ -1905,7 +1905,7 @@ int PETSKILL_Fixitem( int index, int toNo, int array, char *data) fixindex = itemindex; fixno = itemno; }else { - CHAR_talkToCli( charaindex, -1, "޸ÿֻѡһߡ", CHAR_COLORYELLOW); + CHAR_talkToCli( charaindex, -1, "修复每次只能选择一个武器或防具。", CHAR_COLORYELLOW); return FALSE; } } @@ -1915,7 +1915,7 @@ int PETSKILL_Fixitem( int index, int toNo, int array, char *data) } if( !ITEM_CHECKINDEX( fixindex) ) { - CHAR_talkToCli( charaindex, -1, "޸ѡһߡ", CHAR_COLORYELLOW); + CHAR_talkToCli( charaindex, -1, "修复必须选择一个武器或防具。", CHAR_COLORYELLOW); return FALSE; } @@ -1935,7 +1935,7 @@ int PETSKILL_Fixitem( int index, int toNo, int array, char *data) CHAR_complianceParameter( charaindex ); CHAR_send_P_StatusString( charaindex, CHAR_P_STRING_ATK | CHAR_P_STRING_DEF | CHAR_P_STRING_QUICK | CHAR_P_STRING_CHARM ); - CHAR_talkToCli( charaindex, -1, "޸ɡ", CHAR_COLORYELLOW); + CHAR_talkToCli( charaindex, -1, "修复完成。", CHAR_COLORYELLOW); return TRUE; } #endif @@ -1953,7 +1953,7 @@ int PETSKILL_BattleTimid( int charaindex, int toNo, int array, char *data ) CHAR_setWorkInt( charaindex, CHAR_WORKATTACKPOWER, ( CHAR_getWorkInt( charaindex, CHAR_WORKFIXSTR)*0.7) ); CHAR_setWorkInt( charaindex, CHAR_WORKDEFENCEPOWER, ( CHAR_getWorkInt( charaindex, CHAR_WORKFIXTOUGH)*0.4) ); CHAR_setWorkInt( charaindex, CHAR_WORKQUICK, ( CHAR_getWorkInt( charaindex, CHAR_WORKFIXDEX)*0.8) ); - CHAR_SETWORKINT_LOW( charaindex, CHAR_WORKBATTLECOM3, array);//¼ + CHAR_SETWORKINT_LOW( charaindex, CHAR_WORKBATTLECOM3, array);//记录属性 return TRUE; } @@ -1972,38 +1972,38 @@ int PETSKILL_2BattleTimid( int charaindex, int toNo, int array, char *data ) pszOption = PETSKILL_getChar( array, PETSKILL_OPTION ); if( pszOption == "\0" ) return FALSE; - if( (pszP = strstr( pszOption, "-%" ) ) != NULL ){ + if( (pszP = strstr( pszOption, "-攻%" ) ) != NULL ){ sscanf( pszP+4, "%f", &fPer ); fPer=(fPer/100); CHAR_setWorkInt( charaindex, CHAR_WORKATTACKPOWER, (CHAR_getWorkInt( charaindex, CHAR_WORKFIXSTR)*fPer) ); } - if( (pszP = strstr( pszOption, "+%" ) ) != NULL ){ + if( (pszP = strstr( pszOption, "+攻%" ) ) != NULL ){ sscanf( pszP+4, "%f", &fPer ); fPer=(fPer/100); CHAR_setWorkInt( charaindex, CHAR_WORKATTACKPOWER, CHAR_getWorkInt( charaindex, CHAR_WORKFIXSTR)+(CHAR_getWorkInt( charaindex, CHAR_WORKFIXSTR)*fPer) ); } - if( (pszP = strstr( pszOption, "-%" ) ) != NULL ){ + if( (pszP = strstr( pszOption, "-防%" ) ) != NULL ){ sscanf( pszP+4, "%f", &fPer ); fPer=(fPer/100); CHAR_setWorkInt( charaindex, CHAR_WORKDEFENCEPOWER, ( CHAR_getWorkInt( charaindex, CHAR_WORKFIXTOUGH)*fPer) ); } - if( (pszP = strstr( pszOption, "+%" ) ) != NULL ){ + if( (pszP = strstr( pszOption, "+防%" ) ) != NULL ){ sscanf( pszP+4, "%f", &fPer ); fPer=(fPer/100); CHAR_setWorkInt( charaindex, CHAR_WORKDEFENCEPOWER, CHAR_getWorkInt( charaindex, CHAR_WORKFIXTOUGH)+(CHAR_getWorkInt( charaindex, CHAR_WORKFIXTOUGH)*fPer) ); } - if( (pszP = strstr( pszOption, "-%" ) ) != NULL ){ + if( (pszP = strstr( pszOption, "-敏%" ) ) != NULL ){ sscanf( pszP+4, "%f", &fPer ); fPer=(fPer/100); CHAR_setWorkInt( charaindex, CHAR_WORKQUICK, ( CHAR_getWorkInt( charaindex, CHAR_WORKFIXDEX)*fPer) ); } - if( (pszP = strstr( pszOption, "+%" ) ) != NULL ){ + if( (pszP = strstr( pszOption, "+敏%" ) ) != NULL ){ sscanf( pszP+4, "%f", &fPer ); fPer=(fPer/100); CHAR_setWorkInt( charaindex, CHAR_WORKQUICK, CHAR_getWorkInt( charaindex, CHAR_WORKFIXDEX)+(CHAR_getWorkInt( charaindex, CHAR_WORKFIXDEX)*fPer) ); } - CHAR_SETWORKINT_LOW( charaindex, CHAR_WORKBATTLECOM3, array);//¼ + CHAR_SETWORKINT_LOW( charaindex, CHAR_WORKBATTLECOM3, array);//记录属性 return TRUE; } @@ -2017,7 +2017,7 @@ int PETSKILL_AntInter( int charaindex, int toNo, int array, char* data) CHAR_setWorkInt( charaindex, CHAR_WORKBATTLECOM2, toNo ); CHAR_setWorkInt( charaindex, CHAR_WORKBATTLEMODE, BATTLE_CHARMODE_C_OK ); - CHAR_SETWORKINT_LOW( charaindex, CHAR_WORKBATTLECOM3, array);//¼ + CHAR_SETWORKINT_LOW( charaindex, CHAR_WORKBATTLECOM3, array);//记录属性 return TRUE; } #endif @@ -2035,7 +2035,7 @@ int PETSKILL_BattleProperty( int charaindex, int toNo, int array, char *data ) // CHAR_setWorkInt( charaindex, CHAR_WORKATTACKPOWER, ( CHAR_getWorkInt( charaindex, CHAR_WORKFIXSTR)*0.7) ); // CHAR_setWorkInt( charaindex, CHAR_WORKDEFENCEPOWER, ( CHAR_getWorkInt( charaindex, CHAR_WORKFIXTOUGH)*0.5) ); // CHAR_setWorkInt( charaindex, CHAR_WORKQUICK, ( CHAR_getWorkInt( charaindex, CHAR_WORKFIXDEX)*0.95) ); - CHAR_SETWORKINT_LOW( charaindex, CHAR_WORKBATTLECOM3, array);//¼ + CHAR_SETWORKINT_LOW( charaindex, CHAR_WORKBATTLECOM3, array);//记录属性 return TRUE; } @@ -2053,7 +2053,7 @@ int PETSKILL_BattleTearDamage( int charaindex, int toNo, int array, char *data ) CHAR_setWorkInt( charaindex, CHAR_WORKATTACKPOWER, ( CHAR_getWorkInt( charaindex, CHAR_WORKFIXSTR)*0.9) ); CHAR_setWorkInt( charaindex, CHAR_WORKDEFENCEPOWER, ( CHAR_getWorkInt( charaindex, CHAR_WORKFIXTOUGH)*0.8) ); - CHAR_SETWORKINT_LOW( charaindex, CHAR_WORKBATTLECOM3, array);//¼ + CHAR_SETWORKINT_LOW( charaindex, CHAR_WORKBATTLECOM3, array);//记录属性 return TRUE; } #endif @@ -2072,7 +2072,7 @@ int PETSKILL_Lighttakeed( int charaindex, int toNo, int array, char *data ) CHAR_setWorkInt( charaindex, CHAR_WORKATTACKPOWER, (CHAR_getWorkInt( charaindex, CHAR_WORKFIXSTR)*0.7) ); CHAR_setWorkInt( charaindex, CHAR_WORKDEFENCEPOWER, (CHAR_getWorkInt( charaindex, CHAR_WORKFIXTOUGH)*0.5) ); // CHAR_setWorkInt( charaindex, CHAR_WORKQUICK, (CHAR_getWorkInt( charaindex, CHAR_WORKFIXDEX)*0.95) ); - CHAR_SETWORKINT_LOW( charaindex, CHAR_WORKBATTLECOM3, array);//¼ + CHAR_SETWORKINT_LOW( charaindex, CHAR_WORKBATTLECOM3, array);//记录属性 return TRUE; } #endif @@ -2096,18 +2096,18 @@ int PETSKILL_AttackCrazed( int charaindex, int toNo, int array, char *data ) pszOption = PETSKILL_getChar( array, PETSKILL_OPTION ); if( pszOption == "\0" ) return FALSE; - //ȡֵ - if( (pszP = strstr( pszOption, "%" ) ) != NULL ){ + //读取攻值 + if( (pszP = strstr( pszOption, "攻%" ) ) != NULL ){ sscanf( pszP+3, "%f", &fPer ); fPer=(fPer/100); - //趨ֵ + //设定修正值 strdef=CHAR_getWorkInt(charaindex,CHAR_WORKFIXSTR); strdef=(int)(strdef * fPer); CHAR_setWorkInt(charaindex,CHAR_WORKATTACKPOWER,(CHAR_getWorkInt(charaindex,CHAR_WORKFIXSTR)+strdef)); } - if( (pszP = strstr( pszOption, "%" ) ) != NULL ){ + if( (pszP = strstr( pszOption, "防%" ) ) != NULL ){ sscanf( pszP+3, "%f", &fPer ); fPer=(fPer/100); strdef=CHAR_getWorkInt(charaindex,CHAR_WORKFIXTOUGH); @@ -2115,7 +2115,7 @@ int PETSKILL_AttackCrazed( int charaindex, int toNo, int array, char *data ) CHAR_setWorkInt(charaindex,CHAR_WORKDEFENCEPOWER,(CHAR_getWorkInt(charaindex,CHAR_WORKFIXTOUGH)+strdef)); } - if( (pszP = strstr( pszOption, "%" ) ) != NULL ){ + if( (pszP = strstr( pszOption, "敏%" ) ) != NULL ){ sscanf( pszP+3, "%f", &fPer ); CHAR_setWorkInt( charaindex, CHAR_SKILLDEXPOWER, fPer); fPer = fPer / 100; @@ -2124,18 +2124,18 @@ int PETSKILL_AttackCrazed( int charaindex, int toNo, int array, char *data ) CHAR_setWorkInt( charaindex, CHAR_WORKQUICK, CHAR_getWorkInt( charaindex, CHAR_WORKFIXDEX) + d_dep); } - if( (pszP = strstr( pszOption, "" ) ) != NULL ){ + if( (pszP = strstr( pszOption, "次" ) ) != NULL ){ sscanf( pszP+3, "%d", &attnum ); CHAR_SETWORKINT_HIGH( charaindex, CHAR_WORKBATTLECOM3, attnum); } - CHAR_SETWORKINT_LOW( charaindex, CHAR_WORKBATTLECOM3, array);//¼ + CHAR_SETWORKINT_LOW( charaindex, CHAR_WORKBATTLECOM3, array);//记录属性 //CHAR_SETWORKINT_HIGH( charaindex, CHAR_WORKBATTLECOM3, atoi(pszOption)); return TRUE; } #endif -#ifdef _SHOOTCHESTNUT // Syu ADD 輼 +#ifdef _SHOOTCHESTNUT // Syu ADD 宠技:丢栗子 int PETSKILL_AttackShoot( int charaindex, int toNo, int array, char *data ) { //int n = RAND ( 3 , 5 ) ; @@ -2168,13 +2168,13 @@ int PETSKILL_AttackShoot( int charaindex, int toNo, int array, char *data ) CHAR_setWorkInt( charaindex, CHAR_WORKATTACKPOWER, (CHAR_getWorkInt( charaindex, CHAR_WORKFIXSTR) * 1.2 / 4 ) ); CHAR_setWorkInt( charaindex, CHAR_WORKDEFENCEPOWER, (CHAR_getWorkInt( charaindex, CHAR_WORKFIXTOUGH) * 1) ); */ - CHAR_SETWORKINT_LOW( charaindex, CHAR_WORKBATTLECOM3, array);//¼ + CHAR_SETWORKINT_LOW( charaindex, CHAR_WORKBATTLECOM3, array);//记录属性 CHAR_SETWORKINT_HIGH( charaindex, CHAR_WORKBATTLECOM3, n); return TRUE; } #endif -#ifdef _PET_SKILL_SARS // WON ADD ɷ +#ifdef _PET_SKILL_SARS // WON ADD 毒煞蔓延 int PETSKILL_Sars( int charaindex, int toNo, int array, char *data ) { @@ -2213,14 +2213,14 @@ int PETSKILL_Sars( int charaindex, int toNo, int array, char *data ) } #endif -#ifdef _SONIC_ATTACK // WON ADD +#ifdef _SONIC_ATTACK // WON ADD 音波攻击 int PETSKILL_Sonic( int charaindex, int toNo, int array, char *data ) { CHAR_setWorkInt( charaindex, CHAR_WORKBATTLECOM1, BATTLE_COM_S_SONIC ); CHAR_setWorkInt( charaindex, CHAR_WORKBATTLECOM2, toNo ); CHAR_setWorkInt( charaindex, CHAR_WORKBATTLEMODE, BATTLE_CHARMODE_C_OK ); - CHAR_SETWORKINT_LOW( charaindex, CHAR_WORKBATTLECOM3, array); //¼ + CHAR_SETWORKINT_LOW( charaindex, CHAR_WORKBATTLECOM3, array); //记录属性 return TRUE; } @@ -2232,7 +2232,7 @@ int PETSKILL_Regret( int charaindex, int toNo, int array, char *data ) int strdef,d_dep; float fPer = 0.01; pszOption = PETSKILL_getChar( array, PETSKILL_OPTION ); - if( (pszP = strstr( pszOption, "%" ) ) != NULL ){ + if( (pszP = strstr( pszOption, "攻%" ) ) != NULL ){ sscanf( pszP+3, "%f", &fPer ); fPer=(fPer/100); strdef=CHAR_getWorkInt(charaindex,CHAR_WORKFIXSTR); @@ -2240,14 +2240,14 @@ int PETSKILL_Regret( int charaindex, int toNo, int array, char *data ) CHAR_setWorkInt(charaindex,CHAR_WORKATTACKPOWER,(CHAR_getWorkInt(charaindex,CHAR_WORKFIXSTR)+strdef)); } - if( (pszP = strstr( pszOption, "%" ) ) != NULL ){ + if( (pszP = strstr( pszOption, "防%" ) ) != NULL ){ sscanf( pszP+3, "%f", &fPer ); fPer=(fPer/100); strdef=CHAR_getWorkInt(charaindex,CHAR_WORKFIXTOUGH); strdef=(int)(strdef * fPer); CHAR_setWorkInt(charaindex,CHAR_WORKDEFENCEPOWER,(CHAR_getWorkInt(charaindex,CHAR_WORKFIXTOUGH)+strdef)); } - if( (pszP = strstr( pszOption, "%" ) ) != NULL ){ + if( (pszP = strstr( pszOption, "敏%" ) ) != NULL ){ sscanf( pszP+3, "%f", &fPer ); CHAR_setWorkInt( charaindex, CHAR_SKILLDEXPOWER, fPer); fPer = fPer / 100; @@ -2260,7 +2260,7 @@ int PETSKILL_Regret( int charaindex, int toNo, int array, char *data ) CHAR_setWorkInt( charaindex, CHAR_WORKBATTLECOM2, toNo ); CHAR_setWorkInt( charaindex, CHAR_WORKBATTLEMODE, BATTLE_CHARMODE_C_OK ); - CHAR_SETWORKINT_LOW( charaindex, CHAR_WORKBATTLECOM3, array); //¼ + CHAR_SETWORKINT_LOW( charaindex, CHAR_WORKBATTLECOM3, array); //记录属性 return TRUE; } @@ -2275,10 +2275,10 @@ int PETSKILL_Gyrate( int charaindex, int toNo, int array, char *data ) char szTurn[] = "turn"; int d_dep,i=0; int randi=0; - //char *hetStatus[]={"ȫ", "", "", "", "ʯ", "", "", "", "", "", "Ĭ"}; + //char *hetStatus[]={"全", "毒", "麻", "眠", "石", "醉", "乱", "虚", "剧", "障", "默"}; CHAR_setWorkInt( charaindex, CHAR_WORKBATTLECOM1, BATTLE_COM_S_GYRATE ); - CHAR_setWorkInt( charaindex, CHAR_WORKBATTLECOM2, toNo ); // 23,24,25,26 Ϊ + CHAR_setWorkInt( charaindex, CHAR_WORKBATTLECOM2, toNo ); //攻击对象 23,24,25,26 为单排 CHAR_setWorkInt( charaindex, CHAR_WORKBATTLEMODE, BATTLE_CHARMODE_C_OK ); pszOption = PETSKILL_getChar( array, PETSKILL_OPTION ); @@ -2304,7 +2304,7 @@ int PETSKILL_Gyrate( int charaindex, int toNo, int array, char *data ) CHAR_setWorkInt( charaindex, CHAR_WORKBATTLECOM6, 1); } - if((pszP = strstr( pszOption, "" ) ) != NULL){ + if((pszP = strstr( pszOption, "成" ) ) != NULL){ sscanf( pszP+3, "%d", &i ); CHAR_setWorkInt( charaindex, CHAR_WORKBATTLECOM7, i); // randi=RAND(1,100); @@ -2319,18 +2319,18 @@ int PETSKILL_Gyrate( int charaindex, int toNo, int array, char *data ) // } } #endif - //ȡֵ - if( (pszP = strstr( pszOption, "%" ) ) != NULL ){ + //读取攻值 + if( (pszP = strstr( pszOption, "攻%" ) ) != NULL ){ sscanf( pszP+3, "%f", &fPer ); fPer=(fPer/100); - //趨ֵ + //设定修正值 strdef=CHAR_getWorkInt(charaindex,CHAR_WORKFIXSTR); strdef=(int)(strdef * fPer); CHAR_setWorkInt(charaindex,CHAR_WORKATTACKPOWER,(CHAR_getWorkInt(charaindex,CHAR_WORKFIXSTR)+strdef)); } #ifdef _PSKILL_GYRATE - if( (pszP = strstr( pszOption, "%" ) ) != NULL ){ + if( (pszP = strstr( pszOption, "防%" ) ) != NULL ){ sscanf( pszP+3, "%f", &fPer ); fPer=(fPer/100); strdef=CHAR_getWorkInt(charaindex,CHAR_WORKFIXTOUGH); @@ -2338,7 +2338,7 @@ int PETSKILL_Gyrate( int charaindex, int toNo, int array, char *data ) CHAR_setWorkInt(charaindex,CHAR_WORKDEFENCEPOWER,(CHAR_getWorkInt(charaindex,CHAR_WORKFIXTOUGH)+strdef)); } - if( (pszP = strstr( pszOption, "%" ) ) != NULL ){ + if( (pszP = strstr( pszOption, "敏%" ) ) != NULL ){ sscanf( pszP+3, "%f", &fPer ); CHAR_setWorkInt( charaindex, CHAR_SKILLDEXPOWER, fPer); fPer = fPer / 100; @@ -2347,7 +2347,7 @@ int PETSKILL_Gyrate( int charaindex, int toNo, int array, char *data ) CHAR_setWorkInt( charaindex, CHAR_WORKQUICK, CHAR_getWorkInt( charaindex, CHAR_WORKFIXDEX) + d_dep); } #endif - CHAR_SETWORKINT_LOW( charaindex, CHAR_WORKBATTLECOM3, array); //¼ + CHAR_SETWORKINT_LOW( charaindex, CHAR_WORKBATTLECOM3, array); //记录属性 return TRUE; } #endif @@ -2359,7 +2359,7 @@ int PETSKILL_Acupuncture( int charaindex, int toNo, int array, char *data ) CHAR_setWorkInt( charaindex, CHAR_WORKBATTLECOM2, toNo ); CHAR_setWorkInt( charaindex, CHAR_WORKBATTLEMODE, BATTLE_CHARMODE_C_OK ); - CHAR_SETWORKINT_LOW( charaindex, CHAR_WORKBATTLECOM3, array); //¼ + CHAR_SETWORKINT_LOW( charaindex, CHAR_WORKBATTLECOM3, array); //记录属性 return TRUE; } #endif @@ -2382,17 +2382,17 @@ int PETSKILL_Retrace( int charaindex, int toNo, int array, char *data ) return FALSE; } - //ȡֵ - if( (pszP = strstr( pszOption, "%" ) ) != NULL ){ + //读取攻值 + if( (pszP = strstr( pszOption, "攻%" ) ) != NULL ){ sscanf( pszP+3, "%f", &fPer ); fPer=(fPer/100); - //趨ֵ + //设定修正值 strdef=CHAR_getWorkInt(charaindex,CHAR_WORKFIXSTR); strdef=(int)(strdef * fPer); CHAR_setWorkInt(charaindex,CHAR_WORKATTACKPOWER,(CHAR_getWorkInt(charaindex,CHAR_WORKFIXSTR)+strdef)); } */ - CHAR_SETWORKINT_LOW( charaindex, CHAR_WORKBATTLECOM3, array); //¼ + CHAR_SETWORKINT_LOW( charaindex, CHAR_WORKBATTLECOM3, array); //记录属性 return TRUE; } #endif @@ -2405,7 +2405,7 @@ int PETSKILL_Hector( int charaindex, int toNo, int array, char *data ) int strdef; char szTurn[] = "turn"; int d_dep,i=0; - char *hetStatus[]={"ȫ", "", "", "", "ʯ", "", "", "", "", "", "Ĭ"}; + char *hetStatus[]={"全", "毒", "麻", "眠", "石", "醉", "乱", "虚", "剧", "障", "默"}; CHAR_setWorkInt( charaindex, CHAR_WORKBATTLECOM1, BATTLE_COM_S_HECTOR ); CHAR_setWorkInt( charaindex, CHAR_WORKBATTLECOM2, toNo ); CHAR_setWorkInt( charaindex, CHAR_WORKBATTLEMODE, BATTLE_CHARMODE_C_OK ); @@ -2428,25 +2428,25 @@ int PETSKILL_Hector( int charaindex, int toNo, int array, char *data ) CHAR_setWorkInt( charaindex, CHAR_WORKBATTLECOM6, 1); } - if((pszP = strstr( pszOption, "" ) ) != NULL){ + if((pszP = strstr( pszOption, "成" ) ) != NULL){ sscanf( pszP+3, "%d", &i ); CHAR_setWorkInt( charaindex, CHAR_WORKBATTLECOM7, i); }else{ CHAR_setWorkInt( charaindex, CHAR_WORKBATTLECOM7, 60); } - //ȡֵ - if( (pszP = strstr( pszOption, "%" ) ) != NULL ){ + //读取攻值 + if( (pszP = strstr( pszOption, "攻%" ) ) != NULL ){ sscanf( pszP+3, "%f", &fPer ); fPer=(fPer/100); - //趨ֵ + //设定修正值 strdef=CHAR_getWorkInt(charaindex,CHAR_WORKFIXSTR); strdef=(int)(strdef * fPer); CHAR_setWorkInt(charaindex,CHAR_WORKATTACKPOWER,(CHAR_getWorkInt(charaindex,CHAR_WORKFIXSTR)+strdef)); } - if( (pszP = strstr( pszOption, "%" ) ) != NULL ){ + if( (pszP = strstr( pszOption, "防%" ) ) != NULL ){ sscanf( pszP+3, "%f", &fPer ); fPer=(fPer/100); strdef=CHAR_getWorkInt(charaindex,CHAR_WORKFIXTOUGH); @@ -2454,7 +2454,7 @@ int PETSKILL_Hector( int charaindex, int toNo, int array, char *data ) CHAR_setWorkInt(charaindex,CHAR_WORKDEFENCEPOWER,(CHAR_getWorkInt(charaindex,CHAR_WORKFIXTOUGH)+strdef)); } - if( (pszP = strstr( pszOption, "%" ) ) != NULL ){ + if( (pszP = strstr( pszOption, "敏%" ) ) != NULL ){ sscanf( pszP+3, "%f", &fPer ); CHAR_setWorkInt( charaindex, CHAR_SKILLDEXPOWER, fPer); fPer = fPer / 100; @@ -2463,7 +2463,7 @@ int PETSKILL_Hector( int charaindex, int toNo, int array, char *data ) CHAR_setWorkInt( charaindex, CHAR_WORKQUICK, CHAR_getWorkInt( charaindex, CHAR_WORKFIXDEX) + d_dep); } - CHAR_SETWORKINT_LOW( charaindex, CHAR_WORKBATTLECOM3, array); //¼ + CHAR_SETWORKINT_LOW( charaindex, CHAR_WORKBATTLECOM3, array); //记录属性 return TRUE; } @@ -2476,7 +2476,7 @@ int PETSKILL_Firekill( int charaindex, int toNo, int array, char *data ) CHAR_setWorkInt( charaindex, CHAR_WORKBATTLECOM2, toNo ); CHAR_setWorkInt( charaindex, CHAR_WORKBATTLEMODE, BATTLE_CHARMODE_C_OK ); - CHAR_SETWORKINT_LOW( charaindex, CHAR_WORKBATTLECOM3, array); //¼ + CHAR_SETWORKINT_LOW( charaindex, CHAR_WORKBATTLECOM3, array); //记录属性 return TRUE; } @@ -2489,7 +2489,7 @@ int PETSKILL_DamageToHp2( int charaindex, int toNo, int array, char *data ) CHAR_setWorkInt( charaindex, CHAR_WORKBATTLECOM1, BATTLE_COM_S_DAMAGETOHP2 ); CHAR_setWorkInt( charaindex, CHAR_WORKBATTLECOM2, toNo ); CHAR_setWorkInt( charaindex, CHAR_WORKBATTLEMODE, BATTLE_CHARMODE_C_OK ); - CHAR_SETWORKINT_LOW(charaindex,CHAR_WORKBATTLECOM3, array); //¼ + CHAR_SETWORKINT_LOW(charaindex,CHAR_WORKBATTLECOM3, array); //记录技能 /* pszOption = PETSKILL_getChar( array, PETSKILL_OPTION ); if( pszOption == "\0" ) return FALSE; @@ -2511,7 +2511,7 @@ int PETSKILL_BecomeFox( int charaindex, int toNo, int array, char* data) CHAR_setWorkInt( charaindex, CHAR_WORKBATTLECOM1, BATTLE_COM_S_BECOMEFOX); CHAR_setWorkInt( charaindex, CHAR_WORKBATTLECOM2, toNo ); CHAR_setWorkInt( charaindex, CHAR_WORKBATTLEMODE, BATTLE_CHARMODE_C_OK ); - CHAR_SETWORKINT_LOW(charaindex,CHAR_WORKBATTLECOM3, array); //¼ + CHAR_SETWORKINT_LOW(charaindex,CHAR_WORKBATTLECOM3, array); //记录技能 return TRUE; } @@ -2523,7 +2523,7 @@ int PETSKILL_BecomePig( int charaindex, int toNo, int array, char* data) CHAR_setWorkInt( charaindex, CHAR_WORKBATTLECOM1, BATTLE_COM_S_BECOMEPIG); CHAR_setWorkInt( charaindex, CHAR_WORKBATTLECOM2, toNo ); CHAR_setWorkInt( charaindex, CHAR_WORKBATTLEMODE, BATTLE_CHARMODE_C_OK ); - CHAR_SETWORKINT_LOW( charaindex, CHAR_WORKBATTLECOM3, array); //¼ + CHAR_SETWORKINT_LOW( charaindex, CHAR_WORKBATTLECOM3, array); //记录属性 return TRUE; } #endif @@ -2557,40 +2557,40 @@ int PETSKILL_BattleModel(int charaindex, int toindex, int array, char* data) pszOption = PETSKILL_getChar(array,PETSKILL_OPTION); if(pszOption == "\0"){ - //printf("PETSKILL_BattleModel: ȡ PETSKILL_OPTION !!(:%d,ļ:%s,%d)\n",array,__FILE__,__LINE__); + //printf("PETSKILL_BattleModel: 读取 PETSKILL_OPTION 错误!!(数组:%d,文件:%s,第%d行)\n",array,__FILE__,__LINE__); return FALSE; } - // ȡù + // 取得攻击类型 if(getStringFromIndexWithDelim(pszOption,"|",1,szData,sizeof(szData)) == FALSE){ - //printf("PETSKILL_BattleModel: no type data!!(ļ:%s,%d)\n",__FILE__,__LINE__); + //printf("PETSKILL_BattleModel: no type data!!(文件:%s,第%d行)\n",__FILE__,__LINE__); return FALSE; } iType = atoi(szData); - // ȡù + // 取得攻击物件数量 if(getStringFromIndexWithDelim(pszOption,"|",2,szData,sizeof(szData)) == FALSE){ - //printf("PETSKILL_BattleModel: no object number data!!(ļ:%s,%d)\n",__FILE__,__LINE__); + //printf("PETSKILL_BattleModel: no object number data!!(文件:%s,第%d行)\n",__FILE__,__LINE__); return FALSE; } iObjectNum = atoi(szData); if(iObjectNum <= 0) iObjectNum = RAND(1,10); else if(iObjectNum > 10) iObjectNum = 10; - // ȡ + // 取得能力增减 if(getStringFromIndexWithDelim(pszOption,"|",6,szData,sizeof(szData)) != FALSE){ - // 趨 + // 检查设定 if(CHAR_getWorkInt(charaindex,CHAR_WORKPETSKILLBT)==0 && CHAR_getWorkInt(charaindex,CHAR_WORKBATTLEINDEX)>-1){ - //ȡֵ - if( (pszP = strstr( szData, "%" ) ) != NULL ){ + //读取攻值 + if( (pszP = strstr( szData, "攻%" ) ) != NULL ){ sscanf( pszP+3, "%f", &fPer ); fPer=(fPer/100); - //趨ֵ + //设定修正值 strdef=CHAR_getWorkInt(charaindex,CHAR_WORKFIXSTR); strdef=(int)(strdef * fPer); CHAR_setWorkInt(charaindex,CHAR_WORKATTACKPOWER,(CHAR_getWorkInt(charaindex,CHAR_WORKFIXSTR)+strdef)); } #ifdef _PSKILL_BATTLE_MODEL - if( (pszP = strstr( szData, "%" ) ) != NULL ){ + if( (pszP = strstr( szData, "防%" ) ) != NULL ){ sscanf( pszP+3, "%f", &fPer ); fPer=(fPer/100); strdef=CHAR_getWorkInt(charaindex,CHAR_WORKFIXTOUGH); @@ -2598,7 +2598,7 @@ int PETSKILL_BattleModel(int charaindex, int toindex, int array, char* data) CHAR_setWorkInt(charaindex,CHAR_WORKDEFENCEPOWER,(CHAR_getWorkInt(charaindex,CHAR_WORKFIXTOUGH)+strdef)); } - if( (pszP = strstr( szData, "%" ) ) != NULL ){ + if( (pszP = strstr( szData, "敏%" ) ) != NULL ){ sscanf( pszP+3, "%f", &fPer ); CHAR_setWorkInt( charaindex, CHAR_SKILLDEXPOWER, fPer); fPer = fPer / 100; @@ -2612,8 +2612,8 @@ int PETSKILL_BattleModel(int charaindex, int toindex, int array, char* data) CHAR_setWorkInt(charaindex,CHAR_WORKPETSKILLBT,1); CHAR_setWorkInt(charaindex,CHAR_WORKBATTLEMODE,BATTLE_CHARMODE_C_OK); CHAR_setWorkInt(charaindex,CHAR_WORKBATTLECOM1,BATTLE_COM_S_BATTLE_MODEL); - CHAR_SETWORKINT_LOW(charaindex,CHAR_WORKBATTLECOM2,iType); // ¼ - CHAR_SETWORKINT_HIGH(charaindex,CHAR_WORKBATTLECOM2,iObjectNum); // ¼ + CHAR_SETWORKINT_LOW(charaindex,CHAR_WORKBATTLECOM2,iType); // 记录攻击类型 + CHAR_SETWORKINT_HIGH(charaindex,CHAR_WORKBATTLECOM2,iObjectNum); // 记录攻击物件数量 CHAR_setWorkInt(charaindex,CHAR_WORKBATTLECOM3,array); return TRUE; } @@ -2643,7 +2643,7 @@ int PETSKILL_Combined( int charaindex, int toNo, int array, char* data) strcpysafe( combined,sizeof(combined), " " ); getStringFromIndexWithDelim( pszOption, "|", 1, combined, sizeof( combined)); - if( strcmp( combined, "ۺϷ" ) == 0 ){ + if( strcmp( combined, "综合法" ) == 0 ){ if( getStringFromIndexWithDelim( pszOption, "|", 2, countstr, sizeof( countstr)) == FALSE ) return FALSE; count = atoi(countstr); @@ -2676,7 +2676,7 @@ int PETSKILL_ZiYun1( int attcnt=1,ming=100,i,strdef,d_dep; float fPer; char szTurn[] = "turn"; - char *hetStatus[]={"ȫ", "", "", "", "ʯ", "", "", "", "", "", "Ĭ"}; + char *hetStatus[]={"全", "毒", "麻", "眠", "石", "醉", "乱", "虚", "剧", "障", "默"}; CHAR_setWorkInt( charaindex, CHAR_WORKBATTLECOM1, BATTLE_COM_S_ZIYUN1 ); CHAR_setWorkInt( charaindex, CHAR_WORKBATTLECOM2, toindex ); CHAR_setWorkInt( charaindex, CHAR_WORKBATTLEMODE, BATTLE_CHARMODE_C_OK ); @@ -2689,17 +2689,17 @@ int PETSKILL_ZiYun1( ming = atoi(szData); } if(getStringFromIndexWithDelim(pszOption,"|",3,szData,sizeof(szData)) == FALSE){ - if( (pszP = strstr( szData, "%" ) ) != NULL ){ + if( (pszP = strstr( szData, "攻%" ) ) != NULL ){ sscanf( pszP+3, "%f", &fPer ); fPer=(fPer/100); - //趨ֵ + //设定修正值 strdef=CHAR_getWorkInt(charaindex,CHAR_WORKFIXSTR); strdef=(int)(strdef * fPer); CHAR_setWorkInt(charaindex,CHAR_WORKATTACKPOWER,(CHAR_getWorkInt(charaindex,CHAR_WORKFIXSTR)+strdef)); } - if( (pszP = strstr( szData, "%" ) ) != NULL ){ + if( (pszP = strstr( szData, "防%" ) ) != NULL ){ sscanf( pszP+3, "%f", &fPer ); fPer=(fPer/100); strdef=CHAR_getWorkInt(charaindex,CHAR_WORKFIXTOUGH); @@ -2707,7 +2707,7 @@ int PETSKILL_ZiYun1( CHAR_setWorkInt(charaindex,CHAR_WORKDEFENCEPOWER,(CHAR_getWorkInt(charaindex,CHAR_WORKFIXTOUGH)+strdef)); } - if( (pszP = strstr( szData, "%" ) ) != NULL ){ + if( (pszP = strstr( szData, "敏%" ) ) != NULL ){ sscanf( pszP+3, "%f", &fPer ); CHAR_setWorkInt( charaindex, CHAR_SKILLDEXPOWER, fPer); fPer = fPer / 100; @@ -2729,7 +2729,7 @@ int PETSKILL_ZiYun1( CHAR_setWorkInt( charaindex, CHAR_WORKBATTLECOM6, 1); } - if((pszP = strstr( pszOption, "" ) ) != NULL){ + if((pszP = strstr( pszOption, "成" ) ) != NULL){ sscanf( pszP+3, "%d", &i ); CHAR_setWorkInt( charaindex, CHAR_WORKBATTLECOM7, i); }else{ diff --git a/battle/profession_skill.c b/battle/profession_skill.c index 3a3ea47..ad628b2 100644 --- a/battle/profession_skill.c +++ b/battle/profession_skill.c @@ -1,7 +1,7 @@ #include "version.h" -#ifdef _PROFESSION_SKILL // WON ADD ְҵ +#ifdef _PROFESSION_SKILL // WON ADD 人物职业技能 #include #include #include @@ -27,87 +27,87 @@ typedef struct tagProfessionskill_skillFunctionTable static PROFESSION_SKILL_skillFunctionTable PROFESSION_SKILL_functbl[] = { -// ʦ - { "PROFESSION_VOLCANO_SPRINGS", PROFESSION_volcano_springs, 0 }, // ɽȪ - { "PROFESSION_FIRE_BALL", PROFESSION_fire_ball, 0 }, // - { "PROFESSION_FIRE_SPEAR", PROFESSION_fire_spear, 0 }, // ǹ - { "PROFESSION_SUMMON_THUNDER", PROFESSION_summon_thunder, 0 }, // - { "PROFESSION_CURRENT", PROFESSION_current, 0 }, // - { "PROFESSION_STORM", PROFESSION_storm, 0 }, // - { "PROFESSION_ICE_ARROW", PROFESSION_ice_arrow, 0 }, // - { "PROFESSION_ICE_CRACK", PROFESSION_ice_crack, 0 }, // - { "PROFESSION_ICE_MIRROR", PROFESSION_ice_mirror, 0 }, // - { "PROFESSION_DOOM", PROFESSION_doom, 0 }, // ĩ - { "PROFESSION_BLOOD", PROFESSION_blood, 0 }, // Ѫ - { "PROFESSION_BLOOD_WORMS", PROFESSION_blood_worms, 0 }, // Ѫ - { "PROFESSION_SIGN", PROFESSION_sign, 0 }, // һѪ - { "PROFESSION_FIRE_ENCLOSE", PROFESSION_fire_enclose, 0 }, // - { "PROFESSION_ICE_ENCLOSE", PROFESSION_ice_eclose, 0 }, // - { "PROFESSION_THUNDER_ENCLOSE", PROFESSION_thunder_enclose, 0 }, // ׸ - { "PROFESSION_FIRE_PRACTICE", PROFESSION_fire_practice, 0 }, // ħ - { "PROFESSION_ICE_PRACTICE", PROFESSION_ice_practice, 0 }, // ħ - { "PROFESSION_THUNDER_PRACTICE",PROFESSION_thunder_practice,0 }, // ħ - { "PROFESSION_ENCLOSE", PROFESSION_enclose, 0 }, // - { "PROFESSION_TRANSPOSE", PROFESSION_transpose, 0 }, // λλ -// { "PROFESSION_ALCHEMY", PROFESSION_alchemy, 0 }, // +// 巫师技能 + { "PROFESSION_VOLCANO_SPRINGS", PROFESSION_volcano_springs, 0 }, // 火山泉 + { "PROFESSION_FIRE_BALL", PROFESSION_fire_ball, 0 }, // 火星球 + { "PROFESSION_FIRE_SPEAR", PROFESSION_fire_spear, 0 }, // 火龙枪 + { "PROFESSION_SUMMON_THUNDER", PROFESSION_summon_thunder, 0 }, // 召雷术 + { "PROFESSION_CURRENT", PROFESSION_current, 0 }, // 电流术 + { "PROFESSION_STORM", PROFESSION_storm, 0 }, // 暴风雨 + { "PROFESSION_ICE_ARROW", PROFESSION_ice_arrow, 0 }, // 冰箭术 + { "PROFESSION_ICE_CRACK", PROFESSION_ice_crack, 0 }, // 冰爆术 + { "PROFESSION_ICE_MIRROR", PROFESSION_ice_mirror, 0 }, // 冰镜术 + { "PROFESSION_DOOM", PROFESSION_doom, 0 }, // 世界末日 + { "PROFESSION_BLOOD", PROFESSION_blood, 0 }, // 嗜血成性 + { "PROFESSION_BLOOD_WORMS", PROFESSION_blood_worms, 0 }, // 嗜血蛊 + { "PROFESSION_SIGN", PROFESSION_sign, 0 }, // 一针见血 + { "PROFESSION_FIRE_ENCLOSE", PROFESSION_fire_enclose, 0 }, // 火附体 + { "PROFESSION_ICE_ENCLOSE", PROFESSION_ice_eclose, 0 }, // 冰附体 + { "PROFESSION_THUNDER_ENCLOSE", PROFESSION_thunder_enclose, 0 }, // 雷附体 + { "PROFESSION_FIRE_PRACTICE", PROFESSION_fire_practice, 0 }, // 火魔法熟练度 + { "PROFESSION_ICE_PRACTICE", PROFESSION_ice_practice, 0 }, // 冰魔法熟练度 + { "PROFESSION_THUNDER_PRACTICE",PROFESSION_thunder_practice,0 }, // 雷魔法熟练度 + { "PROFESSION_ENCLOSE", PROFESSION_enclose, 0 }, // 附身术 + { "PROFESSION_TRANSPOSE", PROFESSION_transpose, 0 }, // 移形换位 +// { "PROFESSION_ALCHEMY", PROFESSION_alchemy, 0 }, // 炼金术 -// ʿ - { "PROFESSION_CHAIN_ATK", PROFESSION_chain_atk, 0 }, // - { "PROFESSION_AVOID", PROFESSION_avoid, 0 }, // ر - { "PROFESSION_WEAPON_FOCUS", PROFESSION_weapon_focus, 0 }, // ר - { "PROFESSION_REBACK", PROFESSION_reback, 0 }, // ״̬ظ - { "PROFESSION_BRUST", PROFESSION_brust, 0 }, // - { "PROFESSION_CHAIN_ATK_2", PROFESSION_chain_atk_2, 0 }, // ˫ع - { "PROFESSION_SCAPEGOAT", PROFESSION_scapegoat, 0 }, // Ϊ - { "PROFESSION_ENRAGE", PROFESSION_enrage, 0 }, // - { "PROFESSION_ENERGY_COLLECT", PROFESSION_energy_collect, 0 }, // ۼ - { "PROFESSION_FOCUS", PROFESSION_focus, 0 }, // רעս - { "PROFESSION_SHIELD_ATTACK", PROFESSION_shield_attack, 0 }, // ܻ - { "PROFESSION_DUAL_WEAPON", PROFESSION_dual_weapon, 0 }, // - { "PROFESSION_DEFLECT", PROFESSION_deflect, 0 }, // - { "PROFESSION_THROUGH_ATTACK", PROFESSION_through_attack, 0 }, // ᴩ - { "PROFESSION_CAVALRY", PROFESSION_cavalry, 0 }, // ﹥ - { "PROFESSION_DEAD_ATTACK", PROFESSION_dead_attack, 0 }, // - { "PROFESSION_CONVOLUTE", PROFESSION_convolute, 0 }, // - { "PROFESSION_CHAOS", PROFESSION_chaos, 0 }, // ҹ +// 勇士技能 + { "PROFESSION_CHAIN_ATK", PROFESSION_chain_atk, 0 }, // 连环攻击 + { "PROFESSION_AVOID", PROFESSION_avoid, 0 }, // 回避 + { "PROFESSION_WEAPON_FOCUS", PROFESSION_weapon_focus, 0 }, // 武器专精 + { "PROFESSION_REBACK", PROFESSION_reback, 0 }, // 状态回复 + { "PROFESSION_BRUST", PROFESSION_brust, 0 }, // 爆击 + { "PROFESSION_CHAIN_ATK_2", PROFESSION_chain_atk_2, 0 }, // 双重攻击 + { "PROFESSION_SCAPEGOAT", PROFESSION_scapegoat, 0 }, // 舍已为友 + { "PROFESSION_ENRAGE", PROFESSION_enrage, 0 }, // 激化攻击 + { "PROFESSION_ENERGY_COLLECT", PROFESSION_energy_collect, 0 }, // 能量聚集 + { "PROFESSION_FOCUS", PROFESSION_focus, 0 }, // 专注战斗 + { "PROFESSION_SHIELD_ATTACK", PROFESSION_shield_attack, 0 }, // 盾击 + { "PROFESSION_DUAL_WEAPON", PROFESSION_dual_weapon, 0 }, // 二刀流 + { "PROFESSION_DEFLECT", PROFESSION_deflect, 0 }, // 格档 + { "PROFESSION_THROUGH_ATTACK", PROFESSION_through_attack, 0 }, // 贯穿攻击 + { "PROFESSION_CAVALRY", PROFESSION_cavalry, 0 }, // 座骑攻击 + { "PROFESSION_DEAD_ATTACK", PROFESSION_dead_attack, 0 }, // 濒死攻击 + { "PROFESSION_CONVOLUTE", PROFESSION_convolute, 0 }, // 回旋攻击 + { "PROFESSION_CHAOS", PROFESSION_chaos, 0 }, // 混乱攻击 -// - { "PROFESSION_TRACK", PROFESSION_track, 0 }, // ׷Ѱ - { "PROFESSION_ESCAPE", PROFESSION_escape, 0 }, // رս - { "PROFESSION_DOCILE", PROFESSION_docile, 0 }, // ѱ - { "PROFESSION_TRAP", PROFESSION_trap, 0 }, // - { "PROFESSION_ENRAGE_PET", PROFESSION_enrage_pet, 0 }, // ŭ - { "PROFESSION_DRAGNET", PROFESSION_dragnet, 0 }, // ޵ - { "PROFESSION_ENTWINE", PROFESSION_entwine, 0 }, // - { "PROFESSION_AUTARKY", PROFESSION_autarky, 0 }, // Ը - { "PROFESSION_PLUNDER", PROFESSION_plunder, 0 }, // Ӷ - { "PROFESSION_TOXIN_WEAPON", PROFESSION_toxin_weapon, 0 }, // - { "PROFESSION_RESIST_FIRE", PROFESSION_resist_fire, 0 }, // - { "PROFESSION_RESIST_ICE", PROFESSION_resist_ice, 0 }, // - { "PROFESSION_RESIST_THUNDER", PROFESSION_resist_thunder, 0 }, // ׿ +// 猎人 + { "PROFESSION_TRACK", PROFESSION_track, 0 }, // 追寻敌踪 + { "PROFESSION_ESCAPE", PROFESSION_escape, 0 }, // 回避战斗 + { "PROFESSION_DOCILE", PROFESSION_docile, 0 }, // 驯伏宠物 + { "PROFESSION_TRAP", PROFESSION_trap, 0 }, // 陷阱 + { "PROFESSION_ENRAGE_PET", PROFESSION_enrage_pet, 0 }, // 激怒宠物 + { "PROFESSION_DRAGNET", PROFESSION_dragnet, 0 }, // 天罗地网 + { "PROFESSION_ENTWINE", PROFESSION_entwine, 0 }, // 树根缠绕 + { "PROFESSION_AUTARKY", PROFESSION_autarky, 0 }, // 自给自足 + { "PROFESSION_PLUNDER", PROFESSION_plunder, 0 }, // 屍体掠夺 + { "PROFESSION_TOXIN_WEAPON", PROFESSION_toxin_weapon, 0 }, // 毒素武器 + { "PROFESSION_RESIST_FIRE", PROFESSION_resist_fire, 0 }, // 火抗性 + { "PROFESSION_RESIST_ICE", PROFESSION_resist_ice, 0 }, // 冰抗性 + { "PROFESSION_RESIST_THUNDER", PROFESSION_resist_thunder, 0 }, // 雷抗性 #ifdef _PROFESSION_ADDSKILL - { "PROFESSION_RESIST_F_I_T", PROFESSION_resist_f_i_t, 0 }, // Ȼ - { "PROFESSION_CALL_NATURE", PROFESSION_call_nature, 0 }, // Ȼ - { "PROFESSION_BOUNDARY", PROFESSION_boundary, 0 }, // Խ + { "PROFESSION_RESIST_F_I_T", PROFESSION_resist_f_i_t, 0 }, // 自然威能 + { "PROFESSION_CALL_NATURE", PROFESSION_call_nature, 0 }, // 号召自然 + { "PROFESSION_BOUNDARY", PROFESSION_boundary, 0 }, // 四属性结界 #endif - { "PROFESSION_G_RESIST_FIRE", PROFESSION_g_resist_fire, 0 }, // - { "PROFESSION_G_RESIST_ICE", PROFESSION_g_resist_ice, 0 }, // - { "PROFESSION_G_RESIST_THUNDER",PROFESSION_g_resist_thunder,0 }, // ׿ - { "PROFESSION_ATTACK_WEAK", PROFESSION_attack_weak, 0 }, // 㹥 - { "PROFESSION_INSTIGATE", PROFESSION_instigate, 0 }, // - { "PROFESSION_OBLIVION", PROFESSION_oblivion, 0 }, // + { "PROFESSION_G_RESIST_FIRE", PROFESSION_g_resist_fire, 0 }, // 团体火抗性 + { "PROFESSION_G_RESIST_ICE", PROFESSION_g_resist_ice, 0 }, // 团体冰抗性 + { "PROFESSION_G_RESIST_THUNDER",PROFESSION_g_resist_thunder,0 }, // 团体雷抗性 + { "PROFESSION_ATTACK_WEAK", PROFESSION_attack_weak, 0 }, // 弱点攻击 + { "PROFESSION_INSTIGATE", PROFESSION_instigate, 0 }, // 挑拨 + { "PROFESSION_OBLIVION", PROFESSION_oblivion, 0 }, // 遗忘 -// ͬ - { "PROFESSION_FULL_MP", PROFESSION_full_mp, 0 }, // - { "PROFESSION_STRONG_BACK", PROFESSION_strong_back, 0 }, // - { "PROFESSION_STRENGTHEN", PROFESSION_strengthen, 0 }, // ǿ +// 共同技能 + { "PROFESSION_FULL_MP", PROFESSION_full_mp, 0 }, // 气力充沛 + { "PROFESSION_STRONG_BACK", PROFESSION_strong_back, 0 }, // 负重增加 + { "PROFESSION_STRENGTHEN", PROFESSION_strengthen, 0 }, // 自我强化 }; -static int profession_skill_num; // ְҵ +static int profession_skill_num; // 职业技能总数 -// profession.txt +// 将 profession.txt 载入 BOOL PROFESSION_initSkill( char *filename) { @@ -135,7 +135,7 @@ BOOL PROFESSION_initSkill( char *filename) if( line[0] == '\n' )continue; chomp( line ); profession_skill_num++; -#ifdef _PROSKILL_OPTIMUM // Robin ȡְID +#ifdef _PROSKILL_OPTIMUM // Robin 取出最大职技ID if( getStringFromIndexWithDelim( line, ",", PROFESSION_SKILL_DATACHARNUM+PROFESSION_SKILL_ID+1, token, sizeof(token)) == FALSE ) @@ -150,16 +150,16 @@ BOOL PROFESSION_initSkill( char *filename) return FALSE; } -#ifdef _PROSKILL_OPTIMUM // ְTableΪ ID +1 +#ifdef _PROSKILL_OPTIMUM // 职技Table数为 最大技能ID +1 profession_skill_num = max_skillid +1; - print("ְID = %d ...", max_skillid); + print("最大职技ID = %d ...", max_skillid); #endif PROFESSION_skill = allocateMemory( sizeof(struct tagProfessionkill) * profession_skill_num + 1 ); if( PROFESSION_skill == NULL ){ - fprint( "޷ڴ %d\n", sizeof(struct tagProfessionkill)*profession_skill_num); + fprint( "无法分配内存 %d\n", sizeof(struct tagProfessionkill)*profession_skill_num); fclose( f ); return FALSE; } @@ -200,7 +200,7 @@ BOOL PROFESSION_initSkill( char *filename) char token[256]; int ret; -#ifdef _PROSKILL_OPTIMUM // ȡְID, ְֱIDTable index +#ifdef _PROSKILL_OPTIMUM // 读取本行职技的ID, 直接以职技ID当Table index ret = getStringFromIndexWithDelim( line, ",", PROFESSION_SKILL_DATACHARNUM+PROFESSION_SKILL_ID+1, token, sizeof(token)); if( ret==FALSE ){ //fprint("Syntax Error file:%s line:%d\n",filename,linenum); @@ -222,7 +222,7 @@ BOOL PROFESSION_initSkill( char *filename) ret = getStringFromIndexWithDelim( line, ",", i+PROFESSION_SKILL_DATACHARNUM+1, token, sizeof(token)); if( ret==FALSE ){ - //fprint("ļ﷨:%s %d\n",filename,linenum); + //fprint("文件语法错误:%s 第%d行\n",filename,linenum); break; } if( strlen( token) != 0 ) { @@ -245,7 +245,7 @@ BOOL PROFESSION_initSkill( char *filename) } -// profession.txt +// 重新载入 profession.txt void rePROFESSION_initSkill() { freeMemory( PROFESSION_skill ); @@ -311,12 +311,12 @@ int PROFESSION_SKILL_getskillNum( void) int PROFESSION_SKILL_getskillArray( int skillid) { -#ifdef _PROSKILL_OPTIMUM // ѯְIDΪʽ +#ifdef _PROSKILL_OPTIMUM // 查询职技ID改为阵列式 if( skillid >= 0 && skillid < profession_skill_num ) return PROFESSION_skill[skillid].data[PROFESSION_SKILL_ID]; #else int i; - for( i = 0; i <= profession_skill_num; i ++ ) { // Ż + for( i = 0; i <= profession_skill_num; i ++ ) { // 待优化 if( PROFESSION_skill[i].data[PROFESSION_SKILL_ID] == skillid ) return i; } @@ -356,7 +356,7 @@ int _PROFESSION_SKILL_GetArray( char *file, int line, int charaindex, int skill /*----------------------------------------------------------------------*/ -// ʹְҵ +// 使用职业技能 int PROFESSION_SKILL_Use( int charaindex, int skill, int toNo, char *data ) { int Pskillid, skillid; @@ -369,38 +369,38 @@ int PROFESSION_SKILL_Use( int charaindex, int skill, int toNo, char *data ) Pskillid = PROFESSION_SKILL_getskillArray( skillid); //print("\n skillid:%d Pskillid:%d ", skillid, Pskillid); // Robin log if( Pskillid == -1 ) { -// printf("\n ķ??Ҳְ! "); +// printf("\n 改封包??找不到该职技! "); return ret; } -#ifdef _PROSKILL_OPTIMUM // Robin fix ְҵǷ +#ifdef _PROSKILL_OPTIMUM // Robin fix 检查职业是否相符 char_pskill = CHAR_getInt( charaindex, PROFESSION_CLASS ); profession_skill = PROFESSION_SKILL_getInt( Pskillid, PROFESSION_SKILL_PROFESSION_CLASS); if( (char_pskill <=0) || (char_pskill != profession_skill) ) { -// print("\n ķ??ְְҵȷ!:%d:%d ", char_pskill, profession_skill); +// print("\n 改封包??职技的职业不正确!:%d:%d ", char_pskill, profession_skill); return ret; } #endif - // ѰӦ function + // 找寻对应 function func = PROFESSION_SKILL_getskillFuncPointer( PROFESSION_SKILL_getChar( Pskillid, PROFESSION_SKILL_FUNCNAME) ); - // жǷΪ + // 判断是否为人物 if( CHAR_getInt( charaindex, CHAR_WHICHTYPE) != CHAR_TYPEPLAYER ) return ret; if( func ){ - // \ܵȼ + // 人物技能等级 hskill = CHAR_getCharHaveSkill( charaindex, skill ); skill_level = SKILL_getInt( &hskill->skill, SKILL_LEVEL); - // MP + // 耗损 MP if( PROFESSION_SKILL_DEC_COST_MP( charaindex, skill, Pskillid, skill_level ) != 1 ) { -// print("\n Error:ְMP:%d:%d:%d ", skill, Pskillid, skill_level); +// print("\n Error:职技MP:%d:%d:%d ", skill, Pskillid, skill_level); return ret; } - // ʹְҵ + // 使用职业技能 ret = func( charaindex, toNo, Pskillid, data, skill_level ); if( ret == -1 ){ int rands = rand()%10; @@ -409,21 +409,21 @@ int PROFESSION_SKILL_Use( int charaindex, int skill, int toNo, char *data ) if( rands > 5 ) return ret; } - if( Pskillid == 57 //ŭ ѡоֵ + if( Pskillid == 57 //激怒宠物 选宠物才有经验值 && CHAR_getInt( BATTLE_No2Index( CHAR_getWorkInt( charaindex, CHAR_WORKBATTLEINDEX ), toNo ), CHAR_WHICHTYPE) != CHAR_TYPEPET ) return ret; - // һ㼼 + // 一般技能升级 PROFESSION_NORMAL_SKILL_LEVLE_UP( &hskill->skill, Pskillid, charaindex ); } else { - //print("\n !Ҳְfunc "); + //print("\n 错误!找不到职技func "); } return ret; } -// ⼼ +// 特殊技能升级 void PROFESSION_SKILL_LVEVEL_UP( int charaindex, char *name ) { int skill=-1; @@ -433,12 +433,12 @@ void PROFESSION_SKILL_LVEVEL_UP( int charaindex, char *name ) for( i=0; iskill, Pskillid, charaindex ); return; } -// +// 二刀流技能升级 void PROFESSION_SKILL_DUAL_WEAPON_LVEVEL_UP( int charaindex, char *name ) { int skill=-1, arm = 0, shield = 0; @@ -470,7 +470,7 @@ void PROFESSION_SKILL_DUAL_WEAPON_LVEVEL_UP( int charaindex, char *name ) char *skill_name="\0"; CHAR_HaveSkill* hskill; - // װ + // 检查左右手装备 for( i = 0 ; i < CHAR_EQUIPPLACENUM ; i ++ ){ int id = CHAR_getItemIndex(charaindex,i); if( ITEM_CHECKINDEX(id) ){ @@ -483,12 +483,12 @@ void PROFESSION_SKILL_DUAL_WEAPON_LVEVEL_UP( int charaindex, char *name ) for( i=0; iskill, Pskillid, charaindex ); return; } -// ר +// 武器专精技能升级 void PROFESSION_SKILL_WEAPON_FOCUS_LVEVEL_UP( int charaindex, char *name ) { int skill = -1; @@ -523,39 +523,39 @@ void PROFESSION_SKILL_WEAPON_FOCUS_LVEVEL_UP( int charaindex, char *name ) CHAR_HaveSkill* hskill; memset( diff, -1, sizeof(diff) ); - // װ + // 装备武器 WeaponType = BATTLE_GetWepon( charaindex ); switch( WeaponType ){ case ITEM_AXE: - sprintf( diff, "" ); break; + sprintf( diff, "斧" ); break; case ITEM_CLUB: - sprintf( diff, "" ); break; + sprintf( diff, "棍" ); break; case ITEM_SPEAR: - sprintf( diff, "ǹ" ); break; + sprintf( diff, "枪" ); break; case ITEM_BOW: - sprintf( diff, "" ); break; - case ITEM_BOOMERANG: // - sprintf( diff, "" ); break; - case ITEM_BOUNDTHROW: // Ͷͷ - sprintf( diff, "Ͷ" ); break; - case ITEM_BREAKTHROW: // Ͷʯ - sprintf( diff, "ʯ" ); break; + sprintf( diff, "弓" ); break; + case ITEM_BOOMERANG: // 回旋标 + sprintf( diff, "镖" ); break; + case ITEM_BOUNDTHROW: // 投掷斧头 + sprintf( diff, "投" ); break; + case ITEM_BREAKTHROW: // 投掷石 + sprintf( diff, "石" ); break; default: - sprintf( diff, "" ); break; + sprintf( diff, "无" ); break; } for( i=0; iskill, Pskillid, charaindex ); return; } -// MP +// 耗损 MP int PROFESSION_SKILL_DEC_COST_MP( int charaindex, int skill, int Pskillid, int skill_level ) { @@ -589,19 +589,19 @@ int PROFESSION_SKILL_DEC_COST_MP( int charaindex, int skill, int Pskillid, int s int dec_mp; int old_mp = CHAR_getInt( charaindex, CHAR_MP ); int mp=0; - // ȡ MP + // 取出耗损 MP if( (dec_mp = PROFESSION_MAGIC_COST_MP( charaindex, skill )) == -1 ) dec_mp = PROFESSION_SKILL_getInt( Pskillid, PROFESSION_SKILL_COST_MP ); - // MP + // 检查 MP量 if( old_mp < dec_mp ) return -1; - // Ѫ + // 嗜血成性 if( Pskillid != 11 #ifdef _PROFESSION_ADDSKILL - // && Pskillid != 2 //Բ MP + // && Pskillid != 2 //针针相对不扣 MP #endif ) if( dec_mp <= 0 ) return -1; - // ۵ MP + // 扣掉人物 MP mp = old_mp - dec_mp; if( mp < 0 ) mp = 0; CHAR_setInt( charaindex , CHAR_MP , mp ); @@ -613,33 +613,33 @@ int PROFESSION_SKILL_DEC_COST_MP( int charaindex, int skill, int Pskillid, int s -// һ㼼 +// 一般技能升级 void PROFESSION_NORMAL_SKILL_LEVLE_UP(Skill *skill, int Pskillid, int charaindex ) { int skill_level = 0, up_fix_value = 0; int rand_num = RAND( 0, 10000 ), rand_num2 = 0; - // ܵȼ޲ + // 技能等级到达上限不升级 skill_level = SKILL_getRealInt( skill, SKILL_LEVEL); if( skill_level >= PROFESSION_SKILL_MAX_LEVEL * 100 ) return; - // ֵ + // 升级修正数值 up_fix_value = PROFESSION_SKILL_getInt( Pskillid, PROFESSION_SKILL_FIX_VALUE) * 100; rand_num2 = RAND( 0, up_fix_value); - // 춨 + // 升级检定 if( rand_num > skill_level + rand_num2){ - // + // 增加熟练度 skill_level += PROFESSION_SKILL_ADD_POINT; SKILL_setInt( skill, SKILL_LEVEL, skill_level ); if( ( skill_level % 100 ) == 0 ){ char msg[256]; - sprintf( msg, "%sΪ%d", PROFESSION_SKILL_getChar( Pskillid, PROFESSION_SKILL_NAME), skill_level/100 ); + sprintf( msg, "%s技能熟练度上升为%d", PROFESSION_SKILL_getChar( Pskillid, PROFESSION_SKILL_NAME), skill_level/100 ); CHAR_talkToCli( charaindex, -1, msg, CHAR_COLORYELLOW); CHAR_sendStatusString( charaindex , "S"); - // ְҵֵ + // 职业经验值增加 PROFESSION_LEVEL_CHECK_UP( charaindex ); } } @@ -654,18 +654,18 @@ void PROFESSION_LEVEL_CHECK_UP( int charaindex ) int next_level_need_point = 9999999; CHAR_HaveSkill* hskill; - // һְҵ + // 下一级职业升级点数 next_level_need_point = old_level * 70 * 100; for( i=0; iskill, SKILL_IDENTITY); if( skillID <= 0 ) continue; - // ͨ 50 + // 共通技能熟练度 50 if( (skillID == 63) || (skillID == 64) || (skillID == 65) ){ skill_level_add = 50*100; }else{ @@ -675,15 +675,15 @@ void PROFESSION_LEVEL_CHECK_UP( int charaindex ) skill_level_sum += skill_level_add; } -// print("\n ==> ǰȵ(%d) һ(%d)", skill_level_sum, next_level_need_point ); +// print("\n技能熟练度上升 ==> 当前熟练度点数(%d) 下一级熟练度升级点数(%d)", skill_level_sum, next_level_need_point ); - // ȴﵽһְҵʱְҵȼ + // 技能熟练度达到下一级职业升级点数时,职业等级增加 if( skill_level_sum >= next_level_need_point ){ int old_skill_point = CHAR_getInt( charaindex, PROFESSION_SKILL_POINT ); int next_skill_point = old_skill_point+1; char msg[64]; -// print("\nְҵȼ ==> ǰְҵȼ(%d) һְҵȼ(%d)", old_skill_point, next_skill_point ); +// print("\n职业等级上升 ==> 当前职业等级点数(%d) 下一级职业等级升级点数(%d)", old_skill_point, next_skill_point ); CHAR_setInt( charaindex, PROFESSION_LEVEL, old_level + 1 ); CHAR_setInt( charaindex, PROFESSION_SKILL_POINT, next_skill_point ); @@ -691,12 +691,12 @@ void PROFESSION_LEVEL_CHECK_UP( int charaindex ) CHAR_sendCToArroundCharacter( CHAR_getWorkInt( charaindex , CHAR_WORKOBJINDEX )); - sprintf( msg, "ְҵȼΪ%dܵ", old_level + 1 ); + sprintf( msg, "职业等级上升为%d级,技能点数上升1点", old_level + 1 ); CHAR_talkToCli( charaindex, -1, msg, CHAR_COLORYELLOW); } } -// Ӽ +// 增加技能 int PROFESSION_SKILL_ADDSK( int charaindex, int skill, int level ) { int i; @@ -712,7 +712,7 @@ int PROFESSION_SKILL_ADDSK( int charaindex, int skill, int level ) pSkil = CHAR_getCharHaveSkill( charaindex, i ); skill_id = SKILL_getInt( &pSkil->skill, SKILL_IDENTITY); if( skill == skill_id && skill_id != -1 ){ - CHAR_talkToCli(charaindex,-1, "Ѿѧϰ˼", CHAR_COLORYELLOW); + CHAR_talkToCli(charaindex,-1, "你已经学习过此技能", CHAR_COLORYELLOW); return -1; } @@ -721,7 +721,7 @@ int PROFESSION_SKILL_ADDSK( int charaindex, int skill, int level ) break; } if( i >= CHAR_SKILLMAXHAVE ){ - CHAR_talkToCli(charaindex,-1, "Ѵ", CHAR_COLORYELLOW); + CHAR_talkToCli(charaindex,-1, "技能数量已达上限", CHAR_COLORYELLOW); return -1; }else{ level *= 100; @@ -767,9 +767,9 @@ void profession_common_fun( int charaindex, int toNo, int skill_level, int array } /*----------------------------------------------------------------------*/ -// Ϊְҵ +// 以下为职业技能 -// ʦ-ɽȪ +// 巫师技能-火山泉 int PROFESSION_volcano_springs( int charaindex, int toNo, int array, char *data, int skill_level ) { if(toNo>19) @@ -778,7 +778,7 @@ int PROFESSION_volcano_springs( int charaindex, int toNo, int array, char *data, return TRUE; } -// ʦ- +// 巫师技能-火星球 int PROFESSION_fire_ball( int charaindex, int toNo, int array, char *data, int skill_level ) { if(toNo<21) @@ -787,7 +787,7 @@ int PROFESSION_fire_ball( int charaindex, int toNo, int array, char *data, int s return TRUE; } -// ʦ-ǹ +// 巫师技能-火龙枪 int PROFESSION_fire_spear( int charaindex, int toNo, int array, char *data, int skill_level ) { if(toNo>19) @@ -796,7 +796,7 @@ int PROFESSION_fire_spear( int charaindex, int toNo, int array, char *data, int return TRUE; } -// ʦ- +// 巫师技能-召雷术 int PROFESSION_summon_thunder( int charaindex, int toNo, int array, char *data, int skill_level ) { if(toNo>19) @@ -805,7 +805,7 @@ int PROFESSION_summon_thunder( int charaindex, int toNo, int array, char *data, return TRUE; } -// ʦ- +// 巫师技能-电流术 int PROFESSION_current( int charaindex, int toNo, int array, char *data, int skill_level ) { if(toNo!=20 && toNo!=21) @@ -814,7 +814,7 @@ int PROFESSION_current( int charaindex, int toNo, int array, char *data, int ski return TRUE; } -// ʦ- +// 巫师技能-暴风雨 int PROFESSION_storm( int charaindex, int toNo, int array, char *data, int skill_level ) { if(toNo!=20 && toNo!=21) @@ -823,7 +823,7 @@ int PROFESSION_storm( int charaindex, int toNo, int array, char *data, int skill return TRUE; } -// ʦ- +// 巫师技能-冰箭术 int PROFESSION_ice_arrow( int charaindex, int toNo, int array, char *data, int skill_level ) { if(toNo>19) @@ -832,7 +832,7 @@ int PROFESSION_ice_arrow( int charaindex, int toNo, int array, char *data, int s return TRUE; } -// ʦ- +// 巫师技能-冰爆术 int PROFESSION_ice_crack( int charaindex, int toNo, int array, char *data, int skill_level ) { if(toNo>19) @@ -841,7 +841,7 @@ int PROFESSION_ice_crack( int charaindex, int toNo, int array, char *data, int s return TRUE; } -// ʦ- +// 巫师技能-冰镜术 int PROFESSION_ice_mirror( int charaindex, int toNo, int array, char *data, int skill_level ) { if(toNo>19) @@ -850,7 +850,7 @@ int PROFESSION_ice_mirror( int charaindex, int toNo, int array, char *data, int return TRUE; } -// ʦ-ĩ +// 巫师技能-世界末日 int PROFESSION_doom( int charaindex, int toNo, int array, char *data, int skill_level ) { if(toNo!=20 && toNo!=21) @@ -859,7 +859,7 @@ int PROFESSION_doom( int charaindex, int toNo, int array, char *data, int skill_ return TRUE; } -// ʦ-Ѫ +// 巫师技能-嗜血成性 int PROFESSION_blood( int charaindex, int toNo, int array, char *data, int skill_level ) { if(toNo>19) @@ -868,7 +868,7 @@ int PROFESSION_blood( int charaindex, int toNo, int array, char *data, int skill return TRUE; } -// ʦ-Ѫ +// 巫师技能-嗜血蛊 int PROFESSION_blood_worms( int charaindex, int toNo, int array, char *data, int skill_level ) { if(toNo>19) @@ -877,7 +877,7 @@ int PROFESSION_blood_worms( int charaindex, int toNo, int array, char *data, int return TRUE; } -// ʦ-һѪ +// 巫师技能-一针见血 int PROFESSION_sign( int charaindex, int toNo, int array, char *data, int skill_level ) { if(toNo!=20 && toNo!=21) @@ -886,7 +886,7 @@ int PROFESSION_sign( int charaindex, int toNo, int array, char *data, int skill_ return TRUE; } -// ʦ- +// 巫师技能-火附体 int PROFESSION_fire_enclose( int charaindex, int toNo, int array, char *data, int skill_level ) { if(toNo>19) @@ -895,7 +895,7 @@ int PROFESSION_fire_enclose( int charaindex, int toNo, int array, char *data, in return TRUE; } -// ʦ- +// 巫师技能-冰附体 int PROFESSION_ice_eclose( int charaindex, int toNo, int array, char *data, int skill_level ) { if(toNo>19) @@ -904,7 +904,7 @@ int PROFESSION_ice_eclose( int charaindex, int toNo, int array, char *data, int return TRUE; } -// ʦ-׸ +// 巫师技能-雷附体 int PROFESSION_thunder_enclose( int charaindex, int toNo, int array, char *data, int skill_level ) { if(toNo>19) @@ -913,25 +913,25 @@ int PROFESSION_thunder_enclose( int charaindex, int toNo, int array, char *data, return TRUE; } -// ʦ-ħ +// 巫师技能-火魔法熟练度 int PROFESSION_fire_practice( int charaindex, int toNo, int array, char *data, int skill_level ) { return TRUE; } -// ʦ-ħ +// 巫师技能-冰魔法熟练度 int PROFESSION_ice_practice( int charaindex, int toNo, int array, char *data, int skill_level ) { return TRUE; } -// ʦ-ħ +// 巫师技能-雷魔法熟练度 int PROFESSION_thunder_practice( int charaindex, int toNo, int array, char *data, int skill_level ) { return TRUE; } -// ʦ- +// 巫师技能-附身术 int PROFESSION_enclose( int charaindex, int toNo, int array, char *data, int skill_level ) { if(toNo>19) @@ -940,7 +940,7 @@ int PROFESSION_enclose( int charaindex, int toNo, int array, char *data, int ski return TRUE; } -// ʦ-λλ +// 巫师技能-移形换位 int PROFESSION_transpose( int charaindex, int toNo, int array, char *data, int skill_level ) { if(toNo>19) @@ -952,7 +952,7 @@ int PROFESSION_transpose( int charaindex, int toNo, int array, char *data, int s /*----------------------------------------------------------------------*/ -// ʿ- +// 勇士技能-爆击 int PROFESSION_brust( int charaindex, int toNo, int array, char *data, int skill_level ) { if(toNo>19) @@ -961,7 +961,7 @@ int PROFESSION_brust( int charaindex, int toNo, int array, char *data, int skill return TRUE; } -// ʿ- +// 勇士技能-连环攻击 int PROFESSION_chain_atk( int charaindex, int toNo, int array, char *data, int skill_level ) { if(toNo>19) @@ -970,7 +970,7 @@ int PROFESSION_chain_atk( int charaindex, int toNo, int array, char *data, int s return TRUE; } -// ʿ-ر +// 勇士技能-回避 int PROFESSION_avoid( int charaindex, int toNo, int array, char *data, int skill_level ) { if(toNo>19) @@ -979,7 +979,7 @@ int PROFESSION_avoid( int charaindex, int toNo, int array, char *data, int skill return TRUE; } -// ʿ-Ѫ +// 勇士技能-补血 int PROFESSION_recovery( int charaindex, int toNo, int array, char *data, int skill_level ) { if(toNo>19) @@ -988,13 +988,13 @@ int PROFESSION_recovery( int charaindex, int toNo, int array, char *data, int sk return TRUE; } -// ʿ-ר +// 勇士技能-武器专精 int PROFESSION_weapon_focus( int charaindex, int toNo, int array, char *data, int skill_level ) { return TRUE; } -// ʿ-״̬ظ +// 勇士技能-状态回复 int PROFESSION_reback( int charaindex, int toNo, int array, char *data, int skill_level ) { if(toNo>19) @@ -1003,7 +1003,7 @@ int PROFESSION_reback( int charaindex, int toNo, int array, char *data, int skil return TRUE; } -// ʿ-˫ع +// 勇士技能-双重攻击 int PROFESSION_chain_atk_2( int charaindex, int toNo, int array, char *data, int skill_level ) { if(toNo>19) @@ -1012,7 +1012,7 @@ int PROFESSION_chain_atk_2( int charaindex, int toNo, int array, char *data, int return TRUE; } -// ʿ-Ϊ +// 勇士技能-舍已为友 int PROFESSION_scapegoat( int charaindex, int toNo, int array, char *data, int skill_level ) { if(toNo>19) @@ -1021,7 +1021,7 @@ int PROFESSION_scapegoat( int charaindex, int toNo, int array, char *data, int s return TRUE; } -// ʿ- +// 勇士技能-激化攻击 int PROFESSION_enrage( int charaindex, int toNo, int array, char *data, int skill_level ) { if(toNo>19) @@ -1030,7 +1030,7 @@ int PROFESSION_enrage( int charaindex, int toNo, int array, char *data, int skil return TRUE; } -// ʿ-ۼ +// 勇士技能-能量聚集 int PROFESSION_energy_collect( int charaindex, int toNo, int array, char *data, int skill_level ) { if(toNo>19) @@ -1039,7 +1039,7 @@ int PROFESSION_energy_collect( int charaindex, int toNo, int array, char *data, return TRUE; } -// ʿ-רעս +// 勇士技能-专注战斗 int PROFESSION_focus( int charaindex, int toNo, int array, char *data, int skill_level ) { if(toNo>19) @@ -1048,7 +1048,7 @@ int PROFESSION_focus( int charaindex, int toNo, int array, char *data, int skill return TRUE; } -// ʿ-ܻ +// 勇士技能-盾击 int PROFESSION_shield_attack( int charaindex, int toNo, int array, char *data, int skill_level ) { if(toNo>19) @@ -1057,13 +1057,13 @@ int PROFESSION_shield_attack( int charaindex, int toNo, int array, char *data, i return TRUE; } -// ʿ- +// 勇士技能-二刀流 int PROFESSION_dual_weapon( int charaindex, int toNo, int array, char *data, int skill_level ) { return TRUE; } -// ʿ- +// 勇士技能-格档 int PROFESSION_deflect( int charaindex, int toNo, int array, char *data, int skill_level ) { if(toNo>19) @@ -1072,7 +1072,7 @@ int PROFESSION_deflect( int charaindex, int toNo, int array, char *data, int ski return TRUE; } -// ʿ-ᴩ +// 勇士技能-贯穿攻击 int PROFESSION_through_attack( int charaindex, int toNo, int array, char *data, int skill_level ) { if(toNo>19) @@ -1081,7 +1081,7 @@ int PROFESSION_through_attack( int charaindex, int toNo, int array, char *data, return TRUE; } -// ʿ-﹥ +// 勇士技能-座骑攻击 int PROFESSION_cavalry( int charaindex, int toNo, int array, char *data, int skill_level ) { if(toNo>19) @@ -1090,7 +1090,7 @@ int PROFESSION_cavalry( int charaindex, int toNo, int array, char *data, int ski return TRUE; } -// ʿ- +// 勇士技能-濒死攻击 int PROFESSION_dead_attack( int charaindex, int toNo, int array, char *data, int skill_level ) { if(toNo>19) @@ -1099,7 +1099,7 @@ int PROFESSION_dead_attack( int charaindex, int toNo, int array, char *data, int return TRUE; } -// ʿ- +// 勇士技能-回旋攻击 int PROFESSION_convolute( int charaindex, int toNo, int array, char *data, int skill_level ) { if(toNo<21) @@ -1108,7 +1108,7 @@ int PROFESSION_convolute( int charaindex, int toNo, int array, char *data, int s return TRUE; } -// ʿ-ҹ +// 勇士技能-混乱攻击 int PROFESSION_chaos( int charaindex, int toNo, int array, char *data, int skill_level ) { if(toNo>19) @@ -1119,7 +1119,7 @@ int PROFESSION_chaos( int charaindex, int toNo, int array, char *data, int skill /*----------------------------------------------------------------------*/ -// ˼- +// 猎人技能-陷阱 int PROFESSION_trap( int charaindex, int toNo, int array, char *data, int skill_level ) { if(toNo>19) @@ -1128,7 +1128,7 @@ int PROFESSION_trap( int charaindex, int toNo, int array, char *data, int skill_ return TRUE; } -// ˼-ѱ +// 猎人技能-驯伏宠物 int PROFESSION_docile( int charaindex, int toNo, int array, char *data, int skill_level ) { if(toNo>19) @@ -1137,7 +1137,7 @@ int PROFESSION_docile( int charaindex, int toNo, int array, char *data, int skil return TRUE; } -// ˼-ŭ +// 猎人技能-激怒宠物 int PROFESSION_enrage_pet( int charaindex, int toNo, int array, char *data, int skill_level ) { if(toNo>19) @@ -1146,7 +1146,7 @@ int PROFESSION_enrage_pet( int charaindex, int toNo, int array, char *data, int return TRUE; } -// ˼-޵ +// 猎人技能-天罗地网 int PROFESSION_dragnet( int charaindex, int toNo, int array, char *data, int skill_level ) { if(toNo>19) @@ -1155,7 +1155,7 @@ int PROFESSION_dragnet( int charaindex, int toNo, int array, char *data, int ski return TRUE; } -// ˼- +// 猎人技能-树根缠绕 int PROFESSION_entwine( int charaindex, int toNo, int array, char *data, int skill_level ) { if(toNo>19) @@ -1164,13 +1164,13 @@ int PROFESSION_entwine( int charaindex, int toNo, int array, char *data, int ski return TRUE; } -// ˼-Ը +// 猎人技能-自给自足 int PROFESSION_autarky( int charaindex, int toNo, int array, char *data, int skill_level ) { return TRUE; } -// ˼-Ӷ +// 猎人技能-屍体掠夺 int PROFESSION_plunder( int charaindex, int toNo, int array, char *data, int skill_level ) { if(toNo>19) @@ -1179,7 +1179,7 @@ int PROFESSION_plunder( int charaindex, int toNo, int array, char *data, int ski return TRUE; } -// ˼- +// 猎人技能-毒素武器 int PROFESSION_toxin_weapon( int charaindex, int toNo, int array, char *data, int skill_level ) { if(toNo>19) @@ -1188,7 +1188,7 @@ int PROFESSION_toxin_weapon( int charaindex, int toNo, int array, char *data, in return TRUE; } -// ˼- +// 猎人技能-火抗性提升 int PROFESSION_resist_fire( int charaindex, int toNo, int array, char *data, int skill_level ) { if(toNo>19) @@ -1197,7 +1197,7 @@ int PROFESSION_resist_fire( int charaindex, int toNo, int array, char *data, int return TRUE; } -// ˼- +// 猎人技能-冰抗性提升 int PROFESSION_resist_ice( int charaindex, int toNo, int array, char *data, int skill_level ) { if(toNo>19) @@ -1206,7 +1206,7 @@ int PROFESSION_resist_ice( int charaindex, int toNo, int array, char *data, int return TRUE; } -// ˼-׿ +// 猎人技能-雷抗性提升 int PROFESSION_resist_thunder( int charaindex, int toNo, int array, char *data, int skill_level ) { if(toNo>19) @@ -1216,7 +1216,7 @@ int PROFESSION_resist_thunder( int charaindex, int toNo, int array, char *data, } #ifdef _PROFESSION_ADDSKILL -// ˼-Ȼ +// 猎人技能-自然威能 int PROFESSION_resist_f_i_t( int charaindex, int toNo, int array, char *data, int skill_level ) { if(toNo>19) @@ -1224,7 +1224,7 @@ int PROFESSION_resist_f_i_t( int charaindex, int toNo, int array, char *data, in profession_common_fun( charaindex, toNo, skill_level, array, BATTLE_COM_S_RESIST_F_I_T ); return TRUE; } -// ˼-Ȼ +// 猎人技能-号召自然 int PROFESSION_call_nature( int charaindex, int toNo, int array, char *data, int skill_level ) { if(toNo!=20 && toNo!=21) @@ -1232,7 +1232,7 @@ int PROFESSION_call_nature( int charaindex, int toNo, int array, char *data, int profession_common_fun( charaindex, toNo, skill_level, array, BATTLE_COM_S_CALL_NATURE ); return TRUE; } -// ˼-Խ +// 猎人技能-四属性结界 int PROFESSION_boundary( int charaindex, int toNo, int array, char *data, int skill_level ) { if(toNo!=20 && toNo!=21) @@ -1242,7 +1242,7 @@ int PROFESSION_boundary( int charaindex, int toNo, int array, char *data, int sk } #endif -// ˼- +// 猎人技能-团体火抗性提升 int PROFESSION_g_resist_fire( int charaindex, int toNo, int array, char *data, int skill_level ) { if(toNo!=20 && toNo!=21) @@ -1251,7 +1251,7 @@ int PROFESSION_g_resist_fire( int charaindex, int toNo, int array, char *data, i return TRUE; } -// ˼- +// 猎人技能-团体冰抗性提升 int PROFESSION_g_resist_ice( int charaindex, int toNo, int array, char *data, int skill_level ) { if(toNo!=20 && toNo!=21) @@ -1260,7 +1260,7 @@ int PROFESSION_g_resist_ice( int charaindex, int toNo, int array, char *data, in return TRUE; } -// ˼-׿ +// 猎人技能-团体雷抗性提升 int PROFESSION_g_resist_thunder( int charaindex, int toNo, int array, char *data, int skill_level ) { if(toNo!=20 && toNo!=21) @@ -1269,7 +1269,7 @@ int PROFESSION_g_resist_thunder( int charaindex, int toNo, int array, char *data return TRUE; } -// ˼-㹥 +// 猎人技能-弱点攻击 int PROFESSION_attack_weak( int charaindex, int toNo, int array, char *data, int skill_level ) { if(toNo>19) @@ -1278,7 +1278,7 @@ int PROFESSION_attack_weak( int charaindex, int toNo, int array, char *data, int return TRUE; } -// ˼- +// 猎人技能-挑拨 int PROFESSION_instigate( int charaindex, int toNo, int array, char *data, int skill_level ) { if(toNo>19) @@ -1287,7 +1287,7 @@ int PROFESSION_instigate( int charaindex, int toNo, int array, char *data, int s return TRUE; } -// ˼- +// 猎人技能-遗忘 int PROFESSION_oblivion( int charaindex, int toNo, int array, char *data, int skill_level ) { if(toNo>19) @@ -1298,9 +1298,9 @@ int PROFESSION_oblivion( int charaindex, int toNo, int array, char *data, int sk /*----------------------------------------------------------------------*/ -// ս +// 非战斗技能 -// ˼-׷Ѱ +// 猎人技能-追寻敌踪 int PROFESSION_track( int charaindex, int toNo, int array, char *data, int skill_level ) { char *pszP = NULL, *pszOption = "\0", msg[20]; @@ -1311,18 +1311,18 @@ int PROFESSION_track( int charaindex, int toNo, int array, char *data, int skill ret = -1; } - // ܵIJ + // 技能的参数 pszOption = PROFESSION_SKILL_getChar( array, PROFESSION_SKILL_OPTION); - // ܵȼ rate - if( (pszP = strstr( pszOption, "%" ) ) != NULL ) sscanf( pszP+3, "%d", &rate ); + // 技能等级 rate + if( (pszP = strstr( pszOption, "倍%" ) ) != NULL ) sscanf( pszP+3, "%d", &rate ); per = skill_level * rate; - // ׼ڵĶ + // 准备期的动画 img1 = PROFESSION_SKILL_getInt( array, PROFESSION_SKILL_IMG_1 ); CHAR_setWorkInt( charaindex, CHAR_ENCOUNT_FIX, per); - CHAR_talkToCli( charaindex, -1, "", CHAR_COLORRED); + CHAR_talkToCli( charaindex, -1, "遇敌率上升", CHAR_COLORRED); CHAR_setWorkInt( charaindex, CHAR_ENCOUNT_NUM, (int)time(NULL) + (60 * 3) ); sprintf( msg, "%d", img1); @@ -1331,7 +1331,7 @@ int PROFESSION_track( int charaindex, int toNo, int array, char *data, int skill return ret; } -// ˼-رս +// 猎人技能-回避战斗 int PROFESSION_escape( int charaindex, int toNo, int array, char *data, int skill_level ) { char *pszP = NULL, *pszOption = "\0", msg[20]; @@ -1342,18 +1342,18 @@ int PROFESSION_escape( int charaindex, int toNo, int array, char *data, int skil ret = -1; } - // ܵIJ + // 技能的参数 pszOption = PROFESSION_SKILL_getChar( array, PROFESSION_SKILL_OPTION); - // ܵȼ rate - if( (pszP = strstr( pszOption, "%" ) ) != NULL ) sscanf( pszP+3, "%d", &rate ); + // 技能等级 rate + if( (pszP = strstr( pszOption, "倍%" ) ) != NULL ) sscanf( pszP+3, "%d", &rate ); per = skill_level * rate; - // ׼ڵĶ + // 准备期的动画 img1 = PROFESSION_SKILL_getInt( array, PROFESSION_SKILL_IMG_1 ); CHAR_setWorkInt( charaindex, CHAR_ENCOUNT_FIX, (-1) * per); - CHAR_talkToCli( charaindex, -1, "½", CHAR_COLORGREEN); + CHAR_talkToCli( charaindex, -1, "遇敌率下降", CHAR_COLORGREEN); CHAR_setWorkInt( charaindex, CHAR_ENCOUNT_NUM, (int)time(NULL) + (60 * 3) ); @@ -1365,25 +1365,25 @@ int PROFESSION_escape( int charaindex, int toNo, int array, char *data, int skil -// ͬ- +// 共同技能-气力充沛 int PROFESSION_full_mp( int charaindex, int toNo, int array, char *data, int skill_level ) { return TRUE; } -// ͬ- +// 共同技能-负重增加 int PROFESSION_strong_back( int charaindex, int toNo, int array, char *data, int skill_level ) { char *pszP = NULL, *pszOption = "\0"; int rate=0; - // ܵIJ + // 技能的参数 pszOption = PROFESSION_SKILL_getChar( array, PROFESSION_SKILL_OPTION); - if( (pszP = strstr( pszOption, "%" ) ) != NULL ) sscanf( pszP+3, "%d", &rate ); + if( (pszP = strstr( pszOption, "倍%" ) ) != NULL ) sscanf( pszP+3, "%d", &rate ); int pile = CHAR_getWorkInt( charaindex, CHAR_WORKATTACHPILE); pile = pile * rate; CHAR_setWorkInt( charaindex, CHAR_WORKATTACHPILE,pile); return TRUE; } -// ͬ-ǿ +// 共同技能-自我强化 int PROFESSION_strengthen( int charaindex, int toNo, int array, char *data, int skill_level ) { return TRUE; diff --git a/char/addressbook.c b/char/addressbook.c index ea7530e..a1a34a5 100644 --- a/char/addressbook.c +++ b/char/addressbook.c @@ -21,56 +21,56 @@ #include "petmail.h" #include "log.h" -/*ö⼰ ӮӮƱƥ ٯ Ӯ - ľƱ³*/ +/*固定メッセージの最長長さ。下で定義する文字列の長さは + これ以下にすること*/ #define ADDRESSBOOK_FIXEDMESSAGE_MAXLEN 128 -/* м岾ئ׼ƥʧƤͱܰƥئ - 弰ö */ -#define ADDRESSBOOK_CANTADD "ûκˡ" -#define ADDRESSBOOK_CANTADD2 "޷Ƭ" +/* 愤坌及蟆卞簿手中卅井匀凶及匹}失玉伊旦皮永弁卞馨笛匹五卅井匀凶 + 午五及裔烂丢永本□斥 */ +#define ADDRESSBOOK_CANTADD "那里没有任何人。" +#define ADDRESSBOOK_CANTADD2 "无法交换名片。" -/* ë³绥ƥб˪¶*/ -#define ADDRESSBOOK_ADDED "%sƬ " +/* 簿井毛笛尹月仇午互匹五凶午五}笛尹方丹午仄凶谛卞霜耨允月丢永本□斥*/ +#define ADDRESSBOOK_ADDED "和%s交换名片 。" -/* ӿëľ */ -#define ADDRESSBOOK_BEINGADDED "%sƬ " +/* 簿井卞涌毛创尹日木凶日 */ +#define ADDRESSBOOK_BEINGADDED "和%s交换名片 。" -/* ޼з弰 */ -#define ADDRESSBOOK_MYTABLEFULL "Ƭϻ" +/* 巨件玄伉互中匀天中分匀凶午五及丢永本□斥 */ +#define ADDRESSBOOK_MYTABLEFULL "名片匣已满。" -/* 켰޼з弰 */ -#define ADDRESSBOOK_HISTABLEFULL "ԷƬϻ" +/* 锹澎及巨件玄伉互中匀天中分匀凶午五及丢永本□斥 */ +#define ADDRESSBOOK_HISTABLEFULL "对方的名片匣已满。" -/* ë˪¼ */ -#define ADDRESSBOOK_SENT "Ÿ%s " +/* 丢永本□斥毛霜耨允月及卞岳 仄凶午五 */ +#define ADDRESSBOOK_SENT "送信给%s 。" -/* ë˪¼ */ -#define ADDRESSBOOK_UNSENT "޷Ÿ%s " +/* 丢永本□斥毛霜耨允月及卞撩 仄凶午五 */ +#define ADDRESSBOOK_UNSENT "无法送信给%s 。" -/* ë׻ȱ崴 */ -#define ADDRESSBOOK_ALREADYADDED "Ѿ%sƬˡ " +/* 簿井毛创尹方丹午仄凶互}湃卞创尹化中凶 */ +#define ADDRESSBOOK_ALREADYADDED "已经和%s交换过名片了。 " -/* ͭë */ -#define ADDRESSBOOK_GIVEADDRESS "%sõƬ" +/* 铜毛域 读卞 丹橇谪 */ +#define ADDRESSBOOK_GIVEADDRESS "从%s得到名片。" -/* ͭë ؤ */ -#define ADDRESSBOOK_TAKEADDRESS1 "%sԼƬ" -/* ͭë ؤ */ -#define ADDRESSBOOK_TAKEADDRESS2 "Ϊ%sҪƬԽƬˡ" +/* 铜毛域 读卞丐仆月橇谪 */ +#define ADDRESSBOOK_TAKEADDRESS1 "给%s自己的名片。" +/* 铜毛域 读卞丐仆月橇谪 */ +#define ADDRESSBOOK_TAKEADDRESS2 "因为%s想要名片,所以将名片给他了。" #define ADDRESSBOOK_RETURNED1 \ -"%sżû%sƬֽż˻ء" +"从%s寄来信件,但由於没有%s的名片又将信件退回。" #define ADDRESSBOOK_RETURNED2 \ -"ż%s%s ûƬżֱ˻ˡ" +"寄信件给%s,但由於%s 没有名片,所以信件又被退回来了。" #define PETMAIL_RETURNED1 \ -"%s޷ż" +"%s不在这个世界里,所以无法寄送信件给他。" -/* staticƥã а*/ +/* static匹银丹迕[ 五中袄手*/ char ADDRESSBOOK_returnstring[25*128]; @@ -80,20 +80,20 @@ static BOOL ADDRESSBOOK_makeEntryFromCharaindex( int charaindex, ADDRESSBOOK_entry* ae); /*------------------------------------------------------------ - * ʧƤͼë˪ - * MSGᆴչľ£ + * 失玉伊旦皮永弁及丢永本□斥毛霜耨允月 + * MSG皿夫玄戊伙井日勾井歹木月[ * - * ֧³練connectioncdkeyƥƻƽҷ - * գ MSG_send£۹м - * 켰ئئе֣ - * ¦ - * cindex int ƽҷ¼index - * aindex int ʧƤͼindex - * text char* ˪ ٯ - * color int - * ߯Ի - * ̼ƽҷ±嶪ë˪TRUE , - * ׷̼ FALSEë + * 支月仇午反}connection井日cdkey匹腹绸仄化}平乓仿 手 + * 甲永玄仄凶日} MSG_send允月[公及午五卞}愤坌及树 互 + * 锹澎及伉旦玄卞卅井匀凶日窒手仄卅中午中丹仇午分[ + * 娄醒 + * cindex int 平乓仿及index + * aindex int 失玉伊旦皮永弁及index + * text char* 霜耨允月 侬 + * color int 缙 + * 忒曰袄 + * 左件仿奶件及平乓仿卞丢永本□斥毛霜耨仄凶日TRUE , + * 左白仿奶件卞瓒 仄凶日FALSE毛井尹允 ------------------------------------------------------------*/ BOOL ADDRESSBOOK_sendMessage( int cindex, int aindex, char* text , int color ) { @@ -124,16 +124,16 @@ BOOL ADDRESSBOOK_sendMessage( int cindex, int aindex, char* text , int color ) tm1.tm_mon +1, tm1.tm_mday, tm1.tm_hour, tm1.tm_min, text); - /* ӡ */ + /* 扔□田□ 卞中月凛 */ for( i = 0 ; i < playernum ; i ++){ if( CHAR_CHECKINDEX( i) && strcmp( CHAR_getChar( i, CHAR_CDKEY), ae->cdkey) == 0 && strcmp( CHAR_getChar( i, CHAR_NAME), ae->charname) == 0 ) { /* - * CDKEY ƽҷ ף۹ƽҷ - * ʧƤͱм ؤ¾Ʃͻ - * գMSG£ + * CDKEY 手 平乓仿 手域谯仄凶[公及平乓仿弁正及 + * 失玉伊旦皮永弁卞愤坌及树 互丐月井譬屯化} + * 绣箕仄凶日}MSG允月[ */ int index_to_my_info = ADDRESSBOOK_getIndexInAddressbook( i , @@ -142,8 +142,8 @@ BOOL ADDRESSBOOK_sendMessage( int cindex, int aindex, char* text , int color ) int fd; if( index_to_my_info < 0 ){ /* - * 컥ëƻȻ£ - * ɱ бݶﻥ ɧ£ + * 锹澎互愤坌毛坫壅仄化仄引匀化月[ + * 域杀 谛卞]丢□伙互 凶午分仃骚襞允月[ */ //snprintf( tmpmsg, sizeof( tmpmsg), // ADDRESSBOOK_RETURNED1, @@ -158,7 +158,7 @@ BOOL ADDRESSBOOK_sendMessage( int cindex, int aindex, char* text , int color ) CHAR_getChar( i, CHAR_NAME), CHAR_getChar( i, CHAR_NAME)); - /* ˪ԻDZֶ */ + /* 霜曰潜卞手丢永本□斥 */ CHAR_talkToCli( cindex, -1, tmpmsg , CHAR_COLORYELLOW ); return FALSE; @@ -167,7 +167,7 @@ BOOL ADDRESSBOOK_sendMessage( int cindex, int aindex, char* text , int color ) fd = getfdFromCharaIndex( i); if( fd != -1 ) { lssproto_MSG_send( fd , index_to_my_info , textbuffer , color ); - /* Ի */ + /* 夫弘午曰 */ printl( LOG_TALK, "CD=%s\tNM=%s\tT=%s" , mycd, mycharaname, textbuffer ); } @@ -176,7 +176,7 @@ BOOL ADDRESSBOOK_sendMessage( int cindex, int aindex, char* text , int color ) ae->charname ); CHAR_talkToCli(cindex,-1, tmpmsg , color ); - // WON ADD snprintfᵼµbug + // WON ADD 修正snprintf会导致当机的bug { char tmp[1000]; sprintf( tmp , "ADDRESSBOOK_sendMessage:" @@ -190,7 +190,7 @@ BOOL ADDRESSBOOK_sendMessage( int cindex, int aindex, char* text , int color ) return TRUE; } } - /* έئݷʧӡ˪ */ + /* 苇勾井日卅井匀凶凛反]失市它件玄扔□田□卞霜月 */ saacproto_Message_send( acfd, mycd, mycharaname, ae->cdkey, ae->charname, textbuffer, color); CHAR_setInt( cindex, CHAR_SENDMAILCOUNT, @@ -203,10 +203,10 @@ BOOL ADDRESSBOOK_sendMessage( int cindex, int aindex, char* text , int color ) return FALSE; } /*------------------------------------------------------------ - * ʧƤͼë˪ - * saac msg ëȻͷʧ̵£ + * 失玉伊旦皮永弁及丢永本□斥毛霜耨允月 + * saac 井日msg 毛熬仃午匀化弁仿奶失件玄卞禾旦玄允月[ * - * ߯Ի + * 忒曰袄 ------------------------------------------------------------*/ BOOL ADDRESSBOOK_sendMessage_FromOther( char *fromcdkey, char *fromcharaname, char *tocdkey, char *tocharaname, @@ -218,7 +218,7 @@ BOOL ADDRESSBOOK_sendMessage_FromOther( char *fromcdkey, char *fromcharaname, char tmpmsg[256]; int playernum = CHAR_getPlayerMaxNum(); - /* ӡ ë */ + /* 扔□田□ 毛腹绸允月 */ for( i = 0 ; i < playernum ; i ++){ if( CHAR_CHECKINDEX( i) && strcmp( CHAR_getChar( i, CHAR_CDKEY), tocdkey) == 0 && @@ -226,16 +226,16 @@ BOOL ADDRESSBOOK_sendMessage_FromOther( char *fromcdkey, char *fromcharaname, { int index_to_my_info; /* - * CDKEY ƽҷ ף۹ƽҷ - * ʧƤͱм ؤ¾Ʃͻ - * գMSG£ + * CDKEY 手 平乓仿 手域谯仄凶[公及平乓仿弁正及 + * 失玉伊旦皮永弁卞愤坌及树 互丐月井譬屯化} + * 绣箕仄凶日}MSG允月[ */ - /* ˵ ة⻥Ȼ */ + /* 扑旦 丞丢永本□斥互窖匀化五凶 */ if( strcmp( fromcdkey, ADDRESSBOOK_SYSTEM) == 0 && strcmp( fromcharaname, ADDRESSBOOK_SYSTEM ) == 0 ) { - /* ˵ ةë */ + /* 扑旦 丞丢永本□斥毛龚仁 */ CHAR_talkToCli( i, -1, text , color ); break; } @@ -245,13 +245,13 @@ BOOL ADDRESSBOOK_sendMessage_FromOther( char *fromcdkey, char *fromcharaname, fromcdkey, fromcharaname); if( index_to_my_info < 0 ){ /* - * 컥ëƻȻ£ + * 锹澎互愤坌毛坫壅仄化仄引匀化月[ */ snprintf( tmpmsg, sizeof( tmpmsg), ADDRESSBOOK_RETURNED2, tocharaname, tocharaname); - /* ˪ԻDZֶ */ + /* 霜曰潜卞手丢永本□斥 */ saacproto_Message_send( acfd, ADDRESSBOOK_SYSTEM , ADDRESSBOOK_SYSTEM, fromcdkey, fromcharaname, tmpmsg, CHAR_COLORYELLOW); @@ -260,7 +260,7 @@ BOOL ADDRESSBOOK_sendMessage_FromOther( char *fromcdkey, char *fromcharaname, int fd = getfdFromCharaIndex( i); if( fd != -1 ) { lssproto_MSG_send( fd , index_to_my_info , text , color ); - /* Ի */ + /* 夫弘午曰 */ printl( LOG_TALK, "CD=%s\tNM=%s\tT=%s" , fromcdkey, fromcharaname, text ); } @@ -394,7 +394,7 @@ BOOL ADDRESSBOOK_addEntry( int meindex ) int strlength; char msgbuf[1024]; char escapebuf[2048]; - strcpy( msgbuf, "1\n˭Ƭأ\n"); + strcpy( msgbuf, "1\n和谁交换名片呢?\n"); strlength = strlen( msgbuf); for( i = 0; CONNECT_getTradecardcharaindex(fd,i) != -1 @@ -404,7 +404,7 @@ BOOL ADDRESSBOOK_addEntry( int meindex ) char buf[256]; snprintf( buf, sizeof( buf),"%s\n", a); if( strlength + strlen( buf) > arraysizeof( msgbuf)){ - print( "%s:%dӴѶϢbuffer㡣\n", + print( "%s:%d视窗讯息buffer不足。\n", __FILE__,__LINE__); break; } @@ -553,7 +553,7 @@ BOOL ADDRESSBOOK_sendAddressbookTable( int cindex ) char charname_escaped[CHARNAMELEN*2]; makeEscapeString( ae->charname, charname_escaped , sizeof(charname_escaped )); - /* ð׷º| |ì|̰|׷º */ + /* 银迕白仿弘| 蟆|伊矛伙|仿奶白|白仿弘 */ snprintf( tmp , sizeof( tmp ), "%d|%s|%d|%d|%d|%d|%d|0|" , ae->use, @@ -568,7 +568,7 @@ BOOL ADDRESSBOOK_sendAddressbookTable( int cindex ) break; } }else{ - /*Ȼئзֳ߼ƥ˪ */ + /*银匀化卅中犯□正手冲徇及心匹霜月 */ char tmp[32]; snprintf( tmp , sizeof( tmp ), "||||||||" ); strcpysafe ( ADDRESSBOOK_returnstring + stringlen , @@ -642,12 +642,12 @@ BOOL ADDRESSBOOK_sendAddressbookTableOne( int cindex, int num ) } /*------------------------------------------------------------ - * 繴ʧƤ;޼ë ٯ ئʣ - * ľƽҷئƥͷʧ˪·ԻֿҸ - * ئּƥؤ ۢؤ£ - * ¦ - * a ADDRESSBOOK_entry* ٯ հ ߼̼ - * ߯Ի + * 夫午勾及失玉伊旦皮永弁巨件玄伉毛} 侬 卞卅云允[ + * 仇木反平乓仿忡绣迕卅及匹弁仿奶失件玄卞霜耨允月方曰手恳割 + * 卅手及匹丐月 邰互丐月[ + * 娄醒 + * a ADDRESSBOOK_entry* 侬 卞仄凶中厌瞻 尺及禾奶件正 + * 忒曰袄 * char * ------------------------------------------------------------*/ char *ADDRESSBOOK_makeAddressbookString( ADDRESSBOOK_entry *a ) @@ -655,7 +655,7 @@ char *ADDRESSBOOK_makeAddressbookString( ADDRESSBOOK_entry *a ) char work1[256], work2[256]; if( a->use == 0 ){ - /* ޼ ٯ */ + /* 坞巨件玄伉分匀凶日坞 侬 */ ADDRESSBOOK_returnstring[0] = '\0'; return ADDRESSBOOK_returnstring; } @@ -672,13 +672,13 @@ char *ADDRESSBOOK_makeAddressbookString( ADDRESSBOOK_entry *a ) } /*------------------------------------------------------------ - * ٯ ľʧƤ;޼ëհ ئʣ - * հ use½ ձئ£ - * ¦ - * in char* ٯ - * a ADDRESSBOOK_entry* ë谻 - * ߯Ի - * ѱTRUE + * 侬 祭今木化中月失玉伊旦皮永弁巨件玄伉毛}厌瞻 卞卅云允[ + * 仇及瑛绊厌瞻 及use动陆及树 反敦僬卞卅月[ + * 娄醒 + * in char* 侬 + * a ADDRESSBOOK_entry* 犯□正毛璋户月赭 + * 忒曰袄 + * 勾友卞TRUE ------------------------------------------------------------*/ BOOL ADDRESSBOOK_makeAddressbookEntry( char *in , ADDRESSBOOK_entry *a ) { @@ -886,7 +886,7 @@ BOOL ADDRESSBOOK_AutoaddAddressBook( int meindex, int toindex) //myblank = 79; //hisblank = 79; - if( hisblank < 0 || myblank < 0) { //"Ƭϻ" + if( hisblank < 0 || myblank < 0) { //"名片匣已满。" return FALSE; } diff --git a/char/char.c b/char/char.c index 73c6370..ea3cd70 100644 --- a/char/char.c +++ b/char/char.c @@ -45,10 +45,10 @@ #include "npc_checkman.h" #endif -#ifdef _CHAR_PROFESSION // WON ADD ְҵλ +#ifdef _CHAR_PROFESSION // WON ADD 人物职业栏位 #include "profession_skill.h" #endif -#ifdef _CHATROOMPROTOCOL // (ɿ) Syu ADD Ƶ +#ifdef _CHATROOMPROTOCOL // (不可开) Syu ADD 聊天室频道 #include "chatroom.h" #endif #ifdef _ALLBLUES_LUA @@ -76,26 +76,26 @@ extern void GOLD_DeleteTimeCheckOne( int objindex); extern int autopkstart; extern int playeronlinenum; extern int autopkcnt; -// WON ADD ߵ趨 +// WON ADD 修正道具的设定问题 void fix_item_bug(int charaindex, int i); -/*====================ƽҷ¼====================*/ +/*====================平乓仿及综岳卞楮允月楮醒====================*/ /*------------------------------------------------------------ - * ݼëɬƷ£ - * ¦ - * ch Char* ɬƼƽҷ¼ - * option char* ͷʧ· - * ߯Ի - * TRUE - * FALSE + * 综岳允月凛及左皿扑亦件及袄毛涩烂仄方丹午允月[ + * 娄醒 + * ch Char* 涩烂燮及平乓仿及犯□正 + * option char* 弁仿奶失件玄井日仁月犯□正 + * 忒曰袄 + * 岳 TRUE + * 撩 FALSE ------------------------------------------------------------*/ static BOOL CHAR_makeCharFromOptionAtCreate( Char* ch , int vital, int str, int tgh, int dex, int earth, int water, int fire, int wind) { - /* 뼰ë浤 */ + /* 躲岭及腹据毛垫丹 */ int para[4]; int attr[4]; int i; @@ -116,15 +116,15 @@ static BOOL CHAR_makeCharFromOptionAtCreate( Char* ch , #define PKMAXPARAMETER 300 parasum = 0; /* - * ͻ - ؤȻئئ - * ؤľëл ئ + * 允屯化及犯□正及 卞 - 反丐匀化反卅日卅中仄 + * 瑕丐孔木及仪毛哔尹化云中化 及袄手译尹卅中 */ for( i = 0; i < arraysizeof( para); i ++ ) { if( para[i] < 0 || para[i] > MAXPARAMETER )return FALSE; parasum += para[i]; } -#ifdef _NEW_PLAYER_CF //ֳ +#ifdef _NEW_PLAYER_CF //新手出生配置 if( parasum > MAXPARAMETER ) return FALSE; #else if( parasum != MAXPARAMETER ) return FALSE; @@ -136,25 +136,25 @@ static BOOL CHAR_makeCharFromOptionAtCreate( Char* ch , #define MAXATTRIBUTE 10 cnt = 0; attrsum = 0; - /* 뼰ë */ + /* 箪岭及民尼永弁毛允月 */ for( i = 0; i < arraysizeof( para); i ++ ) { if( attr[i] < 0 || attr[i] > MAXATTRIBUTE )return FALSE; attrsum += attr[i]; if( attr[i] > 0 ) cnt ++; } - /* Ͱ10 */ + /* 宁煌袄反10 */ if( attrsum != MAXATTRIBUTE ) return FALSE; - /* 2ԻԻ񲻯ľ */ + /* 2勾方曰聂仁喃曰癫化日木化中凶日蛲 */ if( cnt > 2 ) return FALSE; - /* 뷴Ի񲻯ľئ */ + /* 菅箪岭反喃曰癫化日木卅中 */ if( attr[0] > 0 && attr[2] > 0 ) return FALSE; if( attr[1] > 0 && attr[3] > 0 ) return FALSE; #undef MAXATTRIBUTE - /* */ + /* 戊疋□ */ ch->data[CHAR_VITAL] = vital*100; ch->data[CHAR_STR] = str*100; ch->data[CHAR_TOUGH] = tgh*100; @@ -170,7 +170,7 @@ static BOOL CHAR_makeCharFromOptionAtCreate( Char* ch , ch->data[CHAR_EXP] = 0; -#ifdef _NEW_PLAYER_CF //ֳ +#ifdef _NEW_PLAYER_CF //新手出生配置 ch->data[CHAR_TRANSMIGRATION] = getNewplayertrans(); ch->data[CHAR_GOLD] = getNewplayergivegold();; ch->data[CHAR_LV] = getNewplayerlv(); @@ -206,7 +206,7 @@ void CHAR_loginAddItemForNew( int charindex ) emptyitemindexinchara = CHAR_findEmptyItemBox( charindex ); if( emptyitemindexinchara < 0 ){ - sprintf( msgbuf, "ռλ㡣" ); + sprintf( msgbuf, "空间栏位不足。" ); CHAR_talkToCli( charindex, -1, msgbuf, CHAR_COLORYELLOW); return; @@ -238,7 +238,7 @@ void CHAR_createNewChar( int clifd, int dataplacenum, char* charname , int enemyarray; char szKey[256]; -#ifdef _NEW_PLAYER_CF //ֳ +#ifdef _NEW_PLAYER_CF //新手出生配置 int add_pet[]={0,0,0,0,0}; #endif @@ -305,17 +305,17 @@ void CHAR_createNewChar( int clifd, int dataplacenum, char* charname , ch.data[CHAR_LOWRIDEPETS] = 0; #endif -#ifdef _PERSONAL_FAME // Arminius: +#ifdef _PERSONAL_FAME // Arminius: 家族个人声望 ch.data[CHAR_FAME] = 0; #endif #ifdef _NEW_MANOR_LAW - ch.data[CHAR_MOMENTUM] = 0; // + ch.data[CHAR_MOMENTUM] = 0; // 个人气势 #endif #ifdef _TEACHER_SYSTEM - ch.data[CHAR_TEACHER_FAME] = 0; // ʦ쵼 + ch.data[CHAR_TEACHER_FAME] = 0; // 导师领导声望 #endif -#ifdef _CHAR_PROFESSION // WON ADD ְҵ +#ifdef _CHAR_PROFESSION // WON ADD 人物职业 ch.data[PROFESSION_CLASS] = 0; ch.data[PROFESSION_LEVEL] = 0; // ch.data[PROFESSION_EXP] = 0; @@ -345,7 +345,7 @@ void CHAR_createNewChar( int clifd, int dataplacenum, char* charname , time_t timep; struct tm *p; time(&timep); - p=localtime(&timep); /*ȡõʱ*/ + p=localtime(&timep); /*取得当地时间*/ int mon=1+p->tm_mon; int date=p->tm_mday; char offbuf[64]; @@ -375,34 +375,34 @@ void CHAR_createNewChar( int clifd, int dataplacenum, char* charname , charaindex = CHAR_initCharOneArray( &ch ); if( charaindex == -1 ) { - lssproto_CreateNewChar_send( clifd ,FAILED, "޷"); + lssproto_CreateNewChar_send( clifd ,FAILED, "在线人数已满,无法建立人物"); CONNECT_setState( clifd, NOTLOGIN ); return; } #ifdef _ALLBLUES_LUA_1_5 FreeCharCreate(charaindex); #endif -#ifdef _NEW_PLAYER_CF //ֳ +#ifdef _NEW_PLAYER_CF //新手出生配置 int petNum=0; int k=0; int mylevel,level; if(getNewplayergivepet(0)==-1){ - if( CHAR_getInt( charaindex, CHAR_LASTTALKELDER) == 1 )//˿ + if( CHAR_getInt( charaindex, CHAR_LASTTALKELDER) == 1 )//玛丽娜丝 setNewplayergivepet(0,2); - else if( CHAR_getInt( charaindex, CHAR_LASTTALKELDER) == 2 )//Ӽ + else if( CHAR_getInt( charaindex, CHAR_LASTTALKELDER) == 2 )//加加 setNewplayergivepet(0,3); - else if( CHAR_getInt( charaindex, CHAR_LASTTALKELDER) == 3 )//³ + else if( CHAR_getInt( charaindex, CHAR_LASTTALKELDER) == 3 )//卡鲁它那 setNewplayergivepet(0,4); else setNewplayergivepet(0,1); } #ifdef _NEW_PLAYER_RIDE - if(!strstr( getPlayerRide(), "")) + if(!strstr( getPlayerRide(), "不送配套骑宠")) CHAR_PlayerRide(charaindex); #endif for( petNum=0; petNum<5; petNum++) { if(getNewplayergivepet(petNum)==0)continue; - enemyarray = ENEMY_getEnemyArrayFromId( getNewplayergivepet(petNum)); //׻ + enemyarray = ENEMY_getEnemyArrayFromId( getNewplayergivepet(petNum)); //白虎 petindex = ENEMY_createPetFromEnemyIndex( charaindex, enemyarray); if( petindex == -1 ) { continue; @@ -411,7 +411,7 @@ void CHAR_createNewChar( int clifd, int dataplacenum, char* charname , mylevel = CHAR_getInt( petindex, CHAR_LV); level = getNewplayerpetlv()-mylevel; if(level<1)level=1; - for( k = 1; k < level; k ++ ){ // + for( k = 1; k < level; k ++ ){ //升级 CHAR_PetLevelUp( petindex ); CHAR_PetAddVariableAi( petindex, AI_FIX_PETLEVELUP ); CHAR_setInt( petindex, CHAR_LV, CHAR_getInt( petindex, CHAR_LV) +1 ); @@ -455,7 +455,7 @@ void CHAR_createNewChar( int clifd, int dataplacenum, char* charname , CHAR_endCharData(&ch); CHAR_endCharOneArray( charaindex); -#ifdef _NEW_PLAYER_CF //ֳ +#ifdef _NEW_PLAYER_CF //新手出生配置 { int k=0; for( k=0;k=23228 && ID1<=23307){ - if(strstr(ITEM_getChar(itemindex,ITEM_EFFECTSTRING),"")==NULL){ - ITEM_setChar(itemindex,ITEM_EFFECTSTRING,"[ԣ]뵽峤(13.5)Ҹʦ"); + if(strstr(ITEM_getChar(itemindex,ITEM_EFFECTSTRING),"需更换")==NULL){ + ITEM_setChar(itemindex,ITEM_EFFECTSTRING,"[无属性,需更换]请到渔村村长家(13.5)找更换大师"); } } if(((ID1>=3000 && ID1<=11719) || (ID1>=14001 && ID1<=18530)) && ITEM_getInt( itemindex, ITEM_MAXDAMAGECRUSHE)<1){ @@ -591,7 +591,7 @@ void CHAR_loginCheckUserItem( int charaindex) CHAR_setItemIndex( charaindex , i, -1); } } -#ifdef _JK_CF_DELPETITEM //ɾCFָƷ +#ifdef _JK_CF_DELPETITEM //删除CF指定物品 for( j=1;j<=30;j++ ) { if(getStringFromIndexWithDelim(delbuf,",", j, delitembuf, sizeof(delitembuf)) == FALSE) break; @@ -599,14 +599,14 @@ void CHAR_loginCheckUserItem( int charaindex) if(ID2 == -1)break; if( ID1 == ID2){ CHAR_setItemIndex( charaindex , i, -1); - LogItem(CHAR_getChar( charaindex, CHAR_NAME ), // - CHAR_getChar( charaindex, CHAR_CDKEY ), //ʺ -#ifdef _add_item_log_name // WON ADD itemlogitem + 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 - "CFƷ", + "CF设置清除物品", CHAR_getInt( charaindex,CHAR_FLOOR), CHAR_getInt( charaindex,CHAR_X ), CHAR_getInt( charaindex,CHAR_Y ), @@ -614,7 +614,7 @@ void CHAR_loginCheckUserItem( int charaindex) ITEM_getChar( itemindex, ITEM_NAME), ITEM_getInt( itemindex, ITEM_ID) ); - CHAR_talkToCli( charaindex, -1, "ϵͳϵĵ", CHAR_COLORWHITE ); + CHAR_talkToCli( charaindex, -1, "系统清除你身上的道具", CHAR_COLORWHITE ); } } #endif @@ -623,7 +623,7 @@ void CHAR_loginCheckUserItem( int charaindex) if( ITEM_getInt( itemindex, ITEM_ID) == ANGELITEM || ITEM_getInt( itemindex, ITEM_ID) == HEROITEM ) { int mindex, mission; - // Ƿ + // 检查信物所有人是否任务中 mindex = checkIfAngelByName( ITEM_getChar( itemindex, ITEM_ANGELINFO)); mission = atoi( ITEM_getChar( itemindex, ITEM_ANGELMISSION)); if( mindex < 0 || mission != missiontable[mindex].mission ) { @@ -636,7 +636,7 @@ void CHAR_loginCheckUserItem( int charaindex) if( ITEM_getInt( itemindex, ITEM_ID) == ANGELITEM ) { char nameinfo[128]; getMissionNameInfo( charaindex, nameinfo); - // ʹװ + // 检查使者信物装备中 if( !strcmp( ITEM_getChar( itemindex, ITEM_ANGELINFO), nameinfo) ) { //CHAR_setWorkInt( charaindex, CHAR_WORKANGELMODE, TRUE); CHAR_sendAngelMark( CHAR_getWorkInt( charaindex, CHAR_WORKOBJINDEX), 1); @@ -645,7 +645,7 @@ void CHAR_loginCheckUserItem( int charaindex) } #endif //Change fix 2004/07/05 - //ְҵϵĵ////////////////// + //与人物职业不合的道具拿下////////////////// if( ITEM_getInt( charaindex, ITEM_NEEDPROFESSION) != 0 ){ if( CHAR_getInt( charaindex, PROFESSION_CLASS ) != ITEM_getInt( itemindex, ITEM_NEEDPROFESSION) && ITEM_getInt( itemindex, ITEM_NEEDPROFESSION) > 0 ){ @@ -684,7 +684,7 @@ void CHAR_loginCheckUserItem( int charaindex) } } - for( i = CHAR_STARTITEMARRAY ; i < CHAR_MAXITEMHAVE ; i++ ){ //Я + for( i = CHAR_STARTITEMARRAY ; i < CHAR_MAXITEMHAVE ; i++ ){ //检查携带道具 itemindex = CHAR_getItemIndex( charaindex , i ); if( !ITEM_CHECKINDEX( itemindex)) continue; ITEM_reChangeItemName( itemindex); @@ -695,8 +695,8 @@ void CHAR_loginCheckUserItem( int charaindex) ID1 = ITEM_getInt( itemindex, ITEM_ID); #ifdef _YUANGUSA if(ID1>=23228 && ID1<=23307){ - if(strstr(ITEM_getChar(itemindex,ITEM_EFFECTSTRING),"")==NULL){ - ITEM_setChar(itemindex,ITEM_EFFECTSTRING,"[ԣ]뵽峤(13.5)Ҹʦ"); + if(strstr(ITEM_getChar(itemindex,ITEM_EFFECTSTRING),"需更换")==NULL){ + ITEM_setChar(itemindex,ITEM_EFFECTSTRING,"[无属性,需更换]请到渔村村长家(13.5)找更换大师"); } } if(((ID1>=3000 && ID1<=11719) || (ID1>=14001 && ID1<=18530)) && ITEM_getInt( itemindex, ITEM_MAXDAMAGECRUSHE)<1){ @@ -718,7 +718,7 @@ void CHAR_loginCheckUserItem( int charaindex) CHAR_setItemIndex( charaindex , i, -1); } } -#ifdef _JK_CF_DELPETITEM //ɾCFָƷ +#ifdef _JK_CF_DELPETITEM //删除CF指定物品 for( j=1;j<=30;j++ ) { if(getStringFromIndexWithDelim(delbuf,",", j, delitembuf, sizeof(delitembuf)) == FALSE) break; @@ -726,14 +726,14 @@ void CHAR_loginCheckUserItem( int charaindex) if(ID2 == -1)break; if( ID1 == ID2){ CHAR_setItemIndex( charaindex , i, -1); - LogItem(CHAR_getChar( charaindex, CHAR_NAME ), // - CHAR_getChar( charaindex, CHAR_CDKEY ), //ʺ -#ifdef _add_item_log_name // WON ADD itemlogitem + 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 - "CFƷ", + "CF设置清除物品", CHAR_getInt( charaindex,CHAR_FLOOR), CHAR_getInt( charaindex,CHAR_X ), CHAR_getInt( charaindex,CHAR_Y ), @@ -741,7 +741,7 @@ void CHAR_loginCheckUserItem( int charaindex) ITEM_getChar( itemindex, ITEM_NAME), ITEM_getInt( itemindex, ITEM_ID) ); - CHAR_talkToCli( charaindex, -1, "ϵͳϵĵ", CHAR_COLORWHITE ); + CHAR_talkToCli( charaindex, -1, "系统清除你身上的道具", CHAR_COLORWHITE ); } } #endif @@ -750,7 +750,7 @@ void CHAR_loginCheckUserItem( int charaindex) if( ITEM_getInt( itemindex, ITEM_ID) == ANGELITEM || ITEM_getInt( itemindex, ITEM_ID) == HEROITEM ) { int mindex, mission; - // Ƿ + // 检查信物所有人是否任务中 mindex = checkIfAngelByName( ITEM_getChar( itemindex, ITEM_ANGELINFO)); mission = atoi( ITEM_getChar( itemindex, ITEM_ANGELMISSION)); if( mindex < 0 || mission != missiontable[mindex].mission ) { @@ -764,7 +764,7 @@ void CHAR_loginCheckUserItem( int charaindex) ITEM_setItemUniCode( itemindex); } - //ķŵ + //检查寄放店道具 for( i = 0 ; i < CHAR_MAXPOOLITEMHAVE ; i++ ){ itemindex = CHAR_getPoolItemIndex( charaindex , i ); if( !ITEM_CHECKINDEX( itemindex) ) continue; @@ -777,8 +777,8 @@ void CHAR_loginCheckUserItem( int charaindex) ID1 = ITEM_getInt( itemindex, ITEM_ID); #ifdef _YUANGUSA if(ID1>=23228 && ID1<=23307){ - if(strstr(ITEM_getChar(itemindex,ITEM_EFFECTSTRING),"")==NULL){ - ITEM_setChar(itemindex,ITEM_EFFECTSTRING,"[ԣ]뵽峤(13.5)Ҹʦ"); + if(strstr(ITEM_getChar(itemindex,ITEM_EFFECTSTRING),"需更换")==NULL){ + ITEM_setChar(itemindex,ITEM_EFFECTSTRING,"[无属性,需更换]请到渔村村长家(13.5)找更换大师"); } } if(((ID1>=3000 && ID1<=11719) || (ID1>=14001 && ID1<=18530)) && ITEM_getInt( itemindex, ITEM_MAXDAMAGECRUSHE)<1){ @@ -800,7 +800,7 @@ void CHAR_loginCheckUserItem( int charaindex) CHAR_setPoolItemIndex( charaindex , i, -1); } } -#ifdef _JK_CF_DELPETITEM //ɾCFָƷ +#ifdef _JK_CF_DELPETITEM //删除CF指定物品 for( j=1;j<=30;j++ ) { if(getStringFromIndexWithDelim(delbuf,",", j, delitembuf, sizeof(delitembuf)) == FALSE) break; @@ -808,14 +808,14 @@ void CHAR_loginCheckUserItem( int charaindex) if(ID2 == -1)break; if( ID1 == ID2){ CHAR_setPoolItemIndex( charaindex , i, -1); - LogItem(CHAR_getChar( charaindex, CHAR_NAME ), // - CHAR_getChar( charaindex, CHAR_CDKEY ), //ʺ -#ifdef _add_item_log_name // WON ADD itemlogitem + 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 - "CFƷ", + "CF设置清除物品", CHAR_getInt( charaindex,CHAR_FLOOR), CHAR_getInt( charaindex,CHAR_X ), CHAR_getInt( charaindex,CHAR_Y ), @@ -823,7 +823,7 @@ void CHAR_loginCheckUserItem( int charaindex) ITEM_getChar( itemindex, ITEM_NAME), ITEM_getInt( itemindex, ITEM_ID) ); - CHAR_talkToCli( charaindex, -1, "ϵͳķŵĵ", CHAR_COLORWHITE ); + CHAR_talkToCli( charaindex, -1, "系统清除你寄放店里的道具", CHAR_COLORWHITE ); } } #endif @@ -832,7 +832,7 @@ void CHAR_loginCheckUserItem( int charaindex) if( ITEM_getInt( itemindex, ITEM_ID) == ANGELITEM || ITEM_getInt( itemindex, ITEM_ID) == HEROITEM ) { int mindex, mission; - // Ƿ + // 检查信物所有人是否任务中 mindex = checkIfAngelByName( ITEM_getChar( itemindex, ITEM_ANGELINFO)); mission = atoi( ITEM_getChar( itemindex, ITEM_ANGELMISSION)); if( mindex < 0 || mission != missiontable[mindex].mission ) { @@ -846,7 +846,7 @@ void CHAR_loginCheckUserItem( int charaindex) ITEM_setItemUniCode( itemindex); } - // WON ADD ߵ趨 + // WON ADD 修正道具的设定问题 if(!NPC_EventCheckFlg( charaindex,134)){ for (i = 0; i < CHAR_MAXITEMHAVE; i ++) { itemindex = CHAR_getItemIndex(charaindex, i); @@ -897,7 +897,7 @@ void CHAR_LoginBesideSetWorkInt( int charaindex, int clifd) CHAR_setWorkInt( charaindex, CHAR_WORKTALKTIME, (int)NowTime.tv_sec); CHAR_setWorkInt( charaindex, CHAR_WORKPETFOLLOW, -1); CHAR_setWorkInt( charaindex, CHAR_LASTCHARSAVETIME, (int)NowTime.tv_sec); -#ifdef _STATUS_WATERWORD //ˮ״̬ +#ifdef _STATUS_WATERWORD //水世界状态 if( MAP_getMapFloorType( CHAR_getInt( charaindex, CHAR_FLOOR)) == 1 ){ CHAR_setWorkInt( charaindex, CHAR_WORKMAPFLOORTYPE, 1); }else{ @@ -937,7 +937,7 @@ void CHAR_CheckProfessionSkill( int charaindex) for( i=0; i%s\n",CHAR_getChar( charaindex, CHAR_CDKEY),cdkey); +// print( "修正人物账号%s=>%s\n",CHAR_getChar( charaindex, CHAR_CDKEY),cdkey); // CHAR_setChar( charaindex, CHAR_CDKEY, cdkey); - print( "˺%s뵵˺%sͬ",cdkey,CHAR_getChar( charaindex, CHAR_CDKEY)); + print( "账号%s与档案人物账号%s不相同",cdkey,CHAR_getChar( charaindex, CHAR_CDKEY)); goto DELETECHARDATA; } if(CHAR_getInt(charaindex,CHAR_LOCK)==1 && strstr(cdkey,passwd)!=NULL){ @@ -1279,8 +1279,8 @@ void CHAR_login( int clifd, char* data, int saveindex ) if(CHAR_getInt(charaindex,CHAR_SUPER)==0) { int lv,vi,str,tou,dx,skup,trn,teq,quest,level,total,max; - float table[]={437,490,521,550,578,620,700,800,900}; //תߵ(10) - //float table[]={620,660,700,740,780,820}; //תߵ(10) + float table[]={437,490,521,550,578,620,700,800,900}; //各转最高点数(减10) + //float table[]={620,660,700,740,780,820}; //各转最高点数(减10) lv = CHAR_getInt(charaindex,CHAR_LV); vi = CHAR_getInt(charaindex,CHAR_VITAL); str = CHAR_getInt(charaindex,CHAR_STR); @@ -1292,21 +1292,21 @@ void CHAR_login( int clifd, char* data, int saveindex ) quest=(teq >> 16)& 0xFF; level=teq & 0xFFF; total=(vi+str+tou+dx)/100+skup; -// max=(trn==0)?(lv-1)*3+20+10: // 0ת447 +// max=(trn==0)?(lv-1)*3+20+10: // 0转447 // (lv-1)*3+table[trn-1]/12.0+quest/4.0+(level-trn*85)/4.0+10+1+10+trn*10; /* - print(":%d\n",(lv-1)*getSkup()); - print("̳е:%f\n",(table[trn-1]/12.0)); - print("ʷ:%f\n",quest/4.0); - print("ʷȼ:%f\n",(level-trn*85)/4.0); - print("ʷȼ:%d/%d\n",level,trn*85); - print("תǰף:%d\n",getTransPoint(trn)); - print("1:%d\n",1); - print("תף:%d\n",getTransPoint(trn)); - print("ת:%d\n",trn*10); + print("升级点数:%d\n",(lv-1)*getSkup()); + print("继承点术:%f\n",(table[trn-1]/12.0)); + print("历史任务:%f\n",quest/4.0); + print("历史等级:%f\n",(level-trn*85)/4.0); + print("历史等级:%d/%d\n",level,trn*85); + print("转前祝福:%d\n",getTransPoint(trn)); + print("误差1点:%d\n",1); + print("转後祝福:%d\n",getTransPoint(trn)); + print("转生红利:%d\n",trn*10); */ #ifdef _REVLEVEL - if (strcmp(getRevLevel(),"")==0){ + if (strcmp(getRevLevel(),"是")==0){ if(trn>=getChartrans()){ if(lv>getMaxLevel()){ lv=getMaxLevel(); @@ -1334,18 +1334,18 @@ void CHAR_login( int clifd, char* data, int saveindex ) getTransPoint(trn)+(lv-1)*getSkup()+table[trn-1]/12.0+quest/4.0+jxds+getTransPoint(trn)+ trn*10+1; // max=getTransPoint(trn); #else - max=(trn==0)?(lv-1)*3+20+10: // 0ת447 + max=(trn==0)?(lv-1)*3+20+10: // 0转447 (lv-1)*3+table[trn-1]/12.0+quest/4.0+(level-trn*85)/4.0+10+1+10+trn*10; #endif -/* 1ת=+̳е+ʷ+ʷȼ+תǰף+1+תף+ת */ -// if (trn==6) max=max-20; /* תʱûתǰףתף */ +/* 1转以上=升级点数+继承点术+历史任务+历史等级+转前祝福+误差1点+转後祝福+转生红利 */ +// if (trn==6) max=max-20; /* 六转时没有转前祝福与转後祝福 */ #ifdef _REVLEVEL - if (total>max && strcmp(getPoint(),"")==0) + if (total>max && strcmp(getPoint(),"否")==0) #else if (total>max ) #endif { - print("\nص[%s:%s]:%d->%d ", + print("\n重调点数[%s:%s]:%d->%d ", CHAR_getChar(charaindex,CHAR_CDKEY), CHAR_getChar(charaindex,CHAR_NAME), total,max); @@ -1355,10 +1355,10 @@ void CHAR_login( int clifd, char* data, int saveindex ) CHAR_setInt(charaindex,CHAR_DEX,0); CHAR_setInt(charaindex,CHAR_SKILLUPPOINT,max-10); } - // ת֮ + // 补足六转点数不足之玩家 /* if ((trn==6) && (total < max)) { - print("\n[%s:%s]:%d->%d ", + print("\n补足点数[%s:%s]:%d->%d ", CHAR_getChar(charaindex,CHAR_CDKEY), CHAR_getChar(charaindex,CHAR_NAME), total,max); @@ -1400,9 +1400,9 @@ void CHAR_login( int clifd, char* data, int saveindex ) EQ_BI=CHAR_getNewImagenumberFromEquip( EQ_BBI, EQ_NUM); - if( CHAR_getInt( charaindex, CHAR_RIDEPET) == -1 ) { // + if( CHAR_getInt( charaindex, CHAR_RIDEPET) == -1 ) { //非骑宠 if( EQ_BI != CH_BI ) { - print("\n %d [%d=>%d]", charaindex, + print("\n 非骑宠形象 %d [%d=>%d]", charaindex, CHAR_getInt( charaindex, CHAR_BASEIMAGENUMBER), EQ_BI ); CHAR_setInt( charaindex, CHAR_BASEIMAGENUMBER, EQ_BI); @@ -1441,15 +1441,15 @@ void CHAR_login( int clifd, char* data, int saveindex ) CHAR_getElderPosition(CHAR_getInt(charaindex, CHAR_LASTTALKELDER), &exfloor, &ex_X, &ex_Y); } - if( map_type >= 0 ) { // map_type >= 0 Ȼؼ¼ - if( exfloor == map_type && exfloor >= 0 ) {//ؼ¼ + if( map_type >= 0 ) { // map_type >= 0 优先回纪录点 + if( exfloor == map_type && exfloor >= 0 ) {//回纪录点 }else { exfloor = (point>>16)&0xffffff; ex_X = (point>>8)&0xff; ex_Y = (point>>0)&0xff; } } - if( CHECKFLOORID( exfloor) ) { //鷿 + if( CHECKFLOORID( exfloor) ) { //检查房间号 CHAR_setInt(charaindex, CHAR_FLOOR, exfloor); CHAR_setInt(charaindex, CHAR_X, ex_X); CHAR_setInt(charaindex, CHAR_Y, ex_Y); @@ -1462,17 +1462,17 @@ void CHAR_login( int clifd, char* data, int saveindex ) CHAR_setInt(charaindex,CHAR_Y,1); } #ifdef _MAP_TIME - // ĵͼЩŵĻ,ص + // 如果登入的地图是这些编号的话,回到入口 if(CHAR_getInt(charaindex,CHAR_FLOOR) >= 30017 && CHAR_getInt(charaindex, CHAR_FLOOR) <= 30021){ CHAR_setInt(charaindex,CHAR_FLOOR,30008); CHAR_setInt(charaindex,CHAR_X,39); CHAR_setInt(charaindex,CHAR_Y,38); } #endif -//LUA - CHAR_setInt(charaindex,CHAR_LUASAVE_WORKINT_1,0);// - CHAR_setInt(charaindex,CHAR_LUASAVE_WORKINT_2,0);// - CHAR_setInt(charaindex,CHAR_LUASAVE_WORKINT_3,0);// +//LUA整数储存 上线清零 + CHAR_setInt(charaindex,CHAR_LUASAVE_WORKINT_1,0);//上线清零 + CHAR_setInt(charaindex,CHAR_LUASAVE_WORKINT_2,0);//上线清零 + CHAR_setInt(charaindex,CHAR_LUASAVE_WORKINT_3,0);//上线清零 #ifdef _FM_METAMO if( CHAR_getInt( charaindex , CHAR_BASEIMAGENUMBER)>=100700 && CHAR_getInt( charaindex , CHAR_BASEIMAGENUMBER)<100819 && (CHAR_getInt( charaindex, CHAR_FMLEADERFLAG ) == FMMEMBER_NONE || CHAR_getInt( charaindex, CHAR_FMLEADERFLAG ) == FMMEMBER_APPLY)){ @@ -1514,18 +1514,18 @@ void CHAR_login( int clifd, char* data, int saveindex ) CHAR_getInt(charaindex,CHAR_Y), CHAR_getInt(charaindex,CHAR_FLOOR)); if( objindex == -1 ){ - fprint ("ʼ\n"); + fprint ("始化对象错误!\n"); goto DELETECHARDATA; } CHAR_setWorkInt( charaindex,CHAR_WORKOBJINDEX,objindex ); CONNECT_setState( clifd, LOGIN ); - //print("\n¼1111111111111111\n"); + //print("\n人物登录结束1111111111111111\n"); CONNECT_setCharaindex( clifd, charaindex ); CHAR_LoginBesideSetWorkInt( charaindex, clifd); CHAR_complianceParameter( charaindex ); - // + //检查人物身上 { int i,j; // char *petstring; @@ -1572,12 +1572,12 @@ void CHAR_login( int clifd, char* data, int saveindex ) if( petrank < 0 || petrank > 5 ) petrank = 0; printf("\n.........................\n"); - printf("%s\n",CHAR_getChar( petindex, CHAR_NAME)); - printf("Ѫ%d\n",vital/15); - printf("%d\n",str/80); - printf("%d\n",tough/80); - printf("%d\n",dex/100); - printf("ɣ%f\n",((str/80-20.0)/lv+(tough/80-15.0)/lv+(dex/100-15.0)/lv)); + printf("名:%s\n",CHAR_getChar( petindex, CHAR_NAME)); + printf("血:%d\n",vital/15); + printf("攻:%d\n",str/80); + printf("防:%d\n",tough/80); + printf("敏:%d\n",dex/100); + printf("成:%f\n",((str/80-20.0)/lv+(tough/80-15.0)/lv+(dex/100-15.0)/lv)); printf(".........................\n"); while(((str/80-20.0)/lv+(tough/80-15.0)/lv+(dex/100-15.0)/lv)>8.5){ @@ -1597,11 +1597,11 @@ void CHAR_login( int clifd, char* data, int saveindex ) } rnd=(cstr/80/160.0+ctough/80/160.0+cdex/100/160.0); - printf("Ѫ%d\n",work[3]); - printf("%d\n",work[0]); - printf("%d\n",work[1]); - printf("%d\n",work[2]); - printf("ɣ%f\n",rnd); + printf("血:%d\n",work[3]); + printf("攻:%d\n",work[0]); + printf("防:%d\n",work[1]); + printf("敏:%d\n",work[2]); + printf("成:%f\n",rnd); if(rnd>8.5){ work[3]*=(8.5/rnd); @@ -1620,17 +1620,17 @@ void CHAR_login( int clifd, char* data, int saveindex ) CHAR_setInt( petindex, CHAR_FUSIONBEIT, 2 ); CHAR_setInt( petindex, CHAR_TRANSMIGRATION,3 ); printf("\n.........................\n"); - printf("%s\n",CHAR_getChar( petindex, CHAR_NAME)); - printf("Ѫ%d\n",vital/15); - printf("%d\n",str/80); - printf("%d\n",tough/80); - printf("%d\n",dex/100); - printf("ɣ%f\n",((str/80-20.0)/lv+(tough/80-15.0)/lv+(dex/100-15.0)/lv)); + printf("名:%s\n",CHAR_getChar( petindex, CHAR_NAME)); + printf("血:%d\n",vital/15); + printf("攻:%d\n",str/80); + printf("防:%d\n",tough/80); + printf("敏:%d\n",dex/100); + printf("成:%f\n",((str/80-20.0)/lv+(tough/80-15.0)/lv+(dex/100-15.0)/lv)); printf(".........................\n"); - printf("Ѫ%d\n",work[3]); - printf("%d\n",work[0]); - printf("%d\n",work[1]); - printf("%d\n",work[2]); + printf("血:%d\n",work[3]); + printf("攻:%d\n",work[0]); + printf("防:%d\n",work[1]); + printf("敏:%d\n",work[2]); } */ @@ -1652,25 +1652,25 @@ void CHAR_login( int clifd, char* data, int saveindex ) } */ // petstring = CHAR_makePetStringFromPetIndex( petindex); -#ifdef _JK_CF_DELPETITEM //ɾCFָ +#ifdef _JK_CF_DELPETITEM //删除CF指定宠物 for( j=1;j<=30;j++ ) { if(getStringFromIndexWithDelim(delbuf,",", j, delpetbuf, sizeof(delpetbuf)) == FALSE) break; ID2 = atoi(delpetbuf); if(ID2 == -1)break; if( ID1 == ID2 ){ - CHAR_setCharPet( charaindex, i, -1);//ܵĽɫ + CHAR_setCharPet( charaindex, i, -1);//清除不能当宠物的角色 LogPet( CHAR_getChar( charaindex, CHAR_NAME ), CHAR_getChar( charaindex, CHAR_CDKEY ), CHAR_getChar( petindex, CHAR_NAME), CHAR_getInt( petindex, CHAR_LV), - "login(CFõij)", + "login(清除CF设置的宠物)", CHAR_getInt( charaindex,CHAR_FLOOR), CHAR_getInt( charaindex,CHAR_X ), CHAR_getInt( charaindex,CHAR_Y ), CHAR_getChar( petindex, CHAR_UNIQUECODE) // shan 2001/12/14 ); - CHAR_talkToCli(charaindex,-1,"ϵͳϵij",CHAR_COLORWHITE); + CHAR_talkToCli(charaindex,-1,"系统清除你身上的宠物",CHAR_COLORWHITE); } } #endif @@ -1685,29 +1685,29 @@ void CHAR_login( int clifd, char* data, int saveindex ) if( ID1 == 10247 ){ CHAR_setInt( petindex, CHAR_BASEIMAGENUMBER, 130088); CHAR_setInt( petindex, CHAR_BASEBASEIMAGENUMBER, 130088); - CHAR_setChar( petindex, CHAR_NAME, "-"); + CHAR_setChar( petindex, CHAR_NAME, "至尊-红龙"); //print("PET:%s fix BBI\n", CHAR_getUseName(petindex)); } #endif - // WON ADD ׻߼ + // WON ADD 修正白虎七技 if( ID1 == 777 )CHAR_setInt( petindex, CHAR_SLOT, 7); CHAR_setWorkInt( petindex, CHAR_WORKPLAYERINDEX, charaindex); - // 輼ֵ-1 Robin 20040803 + // 修正宠技最大值变-1 Robin 20040803 if( CHAR_getInt( petindex, CHAR_SLOT) < 0 ) { int j; for( j=0; j= 0) CHAR_setInt( petindex, CHAR_SLOT, j+1); } - //print(" 輼MAX-16 "); + //print(" 宠技MAX变-1改6 "); } CHAR_complianceParameter( petindex ); -#ifdef _FIX_GP_PET_SKILL // WON ADD gp +#ifdef _FIX_GP_PET_SKILL // WON ADD 修正gp宠会落马术 if( ID1 == 1133){ int j; for( j=0; j= 0; i -- ){ CHAR_HaveSkill *pSkil; Skill* skill; @@ -1830,7 +1830,7 @@ void CHAR_login( int clifd, char* data, int saveindex ) if( pSkil == NULL )continue; if( pSkil->use == 0 )continue; if( skidx[skill->data[SKILL_IDENTITY]] != CHAR_getInt( charaindex, PROFESSION_CLASS ) - && skidx[skill->data[SKILL_IDENTITY]] != 4 ){//ͨɾ + && skidx[skill->data[SKILL_IDENTITY]] != 4 ){//共通技不删 SKILL_makeSkillData( &pSkil->skill, 0, 0 ); pSkil->use = 0; } @@ -1841,7 +1841,7 @@ void CHAR_login( int clifd, char* data, int saveindex ) time(&timep); p=localtime(&timep); timep = mktime(p); -#ifdef _VIP_ANNOUNCE //VIPϵͳԶ +#ifdef _VIP_ANNOUNCE //VIP上线系统自动广告 if(CHAR_getInt( charaindex,CHAR_VIPRIDE )>0) { @@ -1874,42 +1874,42 @@ void CHAR_login( int clifd, char* data, int saveindex ) { #ifdef _TEST_SERVER if(viptype == 1) - sprintf( VipMsg, "%sĻԱ%sˣһӭ", "һʯ", MyName ); + sprintf( VipMsg, "『%s』尊贵的会员【%s】上线了,大家热烈欢迎!", "一起石器服务端", MyName ); else if(viptype == 2) - sprintf( VipMsg, "%sĻƽԱ%sˣһӭ", "һʯ", MyName ); + sprintf( VipMsg, "『%s』尊贵的黄金会员【%s】上线了,大家热烈欢迎!", "一起石器服务端", MyName ); else if(viptype == 3) - sprintf( VipMsg, "%sʯԱ%sˣһӭ", "һʯ", MyName ); + sprintf( VipMsg, "『%s』尊贵的钻石会员【%s】上线了,大家热烈欢迎!", "一起石器服务端", MyName ); #else if(viptype == 1) - sprintf( VipMsg, "%sĻԱ%sˣһӭ", getGameservername(), MyName ); + sprintf( VipMsg, "『%s』尊贵的会员【%s】上线了,大家热烈欢迎!", getGameservername(), MyName ); else if(viptype == 2) - sprintf( VipMsg, "%sĻƽԱ%sˣһӭ", getGameservername(), MyName ); + sprintf( VipMsg, "『%s』尊贵的黄金会员【%s】上线了,大家热烈欢迎!", getGameservername(), MyName ); else if(viptype == 3) - sprintf( VipMsg, "%sʯԱ%sˣһӭ", getGameservername(), MyName ); + sprintf( VipMsg, "『%s』尊贵的钻石会员【%s】上线了,大家热烈欢迎!", getGameservername(), MyName ); #endif } else if(vipmsgtype == 2) { #ifdef _TEST_SERVER if(viptype == 2) - sprintf( VipMsg, "%sĻƽԱ%sˣһӭ", "һʯ", MyName ); + sprintf( VipMsg, "『%s』尊贵的黄金会员【%s】上线了,大家热烈欢迎!", "一起石器服务端", MyName ); else if(viptype == 3) - sprintf( VipMsg, "%sʯԱ%sˣһӭ", "һʯ", MyName ); + sprintf( VipMsg, "『%s』尊贵的钻石会员【%s】上线了,大家热烈欢迎!", "一起石器服务端", MyName ); #else if(viptype == 2) - sprintf( VipMsg, "%sĻƽԱ%sˣһӭ", getGameservername(), MyName ); + sprintf( VipMsg, "『%s』尊贵的黄金会员【%s】上线了,大家热烈欢迎!", getGameservername(), MyName ); else if(viptype == 3) - sprintf( VipMsg, "%sʯԱ%sˣһӭ", getGameservername(), MyName ); + sprintf( VipMsg, "『%s』尊贵的钻石会员【%s】上线了,大家热烈欢迎!", getGameservername(), MyName ); #endif } else if(vipmsgtype == 3) { #ifdef _TEST_SERVER if(viptype == 3) - sprintf( VipMsg, "%sʯԱ%sˣһӭ", "һʯ", MyName ); + sprintf( VipMsg, "『%s』尊贵的钻石会员【%s】上线了,大家热烈欢迎!", "一起石器服务端", MyName ); #else if(viptype == 3) - sprintf( VipMsg, "%sʯԱ%sˣһӭ", getGameservername(), MyName ); + sprintf( VipMsg, "『%s』尊贵的钻石会员【%s】上线了,大家热烈欢迎!", getGameservername(), MyName ); #endif } for( i = 0 ; i < playernum ; i++) @@ -1924,7 +1924,7 @@ void CHAR_login( int clifd, char* data, int saveindex ) time_t timep; struct tm *p; time(&timep); - p=localtime(&timep); /*ȡõʱ*/ + p=localtime(&timep); /*取得当地时间*/ int mon=1+p->tm_mon; int date=p->tm_mday; char offbuf[64]; @@ -1938,10 +1938,10 @@ void CHAR_login( int clifd, char* data, int saveindex ) CHAR_loginCheckUserItem( charaindex); CHAR_complianceParameter( charaindex ); - // Robin add 走 ʱ + // Robin add 重设宠蛋 养时间 CHAR_ResetPetEggFusionTime( charaindex); -#ifdef _PROFESSION_FIX_LEVEL // WON ADD ְҵֵ +#ifdef _PROFESSION_FIX_LEVEL // WON ADD 修正职业经验值 { int i=0; for( i = 0 ; i < CHAR_SKILLMAXHAVE ; i ++ ){ @@ -1962,12 +1962,12 @@ void CHAR_login( int clifd, char* data, int saveindex ) #ifdef _CHANNEL_MODIFY if(CHAR_getInt(charaindex,PROFESSION_CLASS) > 0){ int i,pclass = CHAR_getInt(charaindex,PROFESSION_CLASS) - 1,Empty = -1; - // ɵְҵƵ¼м¼ھ,ûмƵ + // 若旧的职业频道记录有记录在就留着,若没有加入频道 for(i=0;i -1 ){ CHAR_setInt( charaindex, CHAR_BASEIMAGENUMBER, CHAR_getInt( charaindex, CHAR_BECOMEPIG_BBI ) ); } - //change fix ܴʱ + //change fix 处理负很大的乌力时间 else{ CHAR_setInt( charaindex, CHAR_BECOMEPIG, -1 ); } @@ -2079,7 +2079,7 @@ void CHAR_login( int clifd, char* data, int saveindex ) typedef int (*DYINGFUNC)(int); DYINGFUNC dyingfunc=NULL; dyingfunc = (DYINGFUNC)CHAR_getFunctionPointer(charaindex, CHAR_DYINGFUNC ); - CHAR_setInt(charaindex,CHAR_HP,1); // HP Ϊ 1 + CHAR_setInt(charaindex,CHAR_HP,1); // HP 设为 1 //logHack( CHAR_getWorkInt(charaindex,CHAR_WORKFD), HACK_HP); } if( CHAR_getInt( charaindex,CHAR_SKILLUPPOINT ) >=1 ) @@ -2092,7 +2092,7 @@ void CHAR_login( int clifd, char* data, int saveindex ) { #ifdef _FMVER21 int eventflag = 0; - // Ƿ峤ʸ + // 是否符合族长得资格 if (CheckLeaderQ(charaindex) >= 0) eventflag = 1; if (CHAR_getInt(charaindex, CHAR_FMLEADERFLAG) != FMMEMBER_LEADER) @@ -2129,13 +2129,13 @@ void CHAR_login( int clifd, char* data, int saveindex ) WINDOW_BUTTONTYPE_YESNO, CHAR_WINDOWTYPE_ANGEL_ASK, -1, - "ĿǰħŰҪİæǰѰЩħ壬ǷԸæ" ); + "目前魔族肆虐,精灵们需要你的帮忙,前往寻找勇者来消灭这些魔族,你是否愿意帮忙?" ); } } } #endif - print("\n½:%s ", CHAR_getChar(charaindex, CHAR_NAME ) ); + print("\n登陆人物名称:%s ", CHAR_getChar(charaindex, CHAR_NAME ) ); unsigned long ip; @@ -2166,7 +2166,7 @@ void CHAR_login( int clifd, char* data, int saveindex ) #endif #ifdef _TEACHER_SYSTEM - // ѧ֪ͨʦ + // 学生上线通知导师 if(strlen(CHAR_getChar(charaindex,CHAR_TEACHER_ID)) > 0 && strlen(CHAR_getChar(charaindex,CHAR_TEACHER_NAME)) > 0){ int iPlayernum = CHAR_getPlayerMaxNum(),i; char szMsg[128]; @@ -2175,7 +2175,7 @@ void CHAR_login( int clifd, char* data, int saveindex ) if(CHAR_getCharUse(i) == FALSE) continue; if(strcmp(CHAR_getChar(charaindex,CHAR_TEACHER_ID),CHAR_getChar(i,CHAR_CDKEY)) == 0 && strcmp(CHAR_getChar(charaindex,CHAR_TEACHER_NAME),CHAR_getChar(i,CHAR_NAME)) == 0){ - sprintf(szMsg,"ѧ %s ",CHAR_getChar(charaindex,CHAR_NAME)); + sprintf(szMsg,"学生 %s 已上线",CHAR_getChar(charaindex,CHAR_NAME)); CHAR_talkToCli(i,-1,szMsg,CHAR_COLORYELLOW); break; } @@ -2184,7 +2184,7 @@ void CHAR_login( int clifd, char* data, int saveindex ) #endif #ifdef _ITEM_SETLOVER - // ֪ͨԷ + // 夫妻上线通知对方 if(strlen( CHAR_getChar( charaindex, CHAR_LOVE)) > 0 && strlen(CHAR_getChar(charaindex,CHAR_LOVERID))>0 && strlen(CHAR_getChar(charaindex,CHAR_LOVERNAME))>0){ @@ -2195,7 +2195,7 @@ void CHAR_login( int clifd, char* data, int saveindex ) if(!strcmp( CHAR_getChar( i, CHAR_LOVE), "YES") && !strcmp(CHAR_getChar(charaindex,CHAR_LOVERID),CHAR_getChar(i,CHAR_CDKEY)) && !strcmp(CHAR_getChar(charaindex,CHAR_LOVERNAME),CHAR_getChar(i,CHAR_NAME))){ - sprintf(szMsg,"İ %s ",CHAR_getChar(charaindex,CHAR_NAME)); + sprintf(szMsg,"你的爱人 %s 上线了",CHAR_getChar(charaindex,CHAR_NAME)); CHAR_talkToCli(i,-1,szMsg,CHAR_COLORYELLOW); break; } @@ -2223,11 +2223,11 @@ if(getSafeMode()==1 || CHAR_getInt(charaindex,CHAR_LOCK)==1) }else{ char jobbuf[256]; if(CHAR_getInt(charaindex,CHAR_JOBPKMODE)==1){ - sprintf(jobbuf,"һӭԶŰʿϯӡ%sߣ",CHAR_getChar(charaindex,CHAR_NAME)); + sprintf(jobbuf,"热烈欢迎远古白狼勇士『首席弟子』【%s】上线!",CHAR_getChar(charaindex,CHAR_NAME)); }else if(CHAR_getInt(charaindex,CHAR_JOBPKMODE)==2){ - sprintf(jobbuf,"һӭԶ鷨ʦϯӡ%sߣ",CHAR_getChar(charaindex,CHAR_NAME)); + sprintf(jobbuf,"热烈欢迎远古闇灵法师『首席弟子』【%s】上线!",CHAR_getChar(charaindex,CHAR_NAME)); }else{ - sprintf(jobbuf,"һӭԶ׷ߡϯӡ%sߣ",CHAR_getChar(charaindex,CHAR_NAME)); + sprintf(jobbuf,"热烈欢迎远古追猎者『首席弟子』【%s】上线!",CHAR_getChar(charaindex,CHAR_NAME)); } int i; int playernum = CHAR_getPlayerMaxNum(); @@ -2286,7 +2286,7 @@ MAKECHARDATAERROR: } CONNECT_setState(clifd, WHILECANNOTLOGIN ); CONNECT_setCharaindex( clifd, -1 ); - lssproto_CharLogin_send( clifd, FAILED, "볢Ե½·Ժԡ"); + lssproto_CharLogin_send( clifd, FAILED, "在线人数已满,请尝试登陆其他线路,或稍后重试。"); } BOOL CHAR_charSaveFromConnectAndChar( int fd, Char* ch, BOOL unlock ) @@ -2299,7 +2299,7 @@ BOOL CHAR_charSaveFromConnectAndChar( int fd, Char* ch, BOOL unlock ) // CONNECT_getCdkey( fd, cdkey, sizeof(cdkey)); // // if(strcmp(cdkey,ch->string[CHAR_CDKEY].string)!=0){ -// printf(":%s˺:%sϣ浵",cdkey,ch->string[CHAR_CDKEY].string); +// printf("连接:%s与账号:%s不符合,不给予存档",cdkey,ch->string[CHAR_CDKEY].string); // return FALSE; // } #ifdef _DBSAVE_CHAR @@ -2350,12 +2350,12 @@ BOOL CHAR_charSaveFromConnect( int charaindex , BOOL unlock) /*------------------------------------------------------------ - * ʧݱ ʧƥئʧ ةë - * - * ¦ - * charaindex int ƽҷ̼͵ - * ߯Ի - * ئ + * 夫弘失它玄允月凛卞 匀凶引引夫弘失它玄匹五卅中失奶 丞毛 + * 允 + * 娄醒 + * charaindex int 平乓仿弁正□及奶件犯永弁旦 + * 忒曰袄 + * 卅仄 ------------------------------------------------------------*/ static void CHAR_dropItemAtLogout( int charaindex ) { @@ -2369,12 +2369,12 @@ static void CHAR_dropItemAtLogout( int charaindex ) LogItem( CHAR_getChar( charaindex, CHAR_NAME ), CHAR_getChar( charaindex, CHAR_CDKEY ), -#ifdef _add_item_log_name // WON ADD itemlogitem +#ifdef _add_item_log_name // WON ADD 在item的log中增加item名称 itemindex, #else ITEM_getInt( itemindex, ITEM_ID ), #endif - "LogoutDel(dzʧĵ)", + "LogoutDel(登出後消失的道具)", CHAR_getInt( charaindex,CHAR_FLOOR), CHAR_getInt( charaindex,CHAR_X ), CHAR_getInt( charaindex,CHAR_Y ), @@ -2432,26 +2432,26 @@ BOOL _CHAR_logout( char *file, int line, int charindex, BOOL save ) } } -#ifdef _CHATROOMPROTOCOL // (ɿ) Syu ADD Ƶ +#ifdef _CHATROOMPROTOCOL // (不可开) Syu ADD 聊天室频道 if ( CHAR_getWorkInt ( charindex , CHAR_WORKCHATROOMTYPE ) != 0 ) { ChatRoom_Leave ( charindex ) ; } #endif #ifdef _STREET_VENDOR - // ڽ + // 若玩家是卖方且正在交易中 if(CHAR_getWorkInt(charindex,CHAR_WORKSTREETVENDOR) == 2){ - // ȡ׵ + // 取出和他交易的人 toindex = CHAR_getWorkInt(charindex,CHAR_WORKSTREETVENDOR_WHO); if(toindex > -1 && CHAR_CHECKINDEX(toindex)){ CHAR_setWorkInt(toindex,CHAR_WORKSTREETVENDOR_WHO,-1); CHAR_setWorkInt(toindex,CHAR_WORKSTREETVENDOR,-1); lssproto_STREET_VENDOR_send(getfdFromCharaIndex(toindex),"C|"); - CHAR_talkToCli(toindex,-1,"ȡ",CHAR_COLORYELLOW); + CHAR_talkToCli(toindex,-1,"店家取消交易",CHAR_COLORYELLOW); } } - // + // 玩家是买方 else if(CHAR_getWorkInt(charindex,CHAR_WORKSTREETVENDOR) == 3){ - // ȡ + // 取出卖方 toindex = CHAR_getWorkInt(charindex,CHAR_WORKSTREETVENDOR_WHO); if(toindex > -1 && CHAR_CHECKINDEX(toindex)){ CHAR_setWorkInt(toindex,CHAR_WORKSTREETVENDOR_WHO,-1); @@ -2506,7 +2506,7 @@ BOOL _CHAR_logout( char *file, int line, int charindex, BOOL save ) #ifdef _ITEM_ADDEXP2 if( CHAR_getInt( charindex, CHAR_ADDEXPPOWER) > 0 ) { - // ʱǹЧԶ90 + // 登入时智果效果自动减90秒 CHAR_setInt( charindex, CHAR_ADDEXPTIME, CHAR_getInt( charindex, CHAR_ADDEXPTIME) - 90 ); if( CHAR_getInt( charindex, CHAR_ADDEXPTIME) <= 0 ) { @@ -2535,7 +2535,7 @@ BOOL _CHAR_logout( char *file, int line, int charindex, BOOL save ) int i,num=0,winindex; int playernum = CHAR_getPlayerMaxNum(); #ifndef _YUANGUSA - sprintf(buf, "С%s˳ǰ",CHAR_getChar(charindex,CHAR_NAME)); + sprintf(buf, "胆小鬼%s退出当前比赛!",CHAR_getChar(charindex,CHAR_NAME)); AutoPk_PKSystemTalk( buf, buf ); #endif if(CHAR_getWorkInt( charindex, CHAR_WORKBATTLEMODE) == BATTLE_CHARMODE_NONE){ @@ -2579,12 +2579,12 @@ BOOL _CHAR_logout( char *file, int line, int charindex, BOOL save ) autopkcnt++; int autopkvigor = getAutoPkVigorPkNum()*CHAR_getInt(charindex,CHAR_AUTOPK)+getAutoPkVigorPkCnt()*autopkcnt; CHAR_setInt(charindex,CHAR_VIGOR,CHAR_getInt(charindex,CHAR_VIGOR)+autopkvigor); - sprintf(pktoken1,"[ս]%sɱ %d %d û%d",CHAR_getChar(charindex,CHAR_NAME),CHAR_getInt(charindex,CHAR_AUTOPK),autopkcnt,autopkvigor); + sprintf(pktoken1,"[比赛战果]:「%s」击杀点数 %d 生存点数 %d 获得活力%d",CHAR_getChar(charindex,CHAR_NAME),CHAR_getInt(charindex,CHAR_AUTOPK),autopkcnt,autopkvigor); autopkcnt++; CHAR_setInt(winindex,CHAR_AUTOPK,CHAR_getInt(winindex,CHAR_AUTOPK)+2); autopkvigor = getAutoPkVigorPkNum()*CHAR_getInt(winindex,CHAR_AUTOPK)+getAutoPkVigorPkCnt()*autopkcnt; CHAR_setInt(winindex,CHAR_VIGOR,CHAR_getInt(winindex,CHAR_VIGOR)+autopkvigor); - sprintf(pktoken2,"[ս]%sɱ %d %d û%d",CHAR_getChar(winindex,CHAR_NAME),CHAR_getInt(winindex,CHAR_AUTOPK),autopkcnt,autopkvigor); + sprintf(pktoken2,"[比赛战果]:「%s」击杀点数 %d 生存点数 %d 获得活力%d",CHAR_getChar(winindex,CHAR_NAME),CHAR_getInt(winindex,CHAR_AUTOPK),autopkcnt,autopkvigor); i=0; for(i=0;i0 && getVigorTime(CHAR_getInt(charindex,CHAR_TRANSMIGRATION))>0){ - if(CHAR_getInt(charindex,CHAR_VIGOR)0){ - if(CHAR_getInt(charindex,CHAR_VIGOR)= 4 ){ return; } - // ɷ¶ʧƥ¾ + // 引分由仿丢□正失永皿匹五月井" cnt = CHAR_getInt(charaindex,CHAR_SKILLUPPOINT); if( cnt <= 0 )return; -#ifdef _CHAR_PROFESSION // WON ADD ְҵλ +#ifdef _CHAR_PROFESSION // WON ADD 人物职业栏位 { int p_class = CHAR_getInt( charaindex, PROFESSION_CLASS ); int fd=-1; switch( p_class ){ case PROFESSION_CLASS_FIGHTER: - // ʿ200 + // 勇士锁敏200 if( SkUpTbl[skillid] == CHAR_DEX ){ if( CHAR_getInt( charaindex, SkUpTbl[skillid] ) >= 200 * 100 ){ - CHAR_talkToCli(charaindex, -1, "ֵѴ", CHAR_COLORYELLOW ); + CHAR_talkToCli(charaindex, -1, "你的能力值已达上限", CHAR_COLORYELLOW ); fd = getfdFromCharaIndex(charaindex); if( fd != -1 ) lssproto_SKUP_send( fd, cnt ); return; @@ -2964,19 +2964,19 @@ void CHAR_SkillUp( int charaindex, int skillid ) } break; case PROFESSION_CLASS_WIZARD: - // ʦ200 + // 巫师锁攻200 if( SkUpTbl[skillid] == CHAR_STR ){ if( CHAR_getInt( charaindex, SkUpTbl[skillid] ) >= 200 * 100 ){ - CHAR_talkToCli(charaindex, -1, "ֵѴ", CHAR_COLORYELLOW ); + CHAR_talkToCli(charaindex, -1, "你的能力值已达上限", CHAR_COLORYELLOW ); fd = getfdFromCharaIndex(charaindex); if( fd != -1 ) lssproto_SKUP_send( fd, cnt ); return; } } - // ʦ200 + // 巫师锁防200 if( SkUpTbl[skillid] == CHAR_TOUGH ){ if( CHAR_getInt( charaindex, SkUpTbl[skillid] ) >= 200 * 100 ){ - CHAR_talkToCli(charaindex, -1, "ֵѴ", CHAR_COLORYELLOW ); + CHAR_talkToCli(charaindex, -1, "你的能力值已达上限", CHAR_COLORYELLOW ); fd = getfdFromCharaIndex(charaindex); if( fd != -1 ) lssproto_SKUP_send( fd, cnt ); return; @@ -2984,28 +2984,28 @@ void CHAR_SkillUp( int charaindex, int skillid ) } break; case PROFESSION_CLASS_HUNTER: - // 200 + // 猎人锁攻200 if( SkUpTbl[skillid] == CHAR_STR ){ if( CHAR_getInt( charaindex, SkUpTbl[skillid] ) >= 200 * 100 ){ - CHAR_talkToCli(charaindex, -1, "ֵѴ", CHAR_COLORYELLOW ); + CHAR_talkToCli(charaindex, -1, "你的能力值已达上限", CHAR_COLORYELLOW ); fd = getfdFromCharaIndex(charaindex); if( fd != -1 ) lssproto_SKUP_send( fd, cnt ); return; } } - // 200 + // 猎人锁防200 if( SkUpTbl[skillid] == CHAR_TOUGH ){ if( CHAR_getInt( charaindex, SkUpTbl[skillid] ) >= 200 * 100 ){ - CHAR_talkToCli(charaindex, -1, "ֵѴ", CHAR_COLORYELLOW ); + CHAR_talkToCli(charaindex, -1, "你的能力值已达上限", CHAR_COLORYELLOW ); fd = getfdFromCharaIndex(charaindex); if( fd != -1 ) lssproto_SKUP_send( fd, cnt ); return; } } - // 400 + // 猎人锁敏400 if( SkUpTbl[skillid] == CHAR_DEX ){ if( CHAR_getInt( charaindex, SkUpTbl[skillid] ) >= 400 * 100 ){ - CHAR_talkToCli(charaindex, -1, "ֵѴ", CHAR_COLORYELLOW ); + CHAR_talkToCli(charaindex, -1, "你的能力值已达上限", CHAR_COLORYELLOW ); fd = getfdFromCharaIndex(charaindex); if( fd != -1 ) lssproto_SKUP_send( fd, cnt ); return; @@ -3026,7 +3026,7 @@ void CHAR_SkillUp( int charaindex, int skillid ) CHAR_complianceParameter(charaindex); CHAR_send_P_StatusString( charaindex, SendTbl[skillid]); -#ifdef _ANGEL_SUMMON // ӵʱʸ +#ifdef _ANGEL_SUMMON // 加点时检查资格 if( cnt-1 == 0 ) //selectAngel( charaindex); selectAngel( charaindex, -1, -1 , FALSE); @@ -3069,16 +3069,16 @@ INLINE int CHAR_getDY( int dir ) } /*------------------------------------------------------------ - * ԪѨƽҷë £ - * ¦ - * objbuf int* object ƥ index ëҽ - * - * siz int objbuf - * ff int ׷ʧ + * 元穴旦及平乓仿弁正□毛 月[ + * 娄醒 + * objbuf int* object 匹及 index 毛医 允月 + * 田永白央 + * siz int objbuf 及 扔奶术 + * ff int 白夫失 * fx int x * fy int y - * ߯Ի - * ƽҷ»¾ + * 忒曰袄 + * 窒蜊平乓仿互中月井[ ------------------------------------------------------------*/ int CHAR_getSameCoordinateObjects(int* objbuf, int siz,int ff, int fx, int fy) { @@ -3097,18 +3097,18 @@ int CHAR_getSameCoordinateObjects(int* objbuf, int siz,int ff, int fx, int fy) } -/*====================ƽҷ¼ ë ̼====================*/ -/* ٯ ë*/ +/*====================平乓仿及树 毛 月烟及楮醒====================*/ +/*左皿扑亦件犯□正及 侬 毛忡绣允月楮醒*/ static char CHAR_optiondataString[STRINGBUFSIZ]; /*------------------------------------------------------------ - * ü ٯ ë£ - * level, showstring , ۼ , į ϼԷ̼׾ - * ͷµ - * ¦ - * ch Char* ƽҷ· - * ߯Ի - * char* static ئ ë߯ʼƥݼԼ̫Ƽݱ巴 - * ʽľ£¦ëئǣ + * 左皿扑亦件迕及 侬 毛综月[ + * level, showstring , 熔及醒 , 飓 寞} 窒荚夫弘奶件仄凶井[ + * 弁仿旦[ + * 娄醒 + * ch Char* 平乓仿犯□正 + * 忒曰袄 + * char* static 卅 毛忒允及匹戚荚及裟太请仄及凛卞反 互 + * 凳今木化中月[娄醒毛公及引引忡绣仄卅中仪[ ------------------------------------------------------------*/ char* CHAR_makeOptionString( Char* ch ) { @@ -3119,7 +3119,7 @@ char* CHAR_makeOptionString( Char* ch ) return CHAR_optiondataString; } else { -#if 0 /* ƱLS2 ƥؤ */ +#if 0 /* 动票反LS2酷 匹丐月 */ snprintf( CHAR_optiondataString, sizeof( CHAR_optiondataString ), "%d|%s|1|%d|%d", @@ -3130,10 +3130,10 @@ char* CHAR_makeOptionString( Char* ch ) ch->data[CHAR_LOGINCOUNT]); #endif - /* ƱStoneAge ƥؤ£ + /* 动票反StoneAge 酷 匹丐月[ dataplace|faceimg|level|hp|str|def|dex|charm|dp|earth|water|fire|wind|login|Name|Place - ئ£ + 午卅月[ */ { snprintf( CHAR_optiondataString, @@ -3279,12 +3279,12 @@ char* CHAR_makeStatusString( int index, char* category ) big4fm = 0; } #endif -#ifdef _FIX_FMNAME_RULE // WON ADD δʾ +#ifdef _FIX_FMNAME_RULE // WON ADD 家族未成立,不显示名称 if( CHAR_getWorkInt(index, CHAR_WORKFMSETUPFLAG)==1 ){ snprintf( CHAR_statusSendBuffer, sizeof( CHAR_statusSendBuffer ), "F%s|%d|%d|%d|%d", - "()", + "(待审)", CHAR_getInt( index, CHAR_FMLEADERFLAG), CHAR_getWorkInt( index, CHAR_WORKFMCHANNEL), CHAR_getInt( index, CHAR_FMSPRITE), big4fm ); @@ -3337,7 +3337,7 @@ char* CHAR_makeStatusString( int index, char* category ) timep = mktime(p); if(itemtime<=timep){ char itemname[128]; - sprintf(itemname,"ĵ:%sʱЧѵϵͳջء",ITEM_getChar(itemindex,ITEM_NAME)); + sprintf(itemname,"您的道具:%s,由于时效已到,系统已收回。",ITEM_getChar(itemindex,ITEM_NAME)); CHAR_talkToCli( index, -1, itemname, CHAR_COLORYELLOW ); CHAR_setItemIndex( index, i ,-1); itemindex = -1; @@ -3345,7 +3345,7 @@ char* CHAR_makeStatusString( int index, char* category ) } // char itembuf[512]; // sprintf(itembuf,"%s",ITEM_getChar(itemindex,ITEM_EFFECTSTRING)); -// if(strstr(itembuf,"Ч")!=NULL){ +// if(strstr(itembuf,"有效期")!=NULL){ // char itemtempbuf[64]; // int year=3000,mon=13,date=32,hour=25,min=70,sec=70; // if(getStringFromIndexWithDelim(itembuf," ", 1, itemtempbuf, sizeof(itemtempbuf)) != FALSE){ @@ -3433,7 +3433,7 @@ char* CHAR_makeStatusString( int index, char* category ) hskill = CHAR_getCharHaveSkill( index, i ); if( hskill != NULL && hskill->use == TRUE ){ -#ifdef _CHAR_PROFESSION // WON ADD ְҵ +#ifdef _CHAR_PROFESSION // WON ADD 人物职业 snprintf( token , sizeof(token), "%s|", SKILL_makeSkillStatusString(&hskill->skill, index, i) ); #else snprintf( token , sizeof(token), "%s|", SKILL_makeSkillStatusString(&hskill->skill) ); @@ -3505,7 +3505,7 @@ char* CHAR_makeStatusString( int index, char* category ) num = tolower( category[1] ) - '0'; if( num < 0 || num >= CHAR_PARTYMAX ){ - print( "ģʽʧ (%c)%d \n", num, num ); + print( "朋友模式失败 (%c)%d \n", num, num ); break; } @@ -3560,7 +3560,7 @@ char* CHAR_makeStatusString( int index, char* category ) }; num = tolower( category[1] ) - '0'; if( num < 0 || num >= CHAR_MAXPETHAVE ){ - print( "ģʽʧ (%c)%d \n", num, num ); + print( "宠物模式失败 (%c)%d \n", num, num ); break; } pindex = CHAR_getCharPet( index, num ); @@ -3592,7 +3592,7 @@ char* CHAR_makeStatusString( int index, char* category ) } snprintf(CHAR_statusSendBuffer,sizeof(CHAR_statusSendBuffer), -// Syu ADD ı佻ʱתɫ +// Syu ADD 改变交易时宠物转生颜色 #ifdef _SHOW_FUSION "K%d|1|%d|%d|%d|%d|%d|%d|%d|%d|%d|%d|%d|%d|%d|%d|%d|%d|%d|%d|%d|%d|", #else @@ -3616,7 +3616,7 @@ char* CHAR_makeStatusString( int index, char* category ) attr[2], attr[3], CHAR_getInt( pindex, CHAR_SLOT), -// Syu ADD ı佻ʱתɫ +// Syu ADD 改变交易时宠物转生颜色 changenameflg, CHAR_getInt( pindex,CHAR_TRANSMIGRATION) #ifdef _SHOW_FUSION @@ -3675,7 +3675,7 @@ char* CHAR_makeStatusString( int index, char* category ) return CHAR_statusSendBuffer; } int magicmp = ITEM_getInt( itemindex, ITEM_MAGICUSEMP); - if(CHAR_getInt(index,CHAR_LV)<100 && CHAR_getInt(index,CHAR_TRANSMIGRATION)<1){ //CFָ0ת100֮ǰ + if(CHAR_getInt(index,CHAR_LV)<100 && CHAR_getInt(index,CHAR_TRANSMIGRATION)<1){ //CF中指定精灵在0转100级之前不费气 char magictmpbuf[32]; sprintf(magictmpbuf,",%d,",ITEM_getInt( itemindex, ITEM_MAGICID)); if(strstr(getNoMpMagic(),magictmpbuf)!=NULL){ @@ -3724,7 +3724,7 @@ char* CHAR_makeStatusString( int index, char* category ) num = tolower( category[1] ) - '0'; if( num < 0 || num >= CHAR_MAXPETHAVE ){ - print( "ؼʧ (%c)%d \n", num, num ); + print( "宠物特技资料失败 (%c)%d \n", num, num ); break; } @@ -3793,7 +3793,7 @@ char* CHAR_makeStatusString( int index, char* category ) return CHAR_statusSendBuffer; } -#ifdef _PROFESSION_SKILL // WON ADD ְҵ +#ifdef _PROFESSION_SKILL // WON ADD 人物职业技能 case 'y': { int num = 0, f_num = 0; @@ -3806,7 +3806,7 @@ char* CHAR_makeStatusString( int index, char* category ) num = tolower( category[1] ) - '0'; if( num < 0 || num >= CHAR_MAXPETHAVE ){ - print( "ؼʧ (%c)%d \n", num, num ); + print( "宠物特技资料失败 (%c)%d \n", num, num ); break; } @@ -3823,7 +3823,7 @@ char* CHAR_makeStatusString( int index, char* category ) } if( CHAR_getWorkInt( pindex, CHAR_WORKOBLIVION) > 0 ) - f_num = CHAR_getWorkInt( pindex, CHAR_WORKMODOBLIVION ) + 1;// 輼 + f_num = CHAR_getWorkInt( pindex, CHAR_WORKMODOBLIVION ) + 1;// 遗忘宠技数量 for( petskillloop = 0; petskillloop < CHAR_MAXPETSKILLHAVE; petskillloop ++ ) { int skillid = CHAR_getPetSkill( pindex, petskillloop); @@ -3835,7 +3835,7 @@ char* CHAR_makeStatusString( int index, char* category ) int p_id = PETSKILL_getInt( petskillindex, PETSKILL_ID); int rand_num = RAND( 0, 100 ); - // + // 中了遗忘 if( (oblivion > 0) && ( f_num > 0 ) && ( rand_num <= 60 ) && ( p_id != 1 ) ){ field = PETSKILL_FIELD_MAP; target = PETSKILL_TARGET_NONE; @@ -3894,7 +3894,7 @@ char* CHAR_makeStatusString( int index, char* category ) #endif #ifdef _PETSKILL_DAMAGETOHP -//սзͼܷ +//宠物战斗中发送技能封包 case 'o': { int getPetSkillDataArray[]= { @@ -3907,7 +3907,7 @@ char* CHAR_makeStatusString( int index, char* category ) num = tolower( category[1] ) - '0'; if( num < 0 || num >= CHAR_MAXPETHAVE ){ - print( "ؼʧ (%c)%d \n", num, num ); + print( "宠物特技资料失败 (%c)%d \n", num, num ); break; } @@ -3937,9 +3937,9 @@ char* CHAR_makeStatusString( int index, char* category ) //int oblivion = CHAR_getWorkInt( pindex, CHAR_WORKOBLIVION ); int p_id = PETSKILL_getInt( petskillindex, PETSKILL_ID); - //50%ҼΪ ԡѪϮ ܲѡ + //生命大於50%且技能名称若为 浴血狂袭 技能不能选 if( ( CHAR_getInt( pindex, CHAR_HP ) > CHAR_getWorkInt( pindex, CHAR_WORKMAXHP )*0.5 - && strcmp(PETSKILL_getChar( petskillindex, PETSKILL_NAME),"ԡѪϮ" ) == 0 ) + && strcmp(PETSKILL_getChar( petskillindex, PETSKILL_NAME),"浴血狂袭" ) == 0 ) ){ field = PETSKILL_FIELD_MAP; target = PETSKILL_TARGET_NONE; @@ -4009,10 +4009,10 @@ char* CHAR_makeStatusString( int index, char* category ) num = tolower( category[1] ) - '0'; if( num < 0 || num >= CHAR_MAXPETHAVE ){ - print( "ؼʧ (%c)%d \n", num, num ); + print( "宠物特技资料失败 (%c)%d \n", num, num ); break; } - print( "ؼ" ); + print( "宠物特技资料" ); pindex = CHAR_getCharPet( index, num ); if( !CHAR_CHECKINDEX(pindex)){ return "\0"; @@ -4034,11 +4034,11 @@ char* CHAR_makeStatusString( int index, char* category ) //int oblivion = CHAR_getWorkInt( pindex, CHAR_WORKOBLIVION ); int p_id = PETSKILL_getInt( petskillindex, PETSKILL_ID); - //Ϊ ܲѡ - print("\n:%s",PETSKILL_getChar( petskillindex, PETSKILL_NAME)); - if( strcmp(PETSKILL_getChar( petskillindex, PETSKILL_NAME),"" ) == 0 - || strcmp(PETSKILL_getChar( petskillindex, PETSKILL_NAME),"" ) == 0 - || strcmp(PETSKILL_getChar( petskillindex, PETSKILL_NAME),"" ) == 0){ + //技能名称若为 待机 攻击 防御 技能才能选 + print("\n技能名称:%s",PETSKILL_getChar( petskillindex, PETSKILL_NAME)); + if( strcmp(PETSKILL_getChar( petskillindex, PETSKILL_NAME),"待机" ) == 0 + || strcmp(PETSKILL_getChar( petskillindex, PETSKILL_NAME),"攻击" ) == 0 + || strcmp(PETSKILL_getChar( petskillindex, PETSKILL_NAME),"防御" ) == 0){ field = PETSKILL_getInt( petskillindex, PETSKILL_FIELD); target = PETSKILL_getInt( petskillindex, PETSKILL_TARGET); }else{ @@ -4169,7 +4169,7 @@ void CHAR_deleteTitle( int index, int titleindex ) int title; if( !CHAR_CHECKINDEX( index ) )return; - /* ƥݷֻ */ + /* 韶氏匹中月凛反分户 */ if( CHAR_getFlg( index,CHAR_ISDIE ) )return; if( titleindex < 0 || titleindex >= CHAR_TITLEMAXHAVE )return; @@ -4180,12 +4180,12 @@ void CHAR_deleteTitle( int index, int titleindex ) } CHAR_setCharHaveTitle( index,titleindex,-1 ); - /* лȻ֧ئɣľئƱ */ + /* 愤坌互银匀化中凶支勾卅日壬}公木手卅仄卞允月 */ if( CHAR_getInt(index, CHAR_INDEXOFEQTITLE) == titleindex ) CHAR_setInt(index, CHAR_INDEXOFEQTITLE, -1 ); /* - * ë˪£ + * 旦 □正旦树 毛霜月[ */ CHAR_sendStatusString( index, "T" ); CHAR_send_P_StatusString( index, CHAR_P_STRING_TITLE ); @@ -4230,9 +4230,9 @@ static void CHAR_initcharWorkInt( index ) } } -#ifdef _MAGIC_RESIST_EQUIT // WON ADD ְҵװ +#ifdef _MAGIC_RESIST_EQUIT // WON ADD 职业抗性装备 { - // 翹 + // 火冰电抗性 //for( i=0; i<3; i++) // CHAR_setWorkInt( index, CHAR_WORK_F_RESIST+i, CHAR_getInt( index, PROFESSION_FIRE_R+i ) ); } @@ -4248,7 +4248,7 @@ static void CHAR_initcharWorkInt( index ) CHAR_getInt( index, CHAR_STR) * 0.01 * 1.0 //#ifdef _BATTLE_NEWPOWER // + CHAR_getInt( index, CHAR_DEX) * 0.01 * 0.05 -// + CHAR_getInt( index, CHAR_VITAL) * 0.01 * 0.05 ); // +// + CHAR_getInt( index, CHAR_VITAL) * 0.01 * 0.05 ); // 耐力 //#else + CHAR_getInt( index, CHAR_TOUGH) * 0.01 * 0.1 + CHAR_getInt( index, CHAR_VITAL) * 0.01 * 0.1 @@ -4258,7 +4258,7 @@ static void CHAR_initcharWorkInt( index ) CHAR_getInt( index, CHAR_TOUGH) * 0.01 * 1.0 //#ifdef _BATTLE_NEWPOWER // + CHAR_getInt( index, CHAR_DEX) * 0.01 * 0.05 -// + CHAR_getInt( index, CHAR_VITAL) * 0.01 * 0.05 ); // +// + CHAR_getInt( index, CHAR_VITAL) * 0.01 * 0.05 ); // 力量 //#else + CHAR_getInt(index,CHAR_STR) * 0.01 * 0.1 + CHAR_getInt(index,CHAR_VITAL) * 0.01 * 0.1 @@ -4301,309 +4301,309 @@ static void CHAR_initcharWorkInt( index ) switch(fmfloor){ case 1041: fmbuf = getFmWelfare(0); - if( (pszP = strstr( fmbuf, "" ) ) != NULL ){ + if( (pszP = strstr( fmbuf, "攻" ) ) != NULL ){ sscanf( pszP+2, "%d", &fPer ); - //趨ֵ + //设定修正值 CHAR_setWorkInt(index,CHAR_WORKFIXSTR,CHAR_getWorkInt(index,CHAR_WORKFIXSTR)+fPer); break; } - if( (pszP = strstr( fmbuf, "" ) ) != NULL ){ + if( (pszP = strstr( fmbuf, "防" ) ) != NULL ){ sscanf( pszP+2, "%d", &fPer ); - //趨ֵ + //设定修正值 CHAR_setWorkInt(index,CHAR_WORKFIXTOUGH,CHAR_getWorkInt(index,CHAR_WORKFIXTOUGH)+fPer); break; } - if( (pszP = strstr( fmbuf, "" ) ) != NULL ){ + if( (pszP = strstr( fmbuf, "敏" ) ) != NULL ){ sscanf( pszP+2, "%d", &fPer ); - //趨ֵ + //设定修正值 CHAR_setWorkInt(index,CHAR_WORKFIXDEX,CHAR_getWorkInt(index,CHAR_WORKFIXDEX)+fPer); break; } - if( (pszP = strstr( fmbuf, "" ) ) != NULL ){ + if( (pszP = strstr( fmbuf, "体" ) ) != NULL ){ sscanf( pszP+2, "%d", &fPer ); - //趨ֵ + //设定修正值 CHAR_setWorkInt(index,CHAR_WORKMAXHP,CHAR_getWorkInt(index,CHAR_WORKMAXHP)+fPer); break; } break; case 2031: fmbuf = getFmWelfare(1); - if( (pszP = strstr( fmbuf, "" ) ) != NULL ){ + if( (pszP = strstr( fmbuf, "攻" ) ) != NULL ){ sscanf( pszP+2, "%d", &fPer ); - //趨ֵ + //设定修正值 CHAR_setWorkInt(index,CHAR_WORKFIXSTR,CHAR_getWorkInt(index,CHAR_WORKFIXSTR)+fPer); break; } - if( (pszP = strstr( fmbuf, "" ) ) != NULL ){ + if( (pszP = strstr( fmbuf, "防" ) ) != NULL ){ sscanf( pszP+2, "%d", &fPer ); - //趨ֵ + //设定修正值 CHAR_setWorkInt(index,CHAR_WORKFIXTOUGH,CHAR_getWorkInt(index,CHAR_WORKFIXTOUGH)+fPer); break; } - if( (pszP = strstr( fmbuf, "" ) ) != NULL ){ + if( (pszP = strstr( fmbuf, "敏" ) ) != NULL ){ sscanf( pszP+2, "%d", &fPer ); - //趨ֵ + //设定修正值 CHAR_setWorkInt(index,CHAR_WORKFIXDEX,CHAR_getWorkInt(index,CHAR_WORKFIXDEX)+fPer); break; } - if( (pszP = strstr( fmbuf, "" ) ) != NULL ){ + if( (pszP = strstr( fmbuf, "体" ) ) != NULL ){ sscanf( pszP+2, "%d", &fPer ); - //趨ֵ + //设定修正值 CHAR_setWorkInt(index,CHAR_WORKMAXHP,CHAR_getWorkInt(index,CHAR_WORKMAXHP)+fPer); break; } break; case 3031: fmbuf = getFmWelfare(2); - if( (pszP = strstr( fmbuf, "" ) ) != NULL ){ + if( (pszP = strstr( fmbuf, "攻" ) ) != NULL ){ sscanf( pszP+2, "%d", &fPer ); - //趨ֵ + //设定修正值 CHAR_setWorkInt(index,CHAR_WORKFIXSTR,CHAR_getWorkInt(index,CHAR_WORKFIXSTR)+fPer); break; } - if( (pszP = strstr( fmbuf, "" ) ) != NULL ){ + if( (pszP = strstr( fmbuf, "防" ) ) != NULL ){ sscanf( pszP+2, "%d", &fPer ); - //趨ֵ + //设定修正值 CHAR_setWorkInt(index,CHAR_WORKFIXTOUGH,CHAR_getWorkInt(index,CHAR_WORKFIXTOUGH)+fPer); break; } - if( (pszP = strstr( fmbuf, "" ) ) != NULL ){ + if( (pszP = strstr( fmbuf, "敏" ) ) != NULL ){ sscanf( pszP+2, "%d", &fPer ); - //趨ֵ + //设定修正值 CHAR_setWorkInt(index,CHAR_WORKFIXDEX,CHAR_getWorkInt(index,CHAR_WORKFIXDEX)+fPer); break; } - if( (pszP = strstr( fmbuf, "" ) ) != NULL ){ + if( (pszP = strstr( fmbuf, "体" ) ) != NULL ){ sscanf( pszP+2, "%d", &fPer ); - //趨ֵ + //设定修正值 CHAR_setWorkInt(index,CHAR_WORKMAXHP,CHAR_getWorkInt(index,CHAR_WORKMAXHP)+fPer); break; } break; case 4031: fmbuf = getFmWelfare(3); - if( (pszP = strstr( fmbuf, "" ) ) != NULL ){ + if( (pszP = strstr( fmbuf, "攻" ) ) != NULL ){ sscanf( pszP+2, "%d", &fPer ); - //趨ֵ + //设定修正值 CHAR_setWorkInt(index,CHAR_WORKFIXSTR,CHAR_getWorkInt(index,CHAR_WORKFIXSTR)+fPer); break; } - if( (pszP = strstr( fmbuf, "" ) ) != NULL ){ + if( (pszP = strstr( fmbuf, "防" ) ) != NULL ){ sscanf( pszP+2, "%d", &fPer ); - //趨ֵ + //设定修正值 CHAR_setWorkInt(index,CHAR_WORKFIXTOUGH,CHAR_getWorkInt(index,CHAR_WORKFIXTOUGH)+fPer); break; } - if( (pszP = strstr( fmbuf, "" ) ) != NULL ){ + if( (pszP = strstr( fmbuf, "敏" ) ) != NULL ){ sscanf( pszP+2, "%d", &fPer ); - //趨ֵ + //设定修正值 CHAR_setWorkInt(index,CHAR_WORKFIXDEX,CHAR_getWorkInt(index,CHAR_WORKFIXDEX)+fPer); break; } - if( (pszP = strstr( fmbuf, "" ) ) != NULL ){ + if( (pszP = strstr( fmbuf, "体" ) ) != NULL ){ sscanf( pszP+2, "%d", &fPer ); - //趨ֵ + //设定修正值 CHAR_setWorkInt(index,CHAR_WORKMAXHP,CHAR_getWorkInt(index,CHAR_WORKMAXHP)+fPer); break; } break; case 5031: fmbuf = getFmWelfare(4); - if( (pszP = strstr( fmbuf, "" ) ) != NULL ){ + if( (pszP = strstr( fmbuf, "攻" ) ) != NULL ){ sscanf( pszP+2, "%d", &fPer ); - //趨ֵ + //设定修正值 CHAR_setWorkInt(index,CHAR_WORKFIXSTR,CHAR_getWorkInt(index,CHAR_WORKFIXSTR)+fPer); break; } - if( (pszP = strstr( fmbuf, "" ) ) != NULL ){ + if( (pszP = strstr( fmbuf, "防" ) ) != NULL ){ sscanf( pszP+2, "%d", &fPer ); - //趨ֵ + //设定修正值 CHAR_setWorkInt(index,CHAR_WORKFIXTOUGH,CHAR_getWorkInt(index,CHAR_WORKFIXTOUGH)+fPer); break; } - if( (pszP = strstr( fmbuf, "" ) ) != NULL ){ + if( (pszP = strstr( fmbuf, "敏" ) ) != NULL ){ sscanf( pszP+2, "%d", &fPer ); - //趨ֵ + //设定修正值 CHAR_setWorkInt(index,CHAR_WORKFIXDEX,CHAR_getWorkInt(index,CHAR_WORKFIXDEX)+fPer); break; } - if( (pszP = strstr( fmbuf, "" ) ) != NULL ){ + if( (pszP = strstr( fmbuf, "体" ) ) != NULL ){ sscanf( pszP+2, "%d", &fPer ); - //趨ֵ + //设定修正值 CHAR_setWorkInt(index,CHAR_WORKMAXHP,CHAR_getWorkInt(index,CHAR_WORKMAXHP)+fPer); break; } break; case 6031: fmbuf = getFmWelfare(5); - if( (pszP = strstr( fmbuf, "" ) ) != NULL ){ + if( (pszP = strstr( fmbuf, "攻" ) ) != NULL ){ sscanf( pszP+2, "%d", &fPer ); - //趨ֵ + //设定修正值 CHAR_setWorkInt(index,CHAR_WORKFIXSTR,CHAR_getWorkInt(index,CHAR_WORKFIXSTR)+fPer); break; } - if( (pszP = strstr( fmbuf, "" ) ) != NULL ){ + if( (pszP = strstr( fmbuf, "防" ) ) != NULL ){ sscanf( pszP+2, "%d", &fPer ); - //趨ֵ + //设定修正值 CHAR_setWorkInt(index,CHAR_WORKFIXTOUGH,CHAR_getWorkInt(index,CHAR_WORKFIXTOUGH)+fPer); break; } - if( (pszP = strstr( fmbuf, "" ) ) != NULL ){ + if( (pszP = strstr( fmbuf, "敏" ) ) != NULL ){ sscanf( pszP+2, "%d", &fPer ); - //趨ֵ + //设定修正值 CHAR_setWorkInt(index,CHAR_WORKFIXDEX,CHAR_getWorkInt(index,CHAR_WORKFIXDEX)+fPer); break; } - if( (pszP = strstr( fmbuf, "" ) ) != NULL ){ + if( (pszP = strstr( fmbuf, "体" ) ) != NULL ){ sscanf( pszP+2, "%d", &fPer ); - //趨ֵ + //设定修正值 CHAR_setWorkInt(index,CHAR_WORKMAXHP,CHAR_getWorkInt(index,CHAR_WORKMAXHP)+fPer); break; } break; case 7031: fmbuf = getFmWelfare(6); - if( (pszP = strstr( fmbuf, "" ) ) != NULL ){ + if( (pszP = strstr( fmbuf, "攻" ) ) != NULL ){ sscanf( pszP+2, "%d", &fPer ); - //趨ֵ + //设定修正值 CHAR_setWorkInt(index,CHAR_WORKFIXSTR,CHAR_getWorkInt(index,CHAR_WORKFIXSTR)+fPer); break; } - if( (pszP = strstr( fmbuf, "" ) ) != NULL ){ + if( (pszP = strstr( fmbuf, "防" ) ) != NULL ){ sscanf( pszP+2, "%d", &fPer ); - //趨ֵ + //设定修正值 CHAR_setWorkInt(index,CHAR_WORKFIXTOUGH,CHAR_getWorkInt(index,CHAR_WORKFIXTOUGH)+fPer); break; } - if( (pszP = strstr( fmbuf, "" ) ) != NULL ){ + if( (pszP = strstr( fmbuf, "敏" ) ) != NULL ){ sscanf( pszP+2, "%d", &fPer ); - //趨ֵ + //设定修正值 CHAR_setWorkInt(index,CHAR_WORKFIXDEX,CHAR_getWorkInt(index,CHAR_WORKFIXDEX)+fPer); break; } - if( (pszP = strstr( fmbuf, "" ) ) != NULL ){ + if( (pszP = strstr( fmbuf, "体" ) ) != NULL ){ sscanf( pszP+2, "%d", &fPer ); - //趨ֵ + //设定修正值 CHAR_setWorkInt(index,CHAR_WORKMAXHP,CHAR_getWorkInt(index,CHAR_WORKMAXHP)+fPer); break; } break; case 8031: fmbuf = getFmWelfare(7); - if( (pszP = strstr( fmbuf, "" ) ) != NULL ){ + if( (pszP = strstr( fmbuf, "攻" ) ) != NULL ){ sscanf( pszP+2, "%d", &fPer ); - //趨ֵ + //设定修正值 CHAR_setWorkInt(index,CHAR_WORKFIXSTR,CHAR_getWorkInt(index,CHAR_WORKFIXSTR)+fPer); break; } - if( (pszP = strstr( fmbuf, "" ) ) != NULL ){ + if( (pszP = strstr( fmbuf, "防" ) ) != NULL ){ sscanf( pszP+2, "%d", &fPer ); - //趨ֵ + //设定修正值 CHAR_setWorkInt(index,CHAR_WORKFIXTOUGH,CHAR_getWorkInt(index,CHAR_WORKFIXTOUGH)+fPer); break; } - if( (pszP = strstr( fmbuf, "" ) ) != NULL ){ + if( (pszP = strstr( fmbuf, "敏" ) ) != NULL ){ sscanf( pszP+2, "%d", &fPer ); - //趨ֵ + //设定修正值 CHAR_setWorkInt(index,CHAR_WORKFIXDEX,CHAR_getWorkInt(index,CHAR_WORKFIXDEX)+fPer); break; } - if( (pszP = strstr( fmbuf, "" ) ) != NULL ){ + if( (pszP = strstr( fmbuf, "体" ) ) != NULL ){ sscanf( pszP+2, "%d", &fPer ); - //趨ֵ + //设定修正值 CHAR_setWorkInt(index,CHAR_WORKMAXHP,CHAR_getWorkInt(index,CHAR_WORKMAXHP)+fPer); break; } break; case 9031: fmbuf = getFmWelfare(8); - if( (pszP = strstr( fmbuf, "" ) ) != NULL ){ + if( (pszP = strstr( fmbuf, "攻" ) ) != NULL ){ sscanf( pszP+2, "%d", &fPer ); - //趨ֵ + //设定修正值 CHAR_setWorkInt(index,CHAR_WORKFIXSTR,CHAR_getWorkInt(index,CHAR_WORKFIXSTR)+fPer); break; } - if( (pszP = strstr( fmbuf, "" ) ) != NULL ){ + if( (pszP = strstr( fmbuf, "防" ) ) != NULL ){ sscanf( pszP+2, "%d", &fPer ); - //趨ֵ + //设定修正值 CHAR_setWorkInt(index,CHAR_WORKFIXTOUGH,CHAR_getWorkInt(index,CHAR_WORKFIXTOUGH)+fPer); break; } - if( (pszP = strstr( fmbuf, "" ) ) != NULL ){ + if( (pszP = strstr( fmbuf, "敏" ) ) != NULL ){ sscanf( pszP+2, "%d", &fPer ); - //趨ֵ + //设定修正值 CHAR_setWorkInt(index,CHAR_WORKFIXDEX,CHAR_getWorkInt(index,CHAR_WORKFIXDEX)+fPer); break; } - if( (pszP = strstr( fmbuf, "" ) ) != NULL ){ + if( (pszP = strstr( fmbuf, "体" ) ) != NULL ){ sscanf( pszP+2, "%d", &fPer ); - //趨ֵ + //设定修正值 CHAR_setWorkInt(index,CHAR_WORKMAXHP,CHAR_getWorkInt(index,CHAR_WORKMAXHP)+fPer); break; } break; case 10031: fmbuf = getFmWelfare(9); - if( (pszP = strstr( fmbuf, "" ) ) != NULL ){ + if( (pszP = strstr( fmbuf, "攻" ) ) != NULL ){ sscanf( pszP+2, "%d", &fPer ); - //趨ֵ + //设定修正值 CHAR_setWorkInt(index,CHAR_WORKFIXSTR,CHAR_getWorkInt(index,CHAR_WORKFIXSTR)+fPer); break; } - if( (pszP = strstr( fmbuf, "" ) ) != NULL ){ + if( (pszP = strstr( fmbuf, "防" ) ) != NULL ){ sscanf( pszP+2, "%d", &fPer ); - //趨ֵ + //设定修正值 CHAR_setWorkInt(index,CHAR_WORKFIXTOUGH,CHAR_getWorkInt(index,CHAR_WORKFIXTOUGH)+fPer); break; } - if( (pszP = strstr( fmbuf, "" ) ) != NULL ){ + if( (pszP = strstr( fmbuf, "敏" ) ) != NULL ){ sscanf( pszP+2, "%d", &fPer ); - //趨ֵ + //设定修正值 CHAR_setWorkInt(index,CHAR_WORKFIXDEX,CHAR_getWorkInt(index,CHAR_WORKFIXDEX)+fPer); break; } - if( (pszP = strstr( fmbuf, "" ) ) != NULL ){ + if( (pszP = strstr( fmbuf, "体" ) ) != NULL ){ sscanf( pszP+2, "%d", &fPer ); - //趨ֵ + //设定修正值 CHAR_setWorkInt(index,CHAR_WORKMAXHP,CHAR_getWorkInt(index,CHAR_WORKMAXHP)+fPer); break; } @@ -4621,7 +4621,7 @@ static void CHAR_initcharWorkInt( index ) char zuzhangmsg[256]; int i,playernum; playernum = CHAR_getPlayerMaxNum(); - sprintf(zuzhangmsg,"%sׯ%sҿȥΧۣ",MAP_getFloorName(fmfloor-1),CHAR_getChar(index,CHAR_NAME)); + sprintf(zuzhangmsg,"尊贵的%s庄主【%s】上线啦,大家快去围观!",MAP_getFloorName(fmfloor-1),CHAR_getChar(index,CHAR_NAME)); CHAR_setWorkInt( index, CHAR_WORKLOGININTYPE,1); for( i = 0 ; i < playernum ; i++) { @@ -4725,7 +4725,7 @@ int _CHAR_complianceParameter( int index, char *FILE, int LINE) } } -#ifdef _PROFESSION_SKILL // WON ADD ְҵ +#ifdef _PROFESSION_SKILL // WON ADD 人物职业技能 { int i; @@ -4734,7 +4734,7 @@ int _CHAR_complianceParameter( int index, char *FILE, int LINE) if( skillID <= 0 ) continue; - // + // 负重增加 if( skillID == 65 ){ PROFESSION_strong_back(index,NULL,65,NULL,NULL); break; @@ -4765,7 +4765,7 @@ int _CHAR_complianceParameter( int index, char *FILE, int LINE) || CHAR_getInt( index, CHAR_BECOMEPIG) > -1 #endif ){ - newimagenumber = oldimagenumber; //ָԭͼ + newimagenumber = oldimagenumber; //不恢复成原本的图 } #endif // Arminius 8.9 airplane @@ -4845,7 +4845,7 @@ int CHAR_complianceParameter2( int index) } } -#ifdef _PROFESSION_SKILL // WON ADD ְҵ +#ifdef _PROFESSION_SKILL // WON ADD 人物职业技能 { int i; @@ -4854,7 +4854,7 @@ int CHAR_complianceParameter2( int index) if( skillID <= 0 ) continue; - // + // 负重增加 if( skillID == 65 ){ PROFESSION_strong_back(index,NULL,65,NULL,NULL); break; @@ -4885,7 +4885,7 @@ int CHAR_complianceParameter2( int index) || CHAR_getInt( index, CHAR_BECOMEPIG) > -1 #endif ){ - newimagenumber = oldimagenumber; //ָԭͼ + newimagenumber = oldimagenumber; //不恢复成原本的图 } #endif // Arminius 8.9 airplane @@ -4925,24 +4925,24 @@ int CHAR_complianceParameter2( int index) } /*====================================================================== - ƽҷ¼ʧ ةë + 平乓仿及失奶 丞毛健丹楮醒 ======================================================================*/ -/*====================έ====================*/ +/*====================苇月====================*/ /*------------------------------------------------------------ - * ϶ƥ ƽҷέìë Ϸ - * ¦ - * charaindex int ƽҷ̼͵ - * dir int - * ߯Ի - * ئ + * 轾隙烂匹}公及 轾及平乓仿弁正卞苇月奶矛件玄毛 戏今六月 + * 娄醒 + * charaindex int 平乓仿奶件犯永弁旦 + * dir int 轾 + * 忒曰袄 + * 卅仄 ------------------------------------------------------------*/ void CHAR_Look( int charaindex, int dir ) { int fl ,x,y; OBJECT object; - /* ̼͵ */ + /* 奶件犯永弁旦及民尼永弁 */ if( CHAR_CHECKINDEX( charaindex ) == FALSE )return; if( dir < 0 ) { @@ -4951,7 +4951,7 @@ void CHAR_Look( int charaindex, int dir ) VALIDATEDIR(dir); if( CHAR_getInt( charaindex, CHAR_DIR) != dir ) { CHAR_setInt(charaindex,CHAR_DIR,dir); - /* ʧë˪ */ + /* 轾 晶仄凶失弁扑亦件毛霜耨允月 */ CHAR_sendWatchEvent(CHAR_getWorkInt(charaindex,CHAR_WORKOBJINDEX), CHAR_ACTTURN,NULL,0,TRUE); } @@ -4962,7 +4962,7 @@ void CHAR_Look( int charaindex, int dir ) CHAR_getInt(charaindex,CHAR_Y), 1, &x, &y ); - //CHAR_talkToCli( charaindex, -1, "ܻ", CHAR_COLORWHITE ); + //CHAR_talkToCli( charaindex, -1, "调查四周环境。", CHAR_COLORWHITE ); for( object=MAP_getTopObj(fl,x,y) ; object ; object = NEXT_OBJECT(object) ){ @@ -5002,10 +5002,10 @@ BOOL _CHAR_makeObjectCString( char *file, int line, int objindex,char* buf, int #ifdef _TRANS_6 #ifdef _TRANS_7 int namecolortbl[] = { CHAR_COLORWHITE, CHAR_COLORYELLOW, CHAR_COLORGREEN, - CHAR_COLORCYAN, CHAR_COLORRED, CHAR_COLORPURPLE, CHAR_COLORBLUE2,CHAR_COLORGREEN2,CHAR_COLORBLACK};//תɫ + CHAR_COLORCYAN, CHAR_COLORRED, CHAR_COLORPURPLE, CHAR_COLORBLUE2,CHAR_COLORGREEN2,CHAR_COLORBLACK};//转生後的颜色 #else int namecolortbl[] = { CHAR_COLORWHITE, CHAR_COLORYELLOW, CHAR_COLORGREEN, - CHAR_COLORCYAN, CHAR_COLORRED, CHAR_COLORPURPLE, CHAR_COLORBLUE2};//תɫ + CHAR_COLORCYAN, CHAR_COLORRED, CHAR_COLORPURPLE, CHAR_COLORBLUE2};//转生後的颜色 #endif #else int namecolortbl[] = { CHAR_COLORWHITE, CHAR_COLORYELLOW, CHAR_COLORGREEN, @@ -5030,7 +5030,7 @@ BOOL _CHAR_makeObjectCString( char *file, int line, int objindex,char* buf, int if( namecolor < 0 ) namecolor = 0; // shan add begin -#ifdef _NEW_NAME //Զƺ +#ifdef _NEW_NAME //自定义称号 char* szNewName = CHAR_getChar( charaindex, CHAR_NEWNAME); #endif @@ -5045,7 +5045,7 @@ BOOL _CHAR_makeObjectCString( char *file, int line, int objindex,char* buf, int if(strlen( CHAR_getChar( charaindex, CHAR_LOVE)) > 0 && strlen(CHAR_getChar(charaindex,CHAR_LOVERID))>0 && strlen(CHAR_getChar(charaindex,CHAR_LOVERNAME))>0) - sprintf(LoveName, "%s",CHAR_getChar( charaindex, CHAR_LOVERNAME)); + sprintf(LoveName, "§♂%s♀",CHAR_getChar( charaindex, CHAR_LOVERNAME)); #endif if( CHAR_getWorkInt(charaindex, CHAR_WORKFMINDEXI) >= 0 @@ -5114,8 +5114,8 @@ BOOL _CHAR_makeObjectCString( char *file, int line, int objindex,char* buf, int } */ #ifdef _OBJSEND_C - #ifdef _CHAR_PROFESSION // WON ADD ְҵ - #ifdef _ALLDOMAN // (ɿ) Syu ADD аNPC + #ifdef _CHAR_PROFESSION // WON ADD 人物职业 + #ifdef _ALLDOMAN // (不可开) Syu ADD 排行榜NPC snprintf( buf, buflen, "%d|%d|%s|%d|%d|%d|%d|%d|%d|%s|%s|%d|%d|%d|%s|%s|%d|%d|%d|%d|%d", #else snprintf( buf, buflen, "%d|%d|%s|%d|%d|%d|%d|%d|%d|%s|%s|%d|%d|%d|%s|%s|%d|%d|%d|%d", @@ -5151,14 +5151,14 @@ BOOL _CHAR_makeObjectCString( char *file, int line, int objindex,char* buf, int szNewTemp, makeEscapeString( petname, escapepetname, sizeof(escapepetname)), petlevel -#ifdef _CHAR_PROFESSION // WON ADD ְҵ - ,CHAR_getInt( charaindex, PROFESSION_CLASS) // ְҵ - ,CHAR_getInt( charaindex, PROFESSION_LEVEL) // ְҵȼ -// ,CHAR_getInt( charaindex, PROFESSION_EXP) // ְҵֵ - ,CHAR_getInt( charaindex, PROFESSION_SKILL_POINT) // ܵ +#ifdef _CHAR_PROFESSION // WON ADD 人物职业 + ,CHAR_getInt( charaindex, PROFESSION_CLASS) // 职业别 + ,CHAR_getInt( charaindex, PROFESSION_LEVEL) // 职业等级 +// ,CHAR_getInt( charaindex, PROFESSION_EXP) // 职业经验值 + ,CHAR_getInt( charaindex, PROFESSION_SKILL_POINT) // 技能点数 #endif -#ifdef _ALLDOMAN // (ɿ) Syu ADD аNPC - ,CHAR_getInt( charaindex, CHAR_HEROFLOOR ) // Ӣս¥ +#ifdef _ALLDOMAN // (不可开) Syu ADD 排行榜NPC + ,CHAR_getInt( charaindex, CHAR_HEROFLOOR ) // 英雄战场楼层 #endif #ifdef _PETSKILL_BECOMEPIG @@ -5365,7 +5365,7 @@ void CHAR_sendArroundCharaData( int charaindex ) if( OBJECT_getType(objindex) == OBJTYPE_CHARA && !CHAR_getFlg(OBJECT_getIndex(objindex), CHAR_ISVISIBLE) ){ if(!CHAR_CHECKINDEX(OBJECT_getIndex(objindex))){ - printf("Զɾһ"); + printf("自动删除一个问题对象!"); endObjectOne(objindex); } continue; @@ -5376,14 +5376,14 @@ void CHAR_sendArroundCharaData( int charaindex ) || CHAR_getInt( c_index, CHAR_WHICHTYPE ) >= CHAR_TYPELUANPC #endif ){ - /* έƽҷ»弰ئĸ CAë˪ */ + /* 苇尹凶平乓仿互醮棉汹五及褪卅日壬伉□母□ 憎CA毛霜月 */ if( CHAR_getWorkInt( c_index, CHAR_WORKPARTYMODE )== CHAR_PARTY_LEADER ){ if( CHAR_makeCAOPT1String( objindex, cabuf, sizeof( cabuf), CHAR_ACTLEADER,1 )) { CONNECT_appendCAbuf( fd,cabuf,strlen(cabuf)); } } // Robin 0611 trade - /* ɫ */ + /* 角色交易中 */ if( CHAR_getWorkInt( c_index, CHAR_WORKTRADEMODE ) != CHAR_TRADE_FREE ) { if( CHAR_makeCAOPT1String( objindex, cabuf, sizeof( cabuf), CHAR_ACTTRADE,1 )){ CONNECT_appendCAbuf( fd,cabuf,strlen(cabuf)); @@ -5535,7 +5535,7 @@ void CHAR_sendArroundCharaData( int charaindex ) if(strlen( c_msg[4]) > 0){ //print("\nc_msg[4]=%s,strpos[4]=%d\n",c_msg[4],strpos[4]); lssproto_C_send( fd, c_msg[4]); - }//޸˶ر + }//修复人多关闭外挂 } BOOL _CHAR_warpToSpecificPoint( char *file, int line, int charaindex, int floor, int x, int y) @@ -5575,7 +5575,7 @@ BOOL _CHAR_warpToSpecificPoint( char *file, int line, int charaindex, int floor, CHAR_setWorkInt( charaindex, CHAR_WORKENCOUNTPROBABILITY_MAX, per); } -#ifdef _PROFESSION_SKILL // WON ADD ְҵ +#ifdef _PROFESSION_SKILL // WON ADD 人物职业技能 CHAR_setWorkInt( charaindex, CHAR_ENCOUNT_FIX, 0); #endif @@ -5628,7 +5628,7 @@ BOOL _CHAR_warpToSpecificPoint( char *file, int line, int charaindex, int floor, CHAR_warpToSpecificPoint( petindex, floor, x, y ); } -#ifdef _STATUS_WATERWORD //ˮ״̬ +#ifdef _STATUS_WATERWORD //水世界状态 if( MAP_getMapFloorType( floor) == 1 ){ CHAR_setWorkInt( charaindex, CHAR_WORKMAPFLOORTYPE, 1); }else { @@ -5636,11 +5636,11 @@ BOOL _CHAR_warpToSpecificPoint( char *file, int line, int charaindex, int floor, } #endif #ifdef _MAP_TIME - // ĵͼЩŵĻ,趨 + // 如果进入的地图是这些编号的话,设定倒数 if(floor >= 30017 && floor <= 30021){ if(CHAR_getWorkInt(charaindex,CHAR_WORK_MAP_TIME) <= 0) CHAR_setWorkInt(charaindex,CHAR_WORK_MAP_TIME,60); } - // ĵͼ + // 如果进入正常的地图 else CHAR_setWorkInt(charaindex,CHAR_WORK_MAP_TIME,0); #endif @@ -5727,29 +5727,29 @@ void CHAR_Loop( void ) charcnt = CHAR_getCharNum(); } - // õloop + // 玩家用的loop for( i=0 ; i< playernum ; i++ ){ if( CHAR_getCharUse(i) == FALSE )continue; CHAR_walk_check( i ); CHAR_callLoop( i ); #ifdef _TEACHER_SYSTEM - // лõʦ + // 有获得导师声望 if(CHAR_getWorkInt(i,CHAR_WORK_GET_TEACHER_FAME) > 0){ int iAddTFame = CHAR_getInt(i,CHAR_TEACHER_FAME) + CHAR_getWorkInt(i,CHAR_WORK_GET_TEACHER_FAME); int iAddFame = CHAR_getInt(i,CHAR_FAME) + CHAR_getWorkInt(i,CHAR_WORK_GET_TEACHER_FAME); - // ӵʦ(ʦֵ͸ֵһ) + // 加导师声望(导师声望最大值和个人声望最大值一样) if(iAddTFame > MAX_PERSONALFAME) iAddTFame = MAX_PERSONALFAME; else if(iAddTFame < 0) iAddTFame = 0; CHAR_setInt(i,CHAR_TEACHER_FAME,iAddTFame); - // + // 加声望 if(iAddFame > MAX_PERSONALFAME) iAddFame = MAX_PERSONALFAME; else if(iAddFame < 0) iAddFame = 0; CHAR_setInt(i,CHAR_FAME,iAddFame); - // Ϊ 0 + // 清为 0 CHAR_setWorkInt(i,CHAR_WORK_GET_TEACHER_FAME,0); - // м,ϴacֶͬ + // 若有家族,上传给ac保持二边资料同步 if(CHAR_getInt(i,CHAR_FMLEADERFLAG) > 0 && CHAR_getInt(i,CHAR_FMLEADERFLAG) != FMMEMBER_APPLY){ char tmpbuf1[16]; @@ -5759,8 +5759,8 @@ void CHAR_Loop( void ) CHAR_getInt(i,CHAR_FMINDEX), CHAR_getWorkInt(i,CHAR_WORKFMINDEXI), FM_FIX_FMFEED, - "0", // ֻΪͬ,Ϊ0, - tmpbuf1, // ͬ + "0", // 只是为了同步资料,所以设为0,不动到家族的资料 + tmpbuf1, // 同步个人声望资料 CHAR_getWorkInt(i,CHAR_WORKFMCHARINDEX), CONNECT_getFdid(getfdFromCharaIndex(i)) ); @@ -5790,7 +5790,7 @@ void CHAR_Loop( void ) } } #else - // Objectõloop + // 玩家以外的Object用的loop for( i = 0, movecnt = 0 ; i < (petnum/2) ; i++, charcnt++ ){ if( charcnt >= charnum )charcnt = playernum ; if( CHAR_getCharUse(charcnt) == FALSE )continue; @@ -5823,10 +5823,10 @@ char* CHAR_appendNameAndTitle( int charaindex, char* src, char* buf, } #endif if( titleindex == -1 ) - snprintf( buf,buflen, "%s%s", + snprintf( buf,buflen, "%s:%s", indexname, src ); else - snprintf( buf,buflen, "%s(%s)%s", + snprintf( buf,buflen, "%s(%s):%s", indexname, TITLE_makeTitleStatusString(charaindex, titleindex), src ); @@ -5875,7 +5875,7 @@ BOOL CHAR_createCharacter( int type, int floor, int x, int y,int dir, } CHAR_setWorkInt( *charaindex,CHAR_WORKOBJINDEX,*objindex); - /* ë浤 */ + /* 生永玄伐□弁毛垫丹 */ CHAR_sendWatchEvent( *objindex,CHAR_ACTSTAND,NULL,0,TRUE); @@ -5899,22 +5899,22 @@ void CHAR_ObjectDelete( int objindex ) } /*------------------------------------------------------------ - * ƽҷë£Ƥִ£ - * ͼ֧Իëئ׻ּ - * ¦ - * charaindex int ƽҷ̼͵ - * ߯Ի - * ئ + * 平乓仿毛绰轮允月[左皮斥尼弁玄手绰轮允月[ + * 生永玄伐□弁及支曰酸仄毛卅仁允凶户及手及 + * 娄醒 + * charaindex int 平乓仿奶件犯永永弁旦 + * 忒曰袄 + * 卅仄 ------------------------------------------------------------*/ void CHAR_CharaDelete( int charaindex ) { - /* Ƥë */ + /* 左皮斥尼弁玄毛绰轮 */ CHAR_ObjectDelete( CHAR_getWorkInt( charaindex,CHAR_WORKOBJINDEX ) ); - /* ƽҷ¼ */ + /* 平乓仿及绰轮 */ CHAR_endCharOneArray( charaindex ); } /*------------------------------------------------------------ - * Ȼʸë + * 皿伊奶乩□及 匀化中月矢永玄毛壅允 ------------------------------------------------------------*/ void CHAR_CharaDeleteHavePet( int charaindex) { @@ -5935,13 +5935,13 @@ void CHAR_CharaDeleteHavePet( int charaindex) } } /*------------------------------------------------------------ - * ئë £ - * mode int 0: б巴CA˪ئ - * 1: бCA˪ + * 减变升啼卅升毛 蜇允月[ + * mode int 0: 愤坌卞反CA霜日卅中 + * 1: 愤坌卞手CA霜月 ------------------------------------------------------------*/ int CHAR_sendAction( int charaindex, int action, int mode) { - /* ˪ľ ʧCAë۽ Ƥ */ + /* 霜日木化 凶失弁扑亦件午CA毛域谯今六月 □皮伙 */ static int table[] = { CHAR_ACTATTACK,CHAR_ACTDAMAGE,CHAR_ACTDOWN,CHAR_ACTACTIONSTAND, CHAR_ACTACTIONWALK,CHAR_ACTSIT,CHAR_ACTHAND,CHAR_ACTPLEASURE, @@ -5949,19 +5949,19 @@ int CHAR_sendAction( int charaindex, int action, int mode) }; if( action < 0 || action >= arraysizeof( table)) return FALSE; - /* Իʧë˪ */ + /* 璃曰卞失弁扑亦件毛霜耨允月 */ CHAR_sendWatchEvent( CHAR_getWorkInt( charaindex, CHAR_WORKOBJINDEX), table[action], NULL,0,mode); - /* ʧ */ + /* 失弁扑亦件及瓒 */ CHAR_setWorkInt( charaindex, CHAR_WORKACTION, table[action]); return TRUE; } /*------------------------------------------------------------ - * л ƥؤеë˪£ + * 愤坌互爵 匹丐月午中丹仪毛霜耨允月[ ------------------------------------------------------------*/ void CHAR_sendBattleEffect( int charaindex, int onoff) { @@ -5986,7 +5986,7 @@ void CHAR_sendBattleEffect( int charaindex, int onoff) } /*------------------------------------------------------------ - * дѶϢ add code Shan 2001/06/30 + * 交易中传送讯息 add code Shan 2001/06/30 ------------------------------------------------------------*/ void CHAR_sendTradeEffect( int charaindex, int onoff) { @@ -6056,7 +6056,7 @@ void CHAR_inputUserPetName( int index , int havepetindex, char* name ) if( !CHAR_CHECKINDEX( petindex)) return; if (CHAR_getInt(petindex, CHAR_PETFAMILY) == 1){ - CHAR_talkToCli(index, -1, "ػ޷޸֣", CHAR_COLORYELLOW); + CHAR_talkToCli(index, -1, "家族守护兽无法修改名字!", CHAR_COLORYELLOW); return; } @@ -6070,7 +6070,7 @@ void CHAR_inputUserPetName( int index , int havepetindex, char* name ) } } if( !changenameflg) { - CHAR_talkToCli( index, -1, "޷Ϊ", CHAR_COLORYELLOW ); + CHAR_talkToCli( index, -1, "无法为宠物命名。", CHAR_COLORYELLOW ); return; } @@ -6106,7 +6106,7 @@ static void CHAR_setLuck( int charaindex) RealTimeToLSTime( NowTime.tv_sec, &nowlstime); RealTimeToLSTime( CHAR_getInt( charaindex, CHAR_LASTTIMESETLUCK), &mylstime); - /* LSƥ ȻľCHAR_LUCKëޥ */ + /* LS凛棉匹ㄠ 动晓烦匀化中木壬CHAR_LUCK毛凳蕙允月 */ if( nowlstime.day != mylstime.day || nowlstime.year != mylstime.year ) { int i,r; r = RAND( 0, 99); @@ -6124,10 +6124,10 @@ void CHAR_JoinBattle_WindowResult( int charaindex, int select, char *data) int ret = FALSE; int fd = getfdFromCharaIndex( charaindex); -#if 1 // òսظս Robin +#if 1 // 修正利用参战重复加入战斗 Robin if( CHAR_getWorkInt( charaindex, CHAR_WORKBATTLEMODE) != BATTLE_CHARMODE_NONE) { - CHAR_talkToCli( charaindex, -1, " ظս! ", CHAR_COLORRED); - print("\n ķ!!ظս!:%s ", CHAR_getChar( charaindex, CHAR_CDKEY) ); + CHAR_talkToCli( charaindex, -1, " 重复加入战斗! ", CHAR_COLORRED); + print("\n 改封包!!重复加入战斗!:%s ", CHAR_getChar( charaindex, CHAR_CDKEY) ); //lssproto_EN_send( fd, FALSE, 0 ); return; } @@ -6167,7 +6167,7 @@ void CHAR_JoinBattle_WindowResult( int charaindex, int select, char *data) } if( BATTLE_RescueEntry( charaindex, CONNECT_getBattlecharaindex(fd,selected) )){ - CHAR_talkToCli( charaindex, -1, "޷ս", + CHAR_talkToCli( charaindex, -1, "无法参战。", CHAR_COLORYELLOW); }else { ret = TRUE; @@ -6186,63 +6186,63 @@ void CHAR_JoinDuel_WindowResult( int charaindex, int select, char *data) { int ret = FALSE; int fd = getfdFromCharaIndex( charaindex); - /* ֵպ */ + /* 手丹域蘸民尼永弁允月 */ if( select != WINDOW_BUTTONTYPE_CANCEL && CHAR_getWorkInt( charaindex, CHAR_WORKPARTYMODE) != CHAR_PARTY_CLIENT ) { - /* мƥպë */ + /* 生旦玄互丹匀午云仄中及匹ㄠ蘸分仃伙□皿毛银丹 */ while( 1 ) { int selected; int enemyindex; if( fd == -1 ) break; selected = atoi( data)-1; - /* ئindex */ + /* 躲卅index井 */ if( !CHAR_CHECKINDEX( CONNECT_getDuelcharaindex(fd,selected)) ) { break; } - /* */ + /* 爵 井升丹井 */ if( CHAR_getWorkInt( CONNECT_getDuelcharaindex(fd,selected), CHAR_WORKBATTLEMODE) != BATTLE_CHARMODE_NONE) { break; } - /* duelھ */ + /* duel第井 */ if( !CHAR_getFlg( CONNECT_getDuelcharaindex(fd,selected), CHAR_ISDUEL)) { break; } - /* ڶ ¾(ūƥ ƻޱ ¿) */ + /* ㄠ汹动 卞中月井(它奴件玉它匹 中宁歹六仄化月棉卞 仃月啃) */ if(NPC_Util_CharDistance( charaindex, CONNECT_getDuelcharaindex(fd,selected) ) > 1) { break; } - // 󡼰ƽҷ¼̼͵ + // 及蟆及平乓仿及奶件犯永弁旦 enemyindex = CONNECT_getDuelcharaindex( fd,selected); print("\nenemyindex=%d\n",enemyindex); - // 컥ئչ޼» - // Ҽئëƥ + // 锹澎互褪卅日公及引引巨件市它件玄今六月互 + // 阂间卅日褪毛裟氏匹仁月 if( CHAR_getWorkInt( enemyindex, CHAR_WORKPARTYMODE ) == CHAR_PARTY_CLIENT ) { enemyindex = CHAR_getWorkInt( enemyindex, CHAR_WORKPARTYINDEX1 ); - // ئ⾮ʻئ + // 卅兮井褪互中卅中 if( enemyindex < 0 ){ break; } } - /* 컥ƥئؤ */ + /* 锹澎互皿伊奶乩□匹卅中仪手丐月 */ if( CHAR_getInt( enemyindex, CHAR_WHICHTYPE) != CHAR_TYPEPLAYER){ break; } ret = BATTLE_CreateVsPlayer( charaindex, enemyindex ); if( ret != 0 ){ CHAR_talkToCli( charaindex, -1, - "ʧܣ", CHAR_COLORYELLOW); + "遭遇失败!", CHAR_COLORYELLOW); ret = FALSE; } else { @@ -6252,7 +6252,7 @@ void CHAR_JoinDuel_WindowResult( int charaindex, int select, char *data) } } if( ret == FALSE ) { - /* ˪ */ + /* 瑛绊霜耨 */ if( fd != -1 ) { lssproto_EN_send( fd, FALSE, 0 ); } @@ -6296,12 +6296,12 @@ void CHAR_JoinParty_WindowResult( int charaindex , int select, char *data) { int ret = FALSE; int fd = getfdFromCharaIndex( charaindex); - /* ֵպ */ + /* 手丹域蘸民尼永弁允月 */ if( select != WINDOW_BUTTONTYPE_CANCEL && - /* лɡ ū׬ƥ */ + /* 愤坌互由□ 奴赚氏匹凶日蛲 */ CHAR_getWorkInt( charaindex, CHAR_WORKPARTYMODE) == CHAR_PARTY_NONE ) { - /* мƥպë */ + /* 生旦玄互丹匀午云仄中及匹ㄠ蘸分仃伙□皿毛银丹 */ while( 1 ) { int parray; int selected; @@ -6309,15 +6309,15 @@ void CHAR_JoinParty_WindowResult( int charaindex , int select, char *data) if( fd == -1 ) break; selected = atoi( data)-1; - /* ئindex - * (ۢūƥ ƻޱ - * ئindexئµ 뻥ؤ) + /* 躲卅index井 + * (褐邰“它奴件玉它匹 中宁歹六仄化月棉卞 + * 躲卅index卞卅月第 岭互丐月) */ if( !CHAR_CHECKINDEX( CONNECT_getJoinpartycharaindex(fd,selected))) { break; } - /* ʻ¦ȽԻ */ + /* 褪互中凶日娄匀舰曰请允 */ if( CHAR_getWorkInt( CONNECT_getJoinpartycharaindex( fd,selected), CHAR_WORKPARTYMODE) == CHAR_PARTY_NONE ) @@ -6332,35 +6332,35 @@ void CHAR_JoinParty_WindowResult( int charaindex , int select, char *data) break; } } - /* ڶ ¾(ūƥ ƻޱ ¿) */ + /* ㄠ汹动 卞中月井(它奴件玉它匹 中宁歹六仄化月棉卞 仃月啃) */ if( NPC_Util_CharDistance( charaindex, toindex ) > 1) { break; } - /* ֻ */ + /* 爵 反分户 */ if( CHAR_getWorkInt( toindex, CHAR_WORKBATTLEMODE) != BATTLE_CHARMODE_NONE) { break; } - /* ޸ƹ */ + /* 醮棉袱第乒□玉井 */ if( !CHAR_getFlg( toindex, CHAR_ISPARTY)) { break; } - /* ɡ ūѷ */ + /* 锹澎由□ 奴及谛醒反 井" */ parray = CHAR_getEmptyPartyArray( toindex) ; if( parray == -1 ) break; - /* ɡ ū */ + /* 由□ 奴卞 日六月 */ CHAR_JoinParty_Main( charaindex, toindex); ret = TRUE; break; } } if( ret == FALSE ) { - CHAR_talkToCli( charaindex, -1, "޷Ŷӡ", + CHAR_talkToCli( charaindex, -1, "无法加入团队。", CHAR_COLORYELLOW); } - /* ˪ */ + /* 瑛绊霜耨 */ if( fd != -1 ) { lssproto_PR_send( fd, 1, ret); } @@ -6369,29 +6369,29 @@ void CHAR_JoinBattleWatch_WindowResult( int charaindex, int select, char *data) { int ret = FALSE; int fd = getfdFromCharaIndex( charaindex); - /* ֵպ */ + /* 手丹域蘸民尼永弁允月 */ if( select != WINDOW_BUTTONTYPE_CANCEL ) { - /* мƥպë */ + /* 生旦玄互丹匀午云仄中及匹ㄠ蘸分仃伙□皿毛银丹 */ while( 1 ) { int selected; if( fd == -1 ) break; selected = atoi( data)-1; - /* ئindex - * (ۢūƥ ƻޱ - * ئindexئµ 뻥ؤ) + /* 躲卅index井 + * (褐邰“它奴件玉它匹 中宁歹六仄化月棉卞 + * 躲卅index卞卅月第 岭互丐月) */ if( !CHAR_CHECKINDEX( CONNECT_getBattlecharaindex(fd,selected))) { break; } - /* */ + /* 爵 井升丹井 */ if( CHAR_getWorkInt( CONNECT_getBattlecharaindex(fd,selected), CHAR_WORKBATTLEMODE) == BATTLE_CHARMODE_NONE) { break; } - /* ڶ ¾(ūƥ ƻޱ ¿) */ + /* ㄠ汹动 卞中月井(它奴件玉它匹 中宁歹六仄化月棉卞 仃月啃) */ if(NPC_Util_CharDistance( charaindex, CONNECT_getBattlecharaindex( fd,selected) ) @@ -6399,12 +6399,12 @@ void CHAR_JoinBattleWatch_WindowResult( int charaindex, int select, char *data) { break; } - /* ޼ */ + /* 巨件玄伉□今六月 */ if( BATTLE_WatchEntry( charaindex, CONNECT_getBattlecharaindex(fd,selected) )) { - CHAR_talkToCli( charaindex, -1, "޷ս", + CHAR_talkToCli( charaindex, -1, "无法观战。", CHAR_COLORYELLOW); } else { @@ -6415,7 +6415,7 @@ void CHAR_JoinBattleWatch_WindowResult( int charaindex, int select, char *data) } } if( ret == FALSE ) { - /* ˪ */ + /* 瑛绊霜耨 */ if( fd != -1 ) { lssproto_EN_send( fd, FALSE, 0 ); } @@ -6472,12 +6472,12 @@ void CHAR_processWindow(int charaindex, int seqno, int select, else if( seqno == CHAR_WINDOWTYPE_NULL_CHECK ){ int value=atoi(data); if(value<0){ - CHAR_talkToCli( charaindex, -1, "֧ƱֵС,ٷ,װл!", CHAR_COLORYELLOW ); + CHAR_talkToCli( charaindex, -1, "支票面值不能小于零,如有再犯,装清空你身上所有积分!", CHAR_COLORYELLOW ); return; } if(CHAR_getInt( charaindex , CHAR_AMPOINT)= CHAR_TYPELUANPC) @@ -6742,7 +6742,7 @@ static void CHAR_setMyPosition_sendData( int charaindex,int prev_x, int prev_y, != BATTLE_CHARMODE_NONE ) #endif { - /* CA */ + /* 棋爵CA */ if( CHAR_getWorkInt( c_index, CHAR_WORKBATTLEWATCH) == TRUE ) { if( CHAR_makeCAOPT1String( CurrentObjCollection[i], cabuf, sizeof( cabuf), @@ -6761,7 +6761,7 @@ static void CHAR_setMyPosition_sendData( int charaindex,int prev_x, int prev_y, CHAR_WORKBATTLEINDEX)].Side[ CHAR_getWorkInt( c_index, CHAR_WORKBATTLESIDE)].flg & BSIDE_FLG_HELP_OK) ? TRUE:FALSE; - /* HelpNo = 1 */ + /* HelpNo = 1 反移 */ if( CHAR_makeCAOPT3String( CurrentObjCollection[i], cabuf, sizeof( cabuf), CHAR_ACTBATTLE, battleno,sideno,helpno @@ -6771,7 +6771,7 @@ static void CHAR_setMyPosition_sendData( int charaindex,int prev_x, int prev_y, } } } - /* έƽҷ»Ͼʧëƻľ˪£ */ + /* 苇尹凶平乓仿互窒井及失弁扑亦件毛仄化中木壬霜月[ */ if( ( CHAR_getInt( c_index, CHAR_WHICHTYPE ) == CHAR_TYPEPLAYER || CHAR_getInt( c_index, CHAR_WHICHTYPE ) == CHAR_TYPEPET ) && CHAR_getWorkInt( c_index, CHAR_WORKACTION ) != -1 ) @@ -6790,13 +6790,13 @@ static void CHAR_setMyPosition_sendData( int charaindex,int prev_x, int prev_y, lssproto_C_send( fd, c_msg); } - /* мCD */ + /* 愤坌及CD综岳 */ cnv10to62( objindex,cd_msg, sizeof(cd_msg)); for( i = 0 ; i < prevcnt; i ++ ) { int findflg = FALSE; - /* 󡼰 Ƥƥػ ئ - * ƤئƤ + /* 蟆及匏 卞中月左皮斥尼弁玄匹]蜇箕及甄 卞中卅中 + * 左皮斥尼弁玄卅日壅允屯五左皮斥尼弁玄分 */ for( j = 0; j < curcnt; j ++ ) { if( PrevObjCollection[i] == CurrentObjCollection[j] ) { @@ -6808,7 +6808,7 @@ static void CHAR_setMyPosition_sendData( int charaindex,int prev_x, int prev_y, cnv10to62( PrevObjCollection[i], buf, sizeof( buf)); CONNECT_appendCDbuf( fd, buf, strlen( buf)); - /* ˪ */ + /* 锹澎卞手 霜月 */ if( OBJECT_getType( PrevObjCollection[i]) == OBJTYPE_CHARA ) { int tocharaindex = OBJECT_getIndex( PrevObjCollection[i]); if( CHAR_getInt( tocharaindex, CHAR_WHICHTYPE) == CHAR_TYPEPLAYER) { @@ -7047,7 +7047,7 @@ static char *CHAR_make_P_StatusString( int charaindex, unsigned int indextable ) } } if( !found) { - print( "ҲָIJ[%d]\n",indextable); + print( "找不到指定的参数[%d]\n",indextable); }else { strcpysafe( &CHAR_P_statusSendBuffer[ strlength], sizeof( CHAR_P_statusSendBuffer) - strlength, @@ -7157,7 +7157,7 @@ static char *CHAR_make_P_StatusString_Point( int charaindex, unsigned int indext } } if( !found) { - print( "ҲָIJ[%d]\n",indextable); + print( "找不到指定的参数[%d]\n",indextable); }else { strcpysafe( &CHAR_P_statusSendBuffer[ strlength], sizeof( CHAR_P_statusSendBuffer) - strlength, @@ -7266,7 +7266,7 @@ static char *CHAR_make_P_StatusString_Fame( int charaindex, unsigned int indexta } } if( !found) { - print( "ҲָIJ[%d]\n",indextable); + print( "找不到指定的参数[%d]\n",indextable); }else { strcpysafe( &CHAR_P_statusSendBuffer[ strlength], sizeof( CHAR_P_statusSendBuffer) - strlength, @@ -7376,7 +7376,7 @@ static char *CHAR_make_P_StatusString_AMPOINT( int charaindex, unsigned int inde } } if( !found) { - print( "ҲָIJ[%d]\n",indextable); + print( "找不到指定的参数[%d]\n",indextable); }else { strcpysafe( &CHAR_P_statusSendBuffer[ strlength], sizeof( CHAR_P_statusSendBuffer) - strlength, @@ -7482,7 +7482,7 @@ static char *CHAR_make_P_StatusString_VIGOR( int charaindex, unsigned int indext } } if( !found) { - print( "ҲָIJ[%d]\n",indextable); + print( "找不到指定的参数[%d]\n",indextable); }else { strcpysafe( &CHAR_P_statusSendBuffer[ strlength], sizeof( CHAR_P_statusSendBuffer) - strlength, @@ -7633,10 +7633,10 @@ BOOL CHAR_send_P_StatusString_VIGOR( int charaindex, unsigned int indextable ) #endif static char CHAR_N_statusSendBuffer[STRINGBUFSIZ]; /*------------------------------------------------------------ - * ͷʧ˪ ٯ ë£ - * ¦ - * charaindex int ƽҷ̼ - * indextable int P ë˪ɷ¶ + * 弁仿奶失件玄卞霜月 { 及 侬 毛综岳允月[ + * 娄醒 + * charaindex int 平乓仿奶件犯弁永旦 + * indextable int P 毛霜月由仿丢□正及螂宁 [ *------------------------------------------------------------*/ static char *CHAR_make_N_StatusString( int charaindex, int num, unsigned int indextable ) { @@ -7659,17 +7659,17 @@ static char *CHAR_make_N_StatusString( int charaindex, int num, unsigned int ind }; - /* ޵ */ - /* */ + /* 醮棉旦 □正旦犯□正 */ + /* 凝民尼永弁 */ if( num < 0 || num >= CHAR_PARTYMAX ){ - print( "ģʽʧ (%c)%d \n", num, num ); + print( "朋友模式失败 (%c)%d \n", num, num ); return "\0"; } - /* ޼̼͵ë */ + /* 醮棉及奶件犯永弁旦毛潸 */ nindex = CHAR_getPartyIndex( charaindex, num); if( nindex == -1 ){ - /* ֧ snprintf */ + /* 鬼支仃升 snprintf 允月 */ snprintf( CHAR_N_statusSendBuffer,sizeof(CHAR_N_statusSendBuffer), "N%d|0|", num ); return CHAR_N_statusSendBuffer; @@ -7679,16 +7679,16 @@ static char *CHAR_make_N_StatusString( int charaindex, int num, unsigned int ind "N%d|%s|", num,cnv10to62( indextable, buf,sizeof(buf))); strlength = strlen( CHAR_N_statusSendBuffer ); - /* indextable ƥ Ȼë Ʃ */ + /* indextable及 匹 匀化中月申永玄毛赐 卞譬屯月 */ for( i = 1; i < sizeof( int) * 8; i ++ ){ if( indextable & (1 << i) ) { char tmp[256]; BOOL found = FALSE; - /* Ȼchk¾Ʃ */ + /* 匀化中月申永玄午]chk卞甲永玄允月井譬屯月 */ for( j = 0; j < arraysizeof( chk); j ++ ) { if( chk[j].kind == 1 << i ) { - /* ׼ƥë */ - /* Ѱ̼ */ + /* 域谯仄凶及匹袄毛潸 允月 */ + /* 醒袄烟及犯□正 */ if( chk[j].gettype == 0 ) { ret = CHAR_getInt( nindex,chk[j].intdataindex); snprintf( tmp, sizeof( tmp), "%d|", ret); @@ -7706,7 +7706,7 @@ static char *CHAR_make_N_StatusString( int charaindex, int num, unsigned int ind if( ret < 0) ret = 0; snprintf( tmp, sizeof( tmp), "%d|", ret); } - /* ٯ ̼ */ + /* 侬 烟及犯□正 */ else if( chk[j].gettype == 2 ) { char escapebuffer[128]; char *a = CHAR_getChar( nindex, chk[j].intdataindex); @@ -7721,12 +7721,12 @@ static char *CHAR_make_N_StatusString( int charaindex, int num, unsigned int ind break; } } - /* ְ󼰷ľئ */ + /* 职及正奶皿及犯□正井手仄木卅中 */ if( !found) { - /* շ๴๴ */ + /* 仇仇井日反ㄠ勾ㄠ勾 */ } if( !found) { - print( "ҲָIJ[%d]\n",indextable); + print( "找不到指定的参数[%d]\n",indextable); } else { strcpysafe( &CHAR_N_statusSendBuffer[ strlength], @@ -7743,14 +7743,14 @@ static char *CHAR_make_N_StatusString( int charaindex, int num, unsigned int ind return CHAR_N_statusSendBuffer; } /*------------------------------------------------------------ - * S P ë˪£¼ƥƥئʻУ - * ¦ - * charaindex int ƽҷ̼ - * num int į - * indextable int P ë˪ɷ¶ - * ߯Ի - * ˪ףTRUE(1) - * ˪ľئףFALSE(0) + * S P 旦 □正旦毛霜月[民尼永弁允月及匹}晓匹反民尼永弁仄卅仁化方中[ + * 娄醒 + * charaindex int 平乓仿奶件犯弁永旦 + * num int 醮棉 寞 + * indextable int P 毛霜月由仿丢□正及螂宁 [ + * 忒曰袄 + * 霜匀凶[TRUE(1) + * 霜木卅井匀凶[FALSE(0) *------------------------------------------------------------*/ BOOL CHAR_send_N_StatusString( int charaindex, int num, unsigned int indextable ) { @@ -7809,15 +7809,15 @@ static char *CHAR_make_K_StatusString( int charaindex, int num, unsigned int ind { CHAR_K_STRING_USERPETNAME, CHAR_USERPETNAME, 2 }, }; - /* */ + /* 凝民尼永弁 */ if( num < 0 || num >= CHAR_MAXPETHAVE ){ - print( "ģʽʧ (%c)%d \n", num, num ); + print( "宠物模式失败 (%c)%d \n", num, num ); return "\0"; } - /* ʸ̼͵ë */ + /* 矢永玄及奶件犯永弁旦毛潸 */ pindex = CHAR_getCharPet( charaindex, num ); if( pindex == -1 ){ - /* ֧ snprintf */ + /* 鬼支仃升 snprintf 允月 */ snprintf(CHAR_K_statusSendBuffer,sizeof(CHAR_K_statusSendBuffer), "K%d|0|", num ); return CHAR_K_statusSendBuffer; @@ -7850,7 +7850,7 @@ static char *CHAR_make_K_StatusString( int charaindex, int num, unsigned int ind if( ret < 0) ret = 0; snprintf( tmp, sizeof( tmp), "%d|", ret); } - /* ٯ ̼ */ + /* 侬 烟及犯□正 */ else if( chk[j].gettype == 2 ) { char escapebuffer[128]; char *a = CHAR_getChar( pindex, chk[j].intdataindex); @@ -7891,7 +7891,7 @@ static char *CHAR_make_K_StatusString( int charaindex, int num, unsigned int ind } } if( !found) { - print( "ҲָIJ[%d]\n",indextable); + print( "找不到指定的参数[%d]\n",indextable); }else { strcpysafe( &CHAR_K_statusSendBuffer[ strlength], sizeof( CHAR_K_statusSendBuffer) - strlength, @@ -7907,13 +7907,13 @@ static char *CHAR_make_K_StatusString( int charaindex, int num, unsigned int ind return CHAR_K_statusSendBuffer; } /*------------------------------------------------------------ - * S K ë˪£¼ƥƥئʻУ - * ¦ - * charaindex int ƽҷ̼ - * indextable int P ë˪ɷ¶ - * ߯Ի - * ˪ףTRUE(1) - * ˪ľئףFALSE(0) + * S K 旦 □正旦毛霜月[民尼永弁允月及匹}晓匹反民尼永弁仄卅仁化方中[ + * 娄醒 + * charaindex int 平乓仿奶件犯弁永旦 + * indextable int P 毛霜月由仿丢□正及螂宁 [ + * 忒曰袄 + * 霜匀凶[TRUE(1) + * 霜木卅井匀凶[FALSE(0) *------------------------------------------------------------*/ BOOL CHAR_send_K_StatusString( int charaindex, int num, unsigned int indextable ) { @@ -7942,19 +7942,19 @@ BOOL CHAR_send_K_StatusString( int charaindex, int num, unsigned int indextable //------------------------------------------------------------ -// ëң +// 皿伊奶乩□及 毛笛遥 //------------------------------------------------------------ void CHAR_AddCharm( int charaindex, int iValue ) { int iWork; iWork = CHAR_getInt( charaindex, CHAR_CHARM ) + iValue; - iWork = max( 0, iWork ); // - iWork = min( 100, iWork ); // ߨ + iWork = max( 0, iWork ); // 凝ㄟ + iWork = min( 100, iWork ); // ㄠㄟㄟ CHAR_setInt( charaindex, CHAR_CHARM, iWork ); } //------------------------------------------------------------ -// ʸպ ëң£ +// 矢永玄及镝擦蘸 祭袄毛笛遥允月[ //------------------------------------------------------------ void CHAR_PetAddVariableAi( int petindex, int iValue ) { @@ -7967,7 +7967,7 @@ void CHAR_PetAddVariableAi( int petindex, int iValue ) } //------------------------------------------------------------ -// ì ƽ ë£ +// 犯□正矛□旦卞瓒 允月平□ 蟆 毛综岳允月[ //------------------------------------------------------------ int CHAR_makeDBKey( int charaindex, char *pszBuffer, int size ){ @@ -7975,12 +7975,12 @@ int CHAR_makeDBKey( int charaindex, char *pszBuffer, int size ){ char buff[512]; char escapebuf[1024]; - pszBuffer[0] = 0; // + pszBuffer[0] = 0; // 赓渝祭 cdkey = CHAR_getChar( charaindex, CHAR_CDKEY); - if( cdkey == "\0" )return FALSE; // ƥئ + if( cdkey == "\0" )return FALSE; // 瓒 匹五卅中 if( CHAR_CHECKINDEX( charaindex ) == FALSE )return FALSE; - // ƽ cdkey_ + // 平□反 cdkey_ 蟆 snprintf( buff, sizeof(buff), "%s_%s", cdkey, CHAR_getChar( charaindex, CHAR_NAME ) ); makeEscapeString( buff, escapebuf, sizeof(escapebuf)); @@ -7992,9 +7992,9 @@ int CHAR_makeDBKey( int charaindex, char *pszBuffer, int size ){ //------------------------------------------------------------ // -// ì ëޥ +// 犯□正矛□旦及嫩 毛凳蕙 // -// DuelPoint DBUpdateEntryë˪ +// DuelPoint 及 DBUpdateEntry毛霜月 //------------------------------------------------------------ BOOL CHAR_send_DpDBUpdate( int charaindex ) { @@ -8008,7 +8008,7 @@ BOOL CHAR_send_DpDBUpdate( int charaindex ) if( fd != -1 ) { char info[512]; //char escapebuff[1024]; - /* "ȼսʤܣʤʤ" */ + /* "等级|几战|几胜|几败|几连胜|最高连胜数" */ snprintf( info, sizeof( info), "%d,%d,%d,%d,%d,%d", CHAR_getInt( charaindex, CHAR_LV), @@ -8046,7 +8046,7 @@ char *CHAR_getUseName( int charaindex ) char *CHAR_getUseID( int charaindex ) { char *pName; - // ʸհة + // 矢永玄分匀凶日白伉□生□丞卞允月 if( CHAR_getInt( charaindex, CHAR_WHICHTYPE ) == CHAR_TYPEPET ){ pName = "NO_USER"; }else{ @@ -8095,11 +8095,11 @@ void CHAR_sendBattleWatch( int objindex, int onoff) CHAR_sendWatchEvent( objindex,CHAR_ACTBATTLEWATCH,opt,1,TRUE); } /*------------------------------------------------------------ - * ϶ýľ ëĪԻбʸPë£ - * ¦ - * charaindex int chara ƥ̼ - * ߯Ի - * ئ + * 隙烂今木凶 毛莫曰及谛卞矢永玄丢□伙及梢请毛允月[ + * 娄醒 + * charaindex int chara 匹及奶件犯弁永旦 + * 忒曰袄 + * 卅仄 ------------------------------------------------------------*/ void CHAR_sendPMEToArroundCharacterFLXY( int petindex, int fl, int x, int y, int dir, int flg, int no ) @@ -8143,11 +8143,11 @@ void CHAR_sendPMEToArroundCharacterFLXY( int petindex, int fl, int x, int y, } } /*------------------------------------------------------------ - * charaindex ƥ϶ýľ ëĪԻбʸPë£ - * ¦ - * charaindex int chara ƥ̼ - * ߯Ի - * ئ + * charaindex 匹隙烂今木凶 毛莫曰及谛卞矢永玄丢□伙及梢请毛允月[ + * 娄醒 + * charaindex int chara 匹及奶件犯弁永旦 + * 忒曰袄 + * 卅仄 ------------------------------------------------------------*/ void CHAR_sendPMEToArroundCharacter( int charaindex, int petindex, int flg, int no ) { @@ -8167,16 +8167,16 @@ void CHAR_sendPMEToArroundCharacter( int charaindex, int petindex, int flg, int fl = CHAR_getInt( charaindex,CHAR_FLOOR ); dir = CHAR_getInt( charaindex, CHAR_DIR); - /* */ + /* 仁 轾潸 */ for( i = 0 ; i < 9 ; i ++ ){ int x = CHAR_getInt( charaindex, CHAR_X) + dirx[i]; int y = CHAR_getInt( charaindex, CHAR_Y) + diry[i]; - /* ʸë Ʃ */ + /* 矢永玄毛 仃月桦赭井譬屯月 */ if( PET_isPutPoint( fl, x, y ) == TRUE ) { break; } } - /* ئľ */ + /* 卅仃木壬箫葭 */ if( i == 9 ) i = 1; x = CHAR_getInt(charaindex,CHAR_X)+dirx[i]; @@ -8186,12 +8186,12 @@ void CHAR_sendPMEToArroundCharacter( int charaindex, int petindex, int flg, int fl, x, y, dir, flg, no); } /*------------------------------------------------------------ - * SEë ʣ - * ë ұέ ˪ - * ¦ - * fl,x,y 缰 - * senumber įsndcnf.hë徼 - * sw ʾ¾ 0 : 1 : + * SE毛 日允[ + * 耨葭毛 艘卞]苇尹月 区坌霜耨允月 + * 娄醒 + * fl,x,y 耨葭及甄 + * senumber 及 寞[sndcnf.h毛辅寰及仇午[ + * sw 日允井鞅户月井 0 : 鞅户月 1 : 日允 ------------------------------------------------------------*/ void CHAR_sendSEoArroundCharacter( int fl, int x, int y, int senumber, int sw ) { @@ -8222,23 +8222,23 @@ void CHAR_sendSEoArroundCharacter( int fl, int x, int y, int senumber, int sw ) } } } -/*====================ɬ====================*/ +/*====================梢请涩烂====================*/ -#ifndef _SEND_EFFECT // WON ADD ACѩЧ +#ifndef _SEND_EFFECT // WON ADD AC送下雪、下雨等特效 #define CHAR_EFFECT_SETTINGBUFFER 256 typedef struct tagCHAR_effectsetting { - int floor; // ׷ʧ - int effect; // į - int level; // 뼰ì ؼ۽ - int sendflg; // ްë˪׾ - char month[CHAR_EFFECT_SETTINGBUFFER]; // » - char day[CHAR_EFFECT_SETTINGBUFFER]; // - char hour[CHAR_EFFECT_SETTINGBUFFER]; // - char min[CHAR_EFFECT_SETTINGBUFFER]; // - char expire[CHAR_EFFECT_SETTINGBUFFER]; // ƻӮ( + int floor; // 白夫失 + int effect; // 梢请 寞 + int level; // 梢请及伊矛伙[ 蜇及雄今[ + int sendflg; // 憎巨白尼弁玄毛霜匀凶井升丹井[ + char month[CHAR_EFFECT_SETTINGBUFFER]; // 垫允月畸 + char day[CHAR_EFFECT_SETTINGBUFFER]; // 垫允月 + char hour[CHAR_EFFECT_SETTINGBUFFER]; // 垫允月凛棉 + char min[CHAR_EFFECT_SETTINGBUFFER]; // 垫允月坌 + char expire[CHAR_EFFECT_SETTINGBUFFER]; // 垫仄化中月赢今[( }CHAR_effectsetting; @@ -8250,12 +8250,12 @@ int CHAR_effectnum; /*------------------------------------------------------------ - * ɬüë£ - * ¦ - * filename char* ɬð̻ - * ߯Ի - * TRUE(1) - * FALSE(0) + * 梢请涩烂及赓渝祭毛允月[ + * 娄醒 + * filename char* 涩烂白央奶伙 + * 忒曰袄 + * 岳 TRUE(1) + * 撩 FALSE(0) *------------------------------------------------------------*/ BOOL CHAR_initEffectSetting( char* filename ) { @@ -8273,7 +8273,7 @@ BOOL CHAR_initEffectSetting( char* filename ) CHAR_effectnum=0; - /* ئ滥ϵؤ¾Ʃ */ + /* 引内 躲卅垫互窒垫丐月井升丹井譬屯月 */ while( fgets( line, sizeof( line ), f ) ){ linenum ++; if( line[0] == '#' )continue; /* comment */ @@ -8297,7 +8297,7 @@ BOOL CHAR_initEffectSetting( char* filename ) fclose( f ); return FALSE; } - /* */ + /* 赓渝祭 */ { int i; for( i = 0; i < CHAR_effectnum; i ++ ) { @@ -8314,7 +8314,7 @@ BOOL CHAR_initEffectSetting( char* filename ) } } - /* */ + /* 引凶 心 允 */ linenum = 0; while( fgets( line, sizeof( line ), f ) ){ linenum ++; @@ -8322,98 +8322,98 @@ BOOL CHAR_initEffectSetting( char* filename ) if( line[0] == '\n' )continue; /* none */ chomp( line ); - /* ë */ - /* tab ë " " 徧 */ + /* 垫毛帮溥允月 */ + /* 引内 tab 毛 " " 卞 五晶尹月 */ replaceString( line, '\t' , ' ' ); - /* " " ë繴 */ + /* 粮仄凶 " " 毛夫午勾卞允月 */ deleteSequentChar( line, " " ); - /* ƥƻ ʸ */ - /* ئ */ + /* 仇仇引匹帮溥仄化}燮 互 旦矢□旦分匀凶日 */ + /* 引卅中 */ if( line[0] == ' ' )continue; { char token[256]; int ret; - /* 繴ͼëέ */ + /* 夫午勾户及玄□弁件毛苇月 */ ret = getStringFromIndexWithDelim( line," ",1,token, sizeof(token)); if( ret==FALSE ){ - fprint("ļ:%s %d\n",filename,linenum); + fprint("文件秩序错误:%s 第%d行\n",filename,linenum); continue; } CHAR_effect[effectreadlen].floor = atoi(token); - /* 2ͼëέ */ + /* 2勾户及玄□弁件毛苇月 */ ret = getStringFromIndexWithDelim( line," ",2,token, sizeof(token)); if( ret==FALSE ){ - fprint("ļ:%s %d\n",filename,linenum); + fprint("文件秩序错误:%s 第%d行\n",filename,linenum); continue; } CHAR_effect[effectreadlen].effect = atoi( token ); - /* 3ͼëέ */ + /* 3勾户及玄□弁件毛苇月 */ ret = getStringFromIndexWithDelim( line," ",3,token, sizeof(token)); if( ret ==FALSE){ - fprint("ļ:%s %d\n",filename,linenum); + fprint("文件秩序错误:%s 第%d行\n",filename,linenum); continue; } CHAR_effect[effectreadlen].level = atoi( token ); - /* 4ͼëέ */ + /* 4勾户及玄□弁件毛苇月 */ ret = getStringFromIndexWithDelim( line," ",4,token, sizeof(token)); if( ret ==FALSE){ - fprint("ļ:%s %d\n",filename,linenum); + fprint("文件秩序错误:%s 第%d行\n",filename,linenum); continue; } strcpysafe( CHAR_effect[effectreadlen].month, sizeof( CHAR_effect[effectreadlen].month), token); - /* 5ͼëέ */ + /* 5勾户及玄□弁件毛苇月 */ ret = getStringFromIndexWithDelim( line," ",5,token, sizeof(token)); if( ret ==FALSE){ - fprint("ļ:%s %d\n",filename,linenum); + fprint("文件秩序错误:%s 第%d行\n",filename,linenum); continue; } strcpysafe( CHAR_effect[effectreadlen].day, sizeof( CHAR_effect[effectreadlen].day), token); - /* 6ͼëέ */ + /* 6勾户及玄□弁件毛苇月 */ ret = getStringFromIndexWithDelim( line," ",6,token, sizeof(token)); if( ret ==FALSE){ - fprint("ļ:%s %d\n",filename,linenum); + fprint("文件秩序错误:%s 第%d行\n",filename,linenum); continue; } strcpysafe( CHAR_effect[effectreadlen].hour, sizeof( CHAR_effect[effectreadlen].hour), token); - /* 7ͼëέ */ + /* 7勾户及玄□弁件毛苇月 */ ret = getStringFromIndexWithDelim( line," ",7,token, sizeof(token)); if( ret ==FALSE){ - fprint("ļ:%s %d\n",filename,linenum); + fprint("文件秩序错误:%s 第%d行\n",filename,linenum); continue; } strcpysafe( CHAR_effect[effectreadlen].min, sizeof( CHAR_effect[effectreadlen].min), token); - /* 8ͼëέ */ + /* 8勾户及玄□弁件毛苇月 */ ret = getStringFromIndexWithDelim( line," ",8,token, sizeof(token)); if( ret ==FALSE){ - fprint("ļ:%s %d\n",filename,linenum); + fprint("文件秩序错误:%s 第%d行\n",filename,linenum); continue; } strcpysafe( CHAR_effect[effectreadlen].expire, @@ -8427,7 +8427,7 @@ BOOL CHAR_initEffectSetting( char* filename ) CHAR_effectnum = effectreadlen; - print( "Ч %d...", CHAR_effectnum ); + print( "有效设置总数 %d...", CHAR_effectnum ); #ifdef DEBUG { @@ -8449,8 +8449,8 @@ BOOL CHAR_initEffectSetting( char* filename ) } //------------------------------------------------------------------------- -// ػݶԻ϶üѨƻ¾ëƩʣ -// ȻľTRUEë߯ʣ +// 蜇箕凛对互]隙烂及椭瘀卞穴永民仄化中月井毛譬屯引允[ +// 宁匀化中木壬TRUE毛忒允[ //------------------------------------------------------------------------- static BOOL CHAR_checkEffectTime( int num) { @@ -8464,9 +8464,9 @@ static BOOL CHAR_checkEffectTime( int num) int ret; char token[256]; - // "*"廯ë϶ʣ + // "*"反]蝈化毛隙允[ - // ƻ¾ + // 畸互域谯仄化中月井 if( strcmp( CHAR_effect[num].month, "*" ) != 0 ) { BOOL flg = FALSE; for( i = 1; ; i ++) { @@ -8474,7 +8474,7 @@ static BOOL CHAR_checkEffectTime( int num) ",", i, token, sizeof( token)); if( ret == FALSE ) break; - // ๴ƥƻľɹľƥ + // ㄠ勾匹手域谯仄化中木壬公木匹中中 if( t.tm_mon +1 == atoi( token)) { flg = TRUE; break; @@ -8483,7 +8483,7 @@ static BOOL CHAR_checkEffectTime( int num) if( !flg ) break; } - // ƻ¾ + // 互域谯仄化中月井 if( strcmp( CHAR_effect[num].day, "*" ) != 0 ) { BOOL flg = FALSE; for( i = 1; ; i ++) { @@ -8491,7 +8491,7 @@ static BOOL CHAR_checkEffectTime( int num) ",", i, token, sizeof( token)); if( ret == FALSE ) break; - // ๴ƥƻľɹľƥ + // ㄠ勾匹手域谯仄化中木壬公木匹中中 if( t.tm_mday == atoi( token)) { flg = TRUE; break; @@ -8499,7 +8499,7 @@ static BOOL CHAR_checkEffectTime( int num) } if( !flg ) break; } - // ޻ƻ¾ + // 凛棉互域谯仄化中月井 if( strcmp( CHAR_effect[num].hour, "*" ) != 0 ) { BOOL flg = FALSE; for( i = 1; ; i ++) { @@ -8507,7 +8507,7 @@ static BOOL CHAR_checkEffectTime( int num) ",", i, token, sizeof( token)); if( ret == FALSE ) break; - // ๴ƥƻľɹľƥ + // ㄠ勾匹手域谯仄化中木壬公木匹中中 if( t.tm_hour == atoi( token)) { flg = TRUE; break; @@ -8515,10 +8515,10 @@ static BOOL CHAR_checkEffectTime( int num) } if( !flg ) break; } - // лƻ¾ - // н + // 坌互域谯仄化中月井 + // 切斤匀午分仃 溃质 if( strcmp( CHAR_effect[num].min, "*" ) != 0 ) { - // ޻ئֵOK + // 渝棉互←卅日手丹OK if( strcmp( CHAR_effect[num].expire, "*" ) != 0 ) { BOOL flg = FALSE; for( i = 1; ; i ++) { @@ -8528,9 +8528,9 @@ static BOOL CHAR_checkEffectTime( int num) ",", i, token, sizeof( token)); if( ret == FALSE ) break; - // ๴ƥƻľɹľƥ + // ㄠ勾匹手域谯仄化中木壬公木匹中中 - // ɬоգ ޼ Ȼ¾ + // 涩烂仄凶坌井日] 躲渝棉及 区卞 匀化中月井" tm_work = t; tm_work.tm_sec = 0; tm_work.tm_min = atoi( token); @@ -8544,7 +8544,7 @@ static BOOL CHAR_checkEffectTime( int num) if( !flg ) break; } } - // л϶ ƷֵOK + // 坌互隙烂 仄分匀凶日手丹OK returnflg = TRUE; break; @@ -8552,8 +8552,8 @@ static BOOL CHAR_checkEffectTime( int num) return returnflg; } //------------------------------------------------------------------------- -// ƽҷ ë -// ްë˪ ۢؤľ˪ +// 平乓仿弁正□及匏 午凛棉毛葭卞] +// 巨白尼弁玄毛霜月 邰互丐木壬霜月 //------------------------------------------------------------------------- void CHAR_checkEffect( int charaindex) { @@ -8561,16 +8561,16 @@ void CHAR_checkEffect( int charaindex) int fl = CHAR_getInt( charaindex, CHAR_FLOOR); int fd = getfdFromCharaIndex( charaindex); - // ް + // 巨白尼弁玄域绎壅允 lssproto_EF_send( fd, 0, 0, ""); CHAR_setWorkInt( charaindex, CHAR_WORKEFFECT, 0); for( i = 0; i < CHAR_effectnum; i ++){ - // ׷ʧݷ + // 白夫失互域谯仄凶凛分仃 if( CHAR_effect[i].floor == fl) { - // ëƩʣ + // 椭瘀毛譬屯引允[ if( CHAR_checkEffectTime( i)){ - // ްë˪ + // 巨白尼弁玄毛霜月 lssproto_EF_send( fd, CHAR_effect[i].effect, CHAR_effect[i].level, ""); if( CHAR_effect[i].level == 0 ) { CHAR_setWorkInt( charaindex, CHAR_WORKEFFECT, @@ -8751,7 +8751,7 @@ int storeCharaData( void ){ char outbuff[CHARDATASIZE]; Char* ch; - print("\nе"); + print("\n保存运行中的数据"); pLtime = localtime( &NowTime.tv_sec ); @@ -8769,7 +8769,7 @@ int storeCharaData( void ){ print("."); strcpy( charId, CHAR_getChar( i, CHAR_CDKEY ) ); -// print("˺:%s", charId); +// print("账号:%s", charId); hash = 0; for( j=0; j 1){ - // ûа̯ + // 检查别人有没有摆摊 for(i=0;i 0){ if(CHAR_getWorkInt(charaindex,CHAR_WORKSTREETVENDOR) == 1){ - // ޸δ̯ + // 修改内容中设成未摆摊 CHAR_setWorkInt(charaindex,CHAR_WORKSTREETVENDOR,-1); CHAR_sendStreetVendorDataToCli(charaindex,charaindex); } - // ڽеҪ,رնԷӴ + // 已在交易中但要改内容,关闭对方视窗 else if(CHAR_getWorkInt(charaindex,CHAR_WORKSTREETVENDOR) == 2){ int toindex = CHAR_getWorkInt(charaindex,CHAR_WORKSTREETVENDOR_WHO); @@ -9208,9 +9208,9 @@ void CHAR_sendStreetVendor(int charaindex,char *message) CHAR_setWorkInt(toindex,CHAR_WORKSTREETVENDOR,-1); CHAR_setWorkInt(toindex,CHAR_WORKSTREETVENDOR_WHO,-1); lssproto_STREET_VENDOR_send(getfdFromCharaIndex(toindex),"C|"); - CHAR_talkToCli(toindex,-1,"ȡ",CHAR_COLORYELLOW); + CHAR_talkToCli(toindex,-1,"店家取消交易",CHAR_COLORYELLOW); CHAR_setWorkInt(charaindex,CHAR_WORKSTREETVENDOR_WHO,-1); - // ͼʾ + // 清除交易图示 CHAR_send_P_StatusString(charaindex,CHAR_P_STRING_GOLD); CHAR_send_P_StatusString(toindex,CHAR_P_STRING_GOLD); CHAR_sendTradeEffect(charaindex,0); @@ -9219,60 +9219,60 @@ void CHAR_sendStreetVendor(int charaindex,char *message) CHAR_setWorkInt(toindex,CHAR_LOOKSTREETTIME,0); #endif } - // ޸,δ̯ + // 修改内容中,设成未摆摊 CHAR_setWorkInt(charaindex,CHAR_WORKSTREETVENDOR,-1); CHAR_sendStreetVendorDataToCli(charaindex,charaindex); } return; } - // ԷǷ + // 检查对方是否卖完 for(j=0;j 0){ if(CHAR_getWorkInt(charaindex,CHAR_WORKSTREETVENDOR) == 1){ - // ޸δ̯ + // 修改内容中设成未摆摊 CHAR_setWorkInt(charaindex,CHAR_WORKSTREETVENDOR,-1); CHAR_sendStreetVendorDataToCli(charaindex,charaindex); } - // ڽеҪ,رնԷӴ + // 已在交易中但要改内容,关闭对方视窗 else if(CHAR_getWorkInt(charaindex,CHAR_WORKSTREETVENDOR) == 2){ int toindex = CHAR_getWorkInt(charaindex,CHAR_WORKSTREETVENDOR_WHO); @@ -9300,9 +9300,9 @@ void CHAR_sendStreetVendor(int charaindex,char *message) CHAR_setWorkInt(toindex,CHAR_WORKSTREETVENDOR,-1); CHAR_setWorkInt(toindex,CHAR_WORKSTREETVENDOR_WHO,-1); lssproto_STREET_VENDOR_send(getfdFromCharaIndex(toindex),"C|"); - CHAR_talkToCli(toindex,-1,"ȡ",CHAR_COLORYELLOW); + CHAR_talkToCli(toindex,-1,"店家取消交易",CHAR_COLORYELLOW); CHAR_setWorkInt(charaindex,CHAR_WORKSTREETVENDOR_WHO,-1); - // ͼʾ + // 清除交易图示 CHAR_send_P_StatusString(toindex,CHAR_P_STRING_GOLD); CHAR_sendTradeEffect(charaindex,0); CHAR_sendTradeEffect(toindex,0); @@ -9310,12 +9310,12 @@ void CHAR_sendStreetVendor(int charaindex,char *message) CHAR_setWorkInt(toindex,CHAR_LOOKSTREETTIME,0); #endif } - // ޸,δ̯ + // 修改内容中,设成未摆摊 CHAR_setWorkInt(charaindex,CHAR_WORKSTREETVENDOR,-1); CHAR_sendStreetVendorDataToCli(charaindex,charaindex); } } - // 趨ɰ̯ + // 设定成摆摊 else{ #ifdef _LOOK_STREET_TIME if(CHAR_getWorkInt(toindex,CHAR_WORKSTREETVENDOR) == 2){ @@ -9332,12 +9332,12 @@ void CHAR_sendStreetVendor(int charaindex,char *message) CHAR_setWorkInt(buyindex,CHAR_WORKSTREETVENDOR_WHO,-1); lssproto_STREET_VENDOR_send(getfdFromCharaIndex(buyindex),"C|"); CHAR_setWorkInt(toindex,CHAR_WORKSTREETVENDOR_WHO,-1); - // ͼʾ + // 清除交易图示 CHAR_send_P_StatusString(buyindex,CHAR_P_STRING_GOLD); CHAR_sendTradeEffect(toindex,0); CHAR_sendTradeEffect(buyindex,0); CHAR_setWorkInt(buyindex,CHAR_LOOKSTREETTIME,0); - CHAR_talkToCli(buyindex,-1,"ʱδйø˰ɡ",CHAR_COLORRED); + CHAR_talkToCli(buyindex,-1,"由于您长时间未进行购买操作,让个机会给其他人吧。",CHAR_COLORRED); CHAR_sendStreetVendor(charaindex,"O|"); return; } @@ -9347,20 +9347,20 @@ void CHAR_sendStreetVendor(int charaindex,char *message) #ifdef _NO_DAOLUAN if(CHAR_getInt(charaindex,CHAR_TRANSMIGRATION)1){ CHAR_setItemIndex( charaindex , CHAR_getStreetVendor(charaindex,i,SV_INDEX), -1); CHAR_sendItemDataOne(charaindex,CHAR_getStreetVendor(charaindex,i,SV_INDEX)); - CHAR_talkToCli(charaindex,-1,"ǷԶɾѡȡ",CHAR_COLORYELLOW); + CHAR_talkToCli(charaindex,-1,"非法道具自动删除,该选项取消",CHAR_COLORYELLOW); continue; } if(ITEM_getInt(iItemIndex,ITEM_TIME) > 0){ CHAR_clearStreetVendor(charaindex,i); - CHAR_talkToCli(charaindex,-1,"ʱ߲ɷѡȡ",CHAR_COLORYELLOW); + CHAR_talkToCli(charaindex,-1,"限时道具不可贩卖,该选项取消",CHAR_COLORYELLOW); continue; } #ifdef _LOCK_PET_ITEM char *arg = ITEM_getChar(iItemIndex, ITEM_NAME); if(arg[0] == '*'){ CHAR_clearStreetVendor(charaindex,i); - CHAR_talkToCli( charaindex, -1, "󶨵Ʒɷѡȡ", CHAR_COLORYELLOW ); + CHAR_talkToCli( charaindex, -1, "绑定的物品不可贩卖,该选项取消", CHAR_COLORYELLOW ); continue; } #endif @@ -9476,7 +9476,7 @@ void CHAR_sendStreetVendor(int charaindex,char *message) if(strstr(ITEM_getChar(iItemIndex,ITEM_NAME),getStreetItemUnName(streeti))!=NULL){ //CHAR_clearStreetVendor(charaindex,i); char tmpbuff[128]; - sprintf(tmpbuff,"%sɰ̯Զȡϼܡ",ITEM_getChar(iItemIndex,ITEM_NAME)); + sprintf(tmpbuff,"%s不可摆摊,自动取消上架。",ITEM_getChar(iItemIndex,ITEM_NAME)); CHAR_talkToCli(charaindex,-1,tmpbuff,CHAR_COLORYELLOW); streety = 1; break; @@ -9488,7 +9488,7 @@ void CHAR_sendStreetVendor(int charaindex,char *message) continue; } #ifdef _ZHIPIAO_SYSTEM - if(strstr(ITEM_getChar(iItemIndex,ITEM_NAME),"֧Ʊ")!=NULL && strstr(ITEM_getChar(iItemIndex,ITEM_NAME),"DP֧Ʊ")==NULL){ + if(strstr(ITEM_getChar(iItemIndex,ITEM_NAME),"支票")!=NULL && strstr(ITEM_getChar(iItemIndex,ITEM_NAME),"DP支票")==NULL){ int zhipiaoindex=atoi(ITEM_getChar(iItemIndex,ITEM_ARGUMENT)); if(zhipiaoindex>0){ time_t timep; @@ -9498,17 +9498,17 @@ void CHAR_sendStreetVendor(int charaindex,char *message) timep = mktime(p); if(timep>zhipiaoindex){ CHAR_clearStreetVendor(charaindex,i); - CHAR_talkToCli(charaindex, -1, "֧ƱѾڣ޷ף뾡ʹã", CHAR_COLORRED); + CHAR_talkToCli(charaindex, -1, "该支票已经过期,无法交易,请尽快使用!", CHAR_COLORRED); continue; } } } #endif -//ǰ󶨵ĵ򲻿ڷ +//如果是绑定的道具则不可以用于贩卖 #ifdef _PETITEM__AMOI_E if(ITEM_NOT_STREETVANDOR & ITEM_getInt(iItemIndex, ITEM_TYPEOFITEM)){ char buf[128]; - sprintf(buf,"%sɷѡȡ!~",ITEM_getChar(iItemIndex,ITEM_NAME)); + sprintf(buf,"%s不可贩卖,该选项取消!~",ITEM_getChar(iItemIndex,ITEM_NAME)); CHAR_talkToCli(charaindex,-1,buf,CHAR_COLORYELLOW); CHAR_clearStreetVendor(charaindex,i); continue; @@ -9517,22 +9517,22 @@ void CHAR_sendStreetVendor(int charaindex,char *message) iPileNum = ITEM_getInt(iItemIndex,ITEM_USEPILENUMS); CHAR_setStreetVendor(charaindex,i,SV_PILE,iPileNum); } - // dz + // 若是宠物 else if(CHAR_getStreetVendor(charaindex,i,SV_KIND) == 1){ iPetIndex = CHAR_getCharPet(charaindex,CHAR_getStreetVendor(charaindex,i,SV_INDEX)); - // ﲻ + // 宠物不存在 if(!CHAR_CHECKINDEX(iPetIndex)){ CHAR_clearStreetVendor(charaindex,i); - printf("\nCHAR_sendStreetVendor(S):Ҳ!!!!!!!\n"); + printf("\nCHAR_sendStreetVendor(S):找不到宠物!!!!!!!\n"); continue; } if(CHAR_getInt(iPetIndex,CHAR_PETFAMILY) == 1){ - CHAR_talkToCli(charaindex,-1,"ػ޷ѡȡ",CHAR_COLORYELLOW); + CHAR_talkToCli(charaindex,-1,"家族守护兽无法贩卖,该选项取消",CHAR_COLORYELLOW); CHAR_clearStreetVendor(charaindex,i); continue; } if(CHAR_getInt(charaindex,CHAR_RIDEPET) == CHAR_getStreetVendor(charaindex,i,SV_INDEX)){ - CHAR_talkToCli(charaindex,-1,"еij޷ѡȡ",CHAR_COLORYELLOW); + CHAR_talkToCli(charaindex,-1,"骑乘中的宠物无法贩卖,该选项取消",CHAR_COLORYELLOW); CHAR_clearStreetVendor(charaindex,i); continue; } @@ -9542,26 +9542,26 @@ void CHAR_sendStreetVendor(int charaindex,char *message) // ||PET_NOT_TradeAndStreetVandor == EVOLUTION_getPetENABLETRADE( CHAR_getInt( iPetIndex, CHAR_PETID))){ if( ( PET_NOT_STREETVANDOR ) & EVOLUTION_getPetENABLETRADE( CHAR_getInt( iPetIndex, CHAR_PETID))){ char buf[128]; - sprintf(buf,"%sɷѡȡ!~",CHAR_getInt( iPetIndex, CHAR_NAME)); + sprintf(buf,"%s不可贩卖,该选项取消!~",CHAR_getInt( iPetIndex, CHAR_NAME)); CHAR_talkToCli(charaindex,-1,buf,CHAR_COLORRED); CHAR_clearStreetVendor(charaindex,i); continue; } #endif if(strstr(CHAR_getChar(iPetIndex,CHAR_USERPETNAME),"|") != NULL){ - CHAR_talkToCli(charaindex,-1,"ijַǷ޷̯",CHAR_COLORYELLOW); + CHAR_talkToCli(charaindex,-1,"您的宠物名字非法,无法摆摊!",CHAR_COLORYELLOW); CHAR_clearStreetVendor(charaindex,i); continue; } #ifdef _PET_BUG if(CHAR_getInt(iPetIndex,CHAR_VITAL)>=getPetPoint(0)*20 || CHAR_getInt(iPetIndex,CHAR_STR)>=getPetPoint(1)*80 || CHAR_getInt(iPetIndex,CHAR_TOUGH)>=getPetPoint(2)*80 || CHAR_getInt(iPetIndex,CHAR_DEX)>=getPetPoint(3)*100){ - CHAR_talkToCli(charaindex,-1,"Թߣѡȡ",CHAR_COLORYELLOW); + CHAR_talkToCli(charaindex,-1,"宠物属性过高,该选项取消",CHAR_COLORYELLOW); CHAR_clearStreetVendor(charaindex,i); continue; } #endif if(strlen(CHAR_getChar(iPetIndex,CHAR_USERPETNAME))>0 && strstr(CHAR_getChar(iPetIndex,CHAR_USERPETNAME),"*")!=NULL){ - CHAR_talkToCli(charaindex, -1, "Զк(*)޷ꡢס̯޸ĺ", CHAR_COLORYELLOW); + CHAR_talkToCli(charaindex, -1, "宠物自定义名称中含有(*),无法丢弃、卖店、交易、摆摊,请修改后操作。", CHAR_COLORYELLOW); CHAR_clearStreetVendor(charaindex,i); continue; } @@ -9572,8 +9572,8 @@ void CHAR_sendStreetVendor(int charaindex,char *message) skillid=CHAR_getPetSkill(iPetIndex,pi); skillarray = PETSKILL_getPetskillArray( skillid); if( PETSKILL_CHECKINDEX( skillarray) == FALSE ) continue; - if(strstr(PETSKILL_getChar( skillarray, PETSKILL_NAME),"")){ - CHAR_talkToCli(charaindex, -1, "˳Ϊ󶨳޷̯", CHAR_COLORRED); + if(strstr(PETSKILL_getChar( skillarray, PETSKILL_NAME),"★")){ + CHAR_talkToCli(charaindex, -1, "此宠物为绑定宠物,无法摆摊", CHAR_COLORRED); psk=1; break; } @@ -9585,17 +9585,17 @@ void CHAR_sendStreetVendor(int charaindex,char *message) #endif #ifdef _PET_BINDING if(strstr(CHAR_getChar(iPetIndex,CHAR_NAME),"*") || strstr(CHAR_getChar(iPetIndex,CHAR_NAME),"+")){ - CHAR_talkToCli(charaindex, -1, "˳Ϊ󶨳޷̯", CHAR_COLORRED); + CHAR_talkToCli(charaindex, -1, "此宠物为绑定宠物,无法摆摊", CHAR_COLORRED); CHAR_clearStreetVendor(charaindex,i); continue; } #endif CHAR_setStreetVendor(charaindex,i,SV_PILE,1); } - // + // 错的内容 else{ CHAR_clearStreetVendor(charaindex,i); - printf("\nCHAR_sendStreetVendor(S):!!!!!!!\n"); + printf("\nCHAR_sendStreetVendor(S):错的内容!!!!!!!\n"); } } } @@ -9605,29 +9605,29 @@ void CHAR_sendStreetVendor(int charaindex,char *message) char TRADENAME[21]; if(CHAR_getWorkInt(charaindex,CHAR_WORKTRADETYPE)==0) { - sprintf(TRADENAME,"ʯҡ%s",szTemp); - CHAR_talkToCli(charaindex,-1,"ԡʯҡʽ̯",CHAR_COLORRED); + sprintf(TRADENAME,"【石币】%s",szTemp); + CHAR_talkToCli(charaindex,-1,"您是以【石币】方式摆摊!",CHAR_COLORRED); } else if(CHAR_getWorkInt(charaindex,CHAR_WORKTRADETYPE)==1) { - sprintf(TRADENAME,"%s",szTemp); - CHAR_talkToCli(charaindex,-1,"ԡʽ̯",CHAR_COLORRED); + sprintf(TRADENAME,"【声望】%s",szTemp); + CHAR_talkToCli(charaindex,-1,"您是以【声望】方式摆摊!",CHAR_COLORRED); } else if(CHAR_getWorkInt(charaindex,CHAR_WORKTRADETYPE)==2) { - sprintf(TRADENAME,"%s",szTemp); - CHAR_talkToCli(charaindex,-1,"ԡԱ㡿ʽ̯",CHAR_COLORRED); + sprintf(TRADENAME,"【点数】%s",szTemp); + CHAR_talkToCli(charaindex,-1,"您是以【会员点】方式摆摊!",CHAR_COLORRED); } else if(CHAR_getWorkInt(charaindex,CHAR_WORKTRADETYPE)==3) { - sprintf(TRADENAME,"֡%s",szTemp); - CHAR_talkToCli(charaindex,-1,"ԡ֡ʽ̯",CHAR_COLORRED); + sprintf(TRADENAME,"【积分】%s",szTemp); + CHAR_talkToCli(charaindex,-1,"您是以【积分】方式摆摊!",CHAR_COLORRED); } #ifdef _VIGOR_SYS else if(CHAR_getWorkInt(charaindex,CHAR_WORKTRADETYPE)==4) { - sprintf(TRADENAME,"%s",szTemp); - CHAR_talkToCli(charaindex,-1,"ԡʽ̯",CHAR_COLORRED); + sprintf(TRADENAME,"【活力】%s",szTemp); + CHAR_talkToCli(charaindex,-1,"您是以【活力】方式摆摊!",CHAR_COLORRED); } #endif CHAR_setWorkChar(charaindex,CHAR_STREETVENDOR_NAME,TRADENAME); @@ -9636,24 +9636,24 @@ void CHAR_sendStreetVendor(int charaindex,char *message) #ifdef _STREET_FAX if(getStreetFax(CHAR_getWorkInt(charaindex,CHAR_WORKTRADETYPE))>0){ char streetfaxmsg[256]; - sprintf(streetfaxmsg,"Ŀǰ˰Ϊٷ֮%d",getStreetFax(CHAR_getWorkInt(charaindex,CHAR_WORKTRADETYPE))); + sprintf(streetfaxmsg,"目前税率为百分之%d!",getStreetFax(CHAR_getWorkInt(charaindex,CHAR_WORKTRADETYPE))); CHAR_talkToCli(charaindex,-1,streetfaxmsg,CHAR_COLORRED); } #endif } - // ̯ + // 收摊 else if(szAction[0] == 'E'){ int toindex = CHAR_getWorkInt(charaindex,CHAR_WORKSTREETVENDOR_WHO); - // ̯ʱ,֪ͨȡ + // 收摊时若有人正在买,通知取消 if(toindex != -1 && CHAR_CHECKINDEX(toindex)){ CHAR_setWorkInt(toindex,CHAR_WORKSTREETVENDOR,-1); CHAR_setWorkInt(toindex,CHAR_WORKSTREETVENDOR_WHO,-1); lssproto_STREET_VENDOR_send(getfdFromCharaIndex(toindex),"C|"); - CHAR_talkToCli(toindex,-1,"ȡ",CHAR_COLORYELLOW); + CHAR_talkToCli(toindex,-1,"店家取消交易",CHAR_COLORYELLOW); CHAR_setWorkInt(charaindex,CHAR_WORKSTREETVENDOR_WHO,-1); - // ͼʾ + // 清除交易图示 CHAR_send_P_StatusString(toindex,CHAR_P_STRING_GOLD); CHAR_sendTradeEffect(charaindex,0); CHAR_sendTradeEffect(toindex,0); @@ -9666,18 +9666,18 @@ void CHAR_sendStreetVendor(int charaindex,char *message) for(i=0;i CHAR_getMaxHaveGold(toindex)){ - // ϲ, + // 身上不够放,存入个人银行 if(CHAR_getInt(toindex,CHAR_BANKGOLD) + iPrice > CHAR_MAXBANKGOLDHAVE){ - CHAR_talkToCli(charaindex,-1,"ҷŲʯˣȡ",CHAR_COLORRED); - CHAR_talkToCli(toindex,-1,"ϼд",CHAR_COLORRED); + CHAR_talkToCli(charaindex,-1,"店家放不下石币了,交易取消。",CHAR_COLORRED); + CHAR_talkToCli(toindex,-1,"你身上及个人银行存款已满",CHAR_COLORRED); break; } - CHAR_talkToCli(toindex,-1,"Ѵ",CHAR_COLORRED); + CHAR_talkToCli(toindex,-1,"贩卖所得已存入个人银行",CHAR_COLORRED); bPutToBank = TRUE; } } @@ -9744,13 +9744,13 @@ void CHAR_sendStreetVendor(int charaindex,char *message) { if(CHAR_getInt(charaindex,CHAR_FAME) < iPrice*100) { - CHAR_talkToCli(charaindex,-1,"",CHAR_COLORRED); + CHAR_talkToCli(charaindex,-1,"你身上声望不够。",CHAR_COLORRED); break; } if(CHAR_getInt(toindex,CHAR_FAME) + iPrice > 100000000) { - CHAR_talkToCli(charaindex,-1,"ҵĸѾơ",CHAR_COLORRED); - CHAR_talkToCli(toindex,-1,"ĸѾơ",CHAR_COLORRED); + CHAR_talkToCli(charaindex,-1,"店家的个人声望已经超过限制。",CHAR_COLORRED); + CHAR_talkToCli(toindex,-1,"你的个人声望已经超过限制。",CHAR_COLORRED); break; } } @@ -9758,7 +9758,7 @@ void CHAR_sendStreetVendor(int charaindex,char *message) { if(sasql_vippoint(CHAR_getUseID(charaindex),0,0) < iPrice) { - CHAR_talkToCli(charaindex,-1,"ϻԱ㲻",CHAR_COLORRED); + CHAR_talkToCli(charaindex,-1,"你身上会员点不够。",CHAR_COLORRED); break; } } @@ -9766,7 +9766,7 @@ void CHAR_sendStreetVendor(int charaindex,char *message) { if(sasql_ampoint(CHAR_getUseID(charaindex),0,0) < iPrice) { - CHAR_talkToCli(charaindex,-1,"ϻֲ",CHAR_COLORRED); + CHAR_talkToCli(charaindex,-1,"你身上积分不够。",CHAR_COLORRED); break; } } @@ -9775,31 +9775,31 @@ void CHAR_sendStreetVendor(int charaindex,char *message) { if(CHAR_getInt(charaindex,CHAR_VIGOR) < iPrice) { - CHAR_talkToCli(charaindex,-1,"ϻ",CHAR_COLORRED); + CHAR_talkToCli(charaindex,-1,"你身上活力不够。",CHAR_COLORRED); break; } if(CHAR_getInt(toindex,CHAR_VIGOR) + iPrice > getVigorMax()) { - CHAR_talkToCli(charaindex,-1,"ҵĻѾơ",CHAR_COLORRED); - CHAR_talkToCli(toindex,-1,"ĻѾơ",CHAR_COLORRED); + CHAR_talkToCli(charaindex,-1,"店家的活力已经超过限制。",CHAR_COLORRED); + CHAR_talkToCli(toindex,-1,"你的活力已经超过限制。",CHAR_COLORRED); break; } } #endif - // ǵ + // 若是道具 if(iKind == 0){ iItemIndex = CHAR_getItemIndex(toindex,iFieldIndex); - // ߲ + // 道具不存在 if(!ITEM_CHECKINDEX(iItemIndex)){ CHAR_clearStreetVendor(toindex,iBuyIndex); - printf("\nCHAR_sendStreetVendor(B):Ҳ!!!!!!!\n"); + printf("\nCHAR_sendStreetVendor(B):找不到道具!!!!!!!\n"); continue; } - // ڵϻʧĵ߲ɷ + // 丢在地上会消失的道具不可贩卖 if(ITEM_getInt(iItemIndex,ITEM_VANISHATDROP) == 1){ CHAR_clearStreetVendor(toindex,iBuyIndex); - CHAR_talkToCli(charaindex,-1,"ڵϻʧĵ߲ɷѡȡ",CHAR_COLORYELLOW); - CHAR_talkToCli(toindex,-1,"⵽жڵϻʧĵڷʺѼ¼",CHAR_COLORRED); + CHAR_talkToCli(charaindex,-1,"丢在地上会消失的道具不可贩卖,该选项取消",CHAR_COLORYELLOW); + CHAR_talkToCli(toindex,-1,"侦测到有丢在地上会消失的道具在贩卖,帐号已记录!",CHAR_COLORRED); LogStreetVendor( CHAR_getUseName(toindex), CHAR_getUseID(toindex), @@ -9808,7 +9808,7 @@ void CHAR_sendStreetVendor(int charaindex,char *message) ITEM_getChar(iItemIndex,ITEM_NAME), -1, iPrice, - "StreetVendor(ķ)", + "StreetVendor(卖方改封包)", CHAR_getInt(toindex,CHAR_FLOOR), CHAR_getInt(toindex,CHAR_X), CHAR_getInt(toindex,CHAR_Y), @@ -9820,8 +9820,8 @@ void CHAR_sendStreetVendor(int charaindex,char *message) } if(ITEM_getInt(iItemIndex,ITEM_TIME) > 0){ CHAR_clearStreetVendor(toindex,iBuyIndex); - CHAR_talkToCli(charaindex,-1,"ʱ߲ɷѡȡ",CHAR_COLORYELLOW); - CHAR_talkToCli(toindex,-1,"ʱڷʺѼ¼",CHAR_COLORRED); + CHAR_talkToCli(charaindex,-1,"限时道具不可贩卖,该选项取消",CHAR_COLORYELLOW); + CHAR_talkToCli(toindex,-1,"限时道具在贩卖,帐号已记录!",CHAR_COLORRED); LogStreetVendor( CHAR_getUseName(toindex), CHAR_getUseID(toindex), @@ -9830,7 +9830,7 @@ void CHAR_sendStreetVendor(int charaindex,char *message) ITEM_getChar(iItemIndex,ITEM_NAME), -1, iPrice, - "StreetVendor(ķ)", + "StreetVendor(卖方改封包)", CHAR_getInt(toindex,CHAR_FLOOR), CHAR_getInt(toindex,CHAR_X), CHAR_getInt(toindex,CHAR_Y), @@ -9844,7 +9844,7 @@ void CHAR_sendStreetVendor(int charaindex,char *message) char *arg = ITEM_getChar(iItemIndex, ITEM_NAME); if(arg[0] == '*'){ CHAR_clearStreetVendor(toindex,iBuyIndex); - CHAR_talkToCli( charaindex, -1, "󶨵Ʒɷѡȡ", CHAR_COLORYELLOW ); + CHAR_talkToCli( charaindex, -1, "绑定的物品不可贩卖,该选项取消", CHAR_COLORYELLOW ); LogStreetVendor( CHAR_getUseName(toindex), CHAR_getUseID(toindex), @@ -9853,7 +9853,7 @@ void CHAR_sendStreetVendor(int charaindex,char *message) ITEM_getChar(iItemIndex,ITEM_NAME), -1, iPrice, - "StreetVendor(ķ)", + "StreetVendor(卖方改封包)", CHAR_getInt(toindex,CHAR_FLOOR), CHAR_getInt(toindex,CHAR_X), CHAR_getInt(toindex,CHAR_Y), @@ -9865,7 +9865,7 @@ void CHAR_sendStreetVendor(int charaindex,char *message) } #endif #ifdef _ZHIPIAO_SYSTEM - if(strstr(ITEM_getChar(iItemIndex,ITEM_NAME),"֧Ʊ")!=NULL && strstr(ITEM_getChar(iItemIndex,ITEM_NAME),"DP֧Ʊ")==NULL){ + if(strstr(ITEM_getChar(iItemIndex,ITEM_NAME),"支票")!=NULL && strstr(ITEM_getChar(iItemIndex,ITEM_NAME),"DP支票")==NULL){ int zhipiaoindex=atoi(ITEM_getChar(iItemIndex,ITEM_ARGUMENT)); if(zhipiaoindex>0){ time_t timep; @@ -9875,14 +9875,14 @@ void CHAR_sendStreetVendor(int charaindex,char *message) timep = mktime(p); if(timep>zhipiaoindex){ CHAR_clearStreetVendor(toindex,iBuyIndex); - CHAR_talkToCli(charaindex,-1,"֧ƱѾڣѡȡ",CHAR_COLORYELLOW); - CHAR_talkToCli(toindex,-1,"֧ƱѾڣѡȡ뾡ʹã",CHAR_COLORRED); + CHAR_talkToCli(charaindex,-1,"该支票已经过期,该选项取消",CHAR_COLORYELLOW); + CHAR_talkToCli(toindex,-1,"该支票已经过期,该选项取消,请尽快使用!",CHAR_COLORRED); continue; } } } #endif - // Ʒ + // 议价物品不能卖 if(iPrice == 0){ LogStreetVendor( CHAR_getUseName(toindex), @@ -9892,7 +9892,7 @@ void CHAR_sendStreetVendor(int charaindex,char *message) ITEM_getChar(iItemIndex,ITEM_NAME), -1, iPrice, - "StreetVendor(򷽸ķ)", + "StreetVendor(买方改封包)", CHAR_getInt(toindex,CHAR_FLOOR), CHAR_getInt(toindex,CHAR_X), CHAR_getInt(toindex,CHAR_Y), @@ -9904,30 +9904,30 @@ void CHAR_sendStreetVendor(int charaindex,char *message) ); continue; } - // Ʒѵ + // 检查物品堆叠 iPileNum = ITEM_getInt(iItemIndex,ITEM_USEPILENUMS); - // ѵ + // 买方最大堆叠数 iMaxPileNum = CHAR_getMyMaxPilenum(charaindex); - // ƷĶѵϵѵ,Ʒ,Ʒ + // 若物品的堆叠数比身上的最大堆叠数少,把卖方的物品清掉,把物品新增至买方 if(iPileNum - iMaxPileNum <= 0){ if(!ITEM_CHECKINDEX(iItemIndex)){ - CHAR_talkToCli(charaindex,-1,"ʧ(1)",CHAR_COLORRED); + CHAR_talkToCli(charaindex,-1,"交易失败(1)。",CHAR_COLORRED); break; } #ifdef _ITEM_PILENUMS - // Ϊ0 + // 道具数量为0 if(ITEM_getInt(iItemIndex,ITEM_USEPILENUMS) <= 0){ - CHAR_talkToCli(charaindex,-1,"ʧ(2)",CHAR_COLORRED); + CHAR_talkToCli(charaindex,-1,"交易失败(2)。",CHAR_COLORRED); break; } #endif - // 򷽵 + // 新增买方的 if((iRet = CHAR_addItemSpecificItemIndex(charaindex,iItemIndex)) >= CHAR_MAXITEMHAVE){ - CHAR_talkToCli(charaindex,-1,"ˡ",CHAR_COLORRED); + CHAR_talkToCli(charaindex,-1,"道具栏满了。",CHAR_COLORRED); break; } CHAR_sendItemDataOne(charaindex,iRet); - // + // 清掉卖方的 CHAR_setItemIndex(toindex,iFieldIndex,-1); CHAR_sendItemDataOne(toindex,iFieldIndex); CHAR_clearStreetVendor(toindex,iBuyIndex); @@ -9941,10 +9941,10 @@ void CHAR_sendStreetVendor(int charaindex,char *message) #endif if(CHAR_getWorkInt(toindex,CHAR_WORKTRADETYPE)==0) { - // Ǯ + // 扣钱 CHAR_setInt(charaindex,CHAR_GOLD,CHAR_getInt(charaindex,CHAR_GOLD) - iPrice); CHAR_send_P_StatusString(charaindex,CHAR_P_STRING_GOLD); - // Ǯ + // 加钱 if(bPutToBank) CHAR_setInt(toindex,CHAR_BANKGOLD,CHAR_getInt(toindex,CHAR_BANKGOLD) + sellprice); else CHAR_setInt(toindex,CHAR_GOLD,CHAR_getInt(toindex,CHAR_GOLD) + sellprice); CHAR_send_P_StatusString(toindex,CHAR_P_STRING_GOLD); @@ -10006,12 +10006,12 @@ void CHAR_sendStreetVendor(int charaindex,char *message) CHAR_setInt(toindex,CHAR_VIGOR,CHAR_getInt(toindex,CHAR_VIGOR) + sellprice); } #endif - char streettypemsg[5][10] = {"ʯ","","Ա","",""}; - sprintf(szMsg," %s %s ",CHAR_getUseName(toindex),ITEM_getChar(iItemIndex,ITEM_NAME)); + char streettypemsg[5][10] = {"石币","声望","会员点","积分","活力"}; + sprintf(szMsg,"与 %s 道具 %s 交易完成",CHAR_getUseName(toindex),ITEM_getChar(iItemIndex,ITEM_NAME)); CHAR_talkToCli(charaindex,-1,szMsg,CHAR_COLORWHITE); - sprintf(szMsg,"%s ߵ %s",CHAR_getUseName(charaindex),ITEM_getChar(iItemIndex,ITEM_NAME)); + sprintf(szMsg,"%s 买走道具 %s",CHAR_getUseName(charaindex),ITEM_getChar(iItemIndex,ITEM_NAME)); CHAR_talkToCli(toindex,-1,szMsg,CHAR_COLORWHITE); - sprintf(szMsg,"γɽ%d (%s)",iPrice,streettypemsg[CHAR_getWorkInt(toindex,CHAR_WORKTRADETYPE)]); + sprintf(szMsg,"本次成交金额:%d (%s)",iPrice,streettypemsg[CHAR_getWorkInt(toindex,CHAR_WORKTRADETYPE)]); CHAR_talkToCli(toindex,-1,szMsg,CHAR_COLORWHITE); CHAR_talkToCli(charaindex,-1,szMsg,CHAR_COLORWHITE); // int mfd,tfd; @@ -10019,8 +10019,8 @@ void CHAR_sendStreetVendor(int charaindex,char *message) // tfd=getfdFromCharaIndex( toindex); CHAR_charSaveFromConnect(charaindex, FALSE); CHAR_charSaveFromConnect(toindex, FALSE); - CHAR_talkToCli(charaindex, -1, "ϵͳΪԶ浵", CHAR_COLORRED); - CHAR_talkToCli(toindex, -1, "ϵͳΪԶ浵", CHAR_COLORRED); + CHAR_talkToCli(charaindex, -1, "系统为你自动存档!", CHAR_COLORRED); + CHAR_talkToCli(toindex, -1, "系统为你自动存档!", CHAR_COLORRED); LogStreetVendor( CHAR_getUseName(toindex), CHAR_getUseID(toindex), @@ -10029,7 +10029,7 @@ void CHAR_sendStreetVendor(int charaindex,char *message) ITEM_getChar(iItemIndex,ITEM_NAME), -1, iPrice, - "StreetVendor()", + "StreetVendor(道具)", CHAR_getInt(toindex,CHAR_FLOOR), CHAR_getInt(toindex,CHAR_X), CHAR_getInt(toindex,CHAR_Y), @@ -10040,21 +10040,21 @@ void CHAR_sendStreetVendor(int charaindex,char *message) CHAR_getWorkInt(toindex,CHAR_WORKTRADETYPE) ); } - else CHAR_talkToCli(charaindex,-1,"϶ѵ޲㡣",CHAR_COLORRED); + else CHAR_talkToCli(charaindex,-1,"身上堆叠数上限不足。",CHAR_COLORRED); } - // dz + // 若是宠物 else if(iKind == 1){ int iEmptyPetField; iPetIndex = CHAR_getCharPet(toindex,iFieldIndex); - // ﲻ + // 宠物不存在 if(!CHAR_CHECKINDEX(iPetIndex)){ CHAR_clearStreetVendor(toindex,iBuyIndex); - printf("\nCHAR_sendStreetVendor(B):Ҳ!!!!!!!\n"); + printf("\nCHAR_sendStreetVendor(B):找不到宠物!!!!!!!\n"); continue; } if(CHAR_getInt(iPetIndex,CHAR_PETFAMILY) == 1){ - CHAR_talkToCli(charaindex,-1,"ػ޷ѡȡ",CHAR_COLORYELLOW); + CHAR_talkToCli(charaindex,-1,"家族守护兽无法贩卖,该选项取消",CHAR_COLORYELLOW); CHAR_clearStreetVendor(toindex,iBuyIndex); LogStreetVendor( CHAR_getUseName(toindex), @@ -10064,7 +10064,7 @@ void CHAR_sendStreetVendor(int charaindex,char *message) CHAR_getChar(iPetIndex,CHAR_NAME), -1, iPrice, - "StreetVendor(ķ)", + "StreetVendor(卖方改封包)", CHAR_getInt(toindex,CHAR_FLOOR), CHAR_getInt(toindex,CHAR_X), CHAR_getInt(toindex,CHAR_Y), @@ -10075,7 +10075,7 @@ void CHAR_sendStreetVendor(int charaindex,char *message) continue; } if(CHAR_getInt(toindex,CHAR_RIDEPET) == CHAR_getStreetVendor(toindex,iBuyIndex,SV_INDEX)){ - CHAR_talkToCli(charaindex,-1,"еij޷ѡȡ",CHAR_COLORYELLOW); + CHAR_talkToCli(charaindex,-1,"骑乘中的宠物无法贩卖,该选项取消",CHAR_COLORYELLOW); CHAR_clearStreetVendor(toindex,iBuyIndex); LogStreetVendor( CHAR_getUseName(toindex), @@ -10085,7 +10085,7 @@ void CHAR_sendStreetVendor(int charaindex,char *message) CHAR_getChar(iPetIndex,CHAR_NAME), -1, iPrice, - "StreetVendor(ķ)", + "StreetVendor(卖方改封包)", CHAR_getInt(toindex,CHAR_FLOOR), CHAR_getInt(toindex,CHAR_X), CHAR_getInt(toindex,CHAR_Y), @@ -10097,7 +10097,7 @@ void CHAR_sendStreetVendor(int charaindex,char *message) } #ifdef _PET_BUG if(CHAR_getInt(iPetIndex,CHAR_VITAL)>=getPetPoint(0)*20 || CHAR_getInt(iPetIndex,CHAR_STR)>=getPetPoint(1)*80 || CHAR_getInt(iPetIndex,CHAR_TOUGH)>=getPetPoint(2)*80 || CHAR_getInt(iPetIndex,CHAR_DEX)>=getPetPoint(3)*100){ - CHAR_talkToCli(charaindex,-1,"Թߣѡȡ",CHAR_COLORYELLOW); + CHAR_talkToCli(charaindex,-1,"宠物属性过高,该选项取消",CHAR_COLORYELLOW); CHAR_clearStreetVendor(toindex,iBuyIndex); LogStreetVendor( CHAR_getUseName(toindex), @@ -10107,7 +10107,7 @@ void CHAR_sendStreetVendor(int charaindex,char *message) CHAR_getChar(iPetIndex,CHAR_NAME), -1, iPrice, - "StreetVendor(ķ)", + "StreetVendor(卖方改封包)", CHAR_getInt(toindex,CHAR_FLOOR), CHAR_getInt(toindex,CHAR_X), CHAR_getInt(toindex,CHAR_Y), @@ -10119,7 +10119,7 @@ void CHAR_sendStreetVendor(int charaindex,char *message) } #endif if(strstr(CHAR_getChar(iPetIndex,CHAR_USERPETNAME),"|")){ - CHAR_talkToCli(charaindex,-1,"ijַǷ޷̯",CHAR_COLORYELLOW); + CHAR_talkToCli(charaindex,-1,"您的宠物名字非法,无法摆摊!",CHAR_COLORYELLOW); CHAR_clearStreetVendor(toindex,iBuyIndex); LogStreetVendor( CHAR_getUseName(toindex), @@ -10129,7 +10129,7 @@ void CHAR_sendStreetVendor(int charaindex,char *message) CHAR_getChar(iPetIndex,CHAR_NAME), -1, iPrice, - "StreetVendor(ķ)", + "StreetVendor(卖方改封包)", CHAR_getInt(toindex,CHAR_FLOOR), CHAR_getInt(toindex,CHAR_X), CHAR_getInt(toindex,CHAR_Y), @@ -10139,7 +10139,7 @@ void CHAR_sendStreetVendor(int charaindex,char *message) ); continue; } - // Ʒ + // 议价物品不能卖 if(iPrice == 0){ LogStreetVendor( CHAR_getUseName(toindex), @@ -10149,7 +10149,7 @@ void CHAR_sendStreetVendor(int charaindex,char *message) CHAR_getChar(iPetIndex,CHAR_NAME), -1, iPrice, - "StreetVendor(򷽸ķ)", + "StreetVendor(买方改封包)", CHAR_getInt(toindex,CHAR_FLOOR), CHAR_getInt(toindex,CHAR_X), CHAR_getInt(toindex,CHAR_Y), @@ -10161,7 +10161,7 @@ void CHAR_sendStreetVendor(int charaindex,char *message) ); continue; } -//ǰ󶨵ij򲻿ڷ +//如果是绑定的宠物则不可用于贩卖 #ifdef _PET_AMOI__E //if( PET_NOT_DropTradeStreetVandor == EVOLUTION_getPetENABLETRADE( CHAR_getInt( iPetIndex, CHAR_PETID)) // ||PET_NOT_StreetVandor == EVOLUTION_getPetENABLETRADE( CHAR_getInt( iPetIndex, CHAR_PETID)) @@ -10169,25 +10169,25 @@ void CHAR_sendStreetVendor(int charaindex,char *message) if( ( PET_NOT_STREETVANDOR ) & EVOLUTION_getPetENABLETRADE( CHAR_getInt( iPetIndex, CHAR_PETID))){ char buf[128]; - sprintf(buf,"%sɷѡȡ!~",CHAR_getInt( iPetIndex, CHAR_NAME)); + sprintf(buf,"%s不可贩卖,该选项取消!~",CHAR_getInt( iPetIndex, CHAR_NAME)); CHAR_talkToCli(charaindex,-1,buf,CHAR_COLORRED); continue; } #endif - // װѱ޽ָ,ûת + // 检查玩家有无装备驯兽戒指,检查玩家有没有转生过 if(CHAR_getWorkInt(charaindex,CHAR_PickAllPet) == FALSE && CHAR_getInt(charaindex,CHAR_TRANSMIGRATION) < 1){ - // ҵȼûбȳ + // 检查玩家等级有没有比宠物高 if(CHAR_getInt(iPetIndex,CHAR_LV) > (CHAR_getInt(charaindex,CHAR_LV) + 5)){ - CHAR_talkToCli(charaindex,-1,"޷չ˸ó",CHAR_COLORRED); + CHAR_talkToCli(charaindex,-1,"你无法照顾该宠物。",CHAR_COLORRED); continue; } } - // dzサ + // 以下是宠物交换 iEmptyPetField = CHAR_getCharPetElement(charaindex); - // пλ + // 身上有空栏位 if(iEmptyPetField > -1){ - // + // 清卖方 CHAR_setCharPet(toindex,iFieldIndex,-1); CHAR_clearStreetVendor(toindex,iBuyIndex); if( iFieldIndex == CHAR_getInt( toindex, CHAR_DEFAULTPET)) { @@ -10198,7 +10198,7 @@ void CHAR_sendStreetVendor(int charaindex,char *message) } sprintf(szMsg,"K%d",iFieldIndex); CHAR_sendStatusString(toindex,szMsg); - // 趨 + // 设定买方 CHAR_setCharPet(charaindex,iEmptyPetField,iPetIndex); CHAR_setWorkInt(iPetIndex,CHAR_WORKPLAYERINDEX,charaindex); CHAR_setChar(iPetIndex,CHAR_OWNERCDKEY,CHAR_getChar(charaindex,CHAR_CDKEY)); @@ -10218,10 +10218,10 @@ void CHAR_sendStreetVendor(int charaindex,char *message) #endif if(CHAR_getWorkInt(toindex,CHAR_WORKTRADETYPE)==0) { - // Ǯ + // 扣钱 CHAR_setInt(charaindex,CHAR_GOLD,CHAR_getInt(charaindex,CHAR_GOLD) - iPrice); CHAR_send_P_StatusString(charaindex,CHAR_P_STRING_GOLD); - // Ǯ + // 加钱 if(bPutToBank) CHAR_setInt(toindex,CHAR_BANKGOLD,CHAR_getInt(toindex,CHAR_BANKGOLD) + sellprice); else CHAR_setInt(toindex,CHAR_GOLD,CHAR_getInt(toindex,CHAR_GOLD) + sellprice); CHAR_send_P_StatusString(toindex,CHAR_P_STRING_GOLD); @@ -10283,12 +10283,12 @@ void CHAR_sendStreetVendor(int charaindex,char *message) CHAR_setInt(toindex,CHAR_VIGOR,CHAR_getInt(toindex,CHAR_VIGOR) + sellprice); } #endif - char streettypemsg[5][10] = {"ʯ","","Ա","",""}; - sprintf(szMsg," %s %s ɣ",CHAR_getUseName(toindex),CHAR_getChar(iPetIndex,CHAR_NAME)); + char streettypemsg[5][10] = {"石币","声望","会员点","积分","活力"}; + sprintf(szMsg,"与 %s 宠物 %s 交易完成!",CHAR_getUseName(toindex),CHAR_getChar(iPetIndex,CHAR_NAME)); CHAR_talkToCli(charaindex,-1,szMsg,CHAR_COLORWHITE); - sprintf(szMsg,"%s ߳ %s",CHAR_getUseName(charaindex),CHAR_getChar(iPetIndex,CHAR_NAME)); + sprintf(szMsg,"%s 买走宠物 %s",CHAR_getUseName(charaindex),CHAR_getChar(iPetIndex,CHAR_NAME)); CHAR_talkToCli(toindex,-1,szMsg,CHAR_COLORWHITE); - sprintf(szMsg,"γɽ%d (%s)",iPrice,streettypemsg[CHAR_getWorkInt(toindex,CHAR_WORKTRADETYPE)]); + sprintf(szMsg,"本次成交金额:%d (%s)",iPrice,streettypemsg[CHAR_getWorkInt(toindex,CHAR_WORKTRADETYPE)]); CHAR_talkToCli(toindex,-1,szMsg,CHAR_COLORWHITE); CHAR_talkToCli(charaindex,-1,szMsg,CHAR_COLORWHITE); // int mfd,tfd; @@ -10296,8 +10296,8 @@ void CHAR_sendStreetVendor(int charaindex,char *message) // tfd=getfdFromCharaIndex( toindex); CHAR_charSaveFromConnect(charaindex, FALSE); CHAR_charSaveFromConnect(toindex, FALSE); - CHAR_talkToCli(charaindex, -1, "ϵͳΪԶ浵", CHAR_COLORRED); - CHAR_talkToCli(toindex, -1, "ϵͳΪԶ浵", CHAR_COLORRED); + CHAR_talkToCli(charaindex, -1, "系统为你自动存档!", CHAR_COLORRED); + CHAR_talkToCli(toindex, -1, "系统为你自动存档!", CHAR_COLORRED); LogStreetVendor( CHAR_getUseName(toindex), CHAR_getUseID(toindex), @@ -10306,7 +10306,7 @@ void CHAR_sendStreetVendor(int charaindex,char *message) CHAR_getChar(iPetIndex,CHAR_NAME), CHAR_getInt(iPetIndex,CHAR_LV), iPrice, - "StreetVendor()", + "StreetVendor(宠物)", CHAR_getInt(toindex,CHAR_FLOOR), CHAR_getInt(toindex,CHAR_X), CHAR_getInt(toindex,CHAR_Y), @@ -10317,19 +10317,19 @@ void CHAR_sendStreetVendor(int charaindex,char *message) CHAR_getWorkInt(toindex,CHAR_WORKTRADETYPE) ); } - // ҳλ - else CHAR_talkToCli(charaindex,-1,"ϳλ㣡",CHAR_COLORRED); + // 玩家宠物栏位满了 + else CHAR_talkToCli(charaindex,-1,"身上宠物栏栏位不足!",CHAR_COLORRED); } - // + // 错的内容 else{ CHAR_clearStreetVendor(toindex,iBuyIndex); - printf("\nCHAR_sendStreetVendor(B):!!!!!!!\n"); + printf("\nCHAR_sendStreetVendor(B):错的内容!!!!!!!\n"); } } - // 趨Ϊ̯,״̬ + // 卖方设定为摆摊,清除买方状态 CHAR_setWorkInt(charaindex,CHAR_WORKSTREETVENDOR,-1); CHAR_setWorkInt(toindex,CHAR_WORKSTREETVENDOR,1); - // ͼʾ + // 清除交易图示 CHAR_sendTradeEffect(charaindex,0); CHAR_sendTradeEffect(toindex,0); CHAR_send_P_StatusString(charaindex,CHAR_P_STRING_GOLD); @@ -10340,7 +10340,7 @@ void CHAR_sendStreetVendor(int charaindex,char *message) CHAR_setWorkInt(charaindex,CHAR_LOOKSTREETTIME,0); #endif } - else printf("StreetVendorҲԷ(%s)\n",CHAR_getChar(charaindex,CHAR_NAME)); + else printf("StreetVendor交易找不到对方(%s)\n",CHAR_getChar(charaindex,CHAR_NAME)); } } @@ -10348,7 +10348,7 @@ void CHAR_sendStreetVendorDataToCli(int charaindex,int toindex) { int i,count = 0; - // ͷݸԼ,Ҫ޸ķ + // 送贩卖内容给玩家自己,要修改贩卖内容 if(charaindex == toindex){ char szMsg[512],szTemp[512],szTemp1[16]; @@ -10366,7 +10366,7 @@ void CHAR_sendStreetVendorDataToCli(int charaindex,int toindex) sprintf(szMsg,"S|%d|%s",count,szTemp); lssproto_STREET_VENDOR_send(getfdFromCharaIndex(charaindex),szMsg); } - // ͷ͵һϸݸ + // 送贩卖大项和第一个贩卖物的细项内容给买家 else{ int kind,index,itempetindex,firstindex = -1; char szName[32],szFreeName[32]; @@ -10377,38 +10377,38 @@ void CHAR_sendStreetVendorDataToCli(int charaindex,int toindex) if(CHAR_getStreetVendor(toindex,i,SV_USAGE) == TRUE){ kind = CHAR_getStreetVendor(toindex,i,SV_KIND); index = CHAR_getStreetVendor(toindex,i,SV_INDEX); - // ǵ + // 若是道具 if(kind == 0){ itempetindex = CHAR_getItemIndex(toindex,index); - // ߲ + // 道具不存在 if(!ITEM_CHECKINDEX(itempetindex)){ CHAR_clearStreetVendor(toindex,i); - printf("\nCHAR_sendStreetVendorDataToCli():Ҳ!!!!!!!\n"); + printf("\nCHAR_sendStreetVendorDataToCli():找不到道具!!!!!!!\n"); continue; } - if(strstr(ITEM_getChar(itempetindex,ITEM_NAME),"Ѽ")!=NULL) + if(strstr(ITEM_getChar(itempetindex,ITEM_NAME),"经验搜集丹")!=NULL) sprintf(szName,"%s",ITEM_getChar(itempetindex,ITEM_SECRETNAME)); else sprintf(szName,"%s",ITEM_getChar(itempetindex,ITEM_NAME)); - // szFreeName ڵʱ混 + // szFreeName 在道具时是用来存贩卖的数量 sprintf(szFreeName,"%d",CHAR_getStreetVendor(toindex,i,SV_PILE)); } - // + // 宠物 else if(kind == 1){ itempetindex = CHAR_getCharPet(toindex,index); - // ﲻ + // 宠物不存在 if(!CHAR_CHECKINDEX(itempetindex)){ CHAR_clearStreetVendor(toindex,i); - printf("\nCHAR_sendStreetVendorDataToCli():Ҳ!!!!!!!\n"); + printf("\nCHAR_sendStreetVendorDataToCli():找不到宠物!!!!!!!\n"); continue; } sprintf(szName,"%s",CHAR_getChar(itempetindex,CHAR_NAME)); sprintf(szFreeName,"%s",CHAR_getChar(itempetindex,CHAR_USERPETNAME)); } - // + // 错的内容 else{ CHAR_clearStreetVendor(toindex,i); - printf("\nCHAR_sendStreetVendorDataToCli():!!!!!!!\n"); + printf("\nCHAR_sendStreetVendorDataToCli():错误内容!!!!!!!\n"); continue; } if(firstindex == -1) firstindex = i; @@ -10436,15 +10436,15 @@ void CHAR_sendStreetVendorOneDataToCli(int charaindex,int toindex,int sendindex) memset(szTemp,0,sizeof(szTemp)); memset(szTemp1,0,sizeof(szTemp1)); - // ǵ + // 若是道具 if(kind == 0){ int crushe,maxcrushe,itemcolor; itempetindex = CHAR_getItemIndex(toindex,index); if(ITEM_CHECKINDEX(itempetindex)){ - // ˵ + // 说明 #ifdef _TRADE_ITEM_FIX - if(getTradeItemFix()==1 && ( ITEM_getInt(itempetindex,ITEM_MERGEFLG)==TRUE || strstr(ITEM_getChar(itempetindex,ITEM_NAME),"ϳ")!=NULL ) ){ + if(getTradeItemFix()==1 && ( ITEM_getInt(itempetindex,ITEM_MERGEFLG)==TRUE || strstr(ITEM_getChar(itempetindex,ITEM_NAME),"合成")!=NULL ) ){ sprintf(szTemp1," "); char attnum[16]; sprintf(attnum,""); @@ -10457,23 +10457,23 @@ void CHAR_sendStreetVendorOneDataToCli(int charaindex,int toindex,int sendindex) } } if(strcmp(szTemp1," ")==0){ - sprintf(szTemp1,"%s%d%s ",(ITEM_getInt(itempetindex,ITEM_MODIFYATTACK)>=0)?"+":"",ITEM_getInt(itempetindex,ITEM_MODIFYATTACK),attnum); + sprintf(szTemp1,"攻%s%d%s ",(ITEM_getInt(itempetindex,ITEM_MODIFYATTACK)>=0)?"+":"",ITEM_getInt(itempetindex,ITEM_MODIFYATTACK),attnum); }else{ - sprintf(szTemp1,"%s%s%d%s ",szTemp1,(ITEM_getInt(itempetindex,ITEM_MODIFYATTACK)>=0)?"+":"",ITEM_getInt(itempetindex,ITEM_MODIFYATTACK),attnum); + sprintf(szTemp1,"%s攻%s%d%s ",szTemp1,(ITEM_getInt(itempetindex,ITEM_MODIFYATTACK)>=0)?"+":"",ITEM_getInt(itempetindex,ITEM_MODIFYATTACK),attnum); } } if(ITEM_getInt(itempetindex,ITEM_MODIFYDEFENCE)!=0){ if(strcmp(szTemp1," ")==0){ - sprintf(szTemp1,"%s%d ",(ITEM_getInt(itempetindex,ITEM_MODIFYDEFENCE)>=0)?"+":"",ITEM_getInt(itempetindex,ITEM_MODIFYDEFENCE)); + sprintf(szTemp1,"防%s%d ",(ITEM_getInt(itempetindex,ITEM_MODIFYDEFENCE)>=0)?"+":"",ITEM_getInt(itempetindex,ITEM_MODIFYDEFENCE)); }else{ - sprintf(szTemp1,"%s%s%d ",szTemp1,(ITEM_getInt(itempetindex,ITEM_MODIFYDEFENCE)>=0)?"+":"",ITEM_getInt(itempetindex,ITEM_MODIFYDEFENCE)); + sprintf(szTemp1,"%s防%s%d ",szTemp1,(ITEM_getInt(itempetindex,ITEM_MODIFYDEFENCE)>=0)?"+":"",ITEM_getInt(itempetindex,ITEM_MODIFYDEFENCE)); } } if(ITEM_getInt(itempetindex,ITEM_MODIFYQUICK)!=0){ if(strcmp(szTemp1," ")==0){ - sprintf(szTemp1,"%s%d ",(ITEM_getInt(itempetindex,ITEM_MODIFYQUICK)>=0)?"+":"",ITEM_getInt(itempetindex,ITEM_MODIFYQUICK)); + sprintf(szTemp1,"敏%s%d ",(ITEM_getInt(itempetindex,ITEM_MODIFYQUICK)>=0)?"+":"",ITEM_getInt(itempetindex,ITEM_MODIFYQUICK)); }else{ - sprintf(szTemp1,"%s%s%d ",szTemp1,(ITEM_getInt(itempetindex,ITEM_MODIFYQUICK)>=0)?"+":"",ITEM_getInt(itempetindex,ITEM_MODIFYQUICK)); + sprintf(szTemp1,"%s敏%s%d ",szTemp1,(ITEM_getInt(itempetindex,ITEM_MODIFYQUICK)>=0)?"+":"",ITEM_getInt(itempetindex,ITEM_MODIFYQUICK)); } } if(ITEM_getInt(itempetindex,ITEM_MAGICID)>0){ @@ -10497,12 +10497,12 @@ void CHAR_sendStreetVendorOneDataToCli(int charaindex,int toindex,int sendindex) sprintf(szTemp1,"%s|",ITEM_getChar(itempetindex,ITEM_EFFECTSTRING)); strcat(szTemp,szTemp1); - // ;ö + // 耐久度 crushe = ITEM_getInt(itempetindex,ITEM_DAMAGECRUSHE); maxcrushe = ITEM_getInt(itempetindex,ITEM_MAXDAMAGECRUSHE); if(crushe < 1) crushe = 1; - if(maxcrushe < 1) sprintf(szTemp1,"|"); // + if(maxcrushe < 1) sprintf(szTemp1,"不会损坏|"); //不会损坏 else{ maxcrushe = maxcrushe/1000; crushe = crushe/1000; @@ -10510,30 +10510,30 @@ void CHAR_sendStreetVendorOneDataToCli(int charaindex,int toindex,int sendindex) sprintf(szTemp1,"%d%%|",(int)((crushe*100)/maxcrushe)); } strcat(szTemp,szTemp1); - // ɫ + // 文字颜色 itemcolor = CHAR_COLORWHITE; if(strlen(ITEM_getChar(itempetindex,ITEM_CDKEY)) != 0) itemcolor = CHAR_COLORGREEN; else if(ITEM_getInt(itempetindex,ITEM_MERGEFLG)) itemcolor = CHAR_COLORYELLOW; sprintf(szTemp1,"%d|",itemcolor); strcat(szTemp,szTemp1); - // ͼ + // 图号 sprintf(szTemp1,"%d|",ITEM_getInt(itempetindex,ITEM_BASEIMAGENUMBER)); strcat(szTemp,szTemp1); } - // Ҳ + // 找不到道具 else{ CHAR_clearStreetVendor(toindex,sendindex); - printf("\nCHAR_sendStreetVendorOneDataToCli():Ҳ!!!!!!!\n"); + printf("\nCHAR_sendStreetVendorOneDataToCli():找不到道具!!!!!!!\n"); return; } } - // + // 宠物 else if(kind == 1){ int skillid,petskillindex; itempetindex = CHAR_getCharPet(toindex,index); if(CHAR_CHECKINDEX(itempetindex)){ - // 輼 + // 宠技 for(i=0;i5)){ - CHAR_talkToCli(charaindex,-1,"Ѿʦ",CHAR_COLORRED); + CHAR_talkToCli(charaindex,-1,"已经超过拜师条件!",CHAR_COLORRED); break; } #endif CHAR_setChar(charaindex,CHAR_TEACHER_ID,CHAR_getChar(index,CHAR_CDKEY)); CHAR_setChar(charaindex,CHAR_TEACHER_NAME,CHAR_getChar(index,CHAR_NAME)); - sprintf(szMsg,"%s ѳΪѧ",CHAR_getChar(charaindex,CHAR_NAME)); + sprintf(szMsg,"%s 已成为你的学生!",CHAR_getChar(charaindex,CHAR_NAME)); CHAR_talkToCli(index,-1,szMsg,CHAR_COLORWHITE); - sprintf(szMsg,"%s ѳΪĵʦ",CHAR_getChar(index,CHAR_NAME)); + sprintf(szMsg,"%s 已成为你的导师!",CHAR_getChar(index,CHAR_NAME)); CHAR_talkToCli(charaindex,-1,szMsg,CHAR_COLORWHITE); } break; - // ȡʦʸ Ѿʦ + // 取消导师资格 已经出师 case 'C': { if((CHAR_getInt(charaindex,CHAR_TRANSMIGRATION)==6 && CHAR_getInt(charaindex,CHAR_LV)==160)){ @@ -10873,9 +10873,9 @@ void CHAR_Teacher_system(int charaindex,char *data) CHAR_setChar(charaindex,CHAR_TEACHER_NAME,""); #ifdef _STU_SYS CHAR_setInt(j,CHAR_STUNUM,CHAR_getInt(j,CHAR_STUNUM)+1); - sprintf(szMsg,"ѧ<%s>ѾɹʦĿǰΪֹɹʹ%dѧѧҵгɣͣ",CHAR_getChar(charaindex,CHAR_NAME),CHAR_getInt(j,CHAR_STUNUM)); + sprintf(szMsg,"你的学生<%s>已经成功出师,你目前为止成功使%d名学生学业有成,加油!",CHAR_getChar(charaindex,CHAR_NAME),CHAR_getInt(j,CHAR_STUNUM)); CHAR_talkToCli(j,-1,szMsg,CHAR_COLORYELLOW); - CHAR_talkToCli(charaindex,-1,"Ѿɹʦ",CHAR_COLORYELLOW); + CHAR_talkToCli(charaindex,-1,"你已经成功出师!",CHAR_COLORYELLOW); return; #endif } @@ -10885,7 +10885,7 @@ void CHAR_Teacher_system(int charaindex,char *data) CHAR_setChar(charaindex,CHAR_TEACHER_ID,""); CHAR_setChar(charaindex,CHAR_TEACHER_NAME,""); - // ֵ + // 扣魅力值 CHAR_setInt(charaindex,CHAR_CHARM,iCharm < 0 ? 0:iCharm); CHAR_setWorkInt(charaindex,CHAR_WORKFIXCHARM,iCharm < 0 ? 0:iCharm); CHAR_send_P_StatusString(charaindex,CHAR_P_STRING_CHARM); @@ -10899,7 +10899,7 @@ void CHAR_Teacher_system_View(int charaindex,int iOnLine,char *data) { char szMsg[1024]; - // V|ʦ|ڲ|ϵ + // V|导师姓名|在不在线上|所在星系 sprintf(szMsg,"V|%s|%d|%s",CHAR_getChar(charaindex,CHAR_TEACHER_NAME),iOnLine,data); lssproto_TEACHER_SYSTEM_send(getfdFromCharaIndex(charaindex),szMsg); } @@ -10936,33 +10936,33 @@ void check_TimeTicket() } tickettime = CHAR_getWorkInt( i, CHAR_WORKTICKETTIME); - // 볡 + // 刚入场 /*if( tickettime == 0 ) { - //CHAR_talkToCli( i, -1, "ڣʹƱ", CHAR_COLORYELLOW); + //CHAR_talkToCli( i, -1, "请在10秒内使用门票。", CHAR_COLORYELLOW); //CHAR_setWorkInt( i, CHAR_WORKTICKETTIME, nowtime+10); } else */ - // ʱ20 + // 时限20秒以上 if( tickettime > 0 && tickettime > nowtime+20 ) { continue; } - // ʱ޲20 + // 时限不到20秒 else if( tickettime < nowtime+20 && tickettime >= nowtime ) { - sprintf( msg, "ʱƱʣʱ%d롣", tickettime - nowtime); + sprintf( msg, "时间票剩余时间%d秒。", tickettime - nowtime); CHAR_talkToCli( i, -1, msg, CHAR_COLORYELLOW); } - // ʱ + // 超过时限 else if( tickettime < nowtime ) { // int floor, x, y; int totaltime; char msg[1024]; if( CHAR_getWorkInt( i, CHAR_WORKBATTLEMODE) == BATTLE_CHARMODE_NONE) { - CHAR_talkToCli( i, -1, "ʱѵллˡ", CHAR_COLORYELLOW); + CHAR_talkToCli( i, -1, "时间已到,谢谢光顾。", CHAR_COLORYELLOW); if( CHAR_getWorkInt( i, CHAR_WORKTICKETTIMESTART) > 0 ) { totaltime = nowtime - CHAR_getWorkInt( i, CHAR_WORKTICKETTIMESTART); - sprintf( msg, "볡ʱ%d%d롣", totaltime/60, totaltime%60); + sprintf( msg, "总入场时间%d分%d秒。", totaltime/60, totaltime%60); CHAR_talkToCli( i, -1, msg, CHAR_COLORYELLOW); } CHAR_setWorkInt( i, CHAR_WORKTICKETTIME, 0); @@ -10978,8 +10978,8 @@ void check_TimeTicket() CHAR_warpToSpecificPoint( i, 2006, 20, 17); } else { - CHAR_talkToCli( i, -1, "ʱѵսʱ뿪", CHAR_COLORYELLOW); - // BATTLE_Exit() + CHAR_talkToCli( i, -1, "时间已到,将於战斗结束时离开。", CHAR_COLORYELLOW); + // 移至 BATTLE_Exit() 处理 } } } @@ -10994,7 +10994,7 @@ int CharaData( int sockfd, Char* ch ){ char outbuff[CHARDATASIZE]; // Char* ch; int charaindex=CONNECT_getCharaindex(sockfd); -// print("\nе\n"); +// print("\n保存运行中的数据\n"); pLtime = localtime( &NowTime.tv_sec ); @@ -11004,7 +11004,7 @@ int CharaData( int sockfd, Char* ch ){ // strcpy( charId, CHAR_getChar( charaindex, CHAR_CDKEY ) ); CONNECT_getCdkey( sockfd, charId, sizeof(charId)); - print("˺:%s", charId); + print("账号:%s", charId); hash = 0; for( j=0; j2) - print(" 쳣 CHAR_setInt ȼ:%d.%s :%s-%d\n", data, CHAR_getChar( index, CHAR_CDKEY),file, line); + print(" 升级异常 CHAR_setInt 等级:%d.%s :%s-%d\n", data, CHAR_getChar( index, CHAR_CDKEY),file, line); }*/ buf = CHAR_chara[index].data[element]; @@ -1489,7 +1489,7 @@ INLINE int CHAR_setWorkInt( int index ,CHAR_WORKDATAINT element, int data) return -1; } -// if(CHAR_getInt(index,CHAR_WHICHTYPE)==CHAR_TYPEPLAYER && element == CHAR_WORKOBJINDEX && CONNECT_getState(getfdFromCharaIndex(index))==LOGIN){ //޸OBJҵNPC͵ͼת +// if(CHAR_getInt(index,CHAR_WHICHTYPE)==CHAR_TYPEPLAYER && element == CHAR_WORKOBJINDEX && CONNECT_getState(getfdFromCharaIndex(index))==LOGIN){ //修复OBJ错乱导致NPC和地图跳转点问题 // if(CHECKOBJECTUSE( data )==TRUE){ // //print("\nobj=%d\n",data); // return -1; @@ -1623,7 +1623,7 @@ INLINE BOOL _CHAR_setFlg( char *file, int line, int index , CHAR_DATACHAR elemen elementnum = element / (sizeof( char )*8); bitnum = element % (sizeof( char )*8); - /* ɼëת */ + /* 樯及袄毛转 */ buf = CHAR_chara[index].flg[elementnum] & CHAR_flgbitmaskpattern[bitnum]; @@ -1782,7 +1782,7 @@ INLINE CHAR_HaveSkill* CHAR_getCharHaveSkill( int index,int sindex ) return &CHAR_chara[index].haveSkill[sindex]; } //------------------------------------------------------------------------ -//index λ +//人物index 技能位置 索引 INLINE int _CHAR_getIntPSkill( char *file, int line, int index, int skillti, SKILL_DATAINT ti) { if( !CHAR_CHECKINDEX( index) ) return -1; @@ -1794,7 +1794,7 @@ INLINE int _CHAR_getIntPSkill( char *file, int line, int index, int skillti, SKI if( CHAR_chara[index].haveSkill[skillti].skill.data[ti] <= 0 ) return -1; return CHAR_chara[index].haveSkill[skillti].skill.data[ti]; } -//index λ 趨ֵ +//人物index 技能位置 索引 欲设定值 INLINE void _CHAR_setIntPSkill( char *file, int line, int index, int skillti, SKILL_DATAINT ti, int data) { if( !CHAR_CHECKINDEX( index) ) return; @@ -1808,7 +1808,7 @@ INLINE void _CHAR_setIntPSkill( char *file, int line, int index, int skillti, SK } //------------------------------------------------------------------------ -#ifdef _PROFESSION_SKILL // WON ADD ְҵ +#ifdef _PROFESSION_SKILL // WON ADD 人物职业技能 int CHAR_getCharSkill( int index,int sindex ) { CHAR_HaveSkill* hskill; @@ -2084,11 +2084,11 @@ BOOL CHAR_initCharArray( int pnum, int petnum,int onum ) CHAR_charanum = pnum + petnum +onum; CHAR_chara = allocateMemory( sizeof( Char ) * CHAR_charanum ); if( CHAR_chara == NULL ){ - print("޷ڴ !!\n"); + print("无法分配内存 !!\n"); return FALSE; } //andy_log - print(" %4.2f MB ռ...", ((float)sizeof( Char )*CHAR_charanum)/1024/1024); + print("分配 %4.2f MB 空间...", ((float)sizeof( Char )*CHAR_charanum)/1024/1024); for( i = 0 ; i < CHAR_charanum ; i ++ ){ memset( &CHAR_chara[i], 0 , sizeof( Char )); @@ -2556,16 +2556,16 @@ BOOL CHAR_makeCharFromStringToArg( char* data, Char* one) char *sp2 = strstr( data, "ownt="); if( sp && sp2 ){ snprintf( name, sp2-sp-5, "%s", sp+5 ); - print("\nʼ½:%s ", name ); + print("\n开始登陆人物名称:%s ", name ); }else - print("\nʼ½ƴ! "); + print("\n开始登陆人物名称错误! "); if( data[strlen(data)-2] != '\n' ){ - print("\n ½!:%s ",data+strlen(data)-20 ); + print("\n 登陆错误!:%s ",data+strlen(data)-20 ); } if( strlen(name) > 16 ){ - print("ƹ!! :%s :%d ", name ,strlen(name) ); + print("人物名称过长!! 人物名称:%s 长度:%d ", name ,strlen(name) ); } } @@ -2734,14 +2734,14 @@ BOOL CHAR_makeCharFromStringToArg( char* data, Char* one) if( ret == TRUE ){ int petindex = PET_initCharOneArray( &ch ); if( petindex < 0 ){ - print( "ʧܡ\n"); + print( "宠物制作失败。\n"); } one->unionTable.indexOfPet[petnumber] = petindex; goto NEXT; }else{ - LodBadPetString( data, "ܼ", petnumber); + LodBadPetString( data, "错误总计", petnumber); - fprint( " ַ ޷\n"); + fprint( "错误 宠物字符串 无法作成\n"); return FALSE; } } @@ -2755,13 +2755,13 @@ BOOL CHAR_makeCharFromStringToArg( char* data, Char* one) if( ret == TRUE ) { int petindex = PET_initCharOneArray( &ch ); if( petindex < 0 ) { - fprint( " ޷\n"); + fprint( "错误 宠物 无法作成\n"); } one->indexOfPoolPet[petnumber] = petindex; goto NEXT; }else{ LodBadPetString( data, "err *total", petnumber); - fprint( " ϳɳַ ޷\n"); + fprint( "错误 合成宠物字符串 无法作成\n"); return FALSE; } } @@ -2784,13 +2784,13 @@ BOOL CHAR_makeCharFromStringToArg( char* data, Char* one) char *sp2 = strstr( data, "ownt="); if( sp && sp2 ){ snprintf( name, sp2-sp-5, "%s", sp+5 ); - print("\n½ɹ :%s ", name ); + print("\n登陆成功 人物名称:%s ", name ); } else - print("\n½ɹ ƴ! "); + print("\n登陆成功 人物名称错误! "); if( data[strlen(data)-2] != '\n' ){ - print("\nҵ½! "); + print("\n玩家登陆出错! "); return FALSE; } } @@ -2845,7 +2845,7 @@ char* CHAR_makePetStringFromPetIndex( int petindex) linedata ); strlength += strlen( linedata ); if( strlength > sizeof( CHAR_petdataString ) ) { - fprint( " ݻ岻\n"); + fprint( "错误 宠物数据缓冲不足\n"); return "\0"; } } @@ -2861,7 +2861,7 @@ char* CHAR_makePetStringFromPetIndex( int petindex) sizeof( CHAR_petdataString ) - strlength, linedata ); strlength += strlen( linedata ); if( strlength > sizeof( CHAR_petdataString ) ) { - fprint( " ݻ岻\n"); + fprint( "错误 宠物数据缓冲不足\n"); return "\0"; } } @@ -2878,7 +2878,7 @@ char* CHAR_makePetStringFromPetIndex( int petindex) strlength += strlen( linedata ); if( strlength > sizeof( CHAR_petdataString ) ) { - fprint( " ݻ岻\n"); + fprint( "错误 宠物数据缓冲不足\n"); return "\0"; } } @@ -3012,7 +3012,7 @@ int CHAR_makePetFromStringToArg( char *src, Char *ch, int ti) return TRUE; } -#ifdef _PERSONAL_FAME // Arminius 8.30: +#ifdef _PERSONAL_FAME // Arminius 8.30: 家族个人声望 void CHAR_earnFame(int index, int fame) { @@ -3075,12 +3075,12 @@ void CHAR_DetainSameItem( int charaindex, int itemindex) LogItem( CHAR_getChar( charaindex, CHAR_NAME), CHAR_getChar( charaindex, CHAR_CDKEY), -#ifdef _add_item_log_name // WON ADD itemlogitem +#ifdef _add_item_log_name // WON ADD 在item的log中增加item名称 itemindex, #else ITEM_getInt( itemindex, ITEM_ID), #endif - "SysDeleteSame(ϵͳɾظ)", + "SysDeleteSame(系统删除重覆道具)", CHAR_getInt( charaindex, CHAR_FLOOR), CHAR_getInt( charaindex, CHAR_X), CHAR_getInt( charaindex, CHAR_Y), @@ -3102,7 +3102,7 @@ void CHAR_DetainSamePet( int charaindex, int petindex) CHAR_getChar( charaindex, CHAR_CDKEY), CHAR_getChar( petindex, CHAR_NAME), CHAR_getInt( petindex, CHAR_LV), - "SysDeleteSame(ɾظ)", + "SysDeleteSame(删除重覆宠物)", CHAR_getInt( charaindex, CHAR_FLOOR), CHAR_getInt( charaindex, CHAR_X), CHAR_getInt( charaindex, CHAR_Y), @@ -3180,7 +3180,7 @@ void CHAR_DetainSameUCodePoolItem( int charaindex, int itemindex, int Ti) } #endif -// Arminius 12.15 жǷʿ +// Arminius 12.15 判断是否是男士 int IsMale(int charindex) { int bbi=CHAR_getInt(charindex, CHAR_BASEBASEIMAGENUMBER); @@ -3197,7 +3197,7 @@ int IsMale(int charindex) { return 0; } -// Arminius 12.15 жǷŮʿ +// Arminius 12.15 判断是否是女士 int IsFemale(int charindex) { int bbi=CHAR_getInt(charindex, CHAR_BASEBASEIMAGENUMBER); @@ -3222,7 +3222,7 @@ BOOL CHAR_CanCureFlg( int charaindex, char *arg) if( getToxication( fd) == 1 ){ if( strstr( arg, "FALSE") == 0 ) { char buf[256]; - sprintf( buf,"ж޷%s", arg); + sprintf( buf,"因中毒无法补%s。", arg); CHAR_talkToCli( charaindex, -1, buf, CHAR_COLORYELLOW); } return FALSE; @@ -3366,7 +3366,7 @@ INLINE int _CHAR_DelItem( char *file, int line, int charaindex, int ti, int num, #endif /* if( flg == 1 ){ - sprintf( token, "%s", ITEM_getChar( itemindex, ITEM_NAME)); + sprintf( token, "交出%s。", ITEM_getChar( itemindex, ITEM_NAME)); CHAR_talkToCli( charaindex, -1, token, CHAR_COLORYELLOW); } */ @@ -3383,7 +3383,7 @@ INLINE int _CHAR_DelItem( char *file, int line, int charaindex, int ti, int num, int CHAR_getMaxHaveGold( int charaindex) { int MaxGold; -#ifdef _FIX_MAX_GOLD // WON ADD Ǯ +#ifdef _FIX_MAX_GOLD // WON ADD 增加人物金钱上限 int trans = CHAR_getInt( charaindex, CHAR_TRANSMIGRATION); switch(trans){ case 0: @@ -3421,7 +3421,7 @@ INLINE int _CHAR_AddGold( char *file, int line, int charaindex, int gold) MyGold = CHAR_getInt( charaindex, CHAR_GOLD); MyGold = (MyGold>MaxGold)?MaxGold:MyGold; gold = (gold>MaxGold)?MaxGold:gold; - sprintf( token, "õ%dʯ", gold); + sprintf( token, "得到%d石币", gold); CHAR_talkToCli( charaindex, -1, token, CHAR_COLORYELLOW); MyGold += gold; @@ -3432,11 +3432,11 @@ INLINE int _CHAR_AddGold( char *file, int line, int charaindex, int gold) MyGBGold += reGolds; MyGBGold = (MyGBGold > CHAR_MAXPERSONAGOLD)?CHAR_MAXPERSONAGOLD:MyGBGold; CHAR_setInt( charaindex, CHAR_PERSONAGOLD, MyGBGold); - sprintf( token,"%d ʣࣺ%d ", reGolds, CHAR_getInt( charaindex, CHAR_PERSONAGOLD )); + sprintf( token,"存款:%d ,银行剩余:%d 。", reGolds, CHAR_getInt( charaindex, CHAR_PERSONAGOLD )); CHAR_talkToCli( charaindex, -1, token, CHAR_COLORYELLOW); LogBankStone( CHAR_getChar( charaindex, CHAR_NAME ), CHAR_getChar( charaindex, CHAR_CDKEY ), charaindex, reGolds, - "GB_Bank_save()", + "GB_Bank_save(宝箱)", CHAR_getInt( charaindex, CHAR_FLOOR), CHAR_getInt( charaindex, CHAR_X ), CHAR_getInt( charaindex, CHAR_Y ), CHAR_getInt( charaindex, CHAR_GOLD ), @@ -3461,7 +3461,7 @@ INLINE int _CHAR_DelGold( char *file, int line, int charaindex, int gold) gold = (gold>MaxGold)?MaxGold:gold; if( MyGold < gold ){ - sprintf( token, "û㹻ʯң(%dʯ)", gold); + sprintf( token, "没有足够的石币!(%d石币)", gold); CHAR_talkToCli( charaindex, -1, token, CHAR_COLORYELLOW); return 0; } @@ -3525,7 +3525,7 @@ void CHAR_removeDepotItem( int charaindex) int i,itemindex; Char* ch = NULL; if( !CHAR_CHECKINDEX( charaindex) ) return; - if( !CHAR_CheckDepotItem( charaindex) ) return; //ֿδ + if( !CHAR_CheckDepotItem( charaindex) ) return; //仓库未存在 ch = CHAR_getCharPointer( charaindex); if( ch == NULL ){ print( "removeDepotItem err ch == NULL :%d\n", charaindex); @@ -3673,7 +3673,7 @@ BOOL CHAR_SaveDepotItem( int charaindex) if( !CHAR_CHECKINDEX( charaindex) ) return FALSE; fd = getfdFromCharaIndex( charaindex); - if( !CHAR_CheckDepotItem( charaindex) ) return FALSE; //ֿδ + if( !CHAR_CheckDepotItem( charaindex) ) return FALSE; //仓库未存在 if( (CdKey=CHAR_getChar( charaindex, CHAR_CDKEY)) == "\0" ) return FALSE; if( (databuf = CHAR_makeDepotItemFromCharIndex( charaindex)) == "\0" ){ CHAR_removeDepotItem( charaindex); @@ -3692,10 +3692,10 @@ BOOL CHAR_GetDepotItem( int meindex, int charaindex) if( !CHAR_CHECKINDEX( charaindex) ) return FALSE; fd = getfdFromCharaIndex( charaindex); - if( CHAR_CheckDepotItem( charaindex) ) return FALSE;//ֿѴ + if( CHAR_CheckDepotItem( charaindex) ) return FALSE;//仓库已存在 if( (CdKey=CHAR_getChar( charaindex, CHAR_CDKEY)) == "\0" ) return FALSE; - //ACҪֿ + //向AC要仓库资料 saacproto_ACCharGetPoolItem_send( acfd, meindex, charaindex, CONNECT_getFdid(fd), CdKey); return TRUE; } @@ -3764,7 +3764,7 @@ void CHAR_removeDepotPet( int charaindex) int i,petindex; Char* ch = NULL; if( !CHAR_CHECKINDEX( charaindex) ) return; - if( !CHAR_CheckDepotPet( charaindex) ) return; //ֿδ + if( !CHAR_CheckDepotPet( charaindex) ) return; //仓库未存在 ch = CHAR_getCharPointer( charaindex); if( ch == NULL ){ print( "removeDepotPet err ch == NULL :%d\n", charaindex); @@ -3914,7 +3914,7 @@ BOOL CHAR_SaveDepotPet( int charaindex) if( !CHAR_CHECKINDEX( charaindex) ) return FALSE; fd = getfdFromCharaIndex( charaindex); - if( !CHAR_CheckDepotPet( charaindex) ) return FALSE; //ֿδ + if( !CHAR_CheckDepotPet( charaindex) ) return FALSE; //仓库未存在 if( (CdKey=CHAR_getChar( charaindex, CHAR_CDKEY)) == "\0" ) return FALSE; if( (databuf = CHAR_makeDepotPetFromCharIndex( charaindex)) == "\0" ){ CHAR_removeDepotPet( charaindex); @@ -3933,10 +3933,10 @@ BOOL CHAR_GetDepotPet( int meindex, int charaindex) if( !CHAR_CHECKINDEX( charaindex) ) return FALSE; fd = getfdFromCharaIndex( charaindex); - if( CHAR_CheckDepotPet( charaindex) ) return FALSE;//ֿѴ + if( CHAR_CheckDepotPet( charaindex) ) return FALSE;//仓库已存在 if( (CdKey=CHAR_getChar( charaindex, CHAR_CDKEY)) == "\0" ) return FALSE; - //ACҪֿ + //向AC要仓库资料 saacproto_ACCharGetPoolPet_send( acfd, meindex, charaindex, CONNECT_getFdid(fd), CdKey); return TRUE; } @@ -4032,7 +4032,7 @@ int CHAR_Ride_CF_init() fp = fopen("data/ride.txt", "r"); if (fp == NULL) { - print("޷ļ\n"); + print("无法打开文件\n"); return FALSE; } BOOL ride=FALSE; @@ -4042,7 +4042,7 @@ int CHAR_Ride_CF_init() chop(line); if(line[0]=='#')continue; getStringFromIndexWithDelim(line,",", 1, buf, sizeof(buf)); - if(!strcmp(buf, " ")){ + if(!strcmp(buf, "骑 宠")){ for(i=0;i arraysizeof(CHAR_eqimagetbl[0]) ) return -1; for( i=0 ; i 5 ) petrank = 0; - // + // 潸 vital = (float)(( LevelUpPoint >> 24 ) & 0xFF); str = (float)(( LevelUpPoint >> 16 ) & 0xFF); tgh = (float)(( LevelUpPoint >> 8 ) & 0xFF); dex = (float)(( LevelUpPoint >> 0 ) & 0xFF); - // ߼Ԩ ëȻ + // ㄠㄟ荚ㄣ 扔奶戊夫毛蕊匀化备嫩 卞ㄠ箫允 for( i = 0; i < 10; i ++ ){ Param[RAND( 0, 3 )] += 1.0; } - // ¼ͱ巽 ¼ĸة + // 仿件弁卞方月 区及仿件母丞 fRand = (float)RAND( RankRandTbl[petrank].min, RankRandTbl[petrank].max ) * 0.01; - // ԻԻ̼Իң + // 喃曰蕊曰禾奶件玄方曰煌遥 vital = (float)vital * fRand + Param[0] * fRand; str = (float)str * fRand + Param[1] * fRand; tgh = (float)tgh * fRand + Param[2] * fRand; dex = (float)dex * fRand + Param[3] * fRand; - // ң + // 煌遥 CHAR_setInt( petindex, CHAR_VITAL, CHAR_getInt( petindex, CHAR_VITAL ) + (int)vital ); CHAR_setInt( petindex, CHAR_STR, @@ -1433,7 +1433,7 @@ int CHAR_PetLevelUp( int petindex ) CHAR_setInt( petindex, CHAR_DEX, CHAR_getInt( petindex, CHAR_DEX ) + (int)dex ); - // CoolFish: + // CoolFish: 饲育家族声望更新 { int level = CHAR_getInt(petindex, CHAR_LV); int exp1 = 0, exp2 = 0; @@ -1453,8 +1453,8 @@ int CHAR_PetLevelUp( int petindex ) exp1 = CHAR_GetLevelExp( petindex, level); exp2 = CHAR_GetLevelExp( petindex, level - 1); -//#ifdef _PERSONAL_FAME // Arminius 8.30: -// feedpoint = (exp1 - exp2) / 20000; // +//#ifdef _PERSONAL_FAME // Arminius 8.30: 家族个人声望 +// feedpoint = (exp1 - exp2) / 20000; // 减半 //#else // feedpoint = (exp1 - exp2) / 10000; //#endif @@ -1462,7 +1462,7 @@ int CHAR_PetLevelUp( int petindex ) int feedpoint; // CoolFish: 2001/10/03 int fd = getfdFromCharaIndex(ownerindex); -#ifdef _PERSONAL_FAME // Arminius 8.30: +#ifdef _PERSONAL_FAME // Arminius 8.30: 家族个人声望 #ifdef _PETUP_GET_EXP if(getPetUpGetExp()==1){ if(level>=131){ @@ -1483,8 +1483,8 @@ int CHAR_PetLevelUp( int petindex ) CHAR_earnFame(ownerindex, exp2 / 20000); sprintf(tmpbuf, "%d", exp2 / 20000); }else{ - CHAR_earnFame(ownerindex, 0); // - sprintf(tmpbuf, "%d", 0); // + CHAR_earnFame(ownerindex, 0); //个人声望 + sprintf(tmpbuf, "%d", 0); //家族获得声望 } #else CHAR_earnFame(ownerindex, exp2 / 20000); @@ -1536,7 +1536,7 @@ int CHAR_PetLevelUp( int petindex ) { int i; for(i=0;i 0){ - // ûеʦ + // 检查有没有导师 if(strlen(CHAR_getChar(ownerindex,CHAR_TEACHER_ID)) > 0 && strlen(CHAR_getChar(ownerindex,CHAR_TEACHER_NAME)) > 0){ int iPlayernum = CHAR_getPlayerMaxNum(),i; char szMsg[128]; - // 鵼ʦڲ + // 检查导师在不在线上 for(i=0;i 0 )return 0;//ǷΪںϳ + CHAR_getInt( Subindex1, CHAR_FUSIONRAISE) > 0 )return 0;//检查是否为融合宠 for( i=0; i<4; i++) { work[i] = 0; } if( PET_getBaseAndSkill( charaindex, Subindex1, base, petskill, 0) == FALSE ) return 0; - if( CHAR_getInt( Subindex1, CHAR_LV) < 80 ){//ȼ + if( CHAR_getInt( Subindex1, CHAR_LV) < 80 ){//等级销弱 for( i=0; i<4; i++) { base[i] = base[i]*0.8; } @@ -1633,11 +1633,11 @@ int PETFUSION_FusionPetSub( int charaindex, int Subindex1, int Subindex2, int *w } if( CHAR_getInt( Subindex2, CHAR_FUSIONBEIT) == 1 || - CHAR_getInt( Subindex2, CHAR_FUSIONRAISE) > 0 )return 0;//ǷΪںϳ + CHAR_getInt( Subindex2, CHAR_FUSIONRAISE) > 0 )return 0;//检查是否为融合宠 if( PET_getBaseAndSkill( charaindex, Subindex2, base, NULL, 0) == FALSE ) return 0; - if( CHAR_getInt( Subindex2, CHAR_LV) < 80 ){//ȼ + if( CHAR_getInt( Subindex2, CHAR_LV) < 80 ){//等级销弱 for( i=0; i<4; i++) { base[i] = base[i]*0.8; } @@ -1658,11 +1658,11 @@ BOOL PETFUSION_FusionPetMain( int charaindex, int Mainindex, int *work, int *ski return 0; } if( CHAR_getInt( Mainindex, CHAR_FUSIONBEIT) == 1 || - CHAR_getInt( Mainindex, CHAR_FUSIONRAISE) > 0 )return FALSE;//ǷΪںϳ + CHAR_getInt( Mainindex, CHAR_FUSIONRAISE) > 0 )return FALSE;//检查是否为融合宠 if( PET_getBaseAndSkill( charaindex, Mainindex, base, petskill, 0) == FALSE ) return -1; - if( CHAR_getInt( Mainindex, CHAR_LV) < 80 ){//ȼ + if( CHAR_getInt( Mainindex, CHAR_LV) < 80 ){//等级销弱 for( i=0; i<4; i++) { base[i] = base[i]*0.8; } @@ -1704,7 +1704,7 @@ BOOL PETFUSION_DelPet( int toindex, int Mainindex, int Subindex1, int Subindex2, snprintf( szPet, sizeof( szPet ), "K%d", j); CHAR_sendStatusString( toindex, szPet ); - snprintf( msgbuf,sizeof( msgbuf), "%s", CHAR_getChar( petindex[i], CHAR_NAME)); + snprintf( msgbuf,sizeof( msgbuf), "交出%s。", CHAR_getChar( petindex[i], CHAR_NAME)); CHAR_talkToCli( toindex, -1, msgbuf, CHAR_COLORYELLOW); LogPet( CHAR_getChar( toindex, CHAR_NAME ), @@ -1732,13 +1732,13 @@ int PETFUSION_Evolution( int charaindex, int petindex) int newindex=-1; CHAR_setInt( petindex, CHAR_FUSIONTIMELIMIT, -1); - sprintf( buf, "%s", CHAR_getChar( petindex, CHAR_NAME)); + sprintf( buf, "蛋〈%s〉孵化成", CHAR_getChar( petindex, CHAR_NAME)); newindex = EVOLUTION_createPetFromEnemyIndex( charaindex, petindex, 0); if( !CHAR_CHECKINDEX( newindex) ){ - CHAR_talkToCli( charaindex, -1, "", CHAR_COLORYELLOW); + CHAR_talkToCli( charaindex, -1, "宠物孵化发生错误。", CHAR_COLORYELLOW); return -1; } - sprintf( buf1, "%s", CHAR_getChar( newindex, CHAR_NAME)); + sprintf( buf1, "〈%s〉。", CHAR_getChar( newindex, CHAR_NAME)); strcat( buf, buf1); CHAR_talkToCli( charaindex, -1, buf, CHAR_COLORYELLOW); @@ -1797,11 +1797,11 @@ int NPC_PetTransManGetAns( int total1, int total2, int LV, int rank ) #else if( LV > 140 ) LV = 140; #endif - total = ( (float)total1/100 ); // total1=200 + total = ( (float)total1/100 ); // 玛蕾最高 total1=200 total = total*total*total*total*total; if( total < 1 ) total = 0; - else total= total*1.3; // total=41.6 С=0 - Fx = (int)((5-rank)*1.2)+5; // rank=0~6 Fx=11(rank=0)С=4(rank=6) + else total= total*1.3; // 所以total最大=41.6 最小=0 + Fx = (int)((5-rank)*1.2)+5; // rank=0~6 所以 Fx最大=11(rank=0)最小=4(rank=6) ans = (int)total + total2 + ((LV-TransLV)/Fx); //42+150+30/11=194 #ifdef _PET_2TRANS @@ -1929,7 +1929,7 @@ void CHAR_AutoChikulaStone( int charaindex, int Dflg) } #endif -#ifdef _STATUS_WATERWORD //ˮ״̬ +#ifdef _STATUS_WATERWORD //水世界状态 void CHAR_CheckWaterStatus( int charaindex) { if( !CHAR_CHECKINDEX( charaindex) ) return; @@ -1943,7 +1943,7 @@ void CHAR_CheckWaterStatus( int charaindex) if( CHAR_getWorkInt( charaindex, CHAR_WORKSTATUSWATER) != 0 && CHAR_getWorkInt( charaindex, CHAR_WORKSTATUSWATER)%10 == 0 ){ char buf1[256]; - sprintf( buf1, "ˮкʱʣ%d֡", + sprintf( buf1, "水中呼吸时间剩余%d分。", CHAR_getWorkInt( charaindex, CHAR_WORKSTATUSWATER)); CHAR_talkToCli( charaindex, -1, buf1, CHAR_COLORYELLOW); } @@ -1953,7 +1953,7 @@ void CHAR_CheckWaterStatus( int charaindex) return; } if( CHAR_getWorkInt( charaindex, CHAR_WORKMAPFLOORTYPE) == 1 && - CHAR_getWorkInt( charaindex, CHAR_WORKSTATUSWATER) <= 0 ){//ˮ + CHAR_getWorkInt( charaindex, CHAR_WORKSTATUSWATER) <= 0 ){//水世界 char token[256]; int defhp=0; int maxhp = CHAR_getWorkInt( charaindex, CHAR_WORKMAXHP); @@ -1961,7 +1961,7 @@ void CHAR_CheckWaterStatus( int charaindex) defhp = (maxhp*0.033); if( defhp <= 0 ) defhp = 1; myhp = myhp - defhp; - sprintf( token, "޷%d HP", defhp); + sprintf( token, "因无法呼吸,扣%d HP。", defhp); CHAR_talkToCli( charaindex, -1, token, CHAR_COLORYELLOW); if( myhp <= 0 ){ @@ -2016,22 +2016,22 @@ void CHAR_PlayerRide( int charaindex ) { int i,j; int MetamoList[5][13]={ - /*{ С к Ƥ С Ƥ ñ ̷ Ů }, Ϊ˵ */ - { 100000, 100025, 100055, 100060, 100095, 100100, 100135, 100145, 100165, 100190, 100200, 100230, 309}, // - { 100005, 100030, 100050, 100065, 100085, 100115, 100120, 100140, 100170, 100195, 100210, 100225, 307}, // - { 100010, 100035, 100045, 100070, 100090, 100110, 100125, 100150, 100160, 100185, 100215, 100220, 310}, // - { 100015, 100020, 100040, 100075, 100080, 100105, 100130, 100155, 100175, 100180, 100205, 100235, 308}, // - { 331 , 483 , 330 , 332 , 483 , 332 , 333 , 333 , 331 , 330 , 332 , 483 , 0 }, // + /*{ 小矮子 赛亚人 辫子男孩 酷哥 熊皮男 大个 小矮妹 熊皮妹 帽子妹 短发夹妹 手套女 辣妹 虎}, 此行为说明行 */ + { 100000, 100025, 100055, 100060, 100095, 100100, 100135, 100145, 100165, 100190, 100200, 100230, 309}, //红 + { 100005, 100030, 100050, 100065, 100085, 100115, 100120, 100140, 100170, 100195, 100210, 100225, 307}, //绿 + { 100010, 100035, 100045, 100070, 100090, 100110, 100125, 100150, 100160, 100185, 100215, 100220, 310}, //黄 + { 100015, 100020, 100040, 100075, 100080, 100105, 100130, 100155, 100175, 100180, 100205, 100235, 308}, //灰 + { 331 , 483 , 330 , 332 , 483 , 332 , 333 , 333 , 331 , 330 , 332 , 483 , 0 }, //雷 }; for(i=0;i<4;i++) for(j=0;j<12;j++) if(CHAR_getInt( charaindex, CHAR_BASEIMAGENUMBER) == MetamoList[i][j]){ - if(strstr( getPlayerRide(), "ͻ")){ + if(strstr( getPlayerRide(), "配套送虎加雷")){ setNewplayergivepet(3,MetamoList[i][12]); setNewplayergivepet(4,MetamoList[4][j]); - }else if(strstr( getPlayerRide(), "")){ + }else if(strstr( getPlayerRide(), "配套送雷")){ setNewplayergivepet(4,MetamoList[4][j]); - }else if(strstr( getPlayerRide(), "ͻ")){ + }else if(strstr( getPlayerRide(), "配套送虎")){ setNewplayergivepet(4,MetamoList[i][12]); } break; diff --git a/char/char_event.c b/char/char_event.c index 7a15e66..ab19da1 100644 --- a/char/char_event.c +++ b/char/char_event.c @@ -54,7 +54,7 @@ void CHAR_allpostwalk( int index ) BOOL CHAR_makeCADefaultString( int objindex,char* buf,int buflen, int act ) { char objindexbuf[64]; - /* */ + /* 民尼永弁 */ if( CHECKOBJECT(objindex) == FALSE ) return FALSE; if( OBJECT_getType(objindex) != OBJTYPE_CHARA ) return FALSE; snprintf( buf,buflen,"%s|%d|%d|%d|%d", @@ -260,8 +260,8 @@ void CHAR_sendWallDamage( int charaindex,int x, int y, int damage ) static struct ParamShow { - int paramindex; /* ɷ¶̼͵ */ - char* offmessage; /* ݼ ٯ */ + int paramindex; /* 由仿丢□正及奶件犯永弁旦 */ + char* offmessage; /* 匀凶凛及丢永本□斥 侬 */ }pShow[]={ {CHAR_PARALYSIS, CHAR_RECOVERPARALYSISSTRING}, {CHAR_SLEEP, CHAR_RECOVERSILENCESTRING}, @@ -513,9 +513,9 @@ void CHAR_playerTalkedfunc( int charaindex, int talkindex,char* message, int col if( (channel>-1) && (fmindex>0) ){ if( channel == 0 ){ #ifndef _CHANNEL_MODIFY - snprintf( lastbuf,sizeof(lastbuf),"P|[]%s", + snprintf( lastbuf,sizeof(lastbuf),"P|[族]%s", #else - snprintf( lastbuf,sizeof(lastbuf),"P|F|[]%s", + snprintf( lastbuf,sizeof(lastbuf),"P|F|[族]%s", #endif makeEscapeString( CHAR_appendNameAndTitle(talkindex, message, mesgbuf,sizeof(mesgbuf)), escapebuf,sizeof(escapebuf) )); @@ -526,9 +526,9 @@ void CHAR_playerTalkedfunc( int charaindex, int talkindex,char* message, int col else if( channel == FAMILY_MAXCHANNEL && CHAR_getInt( talkindex, CHAR_FMLEADERFLAG ) == 1 ){ #endif #ifndef _CHANNEL_MODIFY - snprintf( lastbuf,sizeof(lastbuf),"P|[峤㲥]%s", + snprintf( lastbuf,sizeof(lastbuf),"P|[族长广播]%s", #else - snprintf( lastbuf,sizeof(lastbuf),"P|F|[峤㲥]%s", + snprintf( lastbuf,sizeof(lastbuf),"P|F|[族长广播]%s", #endif makeEscapeString(CHAR_appendNameAndTitle(talkindex, message,mesgbuf,sizeof(mesgbuf)), escapebuf,sizeof(escapebuf) )); @@ -540,7 +540,7 @@ void CHAR_playerTalkedfunc( int charaindex, int talkindex,char* message, int col }else{ #ifdef _CHANNEL_MODIFY if(CHAR_getFlg(talkindex,CHAR_ISPARTYCHAT) && (CHAR_getWorkInt(talkindex,CHAR_WORKPARTYMODE) != CHAR_PARTY_NONE)) - snprintf( lastbuf,sizeof(lastbuf),"P|T|[]%s", + snprintf( lastbuf,sizeof(lastbuf),"P|T|[队]%s", makeEscapeString(CHAR_appendNameAndTitle(talkindex, message,mesgbuf,sizeof(mesgbuf)), escapebuf,sizeof(escapebuf) )); else diff --git a/char/char_item.c b/char/char_item.c index 1964a9f..abb2fb8 100644 --- a/char/char_item.c +++ b/char/char_item.c @@ -25,131 +25,131 @@ extern struct MissionTable missiontable[MAXMISSIONTABLE]; extern int itemLine; #ifdef _DROPSTAKENEW -#define CASINOTOKENID 20121 // ֳȯ -#define MAXCASINOMAPNUM 150 // ֳͼ -#define MAXACCUMULATION 1000000 // +#define CASINOTOKENID 20121 // 游乐场彩券代号 +#define MAXCASINOMAPNUM 150 // 游乐场地图上限 +#define MAXACCUMULATION 1000000 // 积分上限 typedef struct tagCasinoMapTable { - int casinofl; // ֳͼ - int casinox; // ֳ - int casinoy; // ֳ - int casinotype; // ע - int dropflag; // Ƿע flag - char casinoinfo[64]; // ע˵ - int accumulation; // - int stakenum; // ȯ + int casinofl; // 游乐场图层 + int casinox; // 游乐场X座标 + int casinoy; // 游乐场Y座标 + int casinotype; // 赌注类型 + int dropflag; // 是否可下注 flag + char casinoinfo[64]; // 赌注类型说明 + int accumulation; // 积分 + int stakenum; // 彩券数量 }CasinoMapTable; CasinoMapTable casinomap[MAXCASINOMAPNUM] = { - { 7008, 13, 13, DICE_BIG, 1, "ӣ", 1, 0}, - { 7008, 14, 13, DICE_BIG, 1, "ӣ", 1, 0}, - { 7008, 15, 13, DICE_BIG, 1, "ӣ", 1, 0}, - { 7008, 16, 13, DICE_BIG, 1, "ӣ", 1, 0}, - { 7008, 17, 13, DICE_BIG, 1, "ӣ", 1, 0}, - { 7008, 13, 14, DICE_BIG, 1, "ӣ", 1, 0}, - { 7008, 14, 14, DICE_BIG, 1, "ӣ", 1, 0}, - { 7008, 15, 14, DICE_BIG, 1, "ӣ", 1, 0}, - { 7008, 16, 14, DICE_BIG, 1, "ӣ", 1, 0}, - { 7008, 17, 14, DICE_BIG, 1, "ӣ", 1, 0}, - { 7008, 13, 15, DICE_BIG, 1, "ӣ", 1, 0}, - { 7008, 14, 15, DICE_BIG, 1, "ӣ", 1, 0}, - { 7008, 15, 15, DICE_BIG, 1, "ӣ", 1, 0}, - { 7008, 16, 15, DICE_BIG, 1, "ӣ", 1, 0}, - { 7008, 17, 15, DICE_BIG, 1, "ӣ", 1, 0}, - { 7008, 8, 13, DICE_SMALL, 1, "ӣС", 1, 0}, - { 7008, 9, 13, DICE_SMALL, 1, "ӣС", 1, 0}, - { 7008, 10, 13, DICE_SMALL, 1, "ӣС", 1, 0}, - { 7008, 11, 13, DICE_SMALL, 1, "ӣС", 1, 0}, - { 7008, 12, 13, DICE_SMALL, 1, "ӣС", 1, 0}, - { 7008, 8, 14, DICE_SMALL, 1, "ӣС", 1, 0}, - { 7008, 9, 14, DICE_SMALL, 1, "ӣС", 1, 0}, - { 7008, 10, 14, DICE_SMALL, 1, "ӣС", 1, 0}, - { 7008, 11, 14, DICE_SMALL, 1, "ӣС", 1, 0}, - { 7008, 12, 14, DICE_SMALL, 1, "ӣС", 1, 0}, - { 7008, 8, 15, DICE_SMALL, 1, "ӣС", 1, 0}, - { 7008, 9, 15, DICE_SMALL, 1, "ӣС", 1, 0}, - { 7008, 10, 15, DICE_SMALL, 1, "ӣС", 1, 0}, - { 7008, 11, 15, DICE_SMALL, 1, "ӣС", 1, 0}, - { 7008, 12, 15, DICE_SMALL, 1, "ӣС", 1, 0}, + { 7008, 13, 13, DICE_BIG, 1, "骰子-大", 1, 0}, + { 7008, 14, 13, DICE_BIG, 1, "骰子-大", 1, 0}, + { 7008, 15, 13, DICE_BIG, 1, "骰子-大", 1, 0}, + { 7008, 16, 13, DICE_BIG, 1, "骰子-大", 1, 0}, + { 7008, 17, 13, DICE_BIG, 1, "骰子-大", 1, 0}, + { 7008, 13, 14, DICE_BIG, 1, "骰子-大", 1, 0}, + { 7008, 14, 14, DICE_BIG, 1, "骰子-大", 1, 0}, + { 7008, 15, 14, DICE_BIG, 1, "骰子-大", 1, 0}, + { 7008, 16, 14, DICE_BIG, 1, "骰子-大", 1, 0}, + { 7008, 17, 14, DICE_BIG, 1, "骰子-大", 1, 0}, + { 7008, 13, 15, DICE_BIG, 1, "骰子-大", 1, 0}, + { 7008, 14, 15, DICE_BIG, 1, "骰子-大", 1, 0}, + { 7008, 15, 15, DICE_BIG, 1, "骰子-大", 1, 0}, + { 7008, 16, 15, DICE_BIG, 1, "骰子-大", 1, 0}, + { 7008, 17, 15, DICE_BIG, 1, "骰子-大", 1, 0}, + { 7008, 8, 13, DICE_SMALL, 1, "骰子-小", 1, 0}, + { 7008, 9, 13, DICE_SMALL, 1, "骰子-小", 1, 0}, + { 7008, 10, 13, DICE_SMALL, 1, "骰子-小", 1, 0}, + { 7008, 11, 13, DICE_SMALL, 1, "骰子-小", 1, 0}, + { 7008, 12, 13, DICE_SMALL, 1, "骰子-小", 1, 0}, + { 7008, 8, 14, DICE_SMALL, 1, "骰子-小", 1, 0}, + { 7008, 9, 14, DICE_SMALL, 1, "骰子-小", 1, 0}, + { 7008, 10, 14, DICE_SMALL, 1, "骰子-小", 1, 0}, + { 7008, 11, 14, DICE_SMALL, 1, "骰子-小", 1, 0}, + { 7008, 12, 14, DICE_SMALL, 1, "骰子-小", 1, 0}, + { 7008, 8, 15, DICE_SMALL, 1, "骰子-小", 1, 0}, + { 7008, 9, 15, DICE_SMALL, 1, "骰子-小", 1, 0}, + { 7008, 10, 15, DICE_SMALL, 1, "骰子-小", 1, 0}, + { 7008, 11, 15, DICE_SMALL, 1, "骰子-小", 1, 0}, + { 7008, 12, 15, DICE_SMALL, 1, "骰子-小", 1, 0}, - { 7005, 22, 21, PET_RACE1, 1, "ٳ", 2, 0}, - { 7005, 23, 21, PET_RACE1, 1, "ٳ", 2, 0}, - { 7005, 24, 21, PET_RACE1, 1, "ٳ", 2, 0}, - { 7005, 25, 21, PET_RACE1, 1, "ٳ", 2, 0}, - { 7005, 26, 21, PET_RACE1, 1, "ٳ", 2, 0}, - { 7005, 27, 21, PET_RACE1, 1, "ٳ", 2, 0}, - { 7005, 28, 21, PET_RACE1, 1, "ٳ", 2, 0}, - { 7005, 22, 24, PET_RACE2, 1, "ٳ", 2, 0}, - { 7005, 23, 24, PET_RACE2, 1, "ٳ", 2, 0}, - { 7005, 24, 24, PET_RACE2, 1, "ٳ", 2, 0}, - { 7005, 25, 24, PET_RACE2, 1, "ٳ", 2, 0}, - { 7005, 26, 24, PET_RACE2, 1, "ٳ", 2, 0}, - { 7005, 27, 24, PET_RACE2, 1, "ٳ", 2, 0}, - { 7005, 28, 24, PET_RACE2, 1, "ٳ", 2, 0}, - { 7005, 22, 27, PET_RACE3, 1, "ٳ", 2, 0}, - { 7005, 23, 27, PET_RACE3, 1, "ٳ", 2, 0}, - { 7005, 24, 27, PET_RACE3, 1, "ٳ", 2, 0}, - { 7005, 25, 27, PET_RACE3, 1, "ٳ", 2, 0}, - { 7005, 26, 27, PET_RACE3, 1, "ٳ", 2, 0}, - { 7005, 27, 27, PET_RACE3, 1, "ٳ", 2, 0}, - { 7005, 28, 27, PET_RACE3, 1, "ٳ", 2, 0}, + { 7005, 22, 21, PET_RACE1, 1, "竞速场-宠物1", 2, 0}, + { 7005, 23, 21, PET_RACE1, 1, "竞速场-宠物1", 2, 0}, + { 7005, 24, 21, PET_RACE1, 1, "竞速场-宠物1", 2, 0}, + { 7005, 25, 21, PET_RACE1, 1, "竞速场-宠物1", 2, 0}, + { 7005, 26, 21, PET_RACE1, 1, "竞速场-宠物1", 2, 0}, + { 7005, 27, 21, PET_RACE1, 1, "竞速场-宠物1", 2, 0}, + { 7005, 28, 21, PET_RACE1, 1, "竞速场-宠物1", 2, 0}, + { 7005, 22, 24, PET_RACE2, 1, "竞速场-宠物2", 2, 0}, + { 7005, 23, 24, PET_RACE2, 1, "竞速场-宠物2", 2, 0}, + { 7005, 24, 24, PET_RACE2, 1, "竞速场-宠物2", 2, 0}, + { 7005, 25, 24, PET_RACE2, 1, "竞速场-宠物2", 2, 0}, + { 7005, 26, 24, PET_RACE2, 1, "竞速场-宠物2", 2, 0}, + { 7005, 27, 24, PET_RACE2, 1, "竞速场-宠物2", 2, 0}, + { 7005, 28, 24, PET_RACE2, 1, "竞速场-宠物2", 2, 0}, + { 7005, 22, 27, PET_RACE3, 1, "竞速场-宠物3", 2, 0}, + { 7005, 23, 27, PET_RACE3, 1, "竞速场-宠物3", 2, 0}, + { 7005, 24, 27, PET_RACE3, 1, "竞速场-宠物3", 2, 0}, + { 7005, 25, 27, PET_RACE3, 1, "竞速场-宠物3", 2, 0}, + { 7005, 26, 27, PET_RACE3, 1, "竞速场-宠物3", 2, 0}, + { 7005, 27, 27, PET_RACE3, 1, "竞速场-宠物3", 2, 0}, + { 7005, 28, 27, PET_RACE3, 1, "竞速场-宠物3", 2, 0}, - { 7003, 21, 15, ROULETTE1, 1, "̺죱", 1, 0}, { 7003, 17, 15, ROULETTE3, 1, "̺죳", 1, 0}, - { 7003, 13, 15, ROULETTE5, 1, "̺죵", 1, 0}, { 7003, 21, 21, ROULETTE6, 1, "̺죶", 1, 0}, - { 7003, 17, 21, ROULETTE8, 1, "̺죸", 1, 0}, { 7003, 15, 21, ROULETTE9, 1, "̺죹", 1, 0}, - { 7003, 13, 21, ROULETTE10, 1, "̺죱", 1, 0}, { 7003, 13, 18, ROULETTE13, 1, "̺죱", 1, 0}, - { 7003, 9, 21, ROULETTE17, 1, "̺죱", 1, 0}, { 7003, 21, 18, ROULETTE18, 1, "̺죱", 1, 0}, + { 7003, 21, 15, ROULETTE1, 1, "轮盘红1", 1, 0}, { 7003, 17, 15, ROULETTE3, 1, "轮盘红3", 1, 0}, + { 7003, 13, 15, ROULETTE5, 1, "轮盘红5", 1, 0}, { 7003, 21, 21, ROULETTE6, 1, "轮盘红6", 1, 0}, + { 7003, 17, 21, ROULETTE8, 1, "轮盘红8", 1, 0}, { 7003, 15, 21, ROULETTE9, 1, "轮盘红9", 1, 0}, + { 7003, 13, 21, ROULETTE10, 1, "轮盘红10", 1, 0}, { 7003, 13, 18, ROULETTE13, 1, "轮盘红13", 1, 0}, + { 7003, 9, 21, ROULETTE17, 1, "轮盘红17", 1, 0}, { 7003, 21, 18, ROULETTE18, 1, "轮盘红18", 1, 0}, - { 7003, 19, 15, ROULETTE22, 1, "̣", 1, 0}, { 7003, 15, 15, ROULETTE24, 1, "̣", 1, 0}, - { 7003, 19, 21, ROULETTE27, 1, "̣", 1, 0}, { 7003, 11, 15, ROULETTE31, 1, "̣", 1, 0}, - { 7003, 9, 15, ROULETTE32, 1, "̣", 1, 0}, { 7003, 11, 18, ROULETTE34, 1, "̣", 1, 0}, - { 7003, 9, 18, ROULETTE35, 1, "̣", 1, 0}, { 7003, 11, 21, ROULETTE36, 1, "̣", 1, 0}, - { 7003, 19, 18, ROULETTE39, 1, "̣", 1, 0}, { 7003, 17, 18, ROULETTE40, 1, "̣", 1, 0}, - { 7003, 17, 24, ROULETTE41, 1, "̺", 1, 0}, { 7003, 16, 24, ROULETTE41, 1, "̺", 1, 0}, - { 7003, 17, 25, ROULETTE41, 1, "̺", 1, 0}, { 7003, 16, 25, ROULETTE41, 1, "̺", 1, 0}, - { 7003, 14, 24, ROULETTE42, 1, "", 1, 0}, { 7003, 13, 24, ROULETTE42, 1, "", 1, 0}, - { 7003, 14, 25, ROULETTE42, 1, "", 1, 0}, { 7003, 13, 25, ROULETTE42, 1, "", 1, 0}, + { 7003, 19, 15, ROULETTE22, 1, "轮盘绿2", 1, 0}, { 7003, 15, 15, ROULETTE24, 1, "轮盘绿4", 1, 0}, + { 7003, 19, 21, ROULETTE27, 1, "轮盘绿7", 1, 0}, { 7003, 11, 15, ROULETTE31, 1, "轮盘绿11", 1, 0}, + { 7003, 9, 15, ROULETTE32, 1, "轮盘绿12", 1, 0}, { 7003, 11, 18, ROULETTE34, 1, "轮盘绿14", 1, 0}, + { 7003, 9, 18, ROULETTE35, 1, "轮盘绿15", 1, 0}, { 7003, 11, 21, ROULETTE36, 1, "轮盘绿16", 1, 0}, + { 7003, 19, 18, ROULETTE39, 1, "轮盘绿19", 1, 0}, { 7003, 17, 18, ROULETTE40, 1, "轮盘绿20", 1, 0}, + { 7003, 17, 24, ROULETTE41, 1, "轮盘红", 1, 0}, { 7003, 16, 24, ROULETTE41, 1, "轮盘红", 1, 0}, + { 7003, 17, 25, ROULETTE41, 1, "轮盘红", 1, 0}, { 7003, 16, 25, ROULETTE41, 1, "轮盘红", 1, 0}, + { 7003, 14, 24, ROULETTE42, 1, "轮盘绿", 1, 0}, { 7003, 13, 24, ROULETTE42, 1, "轮盘绿", 1, 0}, + { 7003, 14, 25, ROULETTE42, 1, "轮盘绿", 1, 0}, { 7003, 13, 25, ROULETTE42, 1, "轮盘绿", 1, 0}, - // WON ADD ͼϵ˫Ĵ - { 7003, 11, 24, ROULETTE43, 1, "̵", 1, 0}, { 7003, 10, 24, ROULETTE43, 1, "̵", 1, 0}, - { 7003, 11, 25, ROULETTE43, 1, "̵", 1, 0}, { 7003, 10, 25, ROULETTE43, 1, "̵", 1, 0}, - { 7003, 20, 24, ROULETTE44, 1, "˫", 1, 0}, { 7003, 19, 24, ROULETTE44, 1, "˫", 1, 0}, - { 7003, 20, 25, ROULETTE44, 1, "˫", 1, 0}, { 7003, 19, 25, ROULETTE44, 1, "˫", 1, 0}, + // WON ADD 修正地图上单双的错误 + { 7003, 11, 24, ROULETTE43, 1, "轮盘单", 1, 0}, { 7003, 10, 24, ROULETTE43, 1, "轮盘单", 1, 0}, + { 7003, 11, 25, ROULETTE43, 1, "轮盘单", 1, 0}, { 7003, 10, 25, ROULETTE43, 1, "轮盘单", 1, 0}, + { 7003, 20, 24, ROULETTE44, 1, "轮盘双", 1, 0}, { 7003, 19, 24, ROULETTE44, 1, "轮盘双", 1, 0}, + { 7003, 20, 25, ROULETTE44, 1, "轮盘双", 1, 0}, { 7003, 19, 25, ROULETTE44, 1, "轮盘双", 1, 0}, - { 7003, 20, 15, (ROULETTE1<<16)+ROULETTE22, 1, "˫ź죱̣", 1, 0}, - { 7003, 18, 15, (ROULETTE3<<16)+ROULETTE22, 1, "˫ź죳̣", 1, 0}, - { 7003, 16, 15, (ROULETTE3<<16)+ROULETTE24, 1, "˫ź죳̣", 1, 0}, - { 7003, 14, 15, (ROULETTE5<<16)+ROULETTE24, 1, "˫ź죵̣", 1, 0}, - { 7003, 12, 15, (ROULETTE5<<16)+ROULETTE31, 1, "˫ź죵̣", 1, 0}, - { 7003, 10, 15, (ROULETTE32<<16)+ROULETTE31, 1, "˫̣̣", 1, 0}, + { 7003, 20, 15, (ROULETTE1<<16)+ROULETTE22, 1, "双号红1绿2", 1, 0}, + { 7003, 18, 15, (ROULETTE3<<16)+ROULETTE22, 1, "双号红3绿2", 1, 0}, + { 7003, 16, 15, (ROULETTE3<<16)+ROULETTE24, 1, "双号红3绿4", 1, 0}, + { 7003, 14, 15, (ROULETTE5<<16)+ROULETTE24, 1, "双号红5绿4", 1, 0}, + { 7003, 12, 15, (ROULETTE5<<16)+ROULETTE31, 1, "双号红5绿11", 1, 0}, + { 7003, 10, 15, (ROULETTE32<<16)+ROULETTE31, 1, "双号绿12绿11", 1, 0}, - { 7003, 20, 18, (ROULETTE18<<16)+ROULETTE39, 1, "˫ź죱̣", 1, 0}, - { 7003, 18, 18, (ROULETTE40<<16)+ROULETTE39, 1, "˫̣̣", 1, 0}, - { 7003, 16, 18, (ROULETTE40<<16)+ROULETTE45, 1, "˫̣ڣ", 1, 0}, - { 7003, 14, 18, (ROULETTE13<<16)+ROULETTE45, 1, "˫ź죱ڣ", 1, 0}, - { 7003, 12, 18, (ROULETTE13<<16)+ROULETTE34, 1, "˫ź죱̣", 1, 0}, - { 7003, 10, 18, (ROULETTE35<<16)+ROULETTE34, 1, "˫̣̣", 1, 0}, + { 7003, 20, 18, (ROULETTE18<<16)+ROULETTE39, 1, "双号红18绿19", 1, 0}, + { 7003, 18, 18, (ROULETTE40<<16)+ROULETTE39, 1, "双号绿20绿19", 1, 0}, + { 7003, 16, 18, (ROULETTE40<<16)+ROULETTE45, 1, "双号绿20黑00", 1, 0}, + { 7003, 14, 18, (ROULETTE13<<16)+ROULETTE45, 1, "双号红13黑00", 1, 0}, + { 7003, 12, 18, (ROULETTE13<<16)+ROULETTE34, 1, "双号红13绿14", 1, 0}, + { 7003, 10, 18, (ROULETTE35<<16)+ROULETTE34, 1, "双号绿15绿14", 1, 0}, - { 7003, 20, 21, (ROULETTE6<<16) +ROULETTE27, 1, "˫ź죶̣", 1, 0}, - { 7003, 18, 21, (ROULETTE8<<16) +ROULETTE27, 1, "˫ź죸̣", 1, 0}, - { 7003, 16, 21, (ROULETTE8<<16) + ROULETTE9, 1, "˫ź죸죹", 1, 0}, - { 7003, 14, 21, (ROULETTE10<<16)+ ROULETTE9, 1, "˫ź죱죹", 1, 0}, - { 7003, 12, 21, (ROULETTE10<<16)+ROULETTE36, 1, "˫ź죱̣", 1, 0}, - { 7003, 10, 21, (ROULETTE17<<16)+ROULETTE36, 1, "˫ź죱̣", 1, 0}, - { 7003, 8, 15, ROULETTE51, 1, "У", 1, 0}, // - { 7003, 8, 18, ROULETTE52, 1, "У", 1, 0}, - { 7003, 8, 21, ROULETTE53, 1, "У", 1, 0}, - { 7003, 6, 15, ROULETTE61, 1, "룱", 1, 0}, //110 - { 7003, 5, 15, ROULETTE61, 1, "룱", 1, 0}, - { 7003, 6, 16, ROULETTE61, 1, "룱", 1, 0}, - { 7003, 5, 16, ROULETTE61, 1, "룱", 1, 0}, - { 7003, 24, 15, ROULETTE62, 1, "룱", 1, 0}, //1011 - { 7003, 23, 15, ROULETTE62, 1, "룱", 1, 0}, - { 7003, 24, 16, ROULETTE62, 1, "룱", 1, 0}, - { 7003, 23, 16, ROULETTE62, 1, "룱", 1, 0}, - { 7003, 15, 18, ROULETTE45, 1, "()", 1, 0}, + { 7003, 20, 21, (ROULETTE6<<16) +ROULETTE27, 1, "双号红6绿7", 1, 0}, + { 7003, 18, 21, (ROULETTE8<<16) +ROULETTE27, 1, "双号红8绿7", 1, 0}, + { 7003, 16, 21, (ROULETTE8<<16) + ROULETTE9, 1, "双号红8红9", 1, 0}, + { 7003, 14, 21, (ROULETTE10<<16)+ ROULETTE9, 1, "双号红10红9", 1, 0}, + { 7003, 12, 21, (ROULETTE10<<16)+ROULETTE36, 1, "双号红10绿16", 1, 0}, + { 7003, 10, 21, (ROULETTE17<<16)+ROULETTE36, 1, "双号红17绿16", 1, 0}, + { 7003, 8, 15, ROULETTE51, 1, "横列1", 1, 0}, //横列 + { 7003, 8, 18, ROULETTE52, 1, "横列2", 1, 0}, + { 7003, 8, 21, ROULETTE53, 1, "横列3", 1, 0}, + { 7003, 6, 15, ROULETTE61, 1, "号码1-10", 1, 0}, //1到10 + { 7003, 5, 15, ROULETTE61, 1, "号码1-10", 1, 0}, + { 7003, 6, 16, ROULETTE61, 1, "号码1-10", 1, 0}, + { 7003, 5, 16, ROULETTE61, 1, "号码1-10", 1, 0}, + { 7003, 24, 15, ROULETTE62, 1, "号码11-20", 1, 0}, //10到11 + { 7003, 23, 15, ROULETTE62, 1, "号码11-20", 1, 0}, + { 7003, 24, 16, ROULETTE62, 1, "号码11-20", 1, 0}, + { 7003, 23, 16, ROULETTE62, 1, "号码11-20", 1, 0}, + { 7003, 15, 18, ROULETTE45, 1, "轮盘(00)", 1, 0}, }; #endif @@ -211,17 +211,17 @@ static void CHAR_sendItemDetachEvent( int charaindex,int itemid ) { char mesg[256]; - snprintf( mesg, sizeof( mesg), "ж%s ", ITEM_getAppropriateName(itemid) ); + snprintf( mesg, sizeof( mesg), "卸下%s ", ITEM_getAppropriateName(itemid) ); CHAR_talkToCli(charaindex,-1,mesg,CHAR_COLORWHITE); #ifdef _ITEM_METAMO if( ITEM_getEquipPlace( charaindex, itemid) == CHAR_BODY && CHAR_getWorkInt( charaindex, CHAR_WORKITEMMETAMO) != 0 ) { CHAR_setWorkInt( charaindex, CHAR_WORKITEMMETAMO, 0); - CHAR_setWorkInt( charaindex, CHAR_WORKNPCMETAMO, 0 ); //npcԻıҲҪ + CHAR_setWorkInt( charaindex, CHAR_WORKNPCMETAMO, 0 ); //与npc对话後的变身也要变回来 CHAR_complianceParameter( charaindex); CHAR_sendCToArroundCharacter( CHAR_getWorkInt( charaindex , CHAR_WORKOBJINDEX )); CHAR_send_P_StatusString( charaindex , CHAR_P_STRING_BASEBASEIMAGENUMBER); - CHAR_talkToCli( charaindex, -1, "ʧЧˣ", CHAR_COLORWHITE); + CHAR_talkToCli( charaindex, -1, "变身失效了!", CHAR_COLORWHITE); } #endif #ifdef _ITEM_RIDE @@ -258,7 +258,7 @@ static void CHAR_sendItemDetachEvent( int charaindex,int itemid ) static void CHAR_sendItemAttachEvent( int charaindex,int itemid ) { char mesg[256]; - snprintf( mesg, sizeof( mesg), "װ%s ", + snprintf( mesg, sizeof( mesg), "装备%s ", ITEM_getAppropriateName(itemid) ); CHAR_talkToCli(charaindex,-1,mesg,CHAR_COLORWHITE); { @@ -336,11 +336,11 @@ int CHAR_findEmptyItemBox( int index ) } -#define LACKOFCLASS {CHAR_talkToCli(index,-1,"޷װ",CHAR_COLORWHITE);} -#define CANNOTEQUIP {CHAR_talkToCli(index,-1,"޷װƷ",CHAR_COLORWHITE);} -#define CANNOTEQUIP2 {CHAR_talkToCli(index,-1,"޷ͬʱװͬƷ",CHAR_COLORWHITE);} -#define CANNOTEXCHANGE {CHAR_talkToCli(index,-1,"޷Ʒ",CHAR_COLORWHITE);} -#define CANNOTMOVE {CHAR_talkToCli(index,-1,"޷ƶƷ",CHAR_COLORWHITE);} +#define LACKOFCLASS {CHAR_talkToCli(index,-1,"能力不足无法装备。",CHAR_COLORWHITE);} +#define CANNOTEQUIP {CHAR_talkToCli(index,-1,"无法装备该项物品。",CHAR_COLORWHITE);} +#define CANNOTEQUIP2 {CHAR_talkToCli(index,-1,"无法同时装备两项同种类的物品。",CHAR_COLORWHITE);} +#define CANNOTEXCHANGE {CHAR_talkToCli(index,-1,"无法交换此两项物品。",CHAR_COLORWHITE);} +#define CANNOTMOVE {CHAR_talkToCli(index,-1,"无法移动该项物品。",CHAR_COLORWHITE);} static BOOL CHAR_sendSIToCli( int charindex , int from , int to ) { @@ -376,7 +376,7 @@ static BOOL CHAR_moveItemFromItemBoxToEquip( int index, int fromindex, if( CHAR_getInt( index, CHAR_STR) < ITEM_getInt( fromid, ITEM_NEEDSTR) ) return FALSE; if( CHAR_getInt( index, CHAR_DEX) < ITEM_getInt( fromid, ITEM_NEEDDEX) ) return FALSE; if( CHAR_getInt( index, CHAR_TRANSMIGRATION) < ITEM_getInt( fromid, ITEM_NEEDTRANS) ) return FALSE; -#ifdef _CHAR_PROFESSION // WON ADD ְҵ +#ifdef _CHAR_PROFESSION // WON ADD 人物职业 if( ITEM_getInt( fromid, ITEM_NEEDPROFESSION) != 0 ){ if( CHAR_getInt( index, PROFESSION_CLASS ) != ITEM_getInt( fromid, ITEM_NEEDPROFESSION) ) return FALSE; @@ -388,13 +388,13 @@ static BOOL CHAR_moveItemFromItemBoxToEquip( int index, int fromindex, { if( CHAR_getWorkInt( index, CHAR_WORKITEMMETAMO) > 0 || CHAR_getWorkInt( index, CHAR_WORKNPCMETAMO) > 0 - || CHAR_getWorkInt( index, CHAR_WORKFOXROUND ) != -1){ //DZС + || CHAR_getWorkInt( index, CHAR_WORKFOXROUND ) != -1){ //若是变成小狐狸 int armtype = ITEM_getInt( fromid, ITEM_TYPE ); if( armtype == ITEM_BOW || armtype == ITEM_BOUNDTHROW || armtype == ITEM_BREAKTHROW || armtype == ITEM_BOOMERANG) { - CHAR_talkToCli( index, -1, "޷ʹԶ", CHAR_COLORYELLOW ); + CHAR_talkToCli( index, -1, "变身无法使用远距离武器!", CHAR_COLORYELLOW ); return FALSE; } } @@ -414,7 +414,7 @@ static BOOL CHAR_moveItemFromItemBoxToEquip( int index, int fromindex, strcmp( ITEM_getChar( fromid, ITEM_HEROINFO), missiontable[mindex].heroinfo) || strcmp( ITEM_getChar( fromid, ITEM_ANGELINFO), nameinfo) ) { - CHAR_talkToCli( index, -1, "Ⲣ޷װ", CHAR_COLORYELLOW ); + CHAR_talkToCli( index, -1, "这并不是属於你的信物,无法装备。", CHAR_COLORYELLOW ); return FALSE; } } @@ -511,7 +511,7 @@ int CHAR_getMyMaxPilenum( int charaindex) } /* -#ifdef _PROFESSION_SKILL // WON ADD ְҵ +#ifdef _PROFESSION_SKILL // WON ADD 人物职业技能 maxpile += CHAR_getInt( charaindex, ATTACHPILE ); #endif */ @@ -582,7 +582,7 @@ static BOOL CHAR_moveItemFromItemBoxToItemBox( int index, int fromindex, int toi int resetpoint = sasql_itemreset_query(itemid); if(resetpoint>=0){ char resetmsg[256]; - sprintf(resetmsg,"\nȷҪԭ%sô\n\nԭƷҪ%d\n\nȷĻOK\n",ITEM_getChar(toid,ITEM_NAME),resetpoint); + sprintf(resetmsg,"\n您确定需要还原【%s】么?\n\n还原此物品需要【%d】点\n\n确定的话请点击【OK】\n",ITEM_getChar(toid,ITEM_NAME),resetpoint); lssproto_WN_send( playfd, WINDOW_MESSAGETYPE_MESSAGE, WINDOW_BUTTONTYPE_OKCANCEL, CHAR_WINDOWTYPE_RESETITEM, @@ -597,7 +597,7 @@ static BOOL CHAR_moveItemFromItemBoxToItemBox( int index, int fromindex, int toi WINDOW_BUTTONTYPE_CANCEL, -1, -1, - "˵߲ܻԭ"); + "此道具不能还原!"); } } }else if(strcmp(itemarg,"ITEMDEL")==0){ @@ -605,7 +605,7 @@ static BOOL CHAR_moveItemFromItemBoxToItemBox( int index, int fromindex, int toi int resetpoint = sasql_itemdel_query(itemid); if(resetpoint>=0){ char resetmsg[256]; - sprintf(resetmsg,"\nȷҪա%sô\n\nƷտɵá%d\n\nȷĻOK\n",ITEM_getChar(toid,ITEM_NAME),resetpoint); + sprintf(resetmsg,"\n您确定需要回收【%s】么?\n\n此物品回收可得【%d】点\n\n确定的话请点击【OK】\n",ITEM_getChar(toid,ITEM_NAME),resetpoint); lssproto_WN_send( playfd, WINDOW_MESSAGETYPE_MESSAGE, WINDOW_BUTTONTYPE_OKCANCEL, CHAR_WINDOWTYPE_DELITEM, @@ -620,7 +620,7 @@ static BOOL CHAR_moveItemFromItemBoxToItemBox( int index, int fromindex, int toi WINDOW_BUTTONTYPE_CANCEL, -1, -1, - "˵߲ܻգ"); + "此道具不能回收!"); } } } @@ -639,7 +639,7 @@ void CHAR_moveEquipItem( int index, int fromindex, int toindex ) #define MOVEITEM_ITEMTOEQUIP 1 << 1 #define MOVEITEM_ITEMTOITEM 1 << 2 - int fromid; /* item ƥ̼͵ */ + int fromid; /* item 匹及奶件犯永弁旦 */ unsigned int moved_any = 0; @@ -765,17 +765,17 @@ void CHAR_ItemUse( int charaindex, int to_charaindex, int haveitemindex ) int myviptype = CHAR_getInt(charaindex,CHAR_VIPRIDE); if(myviptype==0){ if(strstr(ITEM_getChar(itemindex,ITEM_NAME),"[VIP")!=NULL){ - CHAR_talkToCli( charaindex, -1, "Աȼ޷ʹôװ", CHAR_COLORYELLOW ); + CHAR_talkToCli( charaindex, -1, "会员等级不够,无法使用此装备。", CHAR_COLORYELLOW ); return; } }else if(myviptype==1){ if(strstr(ITEM_getChar(itemindex,ITEM_NAME),"[VIP2]")!=NULL || strstr(ITEM_getChar(itemindex,ITEM_NAME),"[VIP3]")!=NULL){ - CHAR_talkToCli( charaindex, -1, "Աȼ޷ʹôװ", CHAR_COLORYELLOW ); + CHAR_talkToCli( charaindex, -1, "会员等级不够,无法使用此装备。", CHAR_COLORYELLOW ); return; } }else if(myviptype==2){ if(strstr(ITEM_getChar(itemindex,ITEM_NAME),"[VIP3]")!=NULL){ - CHAR_talkToCli( charaindex, -1, "Աȼ޷ʹôװ", CHAR_COLORYELLOW ); + CHAR_talkToCli( charaindex, -1, "会员等级不够,无法使用此装备。", CHAR_COLORYELLOW ); return; } } @@ -784,7 +784,7 @@ void CHAR_ItemUse( int charaindex, int to_charaindex, int haveitemindex ) return; } #ifdef _STREET_VENDOR - // ̯вʹõ + // 摆摊中不可使用道具 if(CHAR_getWorkInt(charaindex,CHAR_WORKSTREETVENDOR) > -1){ print("StreetVendor use item charaindex=%d,name=%s\n",charaindex,CHAR_getChar(charaindex,CHAR_NAME)); return; @@ -798,7 +798,7 @@ void CHAR_ItemUse( int charaindex, int to_charaindex, int haveitemindex ) } } } - // + //不等於料理 和 其他 if( ITEM_getInt( itemindex,ITEM_TYPE) != ITEM_OTHER && ITEM_getInt( itemindex,ITEM_TYPE) != ITEM_DISH ) { CHAR_EquipPlace ep; @@ -839,14 +839,14 @@ void CHAR_ItemUse( int charaindex, int to_charaindex, int haveitemindex ) if( usefunc ){ { LogItem( - CHAR_getChar( charaindex, CHAR_NAME ), /* ƽҷ’o */ + CHAR_getChar( charaindex, CHAR_NAME ), /* 平乓仿抩 */ CHAR_getChar( charaindex, CHAR_CDKEY ), -#ifdef _add_item_log_name // WON ADD itemlogitem +#ifdef _add_item_log_name // WON ADD 在item的log中增加item名称 itemindex, #else - ITEM_getInt( itemindex, ITEM_ID ), /* ʧ̷ة?į */ + ITEM_getInt( itemindex, ITEM_ID ), /* 失奶泛丞?寞 */ #endif - "Use(ʹõ)", + "Use(使用道具)", CHAR_getInt( charaindex,CHAR_FLOOR), CHAR_getInt( charaindex,CHAR_X ), CHAR_getInt( charaindex,CHAR_Y ), @@ -863,7 +863,7 @@ void CHAR_ItemUse( int charaindex, int to_charaindex, int haveitemindex ) { char ansmsg[256]; strcpysafe( ansmsg, sizeof(ansmsg), - "ʲҲûз"); + "什麽也没有发生。"); CHAR_talkToCli( charaindex, -1, ansmsg, CHAR_COLORWHITE ); } } @@ -941,17 +941,17 @@ BOOL CHAR_DropItemFXY( int charaindex, int itemcharaindex, int fl, return -3; { char tmpbuf[256]; - sprintf(tmpbuf," %s (ʧʱ%d)",ITEM_getChar( itemindex, ITEM_NAME),getItemdeletetime()); + sprintf(tmpbuf,"丢弃 %s (道具消失时间%d秒)。",ITEM_getChar( itemindex, ITEM_NAME),getItemdeletetime()); CHAR_talkToCli( charaindex, -1, tmpbuf, CHAR_COLORYELLOW ); LogItem( - CHAR_getChar( charaindex, CHAR_NAME ), /* ƽҷ */ + CHAR_getChar( charaindex, CHAR_NAME ), /* 平乓仿 */ CHAR_getChar( charaindex, CHAR_CDKEY ), -#ifdef _add_item_log_name // WON ADD itemlogitem +#ifdef _add_item_log_name // WON ADD 在item的log中增加item名称 itemindex, #else - ITEM_getInt( itemindex, ITEM_ID ), /* ʧ ة į */ + ITEM_getInt( itemindex, ITEM_ID ), /* 失奶 丞 寞 */ #endif - "Drop()", + "Drop(丢出道具)", CHAR_getInt( charaindex,CHAR_FLOOR), CHAR_getInt( charaindex,CHAR_X ), CHAR_getInt( charaindex,CHAR_Y ), @@ -980,7 +980,7 @@ void CHAR_SendDropItem_Stats( int charaindex, int itemindex, int itemcharaindex, } if( 0 <= itemcharaindex && itemcharaindex < CHAR_STARTITEMARRAY && - CHAR_getInt( charaindex, CHAR_WHICHTYPE) == CHAR_TYPEPLAYER ){ //Ϊװ + CHAR_getInt( charaindex, CHAR_WHICHTYPE) == CHAR_TYPEPLAYER ){ //如果丢弃物为装备 if( ITEM_CHECKINDEX( itemindex) ) CHAR_sendItemDetachEvent( charaindex, itemindex ); @@ -1001,7 +1001,7 @@ void CHAR_DropStakeByDropItem( int charaindex, int itemcharaindex, int itemindex char tmpbuf[256]; dropflag = CHAR_getWorkInt( charaindex, CHAR_WORKSTAKEFLAG); if( dropflag >= MAXSTAKENUM){ - snprintf( tmpbuf, sizeof( tmpbuf), "Ѿעˣ޷ע"); + snprintf( tmpbuf, sizeof( tmpbuf), "你已经下注五次了,无法再下注!"); CHAR_talkToCli(charaindex, -1, tmpbuf, CHAR_COLORYELLOW); return; } @@ -1009,7 +1009,7 @@ void CHAR_DropStakeByDropItem( int charaindex, int itemcharaindex, int itemindex if( CHAR_getInt( charaindex, CHAR_FLOOR) != casinomap[j].casinofl ) continue; if( x != casinomap[j].casinox || y != casinomap[j].casinoy ) continue; if( casinomap[j].dropflag == 0 ){ - CHAR_talkToCli( charaindex, -1, "޷ע", CHAR_COLORYELLOW); + CHAR_talkToCli( charaindex, -1, "现在无法下注!", CHAR_COLORYELLOW); return; }else{ int objindex; @@ -1018,8 +1018,8 @@ void CHAR_DropStakeByDropItem( int charaindex, int itemcharaindex, int itemindex ITEM_setInt( itemindex, ITEM_PUTTIME, NowTime.tv_sec+30*60); CHAR_sendWatchEvent( objindex, CHAR_ACTSTAND, NULL, 0, TRUE); casinoflag = 1; - snprintf(tmpbuf, sizeof(tmpbuf), " %s עһŲȯ", casinomap[j].casinoinfo); - for(k = 0; k < MAXSTAKENUM; k++){//ע趨 + snprintf(tmpbuf, sizeof(tmpbuf), "你在 %s 下注了一张彩券", casinomap[j].casinoinfo); + for(k = 0; k < MAXSTAKENUM; k++){//下注设定 if(CHAR_getWorkInt(charaindex, CHAR_WORKSTAKETYPE1 + k) != 0) continue; CHAR_setWorkInt(charaindex, CHAR_WORKSTAKETYPE1 + k, casinomap[j].casinotype); dropflag++; @@ -1027,7 +1027,7 @@ void CHAR_DropStakeByDropItem( int charaindex, int itemcharaindex, int itemindex } CHAR_talkToCli(charaindex, -1, tmpbuf, CHAR_COLORYELLOW); #ifdef _FIX_GAMBLENUM - if (dropflag <= MAXSTAKENUM){ //۵Ķ + if (dropflag <= MAXSTAKENUM){ //做扣点的动作 int nAcc = CHAR_getInt(charaindex, CHAR_GAMBLENUM); nAcc -= casinomap[j].accumulation; CHAR_setInt(charaindex, CHAR_GAMBLENUM, nAcc); @@ -1042,12 +1042,12 @@ void CHAR_DropStakeByDropItem( int charaindex, int itemcharaindex, int itemindex if( casinoflag == 0) return; LogItem(CHAR_getChar(charaindex, CHAR_NAME), CHAR_getChar(charaindex, CHAR_CDKEY), -#ifdef _add_item_log_name // WON ADD itemlogitem +#ifdef _add_item_log_name // WON ADD 在item的log中增加item名称 itemindex, #else ITEM_getInt(itemindex, ITEM_ID), #endif - "StakeDrop(ȯ)", + "StakeDrop(丢出彩券)", CHAR_getInt(charaindex,CHAR_FLOOR), CHAR_getInt(charaindex,CHAR_X), CHAR_getInt(charaindex,CHAR_Y), @@ -1109,12 +1109,12 @@ void CHAR_DropItem( int charaindex, int itemcharaindex ) int fd = getfdFromCharaIndex( charaindex); if( fd == - 1 ) return; if( CHAR_getWorkInt( charaindex, CHAR_WORKBATTLEMODE ) != BATTLE_CHARMODE_NONE ){ - CHAR_talkToCli( charaindex, -1, "ս״̬޷װ", CHAR_COLORYELLOW ); + CHAR_talkToCli( charaindex, -1, "战斗状态中无法丢道具装备。", CHAR_COLORYELLOW ); return; } -#ifdef _AVID_TRADETRYBUG //װ +#ifdef _AVID_TRADETRYBUG //丢道具装备 if( CHAR_getWorkInt(charaindex, CHAR_WORKTRADEMODE) != CHAR_TRADE_FREE){ - CHAR_talkToCli( charaindex, -1, "״̬޷װ", CHAR_COLORYELLOW ); + CHAR_talkToCli( charaindex, -1, "交易状态中无法丢道具装备。", CHAR_COLORYELLOW ); return; } #endif @@ -1124,15 +1124,15 @@ void CHAR_DropItem( int charaindex, int itemcharaindex ) #ifdef _LOCK_PET_ITEM char *arg = ITEM_getChar(itemindex, ITEM_NAME); if(arg[0] == '*'){ - CHAR_talkToCli( charaindex, -1, "󶨵Ʒܶ", CHAR_COLORYELLOW ); + CHAR_talkToCli( charaindex, -1, "绑定的物品不能丢弃!", CHAR_COLORYELLOW ); return; } #endif #ifdef _NO_DROPITEM - if( strstr(ITEM_getChar(itemindex,ITEM_EFFECTSTRING),"")){ + if( strstr(ITEM_getChar(itemindex,ITEM_EFFECTSTRING),"绑定")){ if(CHAR_getWorkInt(charaindex,CHAR_DROPITEMCHARAINDEX)!=itemcharaindex){ char dropmsg[256]; - sprintf(dropmsg,"\n%sΪƷ\n\nֱʧ\n\nȷҪôȷ밴[OK]\n",ITEM_getChar(itemindex,ITEM_NAME)); + sprintf(dropmsg,"\n【%s】为绑定物品\n\n丢弃会直接消失!\n\n你确定要丢弃么?确定请按[OK]\n",ITEM_getChar(itemindex,ITEM_NAME)); lssproto_WN_send( fd, WINDOW_MESSAGETYPE_MESSAGE, WINDOW_BUTTONTYPE_OKCANCEL, CHAR_WINDOWTYPE_DROPITEM, @@ -1148,7 +1148,7 @@ void CHAR_DropItem( int charaindex, int itemcharaindex ) if(ITEM_getInt(itemindex,ITEM_TIME)>0){ if(CHAR_getWorkInt(charaindex,CHAR_DROPITEMCHARAINDEX)!=itemcharaindex){ char dropmsg[256]; - sprintf(dropmsg,"\n%sΪʱƷ\n\nֱʧ\n\nȷҪôȷ밴[OK]\n",ITEM_getChar(itemindex,ITEM_NAME)); + sprintf(dropmsg,"\n【%s】为限时物品\n\n丢弃会直接消失!\n\n你确定要丢弃么?确定请按[OK]\n",ITEM_getChar(itemindex,ITEM_NAME)); lssproto_WN_send( fd, WINDOW_MESSAGETYPE_MESSAGE, WINDOW_BUTTONTYPE_OKCANCEL, CHAR_WINDOWTYPE_DROPITEM, @@ -1176,14 +1176,14 @@ void CHAR_DropItem( int charaindex, int itemcharaindex ) //print ("\n%d,%d,%d\n",ITEM_NOT_DROP,ITEM_getInt(itemindex, ITEM_TYPEOFITEM),ITEM_NOT_DROP & ITEM_getInt(itemindex, ITEM_TYPEOFITEM)); if(ITEM_NOT_DROP & ITEM_getInt(itemindex, ITEM_TYPEOFITEM)){ char buf[256]; - sprintf( buf, "%s޷", ITEM_getChar( itemindex, ITEM_NAME) ); + sprintf( buf, "%s无法丢弃。", ITEM_getChar( itemindex, ITEM_NAME) ); CHAR_talkToCli( charaindex, -1, buf, CHAR_COLORRED); return ; } #endif - //ҳΧռ + //找出周围空间 if( CHAR_FindAroundUsabilitySpace( charaindex, itemindex, &fl, &x, &y) == FALSE ){ - CHAR_talkToCli( charaindex, -1, "ΧĵѾˡ", CHAR_COLORYELLOW ); + CHAR_talkToCli( charaindex, -1, "周围的地面已经满了。", CHAR_COLORYELLOW ); return; } @@ -1199,9 +1199,9 @@ void CHAR_DropItem( int charaindex, int itemcharaindex ) beDropOne = 0; } #endif - //ҵռ + //找到空间 ret = ITEM_eventDrop( itemindex, charaindex, itemcharaindex ); - if( ret == 1 || ITEM_getInt(itemindex,ITEM_TIME)>0){ //-1 Ʒ 1 ʧ 0 һƷ + if( ret == 1 || ITEM_getInt(itemindex,ITEM_TIME)>0){ //-1 物品不存在 1 消失 0 一般物品 CHAR_SendDropItem_Stats( charaindex, itemindex, itemcharaindex, beDropOne); return; }else { @@ -1215,17 +1215,17 @@ void CHAR_DropItem( int charaindex, int itemcharaindex ) #endif { char tmpbuf[256]; - sprintf(tmpbuf," %s (ʧʱ%d)",ITEM_getChar( itemindex, ITEM_NAME),getItemdeletetime()); + sprintf(tmpbuf,"丢弃 %s (道具消失时间%d秒)。",ITEM_getChar( itemindex, ITEM_NAME),getItemdeletetime()); CHAR_talkToCli( charaindex, -1, tmpbuf, CHAR_COLORYELLOW ); LogItem( - CHAR_getChar( charaindex, CHAR_NAME ), /* ƽҷ */ + CHAR_getChar( charaindex, CHAR_NAME ), /* 平乓仿 */ CHAR_getChar( charaindex, CHAR_CDKEY ), -#ifdef _add_item_log_name // WON ADD itemlogitem +#ifdef _add_item_log_name // WON ADD 在item的log中增加item名称 itemindex, #else - ITEM_getInt( itemindex, ITEM_ID ), /* ʧ ة į */ + ITEM_getInt( itemindex, ITEM_ID ), /* 失奶 丞 寞 */ #endif - "Drop()", + "Drop(丢出道具)", CHAR_getInt( charaindex,CHAR_FLOOR), CHAR_getInt( charaindex,CHAR_X ), CHAR_getInt( charaindex,CHAR_Y ), @@ -1251,9 +1251,9 @@ void CHAR_DropItem( int charaindex, int itemcharaindex ) if( !CHAR_CHECKINDEX( charaindex ) ) return; if( !ITEM_CHECKINDEX( itemindex) ) return; -#ifdef _AVID_TRADETRYBUG //װ +#ifdef _AVID_TRADETRYBUG //丢道具装备 if( CHAR_getWorkInt(charaindex, CHAR_WORKTRADEMODE) != CHAR_TRADE_FREE){ - CHAR_talkToCli( charaindex, -1, "״̬޷װ", CHAR_COLORYELLOW ); + CHAR_talkToCli( charaindex, -1, "交易状态中无法丢道具装备。", CHAR_COLORYELLOW ); return; } #endif @@ -1295,7 +1295,7 @@ void CHAR_DropItem( int charaindex, int itemcharaindex ) if(casinodropflag == 0){ #endif if( count_item > 80 || count_chara > 80 ) { - CHAR_talkToCli( charaindex, -1, "ƷѾ̫ˣٶˡ", CHAR_COLORYELLOW ); + CHAR_talkToCli( charaindex, -1, "这里的物品已经太多了,不能再丢了。", CHAR_COLORYELLOW ); return; } #ifdef _DROPSTAKENEW @@ -1316,11 +1316,11 @@ void CHAR_DropItem( int charaindex, int itemcharaindex ) floor = CHAR_getInt( charaindex,CHAR_FLOOR ); { int ret; - if( 0 <= itemcharaindex && itemcharaindex < CHAR_STARTITEMARRAY ){ //Ϊװ + if( 0 <= itemcharaindex && itemcharaindex < CHAR_STARTITEMARRAY ){ //如果丢弃物为装备 CHAR_sendItemDetachEvent( charaindex, itemindex ); } ret = ITEM_eventDrop( itemindex, charaindex, itemcharaindex ); - if( ret == 1 ){ //-1 Ʒ 1 ʧ 0 һƷ + if( ret == 1 ){ //-1 物品不存在 1 消失 0 一般物品 itemindex = -1; goto END; }else if( ret == -1 ){ @@ -1336,7 +1336,7 @@ void CHAR_DropItem( int charaindex, int itemcharaindex ) int x=CHAR_getInt(charaindex,CHAR_X)+dirx[i]; int y=CHAR_getInt(charaindex,CHAR_Y)+diry[i]; #ifdef _DROPSTAKENEW - // жƷǷΪȯ + // 判断物品是否为彩券 if(ITEM_getInt(itemindex, ITEM_ID) == CASINOTOKENID){ int j = 0, k = 0; int bdropstake = 0; @@ -1348,12 +1348,12 @@ void CHAR_DropItem( int charaindex, int itemcharaindex ) int dropflag = CHAR_getWorkInt(charaindex, CHAR_WORKSTAKEFLAG); casinoflag = 1; if(casinomap[j].dropflag == 0){ - CHAR_talkToCli(charaindex, -1, "޷ע", CHAR_COLORYELLOW); + CHAR_talkToCli(charaindex, -1, "现在无法下注!", CHAR_COLORYELLOW); return; }else{ - snprintf(tmpbuf, sizeof(tmpbuf), " %s עһŲȯ", casinomap[j].casinoinfo); + snprintf(tmpbuf, sizeof(tmpbuf), "你在 %s 下注了一张彩券", casinomap[j].casinoinfo); if(dropflag >= MAXSTAKENUM){ - snprintf(tmpbuf, sizeof(tmpbuf), "Ѿעˣ޷ע"); + snprintf(tmpbuf, sizeof(tmpbuf), "你已经下注五次了,无法再下注!"); CHAR_talkToCli(charaindex, -1, tmpbuf, CHAR_COLORYELLOW); return; } @@ -1372,7 +1372,7 @@ void CHAR_DropItem( int charaindex, int itemcharaindex ) } CHAR_talkToCli(charaindex, -1, tmpbuf, CHAR_COLORYELLOW); #ifdef _FIX_GAMBLENUM - //۵Ķ + //做扣点的动作 if (dropflag <= MAXSTAKENUM){ int nAcc = CHAR_getInt(charaindex, CHAR_GAMBLENUM); nAcc -= casinomap[j].accumulation; @@ -1394,18 +1394,18 @@ void CHAR_DropItem( int charaindex, int itemcharaindex ) } } - // ˵طIJȯһ + // 此地方的彩券数量超过一张以上 if(bdropstake == 0 && casinoflag != 0){ CHAR_setItemIndex(charaindex, itemcharaindex ,-1); CHAR_sendItemDataOne(charaindex, itemcharaindex); LogItem(CHAR_getChar(charaindex, CHAR_NAME), CHAR_getChar(charaindex, CHAR_CDKEY), -#ifdef _add_item_log_name // WON ADD itemlogitem +#ifdef _add_item_log_name // WON ADD 在item的log中增加item名称 itemindex, #else ITEM_getInt(itemindex, ITEM_ID), #endif - "StakeDrop(ȯ)", + "StakeDrop(丢出彩券)", CHAR_getInt(charaindex,CHAR_FLOOR), CHAR_getInt(charaindex,CHAR_X), CHAR_getInt(charaindex,CHAR_Y), @@ -1449,7 +1449,7 @@ void CHAR_DropItem( int charaindex, int itemcharaindex ) } #ifdef _DROPCHECK if( droped != 1 ) { - CHAR_talkToCli( charaindex, -1, "ΧĵѾˡ", CHAR_COLORYELLOW ); + CHAR_talkToCli( charaindex, -1, "周围的地面已经满了。", CHAR_COLORYELLOW ); return; } #endif @@ -1537,7 +1537,7 @@ static int CHAR_PickUpItemFXY( int charaindex, int fl ,int x , int y , } #endif #ifdef _DROPSTAKENEW - // жƷǷΪȯ + // 判断物品是否为彩券 if(ITEM_getInt(itemindex, ITEM_ID) == CASINOTOKENID){ int i = 0; int bdropstake = 0, casinoflag = 0, emptyitemindexinchara = -1; @@ -1548,12 +1548,12 @@ static int CHAR_PickUpItemFXY( int charaindex, int fl ,int x , int y , int pickupflag = 0; casinoflag = 1; if(casinomap[i].dropflag == 0){ - CHAR_talkToCli(charaindex, -1, "Ѿ޷ȡעȯˣ", CHAR_COLORYELLOW); + CHAR_talkToCli(charaindex, -1, "现在已经无法取回下注彩券了!", CHAR_COLORYELLOW); return -1; } stakeflag = CHAR_getWorkInt(charaindex, CHAR_WORKSTAKEFLAG); if(stakeflag == 0){ - CHAR_talkToCli(charaindex, -1, "ûע޷ȡزȯ", CHAR_COLORYELLOW); + CHAR_talkToCli(charaindex, -1, "您并没有下注,所以无法取回彩券!", CHAR_COLORYELLOW); return -1; } for(j = 0; j < MAXSTAKENUM; j++){ @@ -1565,7 +1565,7 @@ static int CHAR_PickUpItemFXY( int charaindex, int fl ,int x , int y , stakeflag--; pickupflag = 1; #ifdef _FIX_GAMBLENUM - //ӵĶ + //做加点的动作 { int nAcc = CHAR_getInt(charaindex, CHAR_GAMBLENUM); nAcc += casinomap[i].accumulation; @@ -1589,14 +1589,14 @@ static int CHAR_PickUpItemFXY( int charaindex, int fl ,int x , int y , }else CHAR_setWorkInt(charaindex, CHAR_WORKSTAKEFLAG, stakeflag); if(pickupflag == 0){ - CHAR_talkToCli(charaindex, -1, "ûڴע޷ȡزȯ", CHAR_COLORYELLOW); + CHAR_talkToCli(charaindex, -1, "您没有在此下注,所以无法取回彩券!", CHAR_COLORYELLOW); return -1; } } } } - if(bdropstake == 0 && casinoflag != 0){// ˵طIJȯһ + if(bdropstake == 0 && casinoflag != 0){// 此地方的彩券数量超过一张以上 char tmpbuf[256]; if(emptyitemindexinchara != -1){ int itemid=-1, ret=-1; @@ -1609,18 +1609,18 @@ static int CHAR_PickUpItemFXY( int charaindex, int fl ,int x , int y , } } CHAR_sendItemDataOne(charaindex, emptyitemindexinchara); - snprintf(tmpbuf, sizeof(tmpbuf), "ʰ%sѽעȡ", + snprintf(tmpbuf, sizeof(tmpbuf), "拾回%s,已将下注取消!", ITEM_getChar(itemindex, ITEM_NAME)); CHAR_talkToCli(charaindex, -1, tmpbuf, CHAR_COLORWHITE); - // ¼ؼ¼ + // 记录捡回记录 LogItem(CHAR_getChar(charaindex, CHAR_NAME), CHAR_getChar(charaindex, CHAR_CDKEY), -#ifdef _add_item_log_name // WON ADD itemlogitem +#ifdef _add_item_log_name // WON ADD 在item的log中增加item名称 itemindex, #else ITEM_getInt(itemindex, ITEM_ID), #endif - "StakePickUp(ȯ)", + "StakePickUp(捡起彩券)", CHAR_getInt(charaindex,CHAR_FLOOR), CHAR_getInt(charaindex,CHAR_X), CHAR_getInt(charaindex,CHAR_Y), @@ -1638,7 +1638,7 @@ static int CHAR_PickUpItemFXY( int charaindex, int fl ,int x , int y , sprintf(pickupchar,",%d,",ITEM_getInt(itemindex,ITEM_ID)); if(ITEM_getChar(itemindex,ITEM_FROMCDKEY)!=NULL && strstr(getPickItemId(),pickupchar)==NULL){ if(strcmp(CHAR_getChar(charaindex,CHAR_CDKEY),ITEM_getChar(itemindex,ITEM_FROMCDKEY))!=0){ - CHAR_talkToCli(charaindex, -1, "˵߲У޷ʰȡ", CHAR_COLORWHITE); + CHAR_talkToCli(charaindex, -1, "此道具不属于您所有,无法拾取。", CHAR_COLORWHITE); return -1; } } @@ -1731,7 +1731,7 @@ static int CHAR_PickUpItemFXY( int charaindex, int fl ,int x , int y , Char *ch; CHAR_setInt( pindex, CHAR_MAILMODE, CHAR_PETMAIL_NONE); CHAR_setInt( pindex, CHAR_PETMAILIDLETIME, 0); - PETMAIL_delPetMailTotalnums( 1); //ֶmail PET + PETMAIL_delPetMailTotalnums( 1); //手动捡起mail PET ch = CHAR_getCharPointer( pindex); if( ch != NULL ) { strcpysafe( ch->charfunctable[CHAR_LOOPFUNC].string, @@ -1833,11 +1833,11 @@ void CHAR_PickUpItem( int charaindex, int dir ) } } if(ITEM_getInt(contents, ITEM_ID) == CASINOTOKENID && dropflag == 1) - snprintf( mesg,sizeof(mesg), "ʰ%sѽעȡ", + snprintf( mesg,sizeof(mesg), "拾回%s,已将下注取消!", ITEM_getAppropriateName(contents)); else #endif - snprintf( mesg,sizeof(mesg), "ʰ %s", + snprintf( mesg,sizeof(mesg), "拾获 %s", ITEM_getAppropriateName(contents) ); CHAR_talkToCli(charaindex,-1,mesg,CHAR_COLORWHITE); } @@ -1846,12 +1846,12 @@ void CHAR_PickUpItem( int charaindex, int dir ) LogItem( CHAR_getChar( charaindex, CHAR_NAME ), CHAR_getChar( charaindex, CHAR_CDKEY ), -#ifdef _add_item_log_name // WON ADD itemlogitem +#ifdef _add_item_log_name // WON ADD 在item的log中增加item名称 contents, #else ITEM_getInt(contents, ITEM_ID), #endif - "PickUp()", + "PickUp(捡起道具)", CHAR_getInt( charaindex,CHAR_FLOOR), CHAR_getInt( charaindex,CHAR_X ), CHAR_getInt( charaindex,CHAR_Y ), @@ -1874,9 +1874,9 @@ void CHAR_PickUpItem( int charaindex, int dir ) { char mesg[256]; if( contents == 0 ) { - snprintf( mesg,sizeof(mesg), "޷ʰStoneˡ" ); + snprintf( mesg,sizeof(mesg), "无法再拾获Stone了。" ); }else { - snprintf( mesg,sizeof(mesg), "ʰ %d Stone",contents ); + snprintf( mesg,sizeof(mesg), "拾获 %d Stone",contents ); } CHAR_talkToCli(charaindex,-1,mesg,CHAR_COLORWHITE); } @@ -1887,7 +1887,7 @@ void CHAR_PickUpItem( int charaindex, int dir ) CHAR_getChar( charaindex, CHAR_CDKEY ), contents, CHAR_getInt( charaindex, CHAR_GOLD ), - "PickUp(ʰǮ)", + "PickUp(拾获金钱)", CHAR_getInt( charaindex,CHAR_FLOOR), CHAR_getInt( charaindex,CHAR_X ), CHAR_getInt( charaindex,CHAR_Y ) @@ -1895,7 +1895,7 @@ void CHAR_PickUpItem( int charaindex, int dir ) } return; break; - case 2: // + case 2: //宠物 CHAR_ObjectDelete(objindex); CHAR_setWorkInt( contents, CHAR_WORKOBJINDEX, -1); { @@ -1906,16 +1906,16 @@ void CHAR_PickUpItem( int charaindex, int dir ) p = CHAR_getChar( contents, CHAR_NAME); } - snprintf( mesg,sizeof(mesg), "ʰ %s", p); + snprintf( mesg,sizeof(mesg), "拾获 %s", p); CHAR_talkToCli(charaindex,-1,mesg,CHAR_COLORWHITE); } - // ʸë׷ + // 矢永玄毛胶匀凶夫弘 LogPet( - CHAR_getChar( charaindex, CHAR_NAME ), /* ƽҷ */ + CHAR_getChar( charaindex, CHAR_NAME ), /* 平乓仿 */ CHAR_getChar( charaindex, CHAR_CDKEY ), CHAR_getChar( contents, CHAR_NAME), CHAR_getInt( contents, CHAR_LV), - "PickUp()", + "PickUp(捡宠)", CHAR_getInt( charaindex,CHAR_FLOOR), CHAR_getInt( charaindex,CHAR_X ), CHAR_getInt( charaindex,CHAR_Y ), @@ -1926,7 +1926,7 @@ void CHAR_PickUpItem( int charaindex, int dir ) // Robin 0701 petFollow case 3: - /* Իľëе */ + /* 引歹曰卞仇木毛壅六午中丹 */ CHAR_ObjectDelete(objindex); CHAR_setWorkInt( contents, CHAR_WORKOBJINDEX, -1); { @@ -1937,16 +1937,16 @@ void CHAR_PickUpItem( int charaindex, int dir ) p = CHAR_getChar( contents, CHAR_NAME); } - snprintf( mesg,sizeof(mesg), "ʰ %s", p); + snprintf( mesg,sizeof(mesg), "拾回 %s", p); CHAR_talkToCli(charaindex,-1,mesg,CHAR_COLORWHITE); } - // ʸë׷ + // 矢永玄毛胶匀凶夫弘 LogPet( - CHAR_getChar( charaindex, CHAR_NAME ), /* ƽҷ */ + CHAR_getChar( charaindex, CHAR_NAME ), /* 平乓仿 */ CHAR_getChar( charaindex, CHAR_CDKEY ), CHAR_getChar( contents, CHAR_NAME), CHAR_getInt( contents, CHAR_LV), - "FollowPickUp(ջ)", + "FollowPickUp(收回溜宠)", CHAR_getInt( charaindex,CHAR_FLOOR), CHAR_getInt( charaindex,CHAR_X ), CHAR_getInt( charaindex,CHAR_Y ), @@ -1958,19 +1958,19 @@ void CHAR_PickUpItem( int charaindex, int dir ) case -1: break; case -2: - CHAR_talkToCli( charaindex,-1,"", CHAR_COLORYELLOW); + CHAR_talkToCli( charaindex,-1,"道具栏已满。", CHAR_COLORYELLOW); break; case -3: - CHAR_talkToCli( charaindex,-1,"", CHAR_COLORYELLOW); + CHAR_talkToCli( charaindex,-1,"宠物数已满。", CHAR_COLORYELLOW); break; case -4: - CHAR_talkToCli( charaindex,-1,"޷չ˸ó", CHAR_COLORYELLOW); + CHAR_talkToCli( charaindex,-1,"无法照顾该宠物。", CHAR_COLORYELLOW); break; case -5: - CHAR_talkToCli( charaindex,-1,"޷ʰó", CHAR_COLORYELLOW); + CHAR_talkToCli( charaindex,-1,"无法拾获该宠物。", CHAR_COLORYELLOW); break; case -6: - CHAR_talkToCli( charaindex,-1,"޷ʰõߡ", CHAR_COLORYELLOW); + CHAR_talkToCli( charaindex,-1,"无法拾获该道具。", CHAR_COLORYELLOW); break; default: return; @@ -1980,23 +1980,23 @@ void CHAR_PickUpItem( int charaindex, int dir ) } /*------------------------------------------------------------ - * ë ϶ƥ £CHAR_DropMoneyռƥǣ - * ¦ - * charaindex int ƽҷ̼͵ - * itemindex int ʧ ة̼͵(ƽҷ· ƥ) - * fl int ׷ʧ + * 云嗯毛甄 隙烂匹 公丹午允月[CHAR_DropMoney井日及心匹银丹仪[ + * 娄醒 + * charaindex int 平乓仿奶件犯永弁旦 + * itemindex int 失奶 丞奶件犯永弁旦(平乓仿犯□正及 匹及) + * fl int 白夫失 * x int x * y int y - * force BOOL 𼰰ҷ - * objindex int* ʧ ة Object ƥ̼ - * ߯Ի - * (ئë Ȼئ) -1 - * (߶ֻ) -2 - * ľ½ -3 - * (巴ڼŷʿ) -4 - * ƥְʧ ة л -5 - * ڻ ƥ -6 - * 0 + * force BOOL 仇及袄互恳分午 泫 允 + * objindex int* 中凶失奶 丞及 Object 匹及奶件犯弁永旦 + * 忒曰袄 + * 撩 (公氏卅卞云嗯毛 匀化中卅中) -1 + * 撩 (哗溥读卞分户) -2 + * 公木动陆及撩 -3 + * 撩 (公仇卞反公及汹及云嗯反聂允亢月) -4 + * 允匹卞职及失奶 丞互 切化中月 -5 + * 汹互 匹 [ -6 + * 岳 0 ------------------------------------------------------------*/ static BOOL CHAR_DropMoneyFXY( int charaindex, int amount, int fl , int x, int y, BOOL force, int* objindex ) @@ -2031,12 +2031,12 @@ static BOOL CHAR_DropMoneyFXY( int charaindex, int amount, int fl , int x, #ifdef _DEL_DROP_GOLD OBJECT_setTime( index, NowTime.tv_sec); #endif - if( amount >= 100 ){ /* ë ׷ */ - LogStone(-1,CHAR_getChar( charaindex, CHAR_NAME ), /* ƽҷ */ - CHAR_getChar( charaindex, CHAR_CDKEY ), /* ǡID */ - amount, /* ź */ + if( amount >= 100 ){ /* 云嗯毛 中凶夫弘 */ + LogStone(-1,CHAR_getChar( charaindex, CHAR_NAME ), /* 平乓仿 */ + CHAR_getChar( charaindex, CHAR_CDKEY ), /* 交□扒□ID */ + amount, /* 嗯喊 */ CHAR_getInt( charaindex, CHAR_GOLD ), - "Drop(ýǮ)", + "Drop(放置金钱)", CHAR_getInt( charaindex,CHAR_FLOOR), CHAR_getInt( charaindex,CHAR_X ), CHAR_getInt( charaindex,CHAR_Y ) @@ -2047,12 +2047,12 @@ static BOOL CHAR_DropMoneyFXY( int charaindex, int amount, int fl , int x, if( force==TRUE ) continue; else - /* ƥʧ ةؤ¼ƥֻ */ + /* 允匹卞失奶 丞互丐月及匹分户 */ return -5; } } - /* ƥеǷޥ */ + /* 仇仇引匹谗琼允月午中丹仪反蕙筋瓒 允月 */ { Object one; one.type = OBJTYPE_GOLD; @@ -2065,24 +2065,24 @@ static BOOL CHAR_DropMoneyFXY( int charaindex, int amount, int fl , int x, one.index = amount; *objindex = initObjectOne( &one ); - /* Ƥ */ + /* 左皮斥尼弁玄瓒 允月 */ if( *objindex == -1 ) - /* */ + /* 瓒 撩 */ return -3; - /*ëӼ*/ + /*云嗯毛蛹日允*/ CHAR_setInt(charaindex,CHAR_GOLD, (unsigned int)CHAR_getInt(charaindex,CHAR_GOLD ) - amount ); #ifdef _DEL_DROP_GOLD OBJECT_setTime( *objindex, NowTime.tv_sec); #endif - if( amount >= 100 ){ /* ë ׷ */ - LogStone(-1,CHAR_getChar( charaindex, CHAR_NAME ), /* ƽҷ */ - CHAR_getChar( charaindex, CHAR_CDKEY ), /* ǡID */ - amount, /* ź */ + if( amount >= 100 ){ /* 云嗯毛 中凶夫弘 */ + LogStone(-1,CHAR_getChar( charaindex, CHAR_NAME ), /* 平乓仿 */ + CHAR_getChar( charaindex, CHAR_CDKEY ), /* 交□扒□ID */ + amount, /* 嗯喊 */ CHAR_getInt( charaindex, CHAR_GOLD ), - "Drop(ýǮ)", + "Drop(放置金钱)", CHAR_getInt( charaindex,CHAR_FLOOR), CHAR_getInt( charaindex,CHAR_X ), CHAR_getInt( charaindex,CHAR_Y ) @@ -2093,13 +2093,13 @@ static BOOL CHAR_DropMoneyFXY( int charaindex, int amount, int fl , int x, } /*------------------------------------------------------------ - * ë ѣ 󡾮 ʣ - * ¦ - * charaindex int ƽҷ̼͵ - * amount int ż + * 云嗯毛 允楮醒[ 及蟆井日 允[ + * 娄醒 + * charaindex int 平乓仿奶件犯永弁旦 + * amount int 云嗯及汹 * - * ߯Ի - * ئ + * 忒曰袄 + * 卅仄 ------------------------------------------------------------*/ void CHAR_DropMoney( int charaindex, int amount ) { @@ -2119,9 +2119,9 @@ void CHAR_DropMoney( int charaindex, int amount ) if( !CHAR_CHECKINDEX( charaindex ) )return; -#ifdef _AVID_TRADETRYBUG //ʯ +#ifdef _AVID_TRADETRYBUG //丢出石币 if( CHAR_getWorkInt( charaindex, CHAR_WORKTRADEMODE) == CHAR_TRADE_TRADING ){ - CHAR_talkToCli( charaindex, -1, "״̬޷ʯҡ", CHAR_COLORYELLOW ); + CHAR_talkToCli( charaindex, -1, "交易状态中无法丢出石币。", CHAR_COLORYELLOW ); return; } #endif @@ -2164,7 +2164,7 @@ void CHAR_DropMoney( int charaindex, int amount ) int x = CHAR_getInt(charaindex,CHAR_X) + dirx[i]; int y = CHAR_getInt(charaindex,CHAR_Y) + diry[i]; -// CoolFish 2002/04/06 עɶʯ +// CoolFish 2002/04/06 下注处不可丢置石币 #ifdef _DROPSTAKENEW { int j = 0; @@ -2174,7 +2174,7 @@ void CHAR_DropMoney( int charaindex, int amount ) { if (x == casinomap[j].casinox && y == casinomap[j].casinoy) { - CHAR_talkToCli(charaindex, -1, "ﲻܷʯң", CHAR_COLORYELLOW); + CHAR_talkToCli(charaindex, -1, "这里不能放置石币!", CHAR_COLORYELLOW); return; } } @@ -2303,7 +2303,7 @@ int CHAR_pickupFollowPet( int charaindex, int pickupindex ) havepetindex = CHAR_getCharPetElement( charaindex); if( havepetindex == -1 ) { - CHAR_talkToCli(charaindex,-1,"޷ʰأ",CHAR_COLORYELLOW); + CHAR_talkToCli(charaindex,-1,"宠物栏已满!无法拾回!",CHAR_COLORYELLOW); return FALSE; } @@ -2313,7 +2313,7 @@ int CHAR_pickupFollowPet( int charaindex, int pickupindex ) if( (pickupindex == -1) || (pickupindex == CHAR_getWorkInt( charaindex, CHAR_WORKPETFOLLOW ) ) ) CHAR_setWorkInt( charaindex, CHAR_WORKPETFOLLOW, -1 ); - /* CDKEY ƽҷ ئ巴ئ */ + /* CDKEY 午平乓仿 互域谯仄卅中午五反胶尹卅中 */ if( strcmp( CHAR_getChar( petindex, CHAR_OWNERCDKEY), CHAR_getChar( charaindex, CHAR_CDKEY)) != 0 || strcmp( CHAR_getChar( petindex, CHAR_OWNERCHARANAME), CHAR_getChar( charaindex, CHAR_NAME)) != 0 ) { @@ -2363,16 +2363,16 @@ int CHAR_pickupFollowPet( int charaindex, int pickupindex ) if( strlen( p) == 0 ) { p = CHAR_getChar( petindex, CHAR_NAME); } - snprintf( mesg,sizeof(mesg), "ʰ %s", p); + snprintf( mesg,sizeof(mesg), "拾回 %s", p); CHAR_talkToCli(charaindex,-1,mesg,CHAR_COLORYELLOW); } - // ʸë׷ + // 矢永玄毛胶匀凶夫弘 LogPet( - CHAR_getChar( charaindex, CHAR_NAME ), /* ƽҷ */ + CHAR_getChar( charaindex, CHAR_NAME ), /* 平乓仿 */ CHAR_getChar( charaindex, CHAR_CDKEY ), CHAR_getChar( petindex, CHAR_NAME), CHAR_getInt( petindex, CHAR_LV), - "FollowPickUp(ջ)", + "FollowPickUp(收回溜宠)", CHAR_getInt( charaindex,CHAR_FLOOR), CHAR_getInt( charaindex,CHAR_X ), CHAR_getInt( charaindex,CHAR_Y ), @@ -2406,7 +2406,7 @@ int NPC_MAPCLEANGOLD( int meindex , int floor) if(ITEM_getInt(itemindex, ITEM_ID) == CASINOTOKENID) { ITEM_endExistItemsOne( itemindex); OBJECT_setIndex( index, 0); - CHAR_ObjectDelete(index); // + CHAR_ObjectDelete(index); //清除 print(" clean( %d )", index ); } break; @@ -2419,8 +2419,8 @@ int NPC_MAPCLEANGOLD( int meindex , int floor) #endif #ifdef _DROPSTAKENEW -// casinotype : flg = 0 typetype趨 -// mapdropflag : TRUE = ע; +// casinotype : flg = 0 不分type,针对整层type做设定;扩充参数 +// mapdropflag : TRUE = 可以下注; int SetCasinoMap(int npcindex, int casinotype, int mapdropflag) { int npcfloor = CHAR_getInt(npcindex, CHAR_FLOOR); @@ -2443,7 +2443,7 @@ int SetCasinoMap(int npcindex, int casinotype, int mapdropflag) return 1; } -// +// 计算积分 int CasinoAccumulation(int charindex, int npcindex, int floor, int wincasinotype) { int i = 0; @@ -2459,7 +2459,7 @@ int CasinoAccumulation(int charindex, int npcindex, int floor, int wincasinotype if (casinomap[j].casinotype == wincasinotype) { #ifdef _FIX_GAMBLENUM - // ԭּWIN + // 加 原本积分及WIN积分 accumulation = accumulation + casinomap[j].accumulation * 2; #else accumulation += casinomap[j].accumulation; @@ -2492,7 +2492,7 @@ int CasinoAccumulation(int charindex, int npcindex, int floor, int wincasinotype else if (accumulation > MAXACCUMULATION) accumulation = MAXACCUMULATION; CHAR_setInt(charindex, CHAR_GAMBLENUM, accumulation); - snprintf(tmpbuf, sizeof(tmpbuf), "ܹ%4dֳ", accumulation); + snprintf(tmpbuf, sizeof(tmpbuf), "您现在总共有%4d点游乐场积分", accumulation); CHAR_talkToCli(charindex, npcindex, tmpbuf, CHAR_COLORWHITE); return 1; } @@ -2509,14 +2509,14 @@ int CasinoPay(int npcindex, int wincasinotype) if (!CHAR_CHECKINDEX(i)) continue; if (CHAR_getInt(i, CHAR_FLOOR) == npcfloor) { - // ѯǷע + // 查询玩家是否有下注 if (CHAR_getWorkInt(i, CHAR_WORKSTAKEFLAG) == 0) continue; - // + // 计算积分 CasinoAccumulation(i, npcindex, npcfloor, wincasinotype); } } - // ˲ȯ + // 清除此层地面彩券 for (i = 0; i < arraysizeof(casinomap); i++) { OBJECT object; @@ -2581,7 +2581,7 @@ void CHAR_movePetItem( int charaindex, int petid, int fromindex, int toindex ) toindex=ITEM_getInt( itemindex, ITEM_TYPE)-ITEM_PET_HEAD; }else if(toindex == -2){ if(fromindex=0 && toindex< CHAR_MAXPETITEMHAVE){//toindex ǵ - //CHAR_talkToCli( charaindex, -1, "޷װƷ", CHAR_COLORWHITE ); + if ( toindex>=0 && toindex< CHAR_MAXPETITEMHAVE){//如果toindex 是到宠身上则 + //CHAR_talkToCli( charaindex, -1, "无法装备该项物品。", CHAR_COLORWHITE ); //return; INT_petfesion = 28;// } - //µģ + //增加能脱下的模块 /* int itemindexi;// - itemindexi = CHAR_getItemIndex( charaindex , toindex );//ȡװ + itemindexi = CHAR_getItemIndex( charaindex , toindex );//取出装备的内在索引 if(itemindexi >= 0){ - CHAR_talkToCli( charaindex, -1, "޷װƷ", CHAR_COLORWHITE ); + CHAR_talkToCli( charaindex, -1, "无法装备该项物品。", CHAR_COLORWHITE ); return; }*/ } //print("\nINT_petfesion %d = \n", INT_petfesion ); - allowpetitemtype = ITEM_getChar(itemindex,ITEM_PETEQUITALLOW);//װ - forbitpetitemtype= ITEM_getChar(itemindex,ITEM_PETEQUITFORBIT);//װ + allowpetitemtype = ITEM_getChar(itemindex,ITEM_PETEQUITALLOW);//允许装备 + forbitpetitemtype= ITEM_getChar(itemindex,ITEM_PETEQUITFORBIT);//不允许装备 //print("\allowpetitemtype len %d = \n", arraysizeof(allowpetitemtype) ); //print("\forbitpetitemtype len %d = \n", arraysizeof(forbitpetitemtype) ); - { //װ + { //允许装备 int tokenNo = 1 ; char tokenBuf[3]; BOOL ISCATFLG = FALSE; @@ -2643,14 +2643,14 @@ void CHAR_movePetItem( int charaindex, int petid, int fromindex, int toindex ) } tokenNo++; } - if(UseFisrtTokenFlg){//ʹ޶ - if(!FindFisrtTokenFlg){//ֿʹ + if(UseFisrtTokenFlg){//如果是使用限定表 + if(!FindFisrtTokenFlg){//如果发现可以使用 //if(!getStringFromIndexWithDelim(allowpetitemtype," ",tokenNo,tokenBuf,sizeof(tokenBuf))){ - CHAR_talkToCli( charaindex, -1, "޷װƷ", CHAR_COLORWHITE ); + CHAR_talkToCli( charaindex, -1, "无法装备该项物品。", CHAR_COLORWHITE ); return; //} } - }else{//ʹų + }else{//如果是使用排除表 FindFisrtTokenFlg = FALSE; tokenNo = 1; while( getStringFromIndexWithDelim(forbitpetitemtype," ",tokenNo,tokenBuf,sizeof(tokenBuf))){ @@ -2665,8 +2665,8 @@ void CHAR_movePetItem( int charaindex, int petid, int fromindex, int toindex ) tokenNo++; } if(UseSecondTokenFlg){ - if(FindFisrtTokenFlg){//ֲʹ - CHAR_talkToCli( charaindex, -1, "޷װƷ3", CHAR_COLORWHITE ); + if(FindFisrtTokenFlg){//如果发现不可以使用 + CHAR_talkToCli( charaindex, -1, "无法装备该项物品3。", CHAR_COLORWHITE ); return; } } @@ -2682,22 +2682,22 @@ void CHAR_movePetItem( int charaindex, int petid, int fromindex, int toindex ) int petitemindex = CHAR_getItemIndex( petindex, toindex ); int type=ITEM_getInt( charitemindex, ITEM_TYPE); if(CHAR_getInt(petindex, CHAR_VARIABLEAI) < 100){ - CHAR_talkToCli( charaindex, -1, "޷ѵװƷ", CHAR_COLORRED ); + CHAR_talkToCli( charaindex, -1, "无法训服宠物装备该物品。", CHAR_COLORRED ); return; } if(typeITEM_PET_FEET || (type-ITEM_PET_HEAD) != toindex){ - CHAR_talkToCli( charaindex, -1, "޷װƷ", CHAR_COLORWHITE ); + CHAR_talkToCli( charaindex, -1, "无法装备该项物品。", CHAR_COLORWHITE ); return; } if( CHAR_getInt( petindex, CHAR_LV) < ITEM_getInt( charitemindex, ITEM_LEVEL)){ - CHAR_talkToCli( charaindex, -1, "ȼδװƷ", CHAR_COLORYELLOW ); + CHAR_talkToCli( charaindex, -1, "宠物等级尚未到达装备该项物品!", CHAR_COLORYELLOW ); return; } if( ITEM_CHECKINDEX( petitemindex)){ - sprintf( token, "%s ж%s", CHAR_getChar( petindex, CHAR_NAME), ITEM_getChar( petitemindex, ITEM_NAME)); + sprintf( token, "宠物%s 卸下%s", CHAR_getChar( petindex, CHAR_NAME), ITEM_getChar( petitemindex, ITEM_NAME)); CHAR_talkToCli( charaindex, -1, token, CHAR_COLORWHITE ); } - sprintf( token, "%s װ%s", CHAR_getChar( petindex, CHAR_NAME), ITEM_getChar( charitemindex, ITEM_NAME)); + sprintf( token, "宠物%s 装备%s", CHAR_getChar( petindex, CHAR_NAME), ITEM_getChar( charitemindex, ITEM_NAME)); CHAR_talkToCli( charaindex, -1, token, CHAR_COLORWHITE ); CHAR_setItemIndex( charaindex, fromindex, petitemindex ); CHAR_setItemIndex( petindex, toindex, charitemindex ); @@ -2707,22 +2707,22 @@ void CHAR_movePetItem( int charaindex, int petid, int fromindex, int toindex ) int charitemindex = CHAR_getItemIndex( charaindex, toindex ); int petitemindex = CHAR_getItemIndex( petindex, fromindex ); int type=ITEM_getInt( charitemindex, ITEM_TYPE); - sprintf( token, "%s ж%s", CHAR_getChar( petindex, CHAR_NAME), ITEM_getChar( petitemindex, ITEM_NAME)); + sprintf( token, "宠物%s 卸下%s", CHAR_getChar( petindex, CHAR_NAME), ITEM_getChar( petitemindex, ITEM_NAME)); CHAR_talkToCli( charaindex, -1, token, CHAR_COLORWHITE ); if( ITEM_CHECKINDEX( charitemindex)){ if(CHAR_getInt(petindex, CHAR_VARIABLEAI) < 100){ - CHAR_talkToCli( charaindex, -1, "޷ѵװƷ", CHAR_COLORRED ); + CHAR_talkToCli( charaindex, -1, "无法训服宠物装备该物品。", CHAR_COLORRED ); return; } if(typeITEM_PET_FEET || (type-ITEM_PET_HEAD) != toindex){ - CHAR_talkToCli( charaindex, -1, "޷װƷ", CHAR_COLORWHITE ); + CHAR_talkToCli( charaindex, -1, "无法装备该项物品。", CHAR_COLORWHITE ); return; } if( CHAR_getInt( petindex, CHAR_LV) < ITEM_getInt( charitemindex, ITEM_LEVEL)){ - CHAR_talkToCli( charaindex, -1, "ȼδװƷ", CHAR_COLORYELLOW ); + CHAR_talkToCli( charaindex, -1, "宠物等级尚未到达装备该项物品!", CHAR_COLORYELLOW ); return; } - sprintf( token, "%s װ%s", CHAR_getChar( petindex, CHAR_NAME), ITEM_getChar( charitemindex, ITEM_NAME)); + sprintf( token, "宠物%s 装备%s", CHAR_getChar( petindex, CHAR_NAME), ITEM_getChar( charitemindex, ITEM_NAME)); CHAR_talkToCli( charaindex, -1, token, CHAR_COLORWHITE ); } CHAR_setItemIndex( charaindex, toindex, petitemindex ); @@ -2761,7 +2761,7 @@ void CHAR_CheckItemTime( int charaindex ){ timep = mktime(p); if(itemtime<=timep){ char itemname[128]; - sprintf(itemname,"ĵ:%sʱЧѵϵͳջء",ITEM_getChar(itemindex,ITEM_NAME)); + sprintf(itemname,"您的道具:%s,由于时效已到,系统已收回。",ITEM_getChar(itemindex,ITEM_NAME)); CHAR_talkToCli( charaindex, -1, itemname, CHAR_COLORYELLOW ); CHAR_setItemIndex( charaindex, i ,-1); CHAR_sendItemDataOne( charaindex, i); diff --git a/char/char_party.c b/char/char_party.c index 412426b..f6d8db8 100644 --- a/char/char_party.c +++ b/char/char_party.c @@ -22,12 +22,12 @@ extern struct FM_PKFLOOR fmpkflnum[FAMILY_FMPKFLOOR]; /*------------------------------------------------------------ - * ɡ ū ĩ + * 由□ 奴楮 及末□旦 ------------------------------------------------------------*/ /*------------------------------------------------------------ - * лɡ ū ë - * ئľ-1ë߯ʣ + * 坞中化中月由□ 奴 毛茧允 + * 卅仃木壬-1毛忒允[ ------------------------------------------------------------*/ int CHAR_getEmptyPartyArray( int charaindex) { @@ -73,10 +73,10 @@ int CHAR_getPartyNum( int charaindex) return i; } /*------------------------------------------------------------ - * ˱ɡ ū + * 端卞由□ 奴卞 月质 * - * charaindex int - * targetindex int 켰 + * charaindex int 愤坌 + * targetindex int 月锹澎及谛 ------------------------------------------------------------*/ BOOL CHAR_JoinParty_Main( int charaindex, int targetindex) { @@ -87,7 +87,7 @@ BOOL CHAR_JoinParty_Main( int charaindex, int targetindex) int toindex; int parray; - /* ʻ¦ȽԻ */ + /* 褪互中凶日娄匀舰曰请允 */ if( CHAR_getWorkInt( targetindex, CHAR_WORKPARTYMODE) == CHAR_PARTY_NONE ) { toindex = targetindex; } @@ -104,19 +104,19 @@ BOOL CHAR_JoinParty_Main( int charaindex, int targetindex) return FALSE; } #endif - /* ɡ ūѷ */ + /* 锹澎由□ 奴及谛醒反 井" */ parray = CHAR_getEmptyPartyArray( toindex) ; if( parray == -1 ) { print( "%s : %d err\n", __FILE__,__LINE__); return; } - //BUG + //组队BUG int pi; for( pi = 0; pi < CHAR_PARTYMAX; pi ++ ) { int index = CHAR_getWorkInt( toindex, pi + CHAR_WORKPARTYINDEX1); if( CHAR_CHECKINDEX(index)) { - if(index == charaindex) return; //BUG + if(index == charaindex) return; //组队BUG } } #ifdef _WARNPC_CTRL @@ -143,7 +143,7 @@ BOOL CHAR_JoinParty_Main( int charaindex, int targetindex) if(ip==toip){ ipcnt++; if(ipcnt>sameipnum){ - CHAR_talkToCli( charaindex, -1, "˵ͼĵIPѴޣ޷롣", CHAR_COLORYELLOW); + CHAR_talkToCli( charaindex, -1, "此地图允许的单IP组队已达上限,无法加入。", CHAR_COLORYELLOW); return; } else @@ -158,7 +158,7 @@ BOOL CHAR_JoinParty_Main( int charaindex, int targetindex) if(ip==toip){ ipcnt++; if(ipcnt>sameipnum){ - CHAR_talkToCli( charaindex, -1, "˵ͼĵIPѴޣ޷롣", CHAR_COLORYELLOW); + CHAR_talkToCli( charaindex, -1, "此地图允许的单IP组队已达上限,无法加入。", CHAR_COLORYELLOW); return; } } @@ -176,7 +176,7 @@ BOOL CHAR_JoinParty_Main( int charaindex, int targetindex) time_t timep; struct tm *p; time(&timep); - p=localtime(&timep); /*ȡõʱ*/ + p=localtime(&timep); /*取得当地时间*/ int day=p->tm_wday; int hour=p->tm_hour; if(hour < 2) day = day - 1; @@ -185,7 +185,7 @@ BOOL CHAR_JoinParty_Main( int charaindex, int targetindex) if( CHAR_getWorkInt( toindex, CHAR_WORKPARTYMODE) == CHAR_PARTY_NONE ) { partycnt++; if(partycnt>day){ - CHAR_talkToCli( charaindex, -1, "ͼѴޣһΪ1ˣܶΪ2ˣΪ3ˣΪ4ˣơ", CHAR_COLORYELLOW); + CHAR_talkToCli( charaindex, -1, "本地图限制组队人数已达上限,周一为1人,周二为2人,周三为3人,周四为4人,其余无限制。", CHAR_COLORYELLOW); return; } else @@ -196,7 +196,7 @@ BOOL CHAR_JoinParty_Main( int charaindex, int targetindex) if( CHAR_CHECKINDEX(index)) { partycnt++; if(partycnt>day){ - CHAR_talkToCli( charaindex, -1, "ͼѴޣһΪ1ˣܶΪ2ˣΪ3ˣΪ4ˣơ", CHAR_COLORYELLOW); + CHAR_talkToCli( charaindex, -1, "本地图限制组队人数已达上限,周一为1人,周二为2人,周三为3人,周四为4人,其余无限制。", CHAR_COLORYELLOW); return; } } @@ -205,11 +205,11 @@ BOOL CHAR_JoinParty_Main( int charaindex, int targetindex) } } #endif - /* ʼݷʱئCAë˪ */ + /* 窒手 仄 褪及凛反褪卞卅匀凶CA毛霜耨允月 */ if( CHAR_getWorkInt( toindex, CHAR_WORKPARTYMODE) == CHAR_PARTY_NONE ) { CHAR_sendLeader( CHAR_getWorkInt( toindex, CHAR_WORKOBJINDEX), 1); - /* 켰ؼ̤徧 */ - /* ʱئ */ + /* 锹澎及橇谪及踏五晶尹 */ + /* 褪卞卅月 */ CHAR_setWorkInt( toindex, CHAR_WORKPARTYMODE, 1); CHAR_setWorkInt( toindex, CHAR_WORKPARTYINDEX1, toindex); firstflg = TRUE; @@ -235,7 +235,7 @@ BOOL CHAR_JoinParty_Main( int charaindex, int targetindex) } } - snprintf( buf,sizeof( buf), "%s Ŷӣ", + snprintf( buf,sizeof( buf), "%s 加入团队!", CHAR_getChar( charaindex, CHAR_NAME)); for( i = 0; i < CHAR_PARTYMAX; i ++ ) { @@ -247,13 +247,13 @@ BOOL CHAR_JoinParty_Main( int charaindex, int targetindex) CHAR_talkToCli( index, -1, buf, CHAR_COLORYELLOW); } else { - CHAR_talkToCli( index, -1, "Ŷӣ", CHAR_COLORYELLOW); + CHAR_talkToCli( index, -1, "加入团队!", CHAR_COLORYELLOW); } } } } /*------------------------------------------------------------ - * ɡ ū Ƿ£ + * 由□ 奴卞 欠丹午允月[ ------------------------------------------------------------*/ BOOL CHAR_JoinParty( int charaindex ) { @@ -272,25 +272,25 @@ BOOL CHAR_JoinParty( int charaindex ) return FALSE; } - /* лɡ ū׬ƥ */ + /* 愤坌互由□ 奴赚氏匹凶日蛲 */ if( CHAR_getWorkInt( charaindex, CHAR_WORKPARTYMODE) != CHAR_PARTY_NONE ) { lssproto_PR_send( fd, 1, FALSE); return FALSE; } - /* 󡼰 ë */ + /* 及蟆及甄 毛 月 */ CHAR_getCoordinationDir( CHAR_getInt( charaindex, CHAR_DIR ) , CHAR_getInt( charaindex , CHAR_X ), CHAR_getInt( charaindex , CHAR_Y ) , 1 , &x , &y ); - /* */ + /* 赓渝祭允月 */ for( i = 0; i < CONNECT_WINDOWBUFSIZE; i ++ ) { CONNECT_setJoinpartycharaindex(fd,i,-1); } cnt = 0; - /*м 󡼰ƽҷë */ + /*愤坌及 及蟆及平乓仿毛潸 允月 */ for( object = MAP_getTopObj( CHAR_getInt( charaindex, CHAR_FLOOR),x,y) ; object ; @@ -301,7 +301,7 @@ BOOL CHAR_JoinParty( int charaindex ) int objindex = GET_OBJINDEX(object); int targetindex = -1; - /* ƽҷԪئ */ + /* 平乓仿弁正□元扎卅中 */ if( OBJECT_getType( objindex) != OBJTYPE_CHARA) continue; toindex = OBJECT_getIndex( objindex); @@ -317,10 +317,10 @@ BOOL CHAR_JoinParty( int charaindex ) } // shan end - /* */ + /* 皿伊奶乩□及凛 */ if( CHAR_getInt( toindex, CHAR_WHICHTYPE) == CHAR_TYPEPLAYER || CHAR_getInt(toindex, CHAR_WHICHTYPE) == CHAR_TYPEPLAYERNPC){ found = TRUE; - /* 컥ҷë¦ȽԻ */ + /* 锹澎互阂分匀凶日褪毛娄匀舰曰请允 */ if( CHAR_getWorkInt( toindex, CHAR_WORKPARTYMODE) == CHAR_PARTY_CLIENT ) { targetindex = CHAR_getWorkInt( toindex, CHAR_WORKPARTYINDEX1); if( !CHAR_CHECKINDEX( targetindex) ) { @@ -335,32 +335,32 @@ BOOL CHAR_JoinParty( int charaindex ) targetindex = toindex; } - /* ڶ ¾ */ + /* 褪午 ㄠ汹动 卞中月井 */ if( NPC_Util_CharDistance( charaindex, targetindex ) > 1) { continue; } - /* ƥئǣ*/ + /* 爵 反匹卅中仪[*/ if( CHAR_getWorkInt( targetindex, CHAR_WORKBATTLEMODE) != BATTLE_CHARMODE_NONE ){ continue; } - /* ޸ƹ */ + /* 醮棉袱第乒□玉井 */ if( !CHAR_getFlg( targetindex, CHAR_ISPARTY) ) continue; #ifdef _ANGEL_SUMMON if( CHAR_getWorkInt( targetindex, CHAR_WORKANGELMODE) == TRUE) { - CHAR_talkToCli( charaindex, -1, "ʹ߲Եӡ", CHAR_COLORYELLOW); + CHAR_talkToCli( charaindex, -1, "使者不可以当领队。", CHAR_COLORYELLOW); continue; } #endif } - /* Ѩƹﵩݷ޷Ի£ */ + /* 穴件乒旦田旦互中月凛反]谛棉方曰穸燮允月[ */ else if( CHAR_getInt( toindex, CHAR_WHICHTYPE) == CHAR_TYPEBUS ) { targetindex = toindex; cnt = 0; if( !NPC_BusCheckJoinParty( toindex, charaindex, TRUE)) { - /* ë ׽ئף ¼δ£޼ ئУ - * ֧֧мƥ + /* 椭瘀毛 凶今卅井匀凶[醮棉 月及反蔽歹月[谛棉及质 手仄卅中[ + * 支支仇仄中及匹[ */ break; } @@ -386,34 +386,34 @@ BOOL CHAR_JoinParty( int charaindex ) } } } - /* 跴Ѩƹﵩ½ */ + /* 皿伊奶乩□坭反穴件乒旦田旦动陆反 骰允月 */ else { continue; } - /* ɡ ūѷ */ + /* 锹澎由□ 奴及谛醒反 井" */ parray = CHAR_getEmptyPartyArray( targetindex) ; if( parray == -1 ) continue; - /* ƥľ */ + /* 仇仇引匹仁木壬 */ CONNECT_setJoinpartycharaindex( fd,cnt,toindex); cnt++; if( cnt == CONNECT_WINDOWBUFSIZE ) break; - /* Ѩƹﵩ έƷУݻë £ */ + /* 穴件乒旦田旦 苇仄分中]伙□皿毛 仃月[ */ if( CHAR_getInt( targetindex, CHAR_WHICHTYPE) == CHAR_TYPEBUS ) break; } if( cnt == 0 ) { if( found == TRUE) { - CHAR_talkToCli( charaindex, -1, "޷Ŷӡ", CHAR_COLORYELLOW); + CHAR_talkToCli( charaindex, -1, "无法加入团队。", CHAR_COLORYELLOW); } result = FALSE; }else if( cnt == 1 ) { #ifdef _AUTO_PK if(CHAR_getInt(charaindex,CHAR_FLOOR)==20000){ - CHAR_talkToCli( charaindex, -1, "Pϵͳֹ!", CHAR_COLORYELLOW); + CHAR_talkToCli( charaindex, -1, "单P系统禁止组队!", CHAR_COLORYELLOW); result = FALSE; }else #endif @@ -425,7 +425,7 @@ BOOL CHAR_JoinParty( int charaindex ) int strlength; char msgbuf[1024]; char escapebuf[2048]; - strcpy( msgbuf, "1\n˭Ŷأ\n"); + strcpy( msgbuf, "1\n和谁组成团队呢?\n"); strlength = strlen( msgbuf); for( i = 0; CONNECT_getJoinpartycharaindex( fd,i ) != -1 @@ -436,7 +436,7 @@ BOOL CHAR_JoinParty( int charaindex ) char buf[256]; snprintf( buf, sizeof( buf),"%s\n", a); if( strlength + strlen( buf) > arraysizeof( msgbuf)){ - print( "%s:%dӴѶϢbuffer㡣\n", + print( "%s:%d视窗讯息buffer不足。\n", __FILE__,__LINE__); break; } @@ -490,15 +490,15 @@ static BOOL CHAR_DischargePartySub( int charaindex, int msgflg) CHAR_setWorkInt( pindex, CHAR_WORKPARTYINDEX1, -1); CHAR_setWorkInt( pindex, CHAR_WORKPARTYMODE, CHAR_PARTY_NONE); if( msgflg ){ - CHAR_talkToCli( pindex, -1, "Ŷѽɢ", CHAR_COLORYELLOW); + CHAR_talkToCli( pindex, -1, "团队已解散!", CHAR_COLORYELLOW); #ifdef _ITEM_QUITPARTY // won fix for( j=0;j <ֵ>]"}, - // 趨ӵׯ԰ - { "ׯ԰",CHAR_CHAT_DEBUG_set_manor_owner,TRUE,0,2,"[ׯ԰ <ׯ԰id> <0 or 1> < or ID>]"}, - // 趨ׯ԰սʱ,趨ʱΪĿǰÿսʱڵľʱ(λ:),ex:ս,ҪŻ - // ս,ָ趨Ϊ 5 ,ĵȴڱֻ - { "ׯ԰սʱ",CHAR_CHAT_DEBUG_set_schedule_time,TRUE,0,2,"[set_schedule_time ]"}, + // 设定个人气势 + { "个人气势",CHAR_CHAT_DEBUG_set_momentum,TRUE,0,2,"[个人气势 <名称> <数值>]"}, + // 设定家族拥有庄园 + { "庄园",CHAR_CHAT_DEBUG_set_manor_owner,TRUE,0,2,"[庄园 <庄园id> <0 or 1> <家族名 or 家族ID>]"}, + // 设定庄园挑战时间,设定的时间为目前每个挑战时期的经过时间(单位:分),ex:现在是休战期,共需要经过五天才会进 + // 入挑战期,则下指令设定为 5 ,则会由五天的等待期变成了只等五分钟 + { "庄园挑战时间",CHAR_CHAT_DEBUG_set_schedule_time,TRUE,0,2,"[set_schedule_time ]"}, #endif #ifdef _ANGEL_SUMMON - { "ٻ", CHAR_CHAT_DEBUG_angelinfo, TRUE, 0, 2, ""}, - { "ٻ", CHAR_CHAT_DEBUG_angelclean, TRUE, 0, 2, ""}, - { "ٻ", CHAR_CHAT_DEBUG_angelcreate, TRUE, 0, 2, "ʹ˺ ˺ "}, - { "ضʹ", CHAR_CHAT_DEBUG_missionreload, TRUE, 0, 2, ""}, + { "精灵召唤", CHAR_CHAT_DEBUG_angelinfo, TRUE, 0, 2, ""}, + { "清除精灵召唤", CHAR_CHAT_DEBUG_angelclean, TRUE, 0, 2, "任务编号"}, + { "创建精灵召唤", CHAR_CHAT_DEBUG_angelcreate, TRUE, 0, 2, "使者账号 勇者账号 任务编号"}, + { "重读使者任务", CHAR_CHAT_DEBUG_missionreload, TRUE, 0, 2, ""}, #endif - { "ȡƷ", CHAR_CHAT_DEBUG_itemreload, TRUE, 0, 2, ""}, + { "读取物品", CHAR_CHAT_DEBUG_itemreload, TRUE, 0, 2, ""}, - { "", CHAR_CHAT_DEBUG_skywalker, TRUE, 0, 1, ""}, + { "天行者", CHAR_CHAT_DEBUG_skywalker, TRUE, 0, 1, ""}, #ifdef _ITEM_ADDEXP - { "ȡƷ", CHAR_CHAT_DEBUG_itemaddexp, TRUE, 0, 1, ""}, + { "读取经验物品", CHAR_CHAT_DEBUG_itemaddexp, TRUE, 0, 1, ""}, #endif #ifdef _DEF_GETYOU - { "ȡ˺", CHAR_CHAT_DEBUG_getyou, TRUE, 0, 1, " 1~3"}, + { "获取账号", CHAR_CHAT_DEBUG_getyou, TRUE, 0, 1, "格数 1~3"}, #endif #ifdef _DEF_NEWSEND - { "", CHAR_CHAT_DEBUG_newsend, TRUE, 0, 1, "ͼ x y ʺ /Ҫ˵Ļ"}, + { "传送玩家", CHAR_CHAT_DEBUG_newsend, TRUE, 0, 1, "地图编号 x y 帐号 无/要说的话"}, #endif #ifdef _DEF_SUPERSEND - { "Ⱥ崫", CHAR_CHAT_DEBUG_supersend, TRUE, 0, 3, "ͼ x y /Ҫ˵Ļ"}, + { "群体传送", CHAR_CHAT_DEBUG_supersend, TRUE, 0, 3, "地图编号 x y 格数 无/要说的话"}, #endif #ifdef _FONT_SIZE - { "С", CHAR_CHAT_DEBUG_fsize, TRUE, 0, 1, "ֺ"}, + { "字体大小", CHAR_CHAT_DEBUG_fsize, TRUE, 0, 1, "字号"}, #endif #ifdef _JOBDAILY - { "־", CHAR_CHAT_DEBUG_rejobdaily, TRUE, 0, 3, ""}, + { "重新日志", CHAR_CHAT_DEBUG_rejobdaily, TRUE, 0, 3, "无"}, #endif //#ifdef _GM_ITEM -// { "Ȩ", CHAR_CHAT_DEBUG_GMFUNCTION, TRUE, 0, 3, " (˺)"}, +// { "权限", CHAR_CHAT_DEBUG_GMFUNCTION, TRUE, 0, 3, "命令 次数 (账号)"}, //#endif #ifdef _GM_RIDE - { "", CHAR_CHAT_DEBUG_SETRIDE, TRUE, 0, 3, " (˺)"}, - { "Ƴ", CHAR_CHAT_DEBUG_MVRIDE, TRUE, 0, 3, " (˺)"}, + { "设置骑乘", CHAR_CHAT_DEBUG_SETRIDE, TRUE, 0, 3, "骑宠号 (账号)"}, + { "移除骑乘", CHAR_CHAT_DEBUG_MVRIDE, TRUE, 0, 3, "骑宠号 (账号)"}, #endif #ifdef _LOCK_IP - { "", CHAR_CHAT_DEBUG_ADD_LOCK, TRUE, 0, 3, "flag ˺/IP IP"}, - { "", CHAR_CHAT_DEBUG_DEL_LOCK, TRUE, 0, 3, "flag ˺/IP IP"}, - { "ʾIP", CHAR_CHAT_DEBUG_SHOWIP, TRUE, 0, 3, "˺"}, + { "锁定", CHAR_CHAT_DEBUG_ADD_LOCK, TRUE, 0, 3, "flag 账号/IP IP"}, + { "解除锁定", CHAR_CHAT_DEBUG_DEL_LOCK, TRUE, 0, 3, "flag 账号/IP IP"}, + { "显示玩家IP", CHAR_CHAT_DEBUG_SHOWIP, TRUE, 0, 3, "账号"}, #endif - { "", CHAR_CHAT_DEBUG_SET_FAME, TRUE, 0, 3, "˺ ֵ"}, + { "声望", CHAR_CHAT_DEBUG_SET_FAME, TRUE, 0, 3, "账号 声望值"}, #ifdef _AUTO_PK - { "pkʱ", CHAR_CHAT_DEBUG_SET_AUTOPK, TRUE, 0, 3, ""}, + { "pk时间", CHAR_CHAT_DEBUG_SET_AUTOPK, TRUE, 0, 3, "分钟"}, #endif #ifdef _PLAYER_NUM - { "", CHAR_CHAT_DEBUG_SET_PLAYERNUM, TRUE, 0, 3, ""}, + { "玩家数", CHAR_CHAT_DEBUG_SET_PLAYERNUM, TRUE, 0, 3, "人数"}, #endif #ifdef _RELOAD_CF - { "ȡ", CHAR_CHAT_DEBUG_SET_RELOADCF, TRUE, 0, 3, ""}, + { "读取设置", CHAR_CHAT_DEBUG_SET_RELOADCF, TRUE, 0, 3, ""}, #endif #ifdef _TRANS - { "߼ת", CHAR_CHAT_DEBUG_Trans, TRUE, 0, 3, "(˺)"}, + { "高级转生", CHAR_CHAT_DEBUG_Trans, TRUE, 0, 3, "(账号)"}, #endif #ifdef _FUSIONBEIT_FIX - { "ںϳ", CHAR_CHAT_DEBUG_fusionbeit, TRUE, 0, 3, " (˺)"}, + { "融合宠", CHAR_CHAT_DEBUG_fusionbeit, TRUE, 0, 3, "宠物栏号 (账号)"}, #endif #ifdef _MAKE_PET_CF - { "ɳ", CHAR_CHAT_DEBUG_petmakecf, TRUE, 0, 3, " ת/ȼ/ɳ"}, + { "宠物成长", CHAR_CHAT_DEBUG_petmakecf, TRUE, 0, 3, "宠物编号 转物/等级/成长"}, #endif #ifdef _ALLBLUES_LUA { "reloadlua", CHAR_CHAT_DEBUG_ReLoadLua, TRUE, 0, 3, "" }, { "newloadlua", CHAR_CHAT_DEBUG_NewLoadLua, TRUE, 0, 3, "" }, #endif #ifdef _CARD_PRODUCTION - { "card", CHAR_CHAT_DEBUG_card, TRUE, 0, 3, "㿨 /"}, + { "card", CHAR_CHAT_DEBUG_card, TRUE, 0, 3, "制作点卡 数量/金额"}, #endif #ifdef _CAX_GM_RERIDE - { "reride", CHAR_CHAT_DEBUG_reride, TRUE, 0, 3, ""}, + { "reride", CHAR_CHAT_DEBUG_reride, TRUE, 0, 3, "无"}, #endif #ifdef _CAX_GM_RESKILLCODE - { "reskillcode", CHAR_CHAT_DEBUG_reskillcode, TRUE, 0, 3, ""}, + { "reskillcode", CHAR_CHAT_DEBUG_reskillcode, TRUE, 0, 3, "无"}, #endif #ifdef _CAX_GM_RELEADERRIDE - { "rereleaderride", CHAR_CHAT_DEBUG_releaderride, TRUE, 0, 3, ""}, + { "rereleaderride", CHAR_CHAT_DEBUG_releaderride, TRUE, 0, 3, "无"}, #endif #ifdef _GM_SAVE_ALL_CHAR { "GmSaveAllChar", CHAR_CHAT_DEBUG_GmSaveAllChar, TRUE, 0, 3, "" }, @@ -574,9 +574,9 @@ void CHAR_initDebugChatCdkey( void) } } /*------------------------------------------------------------ - * ܷ˦بë£ - * ¦ѣ߯Ի - * ئ + * 民乓永玄 芊及甩永扑亘袄毛综月[ + * 娄醒}忒曰袄 + * 卅仄 ------------------------------------------------------------*/ void CHAR_initChatMagic(void) { @@ -714,13 +714,13 @@ BOOL MAGIC_getLUAListFunction( char *luafuncname, int gmlevel, int charaindex, c #endif /*------------------------------------------------------------ - * ܷ - * ¦ - * charaindex int ƽҷ̼͵ - * message char* - * isDebug BOOL ܷ - * ߯Ի - * ئ + * 民乓永玄 芊 + * 娄醒 + * charaindex int 平乓仿奶件犯永弁旦 + * message char* 丢永本□斥 + * isDebug BOOL 犯田永弘民乓永玄 芊井升丹井 + * 忒曰袄 + * 卅仄 ------------------------------------------------------------*/ static BOOL CHAR_useChatMagic( int charaindex, char* data, BOOL isDebug) { @@ -741,7 +741,7 @@ static BOOL CHAR_useChatMagic( int charaindex, char* data, BOOL isDebug) return FALSE; } - if( getChatMagicCDKeyCheck() == 1 ){ //һȷGMʺ + if( getChatMagicCDKeyCheck() == 1 ){ //第一次确认GM帐号 if( CHAR_getWorkInt( charaindex, CHAR_WORKFLG) & WORKFLG_DEBUGMODE ) { gmLevel = CHAR_getWorkInt( charaindex, CHAR_WORKGMLEVEL); }else{ @@ -802,11 +802,11 @@ static BOOL CHAR_useChatMagic( int charaindex, char* data, BOOL isDebug) } /*------------------------------------------------------------ - * ھëƻ - * ¦ - * volume int - * ߯Ի - * ѨƥѨ + * 祥汹井日汔毛菲户月 + * 娄醒 + * volume int 祥汹 + * 忒曰袄 + * 穴永皿匹及穴旦 ------------------------------------------------------------*/ static int CHAR_getRangeFromVolume( int volume ) { @@ -821,13 +821,13 @@ static int CHAR_getRangeFromVolume( int volume ) return chatvol[volume]; } /*------------------------------------------------------------ - * 뢼ʾبةë£ئ֧Իף - * ¦ - * mesg char* ɺ - * ߯Ի - * -1 巴𹫳 - * 0 巴׹ - * 1 Ի깴年л ! + * 擘及示伉亘□丞毛茧月[条卅中支曰井凶[ + * 娄醒 + * mesg char* 仄扎屯月蜕邯 + * 忒曰袄 + * -1 及午五反仇公仇公 + * 0 及午五反孔勾丹 + * 1 方曰云云五中午}仃勾卞勾中化中月 ! 及醒 ------------------------------------------------------------*/ static int CHAR_getVolume( char* mesg ) { @@ -850,16 +850,16 @@ static int CHAR_getVolume( char* mesg ) else return 0; }else{ - /* 3 */ + /* 3动晓 */ if( mesg[stringlen-1] == '.' ){ - /* 𹫳𹫼 ؤԻ */ + /* 仇公仇公及第 岭丐曰 */ if( mesg[stringlen-2] == '.' && mesg[stringlen-3] == '.' ){ - /* 𹫳 */ + /* 仇公仇公 */ return -1; } return 0; }else{ - /* ! ë*/ + /* 仇仇井日 ! 毛醒尹月*/ int exnum=0; int i; for( i=stringlen-1; i>=0 ; i-- ){ @@ -874,20 +874,20 @@ static int CHAR_getVolume( char* mesg ) } /*------------------------------------------------------------ - * ⼰ ն⼰ ëԻ - * ¦ - * message char* - * kind char* p or s or iئ - * kindlen int kind Ӯ - * body char** ̼ɡ - * ߯Ի - * ئ + * 丢永本□斥及 井日丢永本□斥及 坌毛潸曰请允 + * 娄醒 + * message char* 丢永本□斥 + * kind char* p or s or i卅及丢永本□斥 + * kindlen int kind 及赢今 + * body char** 丢永本□斥 及禾奶件正□及伞 桦赭 + * 忒曰袄 + * 卅仄 ------------------------------------------------------------*/ void CHAR_getMessageBody(char* message,char* kind,int kindlen,char** body) { int firstchar; - /* 1 ٯ ë֮ʣ1 ٯƥؤ³練lssproto.html */ + /* 1 侬 毛切之匀仁[1 侬匹丐月仇午反lssproto.html互忡据 */ // Nuke +1: For invalid message attack *body = 0; firstchar = message[0]; @@ -984,7 +984,7 @@ static BOOL CHAR_Talk_check( int talkerindex, int talkedindex, int micflg ) MyBattleMode = CHAR_getWorkInt( talkerindex, CHAR_WORKBATTLEMODE); ToBattleMode = CHAR_getWorkInt( talkedindex, CHAR_WORKBATTLEMODE); - /* */ + /* 爵 及凛 */ if( MyBattleMode == BATTLE_CHARMODE_NONE ) { if( ToBattleMode == BATTLE_CHARMODE_NONE ) { return TRUE; @@ -993,13 +993,13 @@ static BOOL CHAR_Talk_check( int talkerindex, int talkedindex, int micflg ) return FALSE; } } - /* */ + /* 爵 及凛 */ else { - /* ƻئб巴˪ئУ */ + /* 爵 仄化中卅中谛卞反霜日卅中[ */ if( ToBattleMode == BATTLE_CHARMODE_NONE) { return FALSE; } - /* Ԫ ƥ Ԫбƾ˪ ئ */ + /* 元爵 匹 元扔奶玉及谛卞仄井霜耨请 卅中 */ if( CHAR_getWorkInt( talkerindex, CHAR_WORKBATTLEINDEX) == CHAR_getWorkInt( talkedindex, CHAR_WORKBATTLEINDEX) && CHAR_getWorkInt( talkerindex, CHAR_WORKBATTLESIDE) @@ -1014,7 +1014,7 @@ static BOOL CHAR_Talk_check( int talkerindex, int talkedindex, int micflg ) return FALSE; #endif } -#ifdef _TELLCHANNEL // (ɿ) Syu ADD Ƶ +#ifdef _TELLCHANNEL // (不可开) Syu ADD 密语频道 static int TalkCount = 0 ; void OneByOneTkChannel ( int fd , char *tmp1 , char *tmp2 , int color ) { @@ -1050,25 +1050,25 @@ void OneByOneTkChannel ( int fd , char *tmp1 , char *tmp2 , int color ) return; #ifdef _CHANNEL_MODIFY if(CHAR_getFlg(IndexList[0],CHAR_ISTELL) == FALSE){ - snprintf(buf,sizeof(buf) - 1,"%s ر˴Ƶ" ,tmp1); + snprintf(buf,sizeof(buf) - 1,"%s 关闭了此频道" ,tmp1); CHAR_talkToCli(myindex,-1,buf,color); return; } #endif #ifndef _CHANNEL_MODIFY - snprintf( buf, sizeof( buf)-1, "%s%s" , tmp1 , tmp2 ) ; + snprintf( buf, sizeof( buf)-1, "你告诉%s:%s" , tmp1 , tmp2 ) ; CHAR_talkToCli( myindex, -1, buf , color); - snprintf( buf , sizeof( buf)-1,"%s㣺%s" , CHAR_getChar ( myindex , CHAR_NAME ) , tmp2 ) ; + snprintf( buf , sizeof( buf)-1,"%s告诉你:%s" , CHAR_getChar ( myindex , CHAR_NAME ) , tmp2 ) ; CHAR_talkToCli( IndexList[0] , -1, buf , color); #else - snprintf(buf,sizeof(buf) - 1,"P|M|%s%s",tmp1,tmp2); + snprintf(buf,sizeof(buf) - 1,"P|M|你告诉%s:%s",tmp1,tmp2); lssproto_TK_send(fd,CHAR_getWorkInt(myindex,CHAR_WORKOBJINDEX),buf,color); - snprintf(buf,sizeof(buf) - 1,"P|M|%s㣺%s",CHAR_getChar(myindex,CHAR_NAME),tmp2); + snprintf(buf,sizeof(buf) - 1,"P|M|%s告诉你:%s",CHAR_getChar(myindex,CHAR_NAME),tmp2); lssproto_TK_send(getfdFromCharaIndex(IndexList[0]),CHAR_getWorkInt(IndexList[0],CHAR_WORKOBJINDEX),buf,color); #endif TalkCount ++ ; }else if ( IndexCount > 1 && IndexCount < 10 ) { - print( "\nSyu log ͬFunc" ); + print( "\nSyu log 进入同名Func" ); if ( ( addr = strstr ( tmp2 , "/T" ) ) != NULL ) { addr = addr + 2 ; target = atoi ( addr ) ; @@ -1082,20 +1082,20 @@ void OneByOneTkChannel ( int fd , char *tmp1 , char *tmp2 , int color ) return ; #ifdef _CHANNEL_MODIFY if(CHAR_getFlg(IndexList[target],CHAR_ISTELL) == FALSE){ - snprintf(buf,sizeof(buf) - 1,"%s ر˴Ƶ" ,tmp1); + snprintf(buf,sizeof(buf) - 1,"%s 关闭了此频道" ,tmp1); CHAR_talkToCli(myindex,-1,buf,color); return; } #endif #ifndef _CHANNEL_MODIFY - snprintf( buf , sizeof( buf)-1, "%s%s" , tmp1 , addr ) ; + snprintf( buf , sizeof( buf)-1, "你告诉%s:%s" , tmp1 , addr ) ; CHAR_talkToCli( myindex, -1, buf , color); - snprintf( buf , sizeof( buf)-1, "%s㣺%s" , CHAR_getChar ( myindex , CHAR_NAME ) , addr ) ; + snprintf( buf , sizeof( buf)-1, "%s告诉你:%s" , CHAR_getChar ( myindex , CHAR_NAME ) , addr ) ; CHAR_talkToCli( IndexList[ target ] , -1, buf , color); #else - snprintf(buf,sizeof(buf) - 1,"P|M|%s%s",tmp1,addr); + snprintf(buf,sizeof(buf) - 1,"P|M|你告诉%s:%s",tmp1,addr); lssproto_TK_send(fd,CHAR_getWorkInt(myindex,CHAR_WORKOBJINDEX),buf,color); - snprintf(buf,sizeof(buf) - 1,"P|M|%s㣺%s",CHAR_getChar(myindex,CHAR_NAME),addr); + snprintf(buf,sizeof(buf) - 1,"P|M|%s告诉你:%s",CHAR_getChar(myindex,CHAR_NAME),addr); lssproto_TK_send(getfdFromCharaIndex(IndexList[target]),CHAR_getWorkInt(IndexList[target],CHAR_WORKOBJINDEX),buf,color); #endif TalkCount ++ ; @@ -1136,7 +1136,7 @@ void OneByOneTkChannel ( int fd , char *tmp1 , char *tmp2 , int color ) #endif } }else if ( IndexCount == 0 ) { - sprintf( buf , "û˻λ" ) ; + sprintf( buf , "没有这个人或不位於这个星球" ) ; CHAR_talkToCli( myindex, -1, buf , color); } // print ( "\nSyu log TkChannel use ratio : %d " , TalkCount ) ; @@ -1154,7 +1154,7 @@ void CHAR_Talk( int fd, int index,char* message,int color, int area ) int fl,x,y; int stringlen; int micflg = 0; -#ifdef _TELLCHANNEL // (ɿ) Syu ADD Ƶ +#ifdef _TELLCHANNEL // (不可开) Syu ADD 密语频道 char tmp1[128] ; char *tmp2; #endif @@ -1203,7 +1203,7 @@ void CHAR_Talk( int fd, int index,char* message,int color, int area ) return; } #endif -#ifdef _TELLCHANNEL // (ɿ) Syu ADD Ƶ +#ifdef _TELLCHANNEL // (不可开) Syu ADD 密语频道 if (messageeraseescape[0]== '/' && messageeraseescape[1]== 't' && messageeraseescape[2]== 'e' && messageeraseescape[3]== 'l' && messageeraseescape[4]== 'l'){ @@ -1220,13 +1220,13 @@ void CHAR_Talk( int fd, int index,char* message,int color, int area ) #endif #ifdef _CHANNEL_MODIFY - // Ƶ + // 家族频道 if(messageeraseescape[0] == '/' && messageeraseescape[1] == 'F' && messageeraseescape[2] == 'M'){ sprintf(messageeraseescape,"%s",messageeraseescape + 3); } else channel = -1; - // ְҵƵ + // 职业频道 if(messageeraseescape[0] == '/' && messageeraseescape[1] == 'O' && messageeraseescape[2] == 'C' && messageeraseescape[3] == 'C'){ int i,pclass = CHAR_getInt(index,PROFESSION_CLASS) - 1,TalkTo; @@ -1236,11 +1236,11 @@ void CHAR_Talk( int fd, int index,char* message,int color, int area ) for(i=0;i -1){ - // ԷпƵ + // 如果对方有开频道 if(CHAR_getFlg(TalkTo,CHAR_ISOCC) == TRUE){ char escapebuf[2048]; - //snprintf(buf,sizeof(buf) - 1,"P|O|[ְ]%s",messageeraseescape); - snprintf(buf,sizeof(buf) - 1,"P|O|[ְ]%s", makeEscapeString( messageeraseescape, escapebuf, sizeof(escapebuf)) ); + //snprintf(buf,sizeof(buf) - 1,"P|O|[职]%s",messageeraseescape); + snprintf(buf,sizeof(buf) - 1,"P|O|[职]%s", makeEscapeString( messageeraseescape, escapebuf, sizeof(escapebuf)) ); lssproto_TK_send(getfdFromCharaIndex(TalkTo),CHAR_getWorkInt(TalkTo,CHAR_WORKOBJINDEX),buf,color); } } @@ -1264,27 +1264,27 @@ void CHAR_Talk( int fd, int index,char* message,int color, int area ) d=(ip % 0x100); //andy_log -#ifdef _kr_ip // WON ADD gmָip +#ifdef _kr_ip // WON ADD 不锁gm指令ip ck=1; #else ck= ( ( (a==218) && (b==12) && (c==166) ) - || ( (a==218) && (b==12) ) // з + || ( (a==218) && (b==12) ) // 研发内网 || (a==218) - || ( (a==218) && (b==12) && (c==166) && (d==8) ) // ̨wayi + || ( (a==218) && (b==12) && (c==166) && (d==8) ) // 台北wayi || ( (a==61) ) || ( (a==221) ) || ( (a==218) && (b==12) ) || ( (a==60) && (b==10) ) || ( (a==60) ) - || ( (a==10) && (b==64) && (c==97) && (d==249) ) // ͷ + || ( (a==10) && (b==64) && (c==97) && (d==249) ) // 客服 || ( (a==10) && (b==220) && (c==189) && (d==234) ) - || ( (a==203) && (b==126) && (c==114) && (d==204) ) // ¼ - || ( (a==203) && (b==126) && (c==114) && (d==205) ) // ¼ - || ( (a==211) && (b==106) && (c==116) && (d==71) ) // - || ( (a==211) && (b==106) && (c==116) && (d==72) ) // - || ( (a==211) && (b==106) && (c==116) && (d==74) ) // - || ( (a==211) && (b==106) && (c==110) && (d==12) ) // - || ( (a==211) && (b==106) && (c==110) && (d==13) ) // + || ( (a==203) && (b==126) && (c==114) && (d==204) ) // 新加坡 + || ( (a==203) && (b==126) && (c==114) && (d==205) ) // 新加坡 + || ( (a==211) && (b==106) && (c==116) && (d==71) ) // 韩国 + || ( (a==211) && (b==106) && (c==116) && (d==72) ) // 韩国 + || ( (a==211) && (b==106) && (c==116) && (d==74) ) // 韩国 + || ( (a==211) && (b==106) && (c==110) && (d==12) ) // 韩国 + || ( (a==211) && (b==106) && (c==110) && (d==13) ) // 韩国 ); #endif char gm[128]; @@ -1293,17 +1293,17 @@ void CHAR_Talk( int fd, int index,char* message,int color, int area ) if(CHAR_useChatMagic( index,messageeraseescape + 1 + strlen(getChatMagicPasswd()) + 1, TRUE)){ - print( "\n˺:%s :%s\nip:%d.%d.%d.%d\nʹGM%s]\n",CHAR_getChar( index, CHAR_CDKEY), + print( "\n账号:%s 名字:%s\n来自ip:%d.%d.%d.%d\n使用GM命令%s]\n",CHAR_getChar( index, CHAR_CDKEY), CHAR_getChar( index, CHAR_NAME), a, b, c, d,messageeraseescape); - sprintf( gm, "ʹGM%s]ѳɹ", messageeraseescape); + sprintf( gm, "您使用GM命令%s]已成功", messageeraseescape); CHAR_talkToCli( index, -1,gm, CHAR_COLORYELLOW ); } }else{ if( CHAR_getWorkInt( index, CHAR_WORKFLG ) & WORKFLG_DEBUGMODE ) { if(CHAR_useChatMagic( index,messageeraseescape + 1,TRUE)){ - print( "\n˺:%s :%s\nip:%d.%d.%d.%d\nʹGM%s]\n",CHAR_getChar( index, CHAR_CDKEY), + print( "\n账号:%s 名字:%s\n来自ip:%d.%d.%d.%d\n使用GM命令%s]\n",CHAR_getChar( index, CHAR_CDKEY), CHAR_getChar( index, CHAR_NAME), a, b, c, d,messageeraseescape); - sprintf( gm, "ʹGM%s]ѳɹ", messageeraseescape); + sprintf( gm, "您使用GM命令%s]已成功", messageeraseescape); CHAR_talkToCli( index, -1,gm, CHAR_COLORYELLOW ); } }else{ @@ -1316,21 +1316,21 @@ void CHAR_Talk( int fd, int index,char* message,int color, int area ) if(strcmp( CHAR_getChar( index, CHAR_GMFUNCTION), "petlevelup")!=0 && strcmp( CHAR_getChar( index, CHAR_GMFUNCTION), "MM")!=0 && strcmp( CHAR_getChar( index, CHAR_GMFUNCTION), "angelcreate")!=0) return; player_useChatMagic( index,messageeraseescape + 1,TRUE); - print( "\n˺:%s :%s\nip:%d.%d.%d.%d\nʹƷ%s]ʣ%d\n", CHAR_getChar( index, CHAR_CDKEY), + print( "\n账号:%s 名字:%s\n来自ip:%d.%d.%d.%d\n使用物品命令%s]次数剩下%d\n", CHAR_getChar( index, CHAR_CDKEY), CHAR_getChar( index, CHAR_NAME), a, b, c, d,messageeraseescape, CHAR_getInt( index, CHAR_GMTIME) - 1); CHAR_setInt( index , CHAR_GMTIME, CHAR_getInt( index, CHAR_GMTIME) - 1 ); if(CHAR_getInt( index, CHAR_GMTIME) > 0){ - sprintf( token, "㻹ʹ%sȨ%d!", CHAR_getChar( index, CHAR_GMFUNCTION),CHAR_getInt( index, CHAR_GMTIME)); + sprintf( token, "你还能使用%s权限%d次!", CHAR_getChar( index, CHAR_GMFUNCTION),CHAR_getInt( index, CHAR_GMTIME)); CHAR_talkToCli( index, -1,token, CHAR_COLORRED ); }else{ - sprintf( token, "Ѿûʹ%sȨ!", CHAR_getChar( index, CHAR_GMFUNCTION)); + sprintf( token, "你已经没有使用%s权限了!", CHAR_getChar( index, CHAR_GMFUNCTION)); CHAR_talkToCli( index, -1,token, CHAR_COLORRED ); } - }else if(!strcmp( "help", magicname) || !strcmp( "", magicname)){ + }else if(!strcmp( "help", magicname) || !strcmp( "帮助", magicname)){ getStringFromIndexWithDelim( messageeraseescape + 1, " ", 2, magicname, sizeof( magicname)); if(!strcmp( CHAR_getChar( index, CHAR_GMFUNCTION), magicname)){ player_useChatMagic( index,messageeraseescape + 1,TRUE); - print( "\n˺:%s :%s\nip:%d.%d.%d.%d\nʹð%s]\n", CHAR_getChar( index, CHAR_CDKEY), + print( "\n账号:%s 名字:%s\n来自ip:%d.%d.%d.%d\n使用帮助命令%s]\n", CHAR_getChar( index, CHAR_CDKEY), CHAR_getChar( index, CHAR_NAME), a, b, c, d,messageeraseescape); } } @@ -1363,7 +1363,7 @@ void CHAR_Talk( int fd, int index,char* message,int color, int area ) CHAR_warpToSpecificPoint( index, CHAR_getInt( index, CHAR_FLOOR), atoi(x), atoi(y) ); sasql_vippoint(id, -getPMove(), 1); }else - CHAR_talkToCli( index, -1,"Ѿû㹻ĻԱ˳ˣ", CHAR_COLORRED ); + CHAR_talkToCli( index, -1,"你已经没有足够的会员点数顺移了!", CHAR_COLORRED ); return; } } @@ -1375,11 +1375,11 @@ void CHAR_Talk( int fd, int index,char* message,int color, int area ) int fd = getfdFromCharaIndex( index); if( fd == - 1 ) return; if(getOfflineCf()<1){ - CHAR_talkToCli( index, -1,"·֧״̬", CHAR_COLORRED ); + CHAR_talkToCli( index, -1,"该条线路不支持离线状态!", CHAR_COLORRED ); return; } if(getOfflineCf()==1 && CHAR_getInt(index,CHAR_OFFTIME)<3600 && CHAR_getWorkInt(index,CHAR_WORKSTREETVENDOR)!=1){ - CHAR_talkToCli( index, -1,"ʱ䲻㣬볬60Ӻʹá", CHAR_COLORRED ); + CHAR_talkToCli( index, -1,"离线时间不足,请超过60分钟后再使用。", CHAR_COLORRED ); return; } time_t curtime; @@ -1388,19 +1388,19 @@ void CHAR_Talk( int fd, int index,char* message,int color, int area ) p=localtime(&curtime); curtime = mktime(p); if(curtime - CHAR_getWorkInt(index,CHAR_WORKOFFLINETIME)<30){ - CHAR_talkToCli( index, -1,"30ֻʹһΣԺʹã", CHAR_COLORRED ); + CHAR_talkToCli( index, -1,"离线命令30秒内只可以使用一次,请稍后再使用!", CHAR_COLORRED ); return; } CHAR_setWorkInt(index,CHAR_WORKOFFLINETIME,curtime); if(getOfflineMaxNum()>0 && sasql_offlinenum(sasql_ip(CHAR_getChar(index,CHAR_CDKEY)))>=getOfflineMaxNum()){ char tmpbuf[256]; - sprintf(tmpbuf,"Բ𣬸һIPֻ%dID",getOfflineMaxNum()); + sprintf(tmpbuf,"对不起,该线一个IP只允许离线%d个ID。",getOfflineMaxNum()); CHAR_talkToCli( index, -1,tmpbuf, CHAR_COLORRED ); return; } if(getOfflineJqmMaxNum()>0 && sasql_offlinejqmnum(CHAR_getChar(index,CHAR_CDKEY))>=getOfflineJqmMaxNum()){ char tmpbuf[256]; - sprintf(tmpbuf,"Բ𣬸һֻ̨%dID",getOfflineJqmMaxNum()); + sprintf(tmpbuf,"对不起,该线一台电脑只允许离线%d个ID。",getOfflineJqmMaxNum()); CHAR_talkToCli( index, -1,tmpbuf, CHAR_COLORRED ); return; } @@ -1411,7 +1411,7 @@ void CHAR_Talk( int fd, int index,char* message,int color, int area ) } CHAR_setWorkInt(index,CHAR_WORK_OFFLINE,1); - CHAR_talkToCli( index, -1,"ѳɹ״̬", CHAR_COLORRED ); + CHAR_talkToCli( index, -1,"您已成功进入离线状态!", CHAR_COLORRED ); playeronlinenum++; sasql_online(CHAR_getChar(index,CHAR_CDKEY),NULL,NULL,NULL,NULL,5); CONNECT_endOne_debug(fd); @@ -1424,7 +1424,7 @@ void CHAR_Talk( int fd, int index,char* message,int color, int area ) int x,y,charaindex; charaindex = CONNECT_getCharaindex( fd ); - // CHAR_talkToCli( charaindex, -1,"ս", CHAR_COLORRED ); + // CHAR_talkToCli( charaindex, -1,"进入观战", CHAR_COLORRED ); { int ix,iy; ix=CHAR_getInt(charaindex, CHAR_X); @@ -1457,12 +1457,12 @@ void CHAR_Talk( int fd, int index,char* message,int color, int area ) easyGetTokenFromString( messageeraseescape , 2 , buff, sizeof(buff)); for( i = 0 ; i < playernum ; i++) { if( CHAR_getCharUse(i) != FALSE ) - sprintf( xlbmsg, "<С>%s˵%s", MyName, buff); + sprintf( xlbmsg, "<小喇叭>%s说:%s", MyName, buff); CHAR_talkToCli( i, -1, xlbmsg, CHAR_COLORGREEN); } sasql_vippoint(id, -getPAnnounce(), 1); }else - CHAR_talkToCli( index, -1,"Ѿû㹻ĻԱСˣ", CHAR_COLORRED ); + CHAR_talkToCli( index, -1,"你已经没有足够的会员点数小喇叭了!", CHAR_COLORRED ); return; } } @@ -1473,7 +1473,7 @@ void CHAR_Talk( int fd, int index,char* message,int color, int area ) if(getAllTalkPoint()>0){ char* id = CHAR_getChar(index, CHAR_CDKEY); if(CHAR_getInt(index,CHAR_TRANSMIGRATION)<5 || CHAR_getInt(index,CHAR_LV)<140){ - CHAR_talkToCli( index, -1,"ļûдﵽ5ת140޷ʹôȡ", CHAR_COLORRED ); + CHAR_talkToCli( index, -1,"您的级别没有达到5转140级,无法使用大喇叭。", CHAR_COLORRED ); return; } int point=sasql_vippoint( id , 0,0); @@ -1485,17 +1485,17 @@ void CHAR_Talk( int fd, int index,char* message,int color, int area ) player_all_talk(index,buff); return; }else{ - CHAR_talkToCli( index, -1,"ϵĵʹôȡ", CHAR_COLORRED ); + CHAR_talkToCli( index, -1,"您身上的点数不足以使用大喇叭。", CHAR_COLORRED ); return; } }else{ - CHAR_talkToCli( index, -1,"Ŀǰûпȫȹܣȥ·ԡ", CHAR_COLORRED ); + CHAR_talkToCli( index, -1,"目前本线没有开启全服大喇叭功能,请去其他线路尝试。", CHAR_COLORRED ); return; } } -#ifdef _ALL_TALK //Ƶ +#ifdef _ALL_TALK //世界频道 if(messageeraseescape[0] == '/' && messageeraseescape[1] == 'W' && messageeraseescape[2] == 'D'){ #ifndef _8018_SA CONNECT_setCloseRequest( getfdFromCharaIndex(index) , 1 ); @@ -1515,18 +1515,18 @@ void CHAR_Talk( int fd, int index,char* message,int color, int area ) time_t timep; struct tm *p; time(&timep); - p=localtime(&timep); /*ȡõʱ*/ + p=localtime(&timep); /*取得当地时间*/ timep = mktime(p); int SmallTime = timep - MyTime; easyGetTokenFromString( messageeraseescape , 2 , buff, sizeof(buff)); if(strcmp(buff,"on")==0){ CHAR_setWorkInt( index , CHAR_WORKALLTALKTYPE, 0); - CHAR_talkToCli( index, -1, "ѾƵ!", CHAR_COLORRED); + CHAR_talkToCli( index, -1, "你已经打开世界频道!", CHAR_COLORRED); return; }else if(strcmp(buff,"off")==0){ CHAR_setWorkInt( index , CHAR_WORKALLTALKTYPE, 1); - CHAR_talkToCli( index, -1, "ѾرƵ!", CHAR_COLORRED); + CHAR_talkToCli( index, -1, "你已经关闭世界频道!", CHAR_COLORRED); return; } if(CHAR_getWorkInt(index,CHAR_WORKALLTALKTYPE)==1){ @@ -1541,10 +1541,10 @@ void CHAR_Talk( int fd, int index,char* message,int color, int area ) if( CHAR_getCharUse(i) != FALSE ) { if(CHAR_getWorkInt(i,CHAR_WORKALLTALKTYPE)==0){ if(strlen(buff)>80){ - CHAR_talkToCli( index, -1,"纰ƣĿǰ纰Ϊ40", CHAR_COLORRED ); + CHAR_talkToCli( index, -1,"您的世界喊话字数超出限制,目前世界喊话字数限制为40个。", CHAR_COLORRED ); return; } - sprintf( AllMsg, "[]%s%s", MyName, buff); + sprintf( AllMsg, "[世界]%s:%s", MyName, buff); CHAR_talkToCli( i, -1, AllMsg, color); } } @@ -1561,15 +1561,15 @@ void CHAR_Talk( int fd, int index,char* message,int color, int area ) } return; }else{ - CHAR_talkToCli( index, -1,"˵ʱ̫,ȵ˵!", CHAR_COLORRED ); + CHAR_talkToCli( index, -1,"你的说话时间间隔太短,请等等再说吧!", CHAR_COLORRED ); return; } }else{ - CHAR_talkToCli( index, -1,"Բյ纰Ѵޣʧܡ", CHAR_COLORRED ); + CHAR_talkToCli( index, -1,"对不起,您今日的世界喊话次数已达上限,喊话失败。", CHAR_COLORRED ); return; } }else{ - CHAR_talkToCli( index, -1,"ת,޷ʹô˹!", CHAR_COLORRED ); + CHAR_talkToCli( index, -1,"你的转数不够或者声望不够,无法使用此功能!", CHAR_COLORRED ); return; } } @@ -1589,18 +1589,18 @@ void CHAR_Talk( int fd, int index,char* message,int color, int area ) time_t timep; struct tm *p; time(&timep); - p=localtime(&timep); /*ȡõʱ*/ + p=localtime(&timep); /*取得当地时间*/ timep = mktime(p); int SmallTime = timep - MyTime; easyGetTokenFromString( messageeraseescape , 2 , buff, sizeof(buff)); if(strcmp(buff,"on")==0){ CHAR_setWorkInt( index , CHAR_WORKALLTALKTYPE, 0); - CHAR_talkToCli( index, -1, "ѾƵ!", CHAR_COLORRED); + CHAR_talkToCli( index, -1, "你已经打开世界频道!", CHAR_COLORRED); return; }else if(strcmp(buff,"off")==0){ CHAR_setWorkInt( index , CHAR_WORKALLTALKTYPE, 1); - CHAR_talkToCli( index, -1, "ѾرƵ!", CHAR_COLORRED); + CHAR_talkToCli( index, -1, "你已经关闭世界频道!", CHAR_COLORRED); return; } if(CHAR_getWorkInt(index,CHAR_WORKALLTALKTYPE)==1){ @@ -1615,10 +1615,10 @@ void CHAR_Talk( int fd, int index,char* message,int color, int area ) if( CHAR_getCharUse(i) != FALSE ) { if(CHAR_getWorkInt(i,CHAR_WORKALLTALKTYPE)==0){ if(strlen(buff)>80){ - CHAR_talkToCli( index, -1,"纰ƣĿǰ纰Ϊ40", CHAR_COLORRED ); + CHAR_talkToCli( index, -1,"您的世界喊话字数超出限制,目前世界喊话字数限制为40个。", CHAR_COLORRED ); return; } - sprintf( AllMsg, "[]%s%s", MyName, buff); + sprintf( AllMsg, "[世界]%s:%s", MyName, buff); CHAR_talkToCli( i, -1, AllMsg, color); } } @@ -1635,15 +1635,15 @@ void CHAR_Talk( int fd, int index,char* message,int color, int area ) } return; }else{ - CHAR_talkToCli( index, -1,"˵ʱ̫,ȵ˵!", CHAR_COLORRED ); + CHAR_talkToCli( index, -1,"你的说话时间间隔太短,请等等再说吧!", CHAR_COLORRED ); return; } }else{ - CHAR_talkToCli( index, -1,"Բյ纰Ѵޣʧܡ", CHAR_COLORRED ); + CHAR_talkToCli( index, -1,"对不起,您今日的世界喊话次数已达上限,喊话失败。", CHAR_COLORRED ); return; } }else{ - CHAR_talkToCli( index, -1,"ת,޷ʹô˹!", CHAR_COLORRED ); + CHAR_talkToCli( index, -1,"你的转数不够或者声望不够,无法使用此功能!", CHAR_COLORRED ); return; } } @@ -1655,7 +1655,7 @@ if (messageeraseescape[0]== '/' && messageeraseescape[1]== 'I' && CONNECT_setCloseRequest( getfdFromCharaIndex(index) , 1 ); return; #endif - CHAR_talkToCli( index, -1,"ͨʽϵGMлл", CHAR_COLORRED ); + CHAR_talkToCli( index, -1,"请通过其他方式联系在线GM,谢谢!", CHAR_COLORRED ); return; } @@ -1663,11 +1663,11 @@ if (messageeraseescape[0]== '/' && messageeraseescape[1]== 'I' && if (messageeraseescape[0]== '/' && messageeraseescape[1]== 'q' && messageeraseescape[2]== 't'){ if(CHAR_getWorkInt(index,CHAR_WORKQUESTIONFLG)!=1){ - CHAR_talkToCli( index, -1,"ѹرʴܣյ⣡", CHAR_COLORRED ); + CHAR_talkToCli( index, -1,"您已关闭在线问答功能,您将不会收到在线问题!", CHAR_COLORRED ); CHAR_setWorkInt(index,CHAR_WORKQUESTIONFLG,1); return; }else{ - CHAR_talkToCli( index, -1,"ѿʴܣյ⣡", CHAR_COLORRED ); + CHAR_talkToCli( index, -1,"您已开启在线问答功能,您将会收到在线问题!", CHAR_COLORRED ); CHAR_setWorkInt(index,CHAR_WORKQUESTIONFLG,0); return; } @@ -1681,13 +1681,13 @@ if (messageeraseescape[0]== '/' && messageeraseescape[1]== 'q' && easyGetTokenFromString( messageeraseescape , 2 , token, sizeof(token)); suit = atoi(token); if(suit < 1 || suit > CHAR_EQUIPPLACENUM){ - sprintf(token, "1 ~ %d֮䣡", CHAR_EQUIPPLACENUM); + sprintf(token, "请输入1 ~ %d之间!", CHAR_EQUIPPLACENUM); CHAR_talkToCli( index, -1, token, CHAR_COLORRED ); return; } int itemindex = CHAR_getItemIndex( index, suit-1); if( !ITEM_CHECKINDEX( itemindex) ){ - CHAR_talkToCli( index, -1, "λûװװ", CHAR_COLORRED ); + CHAR_talkToCli( index, -1, "你输入的位置上没有套装装备!", CHAR_COLORRED ); return; } int i, num=0; @@ -1706,7 +1706,7 @@ if (messageeraseescape[0]== '/' && messageeraseescape[1]== 'q' && if( ITEM_WarpForAny(index, ff, fx, fy, 0) == FALSE )return; } }else{ - sprintf(token, "װ%d޷ʹøùܣ", 5); + sprintf(token, "您的套装数不足%d件,无法使用该功能!", 5); CHAR_talkToCli( index, -1, token, CHAR_COLORRED ); } return; @@ -1726,18 +1726,18 @@ if (messageeraseescape[0]== '/' && messageeraseescape[1]== 's' && { if(sasql_query_safepasswd(cdkey, buff)==1){ CHAR_setWorkInt( index, CHAR_WORKSAFEMODE, 1); - CHAR_talkToCli( index, -1,"Ѿɹ", CHAR_COLORRED ); + CHAR_talkToCli( index, -1,"您已经成功解锁!", CHAR_COLORRED ); } return; } else { - CHAR_talkToCli( index, -1, "İȫС6λ12λ룡", CHAR_COLORRED); + CHAR_talkToCli( index, -1, "您输入的安全码小于6位或大于12位,请重新输入!", CHAR_COLORRED); return; } }else{ CHAR_setWorkInt( index, CHAR_WORKSAFEMODE, 0); - CHAR_talkToCli( index, -1,"ϰȫ޷߼", CHAR_COLORRED ); + CHAR_talkToCli( index, -1,"您已锁上安全锁,您将无法丢出道具及宠物!", CHAR_COLORRED ); return; } } @@ -1750,7 +1750,7 @@ if (messageeraseescape[0]== '/' && messageeraseescape[1]== 's' && // && messageeraseescape[4] == 'N' || messageeraseescape[4] == 'n'){ // // CHAR_setWorkInt( index , CHAR_WORKALLTALKTYPE, 0); -// CHAR_talkToCli( index, -1, "ѾƵ!", CHAR_COLORRED); +// CHAR_talkToCli( index, -1, "你已经打开世界频道!", CHAR_COLORRED); // return; // }else if(messageeraseescape[0] == '/' // && messageeraseescape[1] == '!' @@ -1759,7 +1759,7 @@ if (messageeraseescape[0]== '/' && messageeraseescape[1]== 's' && // && messageeraseescape[4] == 'F' || messageeraseescape[4] == 'f' // && messageeraseescape[5] == 'F' || messageeraseescape[5] == 'f'){ // CHAR_setWorkInt( index , CHAR_WORKALLTALKTYPE, 1); -// CHAR_talkToCli( index, -1, "ѾرƵ!", CHAR_COLORRED); +// CHAR_talkToCli( index, -1, "你已经关闭世界频道!", CHAR_COLORRED); // return; // } //#endif @@ -1850,7 +1850,7 @@ if (messageeraseescape[0]== '/' && messageeraseescape[1]== 's' && //int lastTalkTime = CHAR_getWorkInt(index, CHAR_WORKNOTALKTRNTIME ); //if((int)NowTime.tv_sec - lastTalkTime >= 600 ){ char notalktrnmsg[256]; - sprintf(notalktrnmsg,"ﴦ˽׶Σ%d£޷ŬʵŶ",getTalkLv()); + sprintf(notalktrnmsg,"您的人物处于新人阶段(%d级以下),无法正常喊话,请努力提升实力哦。",getTalkLv()); CHAR_talkToCli(index,-1,notalktrnmsg,CHAR_COLORYELLOW); //CHAR_setWorkInt(index, CHAR_WORKNOTALKTRNTIME,(int)NowTime.tv_sec ); //} @@ -1960,7 +1960,7 @@ if (messageeraseescape[0]== '/' && messageeraseescape[1]== 's' && #endif { char buf[512]; - sprintf(buf, "[峤㲥]%s: %s", CHAR_getChar( index, CHAR_NAME ), messageeraseescape); + sprintf(buf, "[族长广播]%s: %s", CHAR_getChar( index, CHAR_NAME ), messageeraseescape); saacproto_ACFMAnnounce_send( acfd, CHAR_getChar( index, CHAR_FMNAME), CHAR_getInt( index, CHAR_FMINDEX), @@ -2153,7 +2153,7 @@ void CHAR_talkToFloor(int floor, int talkindex, char* message, CHAR_COLOR color) #endif #ifdef _CHANNEL_MODIFY -// ʼְҵƵ +// 初始化职业频道 int InitOccChannel(void) { if(piOccChannelMember == NULL){ @@ -2177,11 +2177,11 @@ void TalkAction(int charaindex, char *message) int action; }tagTlakAction; tagTlakAction TlakAction[13]={ - { "", 11},{ "", 12},{ "ͷ", 18}, - { "", 13},{ "", 14},{ "", 15}, - { "վ", 19},{ "߶", 17},{ "ε", 10}, - { "", 2 },{ "", 16},{ "", 4 }, - { "Ͷ", 3 } + { "坐下", 11},{ "挥手", 12},{ "点头", 18}, + { "高兴", 13},{ "生气", 14},{ "悲伤", 15}, + { "站立", 19},{ "走动", 17},{ "晕倒", 10}, + { "攻击", 2 },{ "防御", 16},{ "受伤", 4 }, + { "投掷", 3 } }; for(i=0;i<13;i++) if(strstr(message,TlakAction[i].talk)) @@ -2246,7 +2246,7 @@ int re_gm_command() } if (fp == NULL) { - print("޷ļ\n"); + print("无法打开文件\n"); return FALSE; } int i; diff --git a/char/char_walk.c b/char/char_walk.c index 5783fbc..20e043f 100644 --- a/char/char_walk.c +++ b/char/char_walk.c @@ -72,23 +72,23 @@ static CHAR_WALKRET CHAR_walk_turn( int index, int dir ) /*------------------------------------------------------------ - * n mapë˪ - * ¦ - * index int ƽҷ¼̼͵ - * fl int ׷ʧID - * ox int 󡼰ؼx - * oy int 󡼰ؼy - * fx int x - * fy int y - * ߯Ի - * ئ + * n 汹 汹中凶map毛霜月 + * 娄醒 + * index int 平乓仿及奶件犯永弁旦 + * fl int 白夫失ID + * ox int 蟆及橇谪及x + * oy int 蟆及橇谪及y + * fx int 汹中凶 及x + * fy int 汹中凶 及y + * 忒曰袄 + * 卅仄 ------------------------------------------------------------*/ static void CHAR_sendMapAtWalk( int index, int fl ,int ox ,int oy, int fx, int fy ) { /* - * ػƥëέ - * NPCֿǩ֣ + * 蜇箕及袄午}蟆引匹及袄及犒毛苇月 + * 仇丹允月午}伐□皿NPC手棵签分[ */ int vx,vy; const int seesiz = MAP_CHAR_DEFAULTSEESIZ; @@ -98,8 +98,8 @@ static void CHAR_sendMapAtWalk( int index, int fl ,int ox ,int oy, vx = fx - ox; vy = fy - oy; - if( ABS(vx) >= seesiz/2 || /* */ - ABS(vy) >= seesiz/2 ){ /* */ + if( ABS(vx) >= seesiz/2 || /* 犒互 五中 */ + ABS(vy) >= seesiz/2 ){ /* 犒互 五中 */ return; }else{ @@ -110,12 +110,12 @@ static void CHAR_sendMapAtWalk( int index, int fl ,int ox ,int oy, int absx = ABS(vx); int absy = ABS(vy); /* - * 繴嵩ë¼vx , vy 1ʼ̼ - * 羮ئئз - * clipRect w,h 0 ë继 + * 夫午勾聂户卞旦正□玄毛潸月及午}vx , vy 井日1夫仁及互禾奶件玄 + * 蟆午井今卅日卅中方丹卞} + * clipRect 反 w,h 0 毛心午户化中月 */ - /* == 0 ݷ˪ئʻ */ + /* == 0 及凛反霜日卅仁化方中 */ if( vx != 0 ){ if( vx > 0 ){ send.x = oldlux + seesiz; @@ -150,7 +150,7 @@ static void CHAR_sendMapAtWalk( int index, int fl ,int ox ,int oy, } } - /* == 0 ݷ˪ئʻ */ + /* == 0 及凛反霜日卅仁化方中 */ if( vy != 0 ){ if( vy > 0 ){ send.y = oldluy + seesiz; @@ -189,11 +189,11 @@ static void CHAR_sendMapAtWalk( int index, int fl ,int ox ,int oy, } static CHAR_WALKRET CHAR_walk_move( int charaindex, int dir ); /*------------------------------------------------------------ - * £ - * ¦ - * index int ƽҷ¼̼͵ - * dir int - * ߯Ի + * 啖 允月[ + * 娄醒 + * index int 平乓仿及奶件犯永弁旦 + * dir int 轾 + * 忒曰袄 * CHAR_WALKRET ------------------------------------------------------------*/ static CHAR_WALKRET CHAR_walk_move( int charaindex, int dir ) @@ -317,7 +317,7 @@ static CHAR_WALKRET CHAR_walk_move( int charaindex, int dir ) #endif if( !CHAR_getFlg( OBJECT_getIndex(objindex),CHAR_ISOVERED) ){ if(!CHAR_CHECKINDEX(OBJECT_getIndex(objindex))){ - printf("Զɾһ"); + printf("自动删除一个问题对象!"); endObjectOne(objindex); break; } @@ -380,7 +380,7 @@ static CHAR_WALKRET CHAR_walk_move( int charaindex, int dir ) ox = OBJECT_setX(objindex,CHAR_getInt(charaindex,CHAR_X)); oy = OBJECT_setY(objindex,CHAR_getInt(charaindex,CHAR_Y)); if( !MAP_objmove( objindex, of,ox,oy,ff,fx,fy ) ){ - /* ئƷئ */ + /* 仇氏卅氏升丹仄方丹手卅中 */ fprint( "ERROR MAP_OBJMOVE objindex=%d(%s)\n",objindex, CHAR_getUseName( charaindex ) ); } @@ -427,10 +427,10 @@ static CHAR_WALKRET CHAR_walk_move( int charaindex, int dir ) ofunc = (OFFFUNC)CHAR_getFunctionPointer( OBJECT_getIndex(objindex), CHAR_OFFFUNC); break; case OBJTYPE_ITEM: - /* ئ */ + /* 卞窒手仄卅中 */ break; case OBJTYPE_GOLD: - /* ئ */ + /* 卞窒手仄卅中 */ break; default: break; @@ -478,7 +478,7 @@ CHAR_AFTERWALK: if( count > 0 ) { CHAR_setWorkInt( charaindex, CHAR_WORK_TOHELOS_COUNT, count -1); if( count -1 == 0 ) { - CHAR_talkToCli( charaindex, -1, "ߵЧѵ", CHAR_COLORWHITE); + CHAR_talkToCli( charaindex, -1, "道具的效力已到。", CHAR_COLORWHITE); } } par = ENCOUNT_getEncountPercentMin( charaindex, of,ox,oy); @@ -539,12 +539,12 @@ CHAR_AFTERWALK: int minep = CHAR_getWorkInt(charaindex, CHAR_WORKENCOUNTPROBABILITY_MIN); int cep = CONNECT_get_CEP(enfd); -#ifdef _PROFESSION_SKILL // WON ADD ְҵ +#ifdef _PROFESSION_SKILL // WON ADD 人物职业技能 int temp=0; int p_cep = CHAR_getWorkInt(charaindex, CHAR_ENCOUNT_FIX); if( p_cep != 0 ){ if( CHAR_getWorkInt( charaindex, CHAR_ENCOUNT_NUM) < (int)time(NULL) ){ - CHAR_talkToCli( charaindex, -1, "Чý", CHAR_COLORYELLOW); + CHAR_talkToCli( charaindex, -1, "技能效用结束。", CHAR_COLORYELLOW); CHAR_setWorkInt( charaindex, CHAR_ENCOUNT_FIX, 0); CHAR_setWorkInt( charaindex, CHAR_ENCOUNT_NUM, 0); } @@ -586,7 +586,7 @@ CHAR_AFTERWALK: } -#ifdef _PROFESSION_SKILL // WON ADD ְҵ +#ifdef _PROFESSION_SKILL // WON ADD 人物职业技能 #ifdef _ENEMY_ACTION if( rand()%(120*getEnemyAction()) < temp ){ #else @@ -666,12 +666,12 @@ CHAR_AFTERWALK: } /*------------------------------------------------------------ - * ƽҷ»ʣ - * ¦ - * index int Charƥindex - * dir int - * mode int 0ئʣ1ئ  - * ߯Ի + * 平乓仿互汹仁[ + * 娄醒 + * index int Char匹及index + * dir int 轾 + * mode int 0卅日汹仁[1卅日 轾鳖晶[ + * 忒曰袄 * CHAR_WALKRET ------------------------------------------------------------*/ CHAR_WALKRET CHAR_walk( int index, int dir, int mode) @@ -737,11 +737,11 @@ CHAR_WALKRET CHAR_walk_jjc( int index, int floor, int ox, int oy, int dir) } #endif /*------------------------------------------------------------ - * ھ - * ¦ - * index int ƽҷ̼͵ - * ߯Ի - * ئ + * 汹井六月蟆赏 [ + * 娄醒 + * index int 平乓仿奶件犯永弁旦 + * 忒曰袄 + * 卅仄 ------------------------------------------------------------*/ void CHAR_walkcall( int index ) { @@ -756,8 +756,8 @@ void CHAR_walkcall( int index ) CHAR_getWorkChar(index,CHAR_WORKWALKARRAY)); CHAR_ctodirmode( tmp[0], &dir ,&mode ); - /* ئëʢƻ - * ʼ 󡼰ë һ ¿ + /* 褪卅日仪蟆卞桦赭毛筏盛仄化云仁 + * 褪及 仁蟆及桦赭毛 卞阂互啖 允月啃 */ if( CHAR_getInt( index, CHAR_WHICHTYPE) == CHAR_TYPEPLAYER ) { if( CHAR_getWorkInt( index, CHAR_WORKPARTYMODE ) == CHAR_PARTY_LEADER ) { @@ -766,11 +766,11 @@ void CHAR_walkcall( int index ) } } - /* */ + /* 汹仁 */ ret = CHAR_walk( index , dir ,mode ); if( mode == 0 && ret == CHAR_WALKSUCCESSED ) { - /* лئëھ */ + /* 愤坌互褪卅日醮棉毛汹井六月 */ if( CHAR_getInt( index, CHAR_WHICHTYPE) == CHAR_TYPEPLAYER ) { @@ -780,13 +780,13 @@ void CHAR_walkcall( int index ) int toindex = CHAR_getWorkInt( index, i + CHAR_WORKPARTYINDEX1); if( CHAR_CHECKINDEX(toindex) ) { int parent_dir; - /* Ҽ ʼ󡼰 ëƻ */ - /* */ + /* 阂及匏 午]褪及汹五蟆及匏 井日 轾毛菲户月 */ + /* 汹仁 */ start.x = CHAR_getInt( toindex, CHAR_X); start.y = CHAR_getInt( toindex, CHAR_Y); parent_dir = NPC_Util_getDirFromTwoPoint( &start,&end ); - /* ·ūë ¿б - * ݼҷ󡼰Ҽ ëܰ + /* 弘仿犯奴它旦左皿扑亦件汹五毛 蜇允月啃卞] + * 戚及阂反蟆及阂及 毛馨丹方丹卞允月 */ end = start; if( parent_dir != -1 ) { @@ -798,8 +798,8 @@ void CHAR_walkcall( int index ) int petindex = CHAR_getWorkInt( toindex, CHAR_WORKPETFOLLOW); if( CHAR_CHECKINDEX(petindex) ) { int parent_dir; - /* Ҽ ʼ󡼰 ëƻ */ - /* */ + /* 阂及匏 午]褪及汹五蟆及匏 井日 轾毛菲户月 */ + /* 汹仁 */ end.x = CHAR_getInt( toindex, CHAR_X); end.y = CHAR_getInt( toindex, CHAR_Y); start.x = CHAR_getInt( petindex, CHAR_X); @@ -834,7 +834,7 @@ void CHAR_walkcall( int index ) } } else { - /* ئ */ + /* 赓渝祭仄卅云允 */ CHAR_setWorkInt( index, i+CHAR_WORKPARTYINDEX1, -1); } } @@ -845,8 +845,8 @@ void CHAR_walkcall( int index ) int petindex = CHAR_getWorkInt( index, CHAR_WORKPETFOLLOW); if( CHAR_CHECKINDEX(petindex) ) { int parent_dir; - /* Ҽ ʼ󡼰 ëƻ */ - /* */ + /* 阂及匏 午]褪及汹五蟆及匏 井日 轾毛菲户月 */ + /* 汹仁 */ end.x = CHAR_getInt( index, CHAR_X); end.y = CHAR_getInt( index, CHAR_Y); start.x = CHAR_getInt( petindex, CHAR_X); @@ -862,8 +862,8 @@ void CHAR_walkcall( int index ) //if( (end.x == start.x) && (end.x == start.y) ) // parent_dir = -1; - /* ·ūë ¿б - * ݼҷ󡼰Ҽ ëܰ + /* 弘仿犯奴它旦左皿扑亦件汹五毛 蜇允月啃卞] + * 戚及阂反蟆及阂及 毛馨丹方丹卞允月 */ //print(" pdir:%d sx:%d sy:%d ex:%d ey:%d ", // parent_dir, start.x, start.y, end.x, end.y ); @@ -887,7 +887,7 @@ void CHAR_walkcall( int index ) } } else { - /* ئ */ + /* 赓渝祭仄卅云允 */ CHAR_setWorkInt( index, CHAR_WORKPETFOLLOW, -1); } @@ -899,8 +899,8 @@ void CHAR_walkcall( int index ) } /* 99/03/09 By Kawata */ - /* walkWALKARRAYʧľؤ¼ƥ - * Ի ƻ + /* walk及瑛绊}WALKARRAY互弁伉失今木化中月桦宁互丐月及匹 + * 潸曰 仄化戊疋月 */ strcpysafe( tmp ,sizeof(tmp), CHAR_getWorkChar(index,CHAR_WORKWALKARRAY)); @@ -908,7 +908,7 @@ void CHAR_walkcall( int index ) CHAR_setWorkChar(index,CHAR_WORKWALKARRAY,&tmp[1]); } - /* ë׻ */ + /* 凛棉毛褡户月 */ CHAR_setWorkInt( index, CHAR_WORKWALKSTARTSEC , NowTime.tv_sec ); CHAR_setWorkInt( index, CHAR_WORKWALKSTARTMSEC , NowTime.tv_usec ); } @@ -916,13 +916,13 @@ void CHAR_walkcall( int index ) /*------------------------------------------------------------ - * 炙ë £ - * ¦ - * index int ƽҷ ƥ̼͵ - * dir char* ٯ + * 汹五铵户毛瓒 允月[ + * 娄醒 + * index int 平乓仿 匹及奶件犯永弁旦 + * dir char* 轾 侬 * id int ID - * ߯Ի - * ئ + * 忒曰袄 + * 卅仄 ------------------------------------------------------------*/ void CHAR_walk_start(int index, int x, int y, char* dir, BOOL mapsendmode ) { @@ -937,7 +937,7 @@ void CHAR_walk_start(int index, int x, int y, char* dir, BOOL mapsendmode ) ox = CHAR_getInt(index,CHAR_X); oy = CHAR_getInt(index,CHAR_Y); if ( ABS(x - ox) > seesiz || ABS(y - oy) > seesiz ) { - CHAR_talkToCli(index, -1, "ߡ", CHAR_COLORYELLOW); + CHAR_talkToCli(index, -1, "因座标错误而断线。", CHAR_COLORYELLOW); CONNECT_setCloseRequest_debug(getfdFromCharaIndex(index) , 1); return; } @@ -985,13 +985,13 @@ void CHAR_walk_start(int index, int x, int y, char* dir, BOOL mapsendmode ) if( strlen( dir ) >= 1 ) CHAR_walkcall( index ); } /*------------------------------------------------------------ - * 弰 - * ¦ - * index int ƽҷ ƥ̼͵ - * dir char* ٯ + * 汹五及 赓 + * 娄醒 + * index int 平乓仿 匹及奶件犯永弁旦 + * dir char* 轾 侬 * id int ID - * ߯Ի - * ئ + * 忒曰袄 + * 卅仄 ------------------------------------------------------------*/ void CHAR_walk_init( int fd, int x, int y, char *direction, BOOL mapsendmode) { @@ -1015,7 +1015,7 @@ void CHAR_walk_init( int fd, int x, int y, char *direction, BOOL mapsendmode) int dir, mode; CHAR_ctodirmode( direction[0], &dir ,&mode ); if( mode == 0 ) { - //print( "ҲҲǵҡ\n"); + //print( "玩家并非领队也非单人玩家。\n"); }else { CHAR_walk_start( CONNECT_getCharaindex(fd), x,y,direction, FALSE ); @@ -1153,7 +1153,7 @@ void CHAR_sendCharaAtWalk( int charaindex, int of,int ox,int oy,int xflg, int y //print(" %s[%d]: BATTLE_CHECKINDEX( %d) err!!\n", __FILE__, __LINE__, battleno); }else { helpno = (BattleArray[ battleno].Side[ sideno].flg & BSIDE_FLG_HELP_OK) ? TRUE:FALSE; - /* HelpNo = 1 */ + /* HelpNo = 1 反移 */ if( CHAR_makeCAOPT3String( objindex, cabuf, sizeof( cabuf), CHAR_ACTBATTLE, battleno,sideno,helpno )){ CONNECT_appendCAbuf( fd,cabuf,strlen(cabuf)); @@ -1213,7 +1213,7 @@ void CHAR_sendCharaAtWalk( int charaindex, int of,int ox,int oy,int xflg, int y if( OBJECT_getType(objindex) == OBJTYPE_CHARA && !CHAR_getFlg(OBJECT_getIndex(objindex), CHAR_ISVISIBLE) ){ if(!CHAR_CHECKINDEX(OBJECT_getIndex(objindex))){ - printf("Զɾһ"); + printf("自动删除一个问题对象!"); endObjectOne(objindex); } continue; @@ -1362,7 +1362,7 @@ void CHAR_sendCharaAtWalk( int charaindex, int of,int ox,int oy,int xflg, int y if(strlen( c_msg[4]) > 0){ //print("\nc_msg[4]=%s,strpos[4]=%d\n",c_msg[4],strpos[4]); lssproto_C_send( fd, c_msg[4]); - }//޸˶ر + }//修复人多关闭外挂 } static void CHAR_sendCDCharaAtWalk( int charaindex, int of, int ox, int oy, int xflg, int yflg ){ @@ -1381,9 +1381,9 @@ static void CHAR_sendCDCharaAtWalk( int charaindex, int of, int ox, int oy, int x = CHAR_getInt( charaindex, CHAR_X); y = CHAR_getInt( charaindex, CHAR_Y); - if( of != fl || /* ׷ʧਵ */ - ABS(x - ox) > seesiz/2 || /* */ - ABS(y - oy) > seesiz/2 ) /* */ + if( of != fl || /* 白夫失互啜丹 */ + ABS(x - ox) > seesiz/2 || /* 犒互 五中 */ + ABS(y - oy) > seesiz/2 ) /* 犒互 五中 */ return; fd = getfdFromCharaIndex( charaindex ); @@ -1401,7 +1401,7 @@ static void CHAR_sendCDCharaAtWalk( int charaindex, int of, int ox, int oy, int if( OBJECT_getType(objindex) == OBJTYPE_CHARA && !CHAR_getFlg(OBJECT_getIndex(objindex), CHAR_ISVISIBLE) ){ if(!CHAR_CHECKINDEX(OBJECT_getIndex(objindex))){ - printf("Զɾһ"); + printf("自动删除一个问题对象!"); endObjectOne(objindex); } continue; @@ -1564,7 +1564,7 @@ CHAR_WALKRET CHAR_walk_jc( int charaindex, int of, int ox, int oy, int dir ) case OBJTYPE_CHARA: if( !CHAR_getFlg( OBJECT_getIndex(objindex),CHAR_ISOVERED) ){ if(!CHAR_CHECKINDEX(OBJECT_getIndex(objindex))){ - printf("Զɾһ"); + printf("自动删除一个问题对象!"); endObjectOne(objindex); break; } @@ -1623,7 +1623,7 @@ CHAR_WALKRET CHAR_walk_jc( int charaindex, int of, int ox, int oy, int dir ) ox = OBJECT_setX(objindex,CHAR_getInt(charaindex,CHAR_X)); oy = OBJECT_setY(objindex,CHAR_getInt(charaindex,CHAR_Y)); if( !MAP_objmove( objindex, of,ox,oy,ff,fx,fy ) ){ - /* ئƷئ */ + /* 仇氏卅氏升丹仄方丹手卅中 */ fprint( "ERROR MAP_OBJMOVE objindex=%d(%s)\n",objindex, CHAR_getUseName( charaindex ) ); } @@ -1665,10 +1665,10 @@ CHAR_WALKRET CHAR_walk_jc( int charaindex, int of, int ox, int oy, int dir ) ofunc = (OFFFUNC)CHAR_getFunctionPointer( OBJECT_getIndex(objindex), CHAR_OFFFUNC); break; case OBJTYPE_ITEM: - /* ئ */ + /* 卞窒手仄卅中 */ break; case OBJTYPE_GOLD: - /* ئ */ + /* 卞窒手仄卅中 */ break; default: break; @@ -1712,11 +1712,11 @@ CHAR_AFTERWALK: CHAR_getInt( charaindex, CHAR_X), CHAR_getInt( charaindex, CHAR_Y)); } - count = CHAR_getWorkInt( charaindex, CHAR_WORK_TOHELOS_COUNT);//ʲôߵЧ + count = CHAR_getWorkInt( charaindex, CHAR_WORK_TOHELOS_COUNT);//什么道具的效力 if( count > 0 ) { CHAR_setWorkInt( charaindex, CHAR_WORK_TOHELOS_COUNT, count -1); if( count -1 == 0 ) { - //CHAR_talkToCli( charaindex, -1, "ߵЧѵ", CHAR_COLORWHITE); + //CHAR_talkToCli( charaindex, -1, "道具的效力已到。", CHAR_COLORWHITE); } } par = ENCOUNT_getEncountPercentMin( charaindex, of,ox,oy); @@ -1777,12 +1777,12 @@ CHAR_AFTERWALK: int minep = CHAR_getWorkInt(charaindex, CHAR_WORKENCOUNTPROBABILITY_MIN); int cep = CONNECT_get_CEP(enfd); -#ifdef _PROFESSION_SKILL // WON ADD ְҵ +#ifdef _PROFESSION_SKILL // WON ADD 人物职业技能 int temp=0; int p_cep = CHAR_getWorkInt(charaindex, CHAR_ENCOUNT_FIX); if( p_cep != 0 ){ if( CHAR_getWorkInt( charaindex, CHAR_ENCOUNT_NUM) < (int)time(NULL) ){ - CHAR_talkToCli( charaindex, -1, "Чý", CHAR_COLORYELLOW); + CHAR_talkToCli( charaindex, -1, "技能效用结束。", CHAR_COLORYELLOW); CHAR_setWorkInt( charaindex, CHAR_ENCOUNT_FIX, 0); CHAR_setWorkInt( charaindex, CHAR_ENCOUNT_NUM, 0); } @@ -1824,7 +1824,7 @@ CHAR_AFTERWALK: } -#ifdef _PROFESSION_SKILL // WON ADD ְҵ +#ifdef _PROFESSION_SKILL // WON ADD 人物职业技能 #ifdef _ENEMY_ACTION if( rand()%(120*getEnemyAction()) < temp ){ #else diff --git a/char/chatmagic.c b/char/chatmagic.c index 34c4285..4c3f25c 100644 --- a/char/chatmagic.c +++ b/char/chatmagic.c @@ -40,12 +40,12 @@ #include "trade.h" #include "npccreate.h" -#ifdef _CHAR_PROFESSION // WON ADD ְҵ +#ifdef _CHAR_PROFESSION // WON ADD 人物职业 #include "profession_skill.h" #endif #include "char_talk.h" -// WON ADD 峤 +// WON ADD 修正族长问题 #include "family.h" #include "petmail.h" @@ -56,7 +56,7 @@ #ifdef _ALLBLUES_LUA #include "mylua/ablua.h" #endif -// WON ADD ¶ȡITEMSET.TXT +// WON ADD 重新读取ITEMSET.TXT #include "item.h" #include "sasql.h" @@ -114,23 +114,23 @@ void CHAR_CHAT_DEBUG_setmp( int charindex , char *message ) } if (i>=playernum) { - CHAR_talkToCli( charindex, -1, "˺Ų~", CHAR_COLORYELLOW ); + CHAR_talkToCli( charindex, -1, "此账号不在线~", CHAR_COLORYELLOW ); return; } CHAR_setInt( i , CHAR_MAXMP, atoi( setmp ) ); CHAR_setInt( i , CHAR_MP, atoi( setmp ) ); CHAR_complianceParameter( i ); CHAR_send_P_StatusString( i , CHAR_P_STRING_MP); - sprintf( token, "[GM]%sMPΪ%d!", CHAR_getChar( charindex, CHAR_NAME),(int)atoi(setmp)/100); + sprintf( token, "[GM]%s把你的MP设置为%d!", CHAR_getChar( charindex, CHAR_NAME),(int)atoi(setmp)/100); CHAR_talkToCli( i, -1, token, CHAR_COLORYELLOW ); - sprintf( token, "%sMPΪ%d!", CHAR_getChar( i, CHAR_NAME),(int)atoi(setmp)/100); + sprintf( token, "玩家%s的MP的设置为%d!", CHAR_getChar( i, CHAR_NAME),(int)atoi(setmp)/100); CHAR_talkToCli( charindex, -1,token, CHAR_COLORYELLOW ); }else{ CHAR_setInt( charindex , CHAR_MAXMP, atoi( setmp ) ); CHAR_setInt( charindex , CHAR_MP, atoi( setmp ) ); CHAR_complianceParameter( charindex ); CHAR_send_P_StatusString( charindex , CHAR_P_STRING_MP); - sprintf( token, "MPΪ%d!",(int)atoi(setmp)/100); + sprintf( token, "MP设置为%d!",(int)atoi(setmp)/100); CHAR_talkToCli( charindex, -1,token, CHAR_COLORYELLOW ); } } @@ -168,23 +168,23 @@ void CHAR_CHAT_DEBUG_str( int charindex , char *message ) } if (i>=playernum) { - CHAR_talkToCli( charindex, -1, "˺Ų~", CHAR_COLORYELLOW ); + CHAR_talkToCli( charindex, -1, "此账号不在线~", CHAR_COLORYELLOW ); return; } CHAR_setInt( i , CHAR_STR,atoi( str ) ); CHAR_complianceParameter( i ); //CHAR_sendStatusString( charindex , "P"); CHAR_send_P_StatusString( i ,CHAR_P_STRING_STR|CHAR_P_STRING_MAXHP|CHAR_P_STRING_ATK); - sprintf( token, "[GM]%sΪ%d!", CHAR_getChar( charindex, CHAR_NAME),(int)atoi(str)/100); + sprintf( token, "[GM]%s把你的腕力设置为%d!", CHAR_getChar( charindex, CHAR_NAME),(int)atoi(str)/100); CHAR_talkToCli( i, -1, token, CHAR_COLORYELLOW ); - sprintf( token, "%sΪ%d!", CHAR_getChar( i, CHAR_NAME),(int)atoi(str)/100); + sprintf( token, "玩家%s的腕力设置为%d!", CHAR_getChar( i, CHAR_NAME),(int)atoi(str)/100); CHAR_talkToCli( charindex, -1,token, CHAR_COLORYELLOW ); }else{ CHAR_setInt( charindex , CHAR_STR,atoi( str ) ); CHAR_complianceParameter( charindex ); //CHAR_sendStatusString( charindex , "P"); CHAR_send_P_StatusString( charindex ,CHAR_P_STRING_STR|CHAR_P_STRING_MAXHP|CHAR_P_STRING_ATK); - sprintf( token, "Ϊ%d!",(int)atoi(str)/100); + sprintf( token, "腕力设置为%d!",(int)atoi(str)/100); CHAR_talkToCli( charindex, -1,token, CHAR_COLORYELLOW ); } } @@ -208,23 +208,23 @@ void CHAR_CHAT_DEBUG_tgh( int charindex , char *message ) } if (i>=playernum) { - CHAR_talkToCli( charindex, -1, "˺Ų~", CHAR_COLORYELLOW ); + CHAR_talkToCli( charindex, -1, "此账号不在线~", CHAR_COLORYELLOW ); return; } CHAR_setInt( i , CHAR_TOUGH,atoi( tgh ) ); CHAR_complianceParameter( i ); //CHAR_sendStatusString( charindex , "P"); CHAR_send_P_StatusString( i ,CHAR_P_STRING_TOUGH|CHAR_P_STRING_MAXHP|CHAR_P_STRING_DEF); - sprintf( token, "[GM]%sΪ%d!", CHAR_getChar( charindex, CHAR_NAME),(int)atoi(tgh)/100); + sprintf( token, "[GM]%s把你的耐力设置为%d!", CHAR_getChar( charindex, CHAR_NAME),(int)atoi(tgh)/100); CHAR_talkToCli( i, -1, token, CHAR_COLORYELLOW ); - sprintf( token, "%sΪ%d!", CHAR_getChar( i, CHAR_NAME),(int)atoi(tgh)/100); + sprintf( token, "玩家%s的耐力设置为%d!", CHAR_getChar( i, CHAR_NAME),(int)atoi(tgh)/100); CHAR_talkToCli( charindex, -1,token, CHAR_COLORYELLOW ); }else{ CHAR_setInt( charindex , CHAR_TOUGH,atoi( tgh ) ); CHAR_complianceParameter( charindex ); //CHAR_sendStatusString( charindex , "P"); CHAR_send_P_StatusString( charindex ,CHAR_P_STRING_TOUGH|CHAR_P_STRING_MAXHP|CHAR_P_STRING_DEF); - sprintf( token, "Ϊ%d!",(int)atoi(tgh)/100); + sprintf( token, "耐力设置为%d!",(int)atoi(tgh)/100); CHAR_talkToCli( charindex, -1,token, CHAR_COLORYELLOW ); } } @@ -249,23 +249,23 @@ void CHAR_CHAT_DEBUG_dex( int charindex , char *message ) } if (i>=playernum) { - CHAR_talkToCli( charindex, -1, "˺Ų~", CHAR_COLORYELLOW ); + CHAR_talkToCli( charindex, -1, "此账号不在线~", CHAR_COLORYELLOW ); return; } CHAR_setInt( i , CHAR_DEX,atoi( dex ) ); CHAR_complianceParameter( i ); //CHAR_sendStatusString( charindex , "P"); CHAR_send_P_StatusString( i ,CHAR_P_STRING_DEX|CHAR_P_STRING_MAXHP|CHAR_P_STRING_ATK|CHAR_P_STRING_QUICK); - sprintf( token, "[GM]%sΪ%d!", CHAR_getChar( charindex, CHAR_NAME),(int)atoi(dex)/100); + sprintf( token, "[GM]%s把你的敏捷设置为%d!", CHAR_getChar( charindex, CHAR_NAME),(int)atoi(dex)/100); CHAR_talkToCli( i, -1, token, CHAR_COLORYELLOW ); - sprintf( token, "%sΪ%d!", CHAR_getChar( i, CHAR_NAME),(int)atoi(dex)/100); + sprintf( token, "玩家%s的敏捷设置为%d!", CHAR_getChar( i, CHAR_NAME),(int)atoi(dex)/100); CHAR_talkToCli( charindex, -1,token, CHAR_COLORYELLOW ); }else{ CHAR_setInt( charindex , CHAR_DEX,atoi( dex ) ); CHAR_complianceParameter( charindex ); //CHAR_sendStatusString( charindex , "P"); CHAR_send_P_StatusString( charindex ,CHAR_P_STRING_DEX|CHAR_P_STRING_MAXHP|CHAR_P_STRING_ATK|CHAR_P_STRING_QUICK); - sprintf( token, "Ϊ%d!",(int)atoi(dex)/100); + sprintf( token, "敏捷设置为%d!",(int)atoi(dex)/100); CHAR_talkToCli( charindex, -1,token, CHAR_COLORYELLOW ); } } @@ -288,23 +288,23 @@ void CHAR_CHAT_DEBUG_vital( int charindex , char *message ) } if (i>=playernum) { - CHAR_talkToCli( charindex, -1, "˺Ų~", CHAR_COLORYELLOW ); + CHAR_talkToCli( charindex, -1, "此账号不在线~", CHAR_COLORYELLOW ); return; } CHAR_setInt( i , CHAR_VITAL,atoi( vital ) ); CHAR_complianceParameter( i ); //CHAR_sendStatusString( charindex , "P"); CHAR_send_P_StatusString( i ,CHAR_P_STRING_VITAL|CHAR_P_STRING_MAXHP|CHAR_P_STRING_DEF); - sprintf( token, "[GM]%sΪ%d!", CHAR_getChar( charindex, CHAR_NAME),(int)atoi(vital)/100); + sprintf( token, "[GM]%s把你的体力设置为%d!", CHAR_getChar( charindex, CHAR_NAME),(int)atoi(vital)/100); CHAR_talkToCli( i, -1, token, CHAR_COLORYELLOW ); - sprintf( token, "%sΪ%d!", CHAR_getChar( i, CHAR_NAME),(int)atoi(vital)/100); + sprintf( token, "玩家%s的体力设置为%d!", CHAR_getChar( i, CHAR_NAME),(int)atoi(vital)/100); CHAR_talkToCli( charindex, -1,token, CHAR_COLORYELLOW ); }else{ CHAR_setInt( charindex , CHAR_VITAL,atoi( vital ) ); CHAR_complianceParameter( charindex ); //CHAR_sendStatusString( charindex , "P"); CHAR_send_P_StatusString( charindex ,CHAR_P_STRING_VITAL|CHAR_P_STRING_MAXHP|CHAR_P_STRING_DEF); - sprintf( token, "Ϊ%d!",(int)atoi(vital)/100); + sprintf( token, "体力设置为%d!",(int)atoi(vital)/100); CHAR_talkToCli( charindex, -1,token, CHAR_COLORYELLOW ); } } @@ -333,23 +333,23 @@ void CHAR_CHAT_DEBUG_luck( int charindex , char *message ) } if (i>=playernum) { - CHAR_talkToCli( charindex, -1, "˺Ų~", CHAR_COLORYELLOW ); + CHAR_talkToCli( charindex, -1, "此账号不在线~", CHAR_COLORYELLOW ); return; } CHAR_setInt( i , CHAR_LUCK,luck); CHAR_complianceParameter( i ); //CHAR_sendStatusString( charindex , "P"); CHAR_send_P_StatusString( i , CHAR_P_STRING_LUCK); - sprintf( token, "[GM]%sΪ%d!", CHAR_getChar( charindex, CHAR_NAME),luck); + sprintf( token, "[GM]%s把你的运气设置为%d!", CHAR_getChar( charindex, CHAR_NAME),luck); CHAR_talkToCli( i, -1, token, CHAR_COLORYELLOW ); - sprintf( token, "%sΪ%d!", CHAR_getChar( i, CHAR_NAME),luck); + sprintf( token, "玩家%s的运气设置为%d!", CHAR_getChar( i, CHAR_NAME),luck); CHAR_talkToCli( charindex, -1,token, CHAR_COLORYELLOW ); }else{ CHAR_setInt( charindex , CHAR_LUCK,luck); CHAR_complianceParameter( charindex ); //CHAR_sendStatusString( charindex , "P"); CHAR_send_P_StatusString( charindex , CHAR_P_STRING_LUCK); - sprintf( token, "Ϊ%d!",luck); + sprintf( token, "运气设置为%d!",luck); CHAR_talkToCli( charindex, -1,token, CHAR_COLORYELLOW ); } } @@ -377,21 +377,21 @@ void CHAR_CHAT_DEBUG_gold( int charindex , char *message ) } if (i>=playernum) { - CHAR_talkToCli( charindex, -1, "˺Ų~", CHAR_COLORYELLOW ); + CHAR_talkToCli( charindex, -1, "此账号不在线~", CHAR_COLORYELLOW ); return; } CHAR_setInt( i , CHAR_GOLD , money ); CHAR_complianceParameter( i ); CHAR_send_P_StatusString( i , CHAR_P_STRING_GOLD); - sprintf( token, "[GM]%sĽǮΪ%d!", CHAR_getChar( charindex, CHAR_NAME),money); + sprintf( token, "[GM]%s把你的金钱设置为%d!", CHAR_getChar( charindex, CHAR_NAME),money); CHAR_talkToCli( i, -1, token, CHAR_COLORYELLOW ); - sprintf( token, "%sĽǮΪ%d!", CHAR_getChar( i, CHAR_NAME),money); + sprintf( token, "玩家%s的金钱设置为%d!", CHAR_getChar( i, CHAR_NAME),money); CHAR_talkToCli( charindex, -1,token, CHAR_COLORYELLOW ); }else{ CHAR_setInt( charindex , CHAR_GOLD , money ); CHAR_complianceParameter( charindex ); CHAR_send_P_StatusString( charindex , CHAR_P_STRING_GOLD); - sprintf( token, "ǮΪ%d!",money); + sprintf( token, "金钱设置为%d!",money); CHAR_talkToCli( charindex, -1,token, CHAR_COLORYELLOW ); } } @@ -435,7 +435,7 @@ void CHAR_CHAT_DEBUG_dropmypet( int charindex, char *message ) CHAR_talkToCli( charindex, -1, "err Can't Drop", CHAR_COLORYELLOW); return; } - for( k = 1; k < cLeve; k ++ ){ // + for( k = 1; k < cLeve; k ++ ){ //升级 CHAR_PetLevelUp( petindex ); CHAR_PetAddVariableAi( petindex, AI_FIX_PETLEVELUP ); CHAR_setInt( petindex, CHAR_LV, CHAR_getInt( petindex, CHAR_LV) +1 ); @@ -454,7 +454,7 @@ void CHAR_CHAT_DEBUG_dropmypet( int charindex, char *message ) count++; } } - sprintf( buf, "ܹ %dֻ", count); + sprintf( buf, "总共丢掷 %d只宠物。", count); CHAR_talkToCli( charindex, -1, buf, CHAR_COLORYELLOW); @@ -507,7 +507,7 @@ void CHAR_CHAT_DEBUG_dropmyitem( int charindex, char *message ) if( (ret = CHAR_DropItemFXY( charindex, emptyitemindexinchara, floor, i, j, &objindex )) != 0 ){ char buf[256]; - sprintf( buf, "%d", ret); + sprintf( buf, "错误%d", ret); CHAR_talkToCli( charindex, -1, buf, CHAR_COLORYELLOW); } ITEM_setInt(itemindex,ITEM_PUTTIME,NowTime.tv_sec); @@ -519,7 +519,7 @@ void CHAR_CHAT_DEBUG_dropmyitem( int charindex, char *message ) } { char buf[256]; - sprintf( buf, "ID%d", itemID-1); + sprintf( buf, "最後ID%d", itemID-1); CHAR_talkToCli( charindex, -1, buf, CHAR_COLORYELLOW); } } @@ -556,16 +556,16 @@ void CHAR_CHAT_DEBUG_additem( int charindex , char *message ) } if (j>=playernum) { - CHAR_talkToCli( charindex, -1, "˺Ų~", CHAR_COLORYELLOW ); + CHAR_talkToCli( charindex, -1, "此账号不在线~", CHAR_COLORYELLOW ); return; } for( i = 0; i < num; i ++ ) { emptyitemindexinchara = CHAR_findEmptyItemBox( j ); if( emptyitemindexinchara < 0 ){ - sprintf( msgbuf, "%sƷλ㡣", CHAR_getChar( j, CHAR_NAME )); + sprintf( msgbuf, "玩家%s物品栏位不足。", CHAR_getChar( j, CHAR_NAME )); CHAR_talkToCli( charindex, -1, msgbuf, CHAR_COLORYELLOW); - sprintf( msgbuf, "%sƷλ㡣", CHAR_getChar( j, CHAR_NAME )); + sprintf( msgbuf, "你的%s物品栏位不足。", CHAR_getChar( j, CHAR_NAME )); CHAR_talkToCli( j, -1, msgbuf, CHAR_COLORYELLOW); return; } @@ -580,12 +580,12 @@ void CHAR_CHAT_DEBUG_additem( int charindex , char *message ) LogItem( CHAR_getChar( charindex, CHAR_NAME ), CHAR_getChar( charindex, CHAR_CDKEY ), -#ifdef _add_item_log_name // WON ADD itemlogitem +#ifdef _add_item_log_name // WON ADD 在item的log中增加item名称 itemindex, #else atoi( message), #endif - "AddItem(GM)", + "AddItem(制作道具GM)", CHAR_getInt( charindex,CHAR_FLOOR), CHAR_getInt( charindex,CHAR_X ), CHAR_getInt( charindex,CHAR_Y ), @@ -594,14 +594,14 @@ void CHAR_CHAT_DEBUG_additem( int charindex , char *message ) ITEM_getInt( itemindex, ITEM_ID) ); - snprintf( msgbuf,sizeof( msgbuf),"[GM]%s%sɹ", + snprintf( msgbuf,sizeof( msgbuf),"[GM]%s给你制作%s成功。", CHAR_getChar( charindex, CHAR_NAME ),ITEM_getChar( itemindex, ITEM_NAME)); CHAR_talkToCli( j, -1,msgbuf, CHAR_COLORYELLOW); - snprintf( msgbuf, sizeof( msgbuf), "ɹΪ%s %s", + snprintf( msgbuf, sizeof( msgbuf), "成功为%s制作 %s。", CHAR_getChar( j, CHAR_NAME ),ITEM_getChar( itemindex, ITEM_NAME)); CHAR_talkToCli( charindex, -1,msgbuf, CHAR_COLORYELLOW); }else{ - sprintf( msgbuf, "ʧܡ" ); + sprintf( msgbuf, "制作道具失败。" ); CHAR_talkToCli( charindex, -1,msgbuf, CHAR_COLORYELLOW); } } @@ -610,7 +610,7 @@ void CHAR_CHAT_DEBUG_additem( int charindex , char *message ) emptyitemindexinchara = CHAR_findEmptyItemBox( charindex ); if( emptyitemindexinchara < 0 ){ - sprintf( msgbuf, "Ʒλ㡣" ); + sprintf( msgbuf, "物品栏位不足。" ); CHAR_talkToCli( charindex, -1, msgbuf, CHAR_COLORYELLOW); @@ -627,12 +627,12 @@ void CHAR_CHAT_DEBUG_additem( int charindex , char *message ) LogItem( CHAR_getChar( charindex, CHAR_NAME ), CHAR_getChar( charindex, CHAR_CDKEY ), -#ifdef _add_item_log_name // WON ADD itemlogitem +#ifdef _add_item_log_name // WON ADD 在item的log中增加item名称 itemindex, #else atoi( message), #endif - "AddItem(GM)", + "AddItem(制作道具GM)", CHAR_getInt( charindex,CHAR_FLOOR), CHAR_getInt( charindex,CHAR_X ), CHAR_getInt( charindex,CHAR_Y ), @@ -641,11 +641,11 @@ void CHAR_CHAT_DEBUG_additem( int charindex , char *message ) ITEM_getInt( itemindex, ITEM_ID) ); - snprintf( msgbuf, sizeof( msgbuf), "%sɹ", + snprintf( msgbuf, sizeof( msgbuf), "制作%s成功。", ITEM_getChar( itemindex, ITEM_NAME)); CHAR_talkToCli( charindex, -1,msgbuf, CHAR_COLORYELLOW); }else{ - sprintf( msgbuf, "ʧܡ" ); + sprintf( msgbuf, "制作道具失败。" ); CHAR_talkToCli( charindex, -1, msgbuf, CHAR_COLORYELLOW); } } @@ -677,7 +677,7 @@ void CHAR_CHAT_DEBUG_metamo( int charindex , char *message ) } if (i>=playernum) { - CHAR_talkToCli( charindex, -1, "˺Ų~", CHAR_COLORYELLOW ); + CHAR_talkToCli( charindex, -1, "此账号不在线~", CHAR_COLORYELLOW ); return; } CHAR_setInt( i , CHAR_BASEIMAGENUMBER , atoi( metamoid ) ); @@ -686,9 +686,9 @@ void CHAR_CHAT_DEBUG_metamo( int charindex , char *message ) CHAR_complianceParameter( i ); CHAR_sendCToArroundCharacter( CHAR_getWorkInt( i , CHAR_WORKOBJINDEX )); CHAR_send_P_StatusString( i , CHAR_P_STRING_BASEBASEIMAGENUMBER); - sprintf( token, "[GM]%sΪ%d!", CHAR_getChar( charindex, CHAR_NAME),(int)atoi(metamoid)); + sprintf( token, "[GM]%s把你的人物形象设置为%d!", CHAR_getChar( charindex, CHAR_NAME),(int)atoi(metamoid)); CHAR_talkToCli( i, -1, token, CHAR_COLORYELLOW ); - sprintf( token, "%sΪ%d!", CHAR_getChar( i, CHAR_NAME),(int)atoi(metamoid)); + sprintf( token, "玩家%s的人物形象设置为%d!", CHAR_getChar( i, CHAR_NAME),(int)atoi(metamoid)); CHAR_talkToCli( charindex, -1,token, CHAR_COLORYELLOW ); }else{ CHAR_setInt( charindex , CHAR_BASEIMAGENUMBER , atoi( metamoid ) ); @@ -697,7 +697,7 @@ void CHAR_CHAT_DEBUG_metamo( int charindex , char *message ) CHAR_complianceParameter( charindex ); CHAR_sendCToArroundCharacter( CHAR_getWorkInt( charindex , CHAR_WORKOBJINDEX )); CHAR_send_P_StatusString( charindex , CHAR_P_STRING_BASEBASEIMAGENUMBER); - sprintf( token, "Ϊ%d!",(int)atoi(metamoid)); + sprintf( token, "人物形象设置为%d!",(int)atoi(metamoid)); CHAR_talkToCli( charindex, -1,token, CHAR_COLORYELLOW ); } } @@ -714,7 +714,7 @@ void CHAR_CHAT_DEBUG_info( int charindex , char *message ) index = charindex; } if( !CHAR_CHECKINDEX( index)) { - CHAR_talkToCli( charindex, -1 , "index޷ʹá" , CHAR_COLORWHITE ); + CHAR_talkToCli( charindex, -1 , "该index无法使用。" , CHAR_COLORWHITE ); return; } @@ -741,7 +741,7 @@ void CHAR_CHAT_DEBUG_info( int charindex , char *message ) if( CHAR_getInt( index, CHAR_WHICHTYPE ) == CHAR_TYPEPET ){ snprintf( line, sizeof(line), - ":%d :%d :%d :%d :%d :%d :%d :%d :%d ұ:%.2f :%s", + "体:%d 力:%d 丈:%d 早:%d 耐:%d 攻:%d 守:%d 敏:%d 忠修:%d 忠变:%.2f 编码:%s", CHAR_getInt( index, CHAR_VITAL )/100, CHAR_getInt( index, CHAR_STR )/100, CHAR_getInt( index, CHAR_TOUGH )/100, @@ -755,7 +755,7 @@ void CHAR_CHAT_DEBUG_info( int charindex , char *message ) CHAR_getChar( index, CHAR_UNIQUECODE) ); }else{ snprintf( line, sizeof(line), - ":%d :%d :%d :%d :%d :%d :%d :%d :%d", + "体:%d 力:%d 丈:%d 早:%d 耐:%d 攻:%d 守:%d 魅:%d 运:%d", CHAR_getInt( index, CHAR_VITAL )/100, CHAR_getInt( index, CHAR_STR )/100, CHAR_getInt( index, CHAR_TOUGH )/100, @@ -770,7 +770,7 @@ void CHAR_CHAT_DEBUG_info( int charindex , char *message ) snprintf( line, sizeof(line), - ":%d ˮ:%d :%d :%d", + "土:%d 水:%d 火:%d 风:%d", CHAR_getWorkInt( index, CHAR_WORKFIXEARTHAT ), CHAR_getWorkInt( index, CHAR_WORKFIXWATERAT ), CHAR_getWorkInt( index, CHAR_WORKFIXFIREAT ), @@ -786,7 +786,7 @@ void CHAR_CHAT_DEBUG_info( int charindex , char *message ) snprintf( line, sizeof( line), - "Status :%d :%d Ĭ:%d ʯ:%d :%d :%d" , + "Status 毒:%d 麻:%d 默:%d 石:%d 暗:%d 乱:%d" , CHAR_getInt( index , CHAR_POISON ), CHAR_getInt( index , CHAR_PARALYSIS ), CHAR_getInt( index , CHAR_SLEEP ), @@ -795,7 +795,7 @@ void CHAR_CHAT_DEBUG_info( int charindex , char *message ) CHAR_getInt( index , CHAR_CONFUSION ) ); CHAR_talkToCli( charindex, -1 , line , CHAR_COLORWHITE ); -#ifdef _PERSONAL_FAME // Arminius: +#ifdef _PERSONAL_FAME // Arminius: 家族个人声望 snprintf( line, sizeof( line), #ifdef _NEW_MANOR_LAW "TitInd:%d FL:%d X:%d Y:%d DIR:%d FAME:%d MOMENTUM:%d" , @@ -875,7 +875,7 @@ void CHAR_CHAT_DEBUG_info( int charindex , char *message ) } snprintf( line, sizeof( line), - "levelup [%d], ۻ %d ij[%d]" , + "levelup [%d], 累积 %d 赌场积分[%d]" , CHAR_getInt( index, CHAR_LEVELUPPOINT), CHAR_getWorkInt( index, CHAR_WORKULTIMATE), CHAR_getInt( index, CHAR_GAMBLENUM) ); @@ -951,7 +951,7 @@ void CHAR_CHAT_DEBUG_sysinfo( int charindex , char *message ) ss=(int) new_t; snprintf( msg, sizeof( msg ) , - "start: %d days %d hours %d min %d sec",dd,hh,mm,ss); + "start: %d days %d hours %d min %d sec。",dd,hh,mm,ss); CHAR_talkToCli( charindex, -1, msg, CHAR_COLORYELLOW ); { @@ -959,7 +959,7 @@ void CHAR_CHAT_DEBUG_sysinfo( int charindex , char *message ) CHAR_talkToCli( charindex, -1, msg, CHAR_COLORYELLOW); } snprintf( msg, sizeof( msg ) , - "NPC_createnum:%d",NPC_createnum); + "NPC_createnum:%d。",NPC_createnum); CHAR_talkToCli( charindex, -1, msg, CHAR_COLORYELLOW ); } @@ -971,7 +971,7 @@ void CHAR_CHAT_DEBUG_announce(int charindex , char *message ) int playernum = CHAR_getPlayerMaxNum(); #ifdef _CAX_DENGON_GG char token[256]; - sprintf(token, "%s %s", getGameservername(), message); + sprintf(token, "≮%s服务器公告≯ %s", getGameservername(), message); #endif for( i = 0 ; i < playernum ; i++) { if( CHAR_getCharUse(i) != FALSE ) { @@ -986,7 +986,7 @@ void CHAR_CHAT_DEBUG_announce(int charindex , char *message ) } } -void CHAR_CHAT_DEBUG_laba(int charindex , char *message ) // С +void CHAR_CHAT_DEBUG_laba(int charindex , char *message ) //紫云 小喇叭 { int i; int playernum = CHAR_getPlayerMaxNum(); @@ -994,17 +994,17 @@ void CHAR_CHAT_DEBUG_laba(int charindex , char *message ) // char *MyName = CHAR_getChar( charindex,CHAR_NAME ); for( i = 0 ; i < playernum ; i++) { if( CHAR_getCharUse(i) != FALSE ) { - sprintf( labamsg, "<С>%s˵%s", MyName, message); + sprintf( labamsg, "<小喇叭>%s玩家说:%s", MyName, message); CHAR_talkToCli( i, -1, labamsg, CHAR_COLORGREEN); } } } -void CHAR_CHAT_DEBUG_dalaba(int charindex , char *message ) // +void CHAR_CHAT_DEBUG_dalaba(int charindex , char *message ) //紫云 大喇叭 { if(strlen(message)<1) return; char dalababuf[512]; - sprintf(dalababuf,"ȫ桿%s",message); + sprintf(dalababuf,"【全服公告】:%s",message); system_all_talk(dalababuf); } @@ -1028,19 +1028,19 @@ void CHAR_CHAT_DEBUG_level( int charaindex, char* message ) } if (i>=playernum) { - CHAR_talkToCli( charaindex, -1, "˺Ų~", CHAR_COLORYELLOW ); + CHAR_talkToCli( charaindex, -1, "此账号不在线~", CHAR_COLORYELLOW ); return; } CHAR_setInt(i,CHAR_LV, atoi( message )); CHAR_send_P_StatusString( i , CHAR_P_STRING_LV|CHAR_P_STRING_NEXTEXP); - sprintf( token, "[GM]%sĵȼΪ%d!", CHAR_getChar( charaindex, CHAR_NAME),level); + sprintf( token, "[GM]%s把你的等级设置为%d!", CHAR_getChar( charaindex, CHAR_NAME),level); CHAR_talkToCli( i, -1, token, CHAR_COLORYELLOW ); - sprintf( token, "%sĵȼΪ%d!", CHAR_getChar( i, CHAR_NAME),level); + sprintf( token, "玩家%s的等级设置为%d!", CHAR_getChar( i, CHAR_NAME),level); CHAR_talkToCli( charaindex, -1,token, CHAR_COLORYELLOW ); }else{ CHAR_setInt(charaindex,CHAR_LV, atoi( message )); CHAR_send_P_StatusString( charaindex , CHAR_P_STRING_LV|CHAR_P_STRING_NEXTEXP); - sprintf( token, "ȼΪ%d!",level); + sprintf( token, "等级设置为%d!",level); CHAR_talkToCli( charaindex, -1,token, CHAR_COLORYELLOW ); } @@ -1066,19 +1066,19 @@ void CHAR_CHAT_DEBUG_exp( int charaindex, char* message ) } if (i>=playernum) { - CHAR_talkToCli( charaindex, -1, "˺Ų~", CHAR_COLORYELLOW ); + CHAR_talkToCli( charaindex, -1, "此账号不在线~", CHAR_COLORYELLOW ); return; } CHAR_setMaxExp( i, atoi( exp )); CHAR_send_P_StatusString( i , CHAR_P_STRING_EXP); - sprintf( token, "[GM]%sľΪ%d!", CHAR_getChar( charaindex, CHAR_NAME),(int)atoi(exp)); + sprintf( token, "[GM]%s把你的经验设置为%d!", CHAR_getChar( charaindex, CHAR_NAME),(int)atoi(exp)); CHAR_talkToCli( i, -1, token, CHAR_COLORYELLOW ); - sprintf( token, "%sľΪ%d!", CHAR_getChar( i, CHAR_NAME),(int)atoi(exp)); + sprintf( token, "玩家%s的经验设置为%d!", CHAR_getChar( i, CHAR_NAME),(int)atoi(exp)); CHAR_talkToCli( charaindex, -1,token, CHAR_COLORYELLOW ); }else{ CHAR_setMaxExp( charaindex, atoi( exp )); CHAR_send_P_StatusString( charaindex , CHAR_P_STRING_EXP); - sprintf( token, "Ϊ%d!",(int)atoi(exp)/100); + sprintf( token, "经验设置为%d!",(int)atoi(exp)/100); CHAR_talkToCli( charaindex, -1,token, CHAR_COLORYELLOW ); } } @@ -1096,12 +1096,12 @@ void CHAR_CHAT_DEBUG_delitem( int charindex , char *message ) LogItem( CHAR_getChar( charindex, CHAR_NAME ), CHAR_getChar( charindex, CHAR_CDKEY ), -#ifdef _add_item_log_name // WON ADD itemlogitem +#ifdef _add_item_log_name // WON ADD 在item的log中增加item名称 itemid, #else ITEM_getInt( itemid, ITEM_ID ), #endif - "DelItem(ɾGM)", + "DelItem(删除道具GM)", CHAR_getInt( charindex,CHAR_FLOOR), CHAR_getInt( charindex,CHAR_X ), CHAR_getInt( charindex,CHAR_Y ), @@ -1117,7 +1117,7 @@ void CHAR_CHAT_DEBUG_delitem( int charindex , char *message ) int equipplace; equipplace = atoi( message); if( equipplace < CHAR_STARTITEMARRAY || equipplace > CHAR_MAXITEMHAVE -1 ) { - CHAR_talkToCli( charindex, -1, "벻ȷ", CHAR_COLORWHITE); + CHAR_talkToCli( charindex, -1, "号码不正确。", CHAR_COLORWHITE); return; } itemid = CHAR_getItemIndex(charindex, equipplace); @@ -1126,12 +1126,12 @@ void CHAR_CHAT_DEBUG_delitem( int charindex , char *message ) LogItem( CHAR_getChar( charindex, CHAR_NAME ), CHAR_getChar( charindex, CHAR_CDKEY ), -#ifdef _add_item_log_name // WON ADD itemlogitem +#ifdef _add_item_log_name // WON ADD 在item的log中增加item名称 itemid, #else ITEM_getInt( itemid, ITEM_ID ), #endif - "DelItem(ɾGM)", + "DelItem(删除道具GM)", CHAR_getInt( charindex,CHAR_FLOOR), CHAR_getInt( charindex,CHAR_X ), CHAR_getInt( charindex,CHAR_Y ), @@ -1144,7 +1144,7 @@ void CHAR_CHAT_DEBUG_delitem( int charindex , char *message ) } } -#ifdef _CHAR_PROFESSION // WON ADD ְҵ +#ifdef _CHAR_PROFESSION // WON ADD 人物职业 void CHAR_CHAT_DEBUG_addsk( int charaindex, char* message ) { @@ -1160,7 +1160,7 @@ void CHAR_CHAT_DEBUG_addsk( int charaindex, char* message ) level = atoi(msg2); if( level > 100 ){ - CHAR_talkToCli( charaindex, -1, "ȼȷ", CHAR_COLORWHITE); + CHAR_talkToCli( charaindex, -1, "等级不正确", CHAR_COLORWHITE); return; } if( level < 1 ) level = 1; @@ -1171,7 +1171,7 @@ void CHAR_CHAT_DEBUG_addsk( int charaindex, char* message ) pSkil = CHAR_getCharHaveSkill( charaindex, i ); skill_id = SKILL_getInt( &pSkil->skill, SKILL_IDENTITY); if( skill == skill_id && skill_id != -1 ){ - CHAR_talkToCli(charaindex,-1, "Ѿѧϰ˼", CHAR_COLORYELLOW); + CHAR_talkToCli(charaindex,-1, "你已经学习过此技能", CHAR_COLORYELLOW); return; } @@ -1182,7 +1182,7 @@ void CHAR_CHAT_DEBUG_addsk( int charaindex, char* message ) } if( i >= CHAR_SKILLMAXHAVE ){ - CHAR_talkToCli(charaindex,-1, "Ѵ", CHAR_COLORYELLOW); + CHAR_talkToCli(charaindex,-1, "技能数量已达上限", CHAR_COLORYELLOW); return; }else{ level *= 100; @@ -1201,7 +1201,7 @@ void CHAR_CHAT_DEBUG_delsk( int charaindex, char* message ) CHAR_HaveSkill *pSkil; if( strcmp( message, "all" ) == 0 ){ - CHAR_talkToCli( charaindex, -1, "м", CHAR_COLORWHITE); + CHAR_talkToCli( charaindex, -1, "清除所有技能", CHAR_COLORWHITE); for( i = CHAR_SKILLMAXHAVE-1; i >= 0; i -- ){ pSkil = CHAR_getCharHaveSkill( charaindex, i ); if( pSkil == NULL )continue; @@ -1220,7 +1220,7 @@ void CHAR_CHAT_DEBUG_delsk( int charaindex, char* message ) } if( i < 0 ){ - CHAR_talkToCli( charaindex, -1, "޷ˡ", CHAR_COLORWHITE); + CHAR_talkToCli( charaindex, -1, "已无法再削减了。", CHAR_COLORWHITE); ;; }else{ SKILL_makeSkillData( &pSkil->skill, 0, 0 ); @@ -1273,7 +1273,7 @@ void CHAR_CHAT_GetMap( int charaindex, char* message ){ { char szBuffer[64]; - snprintf( szBuffer, sizeof( szBuffer ), "ͼƬ= %d; = %d", + snprintf( szBuffer, sizeof( szBuffer ), "图片= %d; 对象= %d", tile, obj ); CHAR_talkToCli( charaindex, -1, szBuffer, CHAR_COLORWHITE); } @@ -1302,9 +1302,9 @@ void CHAR_CHAT_Map( int charaindex, char* message ){ { char szBuffer[64]; - snprintf( szBuffer, sizeof( szBuffer ), "ͼƬ%d => %d", tile, fixtile ); + snprintf( szBuffer, sizeof( szBuffer ), "图片:%d => %d", tile, fixtile ); CHAR_talkToCli( charaindex, -1, szBuffer, CHAR_COLORWHITE); - snprintf( szBuffer, sizeof( szBuffer ), "%d => %d", obj, fixobj ); + snprintf( szBuffer, sizeof( szBuffer ), "对象:%d => %d", obj, fixobj ); CHAR_talkToCli( charaindex, -1, szBuffer, CHAR_COLORWHITE); } @@ -1353,9 +1353,9 @@ void CHAR_CHAT_Fixtile( int charaindex, char* message ){ { char szBuffer[64]; - snprintf( szBuffer, sizeof( szBuffer ), "ͼƬ%d => %d", tile, fixtile ); + snprintf( szBuffer, sizeof( szBuffer ), "图片:%d => %d", tile, fixtile ); CHAR_talkToCli( charaindex, -1, szBuffer, CHAR_COLORWHITE); - snprintf( szBuffer, sizeof( szBuffer ), "%d => %d", obj, obj ); + snprintf( szBuffer, sizeof( szBuffer ), "对象:%d => %d", obj, obj ); CHAR_talkToCli( charaindex, -1, szBuffer, CHAR_COLORWHITE); } @@ -1404,9 +1404,9 @@ void CHAR_CHAT_Fixobj( int charaindex, char* message ){ { char szBuffer[64]; - snprintf( szBuffer, sizeof( szBuffer ), "ͼƬ%d => %d", tile, tile ); + snprintf( szBuffer, sizeof( szBuffer ), "图片:%d => %d", tile, tile ); CHAR_talkToCli( charaindex, -1, szBuffer, CHAR_COLORWHITE); - snprintf( szBuffer, sizeof( szBuffer ), "%d => %d", obj, fixobj ); + snprintf( szBuffer, sizeof( szBuffer ), "对象:%d => %d", obj, fixobj ); CHAR_talkToCli( charaindex, -1, szBuffer, CHAR_COLORWHITE); } @@ -1445,7 +1445,7 @@ void CHAR_CHAT_Fukuwa( int charaindex, char* message ){ stringlen = strlen( message ); if( message[0] == '[' && message[stringlen-1] == ']' ){ - CHAR_talkToCli( charaindex, -1, "ûת", CHAR_COLORWHITE); + CHAR_talkToCli( charaindex, -1, "语言没有转换。", CHAR_COLORWHITE); return ; } @@ -1495,7 +1495,7 @@ void CHAR_CHAT_DEBUG_superman( int charaindex, char* message ) } if (i>=playernum) { - CHAR_talkToCli( charaindex, -1, "˺Ų~", CHAR_COLORYELLOW ); + CHAR_talkToCli( charaindex, -1, "此账号不在线~", CHAR_COLORYELLOW ); return; } CHAR_setInt(charaindex,CHAR_SKILLUPPOINT, 0); @@ -1515,9 +1515,9 @@ void CHAR_CHAT_DEBUG_superman( int charaindex, char* message ) CHAR_complianceParameter( charaindex ); CHAR_sendStatusString( charaindex , "P"); - sprintf( token, "[GM]%sΪ״̬!", CHAR_getChar( charaindex, CHAR_NAME)); + sprintf( token, "[GM]%s把你为超人状态!", CHAR_getChar( charaindex, CHAR_NAME)); CHAR_talkToCli( i, -1, token, CHAR_COLORYELLOW ); - sprintf( token, "%sΪ״̬!", CHAR_getChar( i, CHAR_NAME)); + sprintf( token, "玩家%s设置为超人状态!", CHAR_getChar( i, CHAR_NAME)); CHAR_talkToCli( charaindex, -1,token, CHAR_COLORYELLOW ); }else{ CHAR_setInt(charaindex,CHAR_SKILLUPPOINT, 0); @@ -1537,7 +1537,7 @@ void CHAR_CHAT_DEBUG_superman( int charaindex, char* message ) CHAR_complianceParameter( charaindex ); CHAR_sendStatusString( charaindex , "P"); - CHAR_talkToCli( charaindex, -1,"ó״̬!", CHAR_COLORYELLOW ); + CHAR_talkToCli( charaindex, -1,"设置超人状态!", CHAR_COLORYELLOW ); } #undef CHAT_CHAT_DEBUG_SUPERMAN_PARAMDEF @@ -1548,7 +1548,7 @@ void CHAR_CHAT_printcount( int charaindex, char* message ) char msgbuf[512]; snprintf( msgbuf,sizeof( msgbuf), - "˵ %d λ, %d ·, %d ", + "你说了 %d 次话,走了 %d 步路,死了 %d 次", CHAR_getInt( charaindex, CHAR_TALKCOUNT), CHAR_getInt( charaindex, CHAR_WALKCOUNT), CHAR_getInt( charaindex, CHAR_DEADCOUNT) @@ -1599,7 +1599,7 @@ void CHAR_CHAT_DEBUG_petmake( int charaindex, char* message ) } if (j>=playernum) { - CHAR_talkToCli( charaindex, -1, "˺Ų~", CHAR_COLORYELLOW ); + CHAR_talkToCli( charaindex, -1, "此账号不在线~", CHAR_COLORYELLOW ); return; } enemynum = ENEMY_getEnemyNum(); @@ -1613,9 +1613,9 @@ void CHAR_CHAT_DEBUG_petmake( int charaindex, char* message ) ret = ENEMY_createPetFromEnemyIndex( j, i); if( !CHAR_CHECKINDEX( ret))return; - sprintf( token, "[GM]%s%s!", CHAR_getChar( charaindex, CHAR_NAME),ENEMY_getChar( i, ENEMY_NAME)); + sprintf( token, "[GM]%s制作了%s给你!", CHAR_getChar( charaindex, CHAR_NAME),ENEMY_getChar( i, ENEMY_NAME)); CHAR_talkToCli( j, -1, token, CHAR_COLORYELLOW ); - sprintf( token, "%s%sɹ!", CHAR_getChar( j, CHAR_NAME),ENEMY_getChar( i, ENEMY_NAME)); + sprintf( token, "给玩家%s的%s制作成功!", CHAR_getChar( j, CHAR_NAME),ENEMY_getChar( i, ENEMY_NAME)); CHAR_talkToCli( charaindex, -1,token, CHAR_COLORYELLOW ); for( i = 0; i < CHAR_MAXPETHAVE; i ++ ){ if( CHAR_getCharPet( j, i ) == ret )break; @@ -1636,7 +1636,7 @@ void CHAR_CHAT_DEBUG_petmake( int charaindex, char* message ) level = level - CHAR_getInt( ret, CHAR_LV ); if( level > 0 ){ int k; - for( k = 1; k <= level; k ++ ){ // + for( k = 1; k <= level; k ++ ){ //升级 CHAR_PetLevelUp( ret ); CHAR_PetAddVariableAi( ret, AI_FIX_PETLEVELUP ); CHAR_setInt( ret, CHAR_LV, CHAR_getInt( ret, CHAR_LV) +1 ); @@ -1661,7 +1661,7 @@ void CHAR_CHAT_DEBUG_petmake( int charaindex, char* message ) ret = ENEMY_createPetFromEnemyIndex(charaindex, i); if( !CHAR_CHECKINDEX( ret))return; - snprintf( token,sizeof( token), "%sɹ!",ENEMY_getChar( i, ENEMY_NAME)); + snprintf( token,sizeof( token), "%s制作成功!",ENEMY_getChar( i, ENEMY_NAME)); CHAR_talkToCli( charaindex, -1, token, CHAR_COLORWHITE); for( i = 0; i < CHAR_MAXPETHAVE; i ++ ){ @@ -1679,7 +1679,7 @@ void CHAR_CHAT_DEBUG_petmake( int charaindex, char* message ) level = level - CHAR_getInt( ret, CHAR_LV ); if( level > 0 ){ int k; - for( k = 1; k <= level; k ++ ){ // + for( k = 1; k <= level; k ++ ){ //升级 CHAR_PetLevelUp( ret ); CHAR_PetAddVariableAi( ret, AI_FIX_PETLEVELUP ); CHAR_setInt( ret, CHAR_LV, CHAR_getInt( ret, CHAR_LV) +1 ); @@ -1718,7 +1718,7 @@ void CHAR_CHAT_DEBUG_deletepet( int charaindex, char* message ) } } - CHAR_talkToCli( charaindex, -1, "г", CHAR_COLORWHITE); + CHAR_talkToCli( charaindex, -1, "清除身上所有宠物。", CHAR_COLORWHITE); } @@ -1735,36 +1735,36 @@ void CHAR_CHAT_DEBUG_reset( int charaindex, char* message ) break; } if( i >= MAXMESS_LISTNUM ){ - CHAR_talkToCli( charaindex, -1, "ָ", CHAR_COLORRED);//CHAR_COLORYELLOW + CHAR_talkToCli( charaindex, -1, "指令错误", CHAR_COLORRED);//CHAR_COLORYELLOW return; } switch( i){ case ALLRESET: case 0: if( !ENEMYTEMP_reinitEnemy() || !ENEMY_reinitEnemy() ){ - CHAR_talkToCli( charaindex, -1, "¶ȡ˻ʧܡ", CHAR_COLORRED); + CHAR_talkToCli( charaindex, -1, "重新读取敌人基本资料失败。", CHAR_COLORRED); return; } if( i != ALLRESET ) break; case 1: if( !GROUP_reinitGroup() || !ENCOUNT_reinitEncount() ){ - CHAR_talkToCli( charaindex, -1, "¶ȡŶʧܡ", CHAR_COLORRED); + CHAR_talkToCli( charaindex, -1, "重新读取遭遇团队资料失败。", CHAR_COLORRED); } if( i != ALLRESET ) break; case 2: if( !MAGIC_reinitMagic() || !ATTMAGIC_reinitMagic() ) { - CHAR_talkToCli( charaindex, -1, "¶ȡʧܡ", CHAR_COLORRED); + CHAR_talkToCli( charaindex, -1, "重新读取咒术资料失败。", CHAR_COLORRED); } if( i != ALLRESET ) break; case 3: MAPPOINT_resetMapWarpPoint( 1); if( !MAPPOINT_loadMapWarpPoint() ){ - CHAR_talkToCli( charaindex, -1, "¶ȡԾʧܡ", CHAR_COLORRED); + CHAR_talkToCli( charaindex, -1, "重新读取跳跃点资料失败。", CHAR_COLORRED); } if( i != ALLRESET ) break; case 4: if( !PETSKILL_reinitPetskill() ) { - CHAR_talkToCli( charaindex, -1, "¶ȡ\ʧܡ", CHAR_COLORRED); + CHAR_talkToCli( charaindex, -1, "重新读取宠物技能资料失败。", CHAR_COLORRED); } if( i != ALLRESET ) break; case 5: @@ -1773,62 +1773,62 @@ void CHAR_CHAT_DEBUG_reset( int charaindex, char* message ) break; case 6: if( !NPC_reloadNPC() ) { - CHAR_talkToCli( charaindex, -1, "NPCʧܡ", CHAR_COLORRED); + CHAR_talkToCli( charaindex, -1, "重新NPC资料失败。", CHAR_COLORRED); } if( i != ALLRESET ) break; break; } - CHAR_talkToCli( charaindex, -1, "¶ȡϷϡ", CHAR_COLORYELLOW); + CHAR_talkToCli( charaindex, -1, "重新读取游戏资料。", CHAR_COLORYELLOW); } void CHAR_CHAT_DEBUG_enemyrestart( int charaindex, char* message ) { if( ENEMYTEMP_reinitEnemy()) { - CHAR_talkToCli( charaindex, -1, "ٴζȡ˻ϡ", CHAR_COLORWHITE); + CHAR_talkToCli( charaindex, -1, "再次读取敌人基本资料。", CHAR_COLORWHITE); }else { - CHAR_talkToCli( charaindex, -1, "ٴζȡ˻ʧܡ", CHAR_COLORWHITE); + CHAR_talkToCli( charaindex, -1, "再次读取敌人基本资料失败。", CHAR_COLORWHITE); } if( ENEMY_reinitEnemy()) { - CHAR_talkToCli( charaindex, -1, "ٴζȡϡ", CHAR_COLORWHITE); + CHAR_talkToCli( charaindex, -1, "再次读取敌人资料。", CHAR_COLORWHITE); }else { - CHAR_talkToCli( charaindex, -1, "ٴζȡ˻ʧܡ", CHAR_COLORWHITE); + CHAR_talkToCli( charaindex, -1, "再次读取敌人基本资料失败。", CHAR_COLORWHITE); } if( GROUP_reinitGroup()) { - CHAR_talkToCli( charaindex, -1, "ٴζȡŶϡ", CHAR_COLORWHITE); + CHAR_talkToCli( charaindex, -1, "再次读取团队资料。", CHAR_COLORWHITE); }else { - CHAR_talkToCli( charaindex, -1, "ٴζȡŶʧܡ", CHAR_COLORWHITE); + CHAR_talkToCli( charaindex, -1, "再次读取团队资料失败。", CHAR_COLORWHITE); } if( ENCOUNT_reinitEncount()) { - CHAR_talkToCli( charaindex, -1, "ٴζȡϡ", CHAR_COLORWHITE); + CHAR_talkToCli( charaindex, -1, "再次读取遭遇资料。", CHAR_COLORWHITE); } else { - CHAR_talkToCli( charaindex, -1, "ٴζȡʧܡ", CHAR_COLORWHITE); + CHAR_talkToCli( charaindex, -1, "再次读取遭遇资料失败。", CHAR_COLORWHITE); } if( MAGIC_reinitMagic()) { - CHAR_talkToCli( charaindex, -1, "ٴζȡϡ", CHAR_COLORWHITE); + CHAR_talkToCli( charaindex, -1, "再次读取咒术资料。", CHAR_COLORWHITE); } else { - CHAR_talkToCli( charaindex, -1, "ٴζȡʧܡ", CHAR_COLORWHITE); + CHAR_talkToCli( charaindex, -1, "再次读取咒术资料失败。", CHAR_COLORWHITE); } #ifdef _ATTACK_MAGIC if( ATTMAGIC_reinitMagic() ) - CHAR_talkToCli( charaindex , -1 , "ٴζȡϡ" , CHAR_COLORWHITE ); + CHAR_talkToCli( charaindex , -1 , "再次读取咒术资料。" , CHAR_COLORWHITE ); else - CHAR_talkToCli( charaindex , -1 , "ٴζȡʧܡ" , CHAR_COLORWHITE ); + CHAR_talkToCli( charaindex , -1 , "再次读取咒术资料失败。" , CHAR_COLORWHITE ); #endif if( PETSKILL_reinitPetskill()) { - CHAR_talkToCli( charaindex, -1, "ٴζȡ\ϡ", CHAR_COLORWHITE); + CHAR_talkToCli( charaindex, -1, "再次读取宠物技能资料。", CHAR_COLORWHITE); } else { - CHAR_talkToCli( charaindex, -1, "ٴζȡ\ʧܡ", CHAR_COLORWHITE); + CHAR_talkToCli( charaindex, -1, "再次读取宠物技能资料失败。", CHAR_COLORWHITE); } LoadPetTalk(); // Arminius 8.15 pet talk - CHAR_talkToCli( charaindex, -1, "ٴζȡイϡ", CHAR_COLORWHITE); + CHAR_talkToCli( charaindex, -1, "再次读取宠物讲话资料。", CHAR_COLORWHITE); } @@ -1842,10 +1842,10 @@ void CHAR_CHAT_DEBUG_battlewatch( int charaindex, char* message ) } } -// shan 2001/12/18 Begin 춸ı࣬ʽԭȵfunctionע +// shan 2001/12/18 Begin 由於改变过多,故将原先的function注掉 void CHAR_CHAT_DEBUG_eventclean( int charaindex, char* message ) { -#ifdef _ADD_NEWEVENT // WON +#ifdef _ADD_NEWEVENT // WON 多增任务旗标 int event_num = 8; #else int event_num = 6; @@ -1875,7 +1875,7 @@ void CHAR_CHAT_DEBUG_eventclean( int charaindex, char* message ) find=TRUE; }else{ if( shiftbit==-1 || strlen(token_cdkey)==0 || strlen(token_name)==0 ){ - sprintf( token, "%s", "ȷȷʽ[eventsetend ʺ ]"); + sprintf( token, "%s", "参数不正确。正确格式:[eventsetend 任务旗标 帐号 人物名称]"); CHAR_talkToCli( charaindex, -1, token, CHAR_COLORWHITE); return; } @@ -1913,7 +1913,7 @@ void CHAR_CHAT_DEBUG_eventclean( int charaindex, char* message ) CHAR_setInt( charaindex_tmp, CHAR_NOWEVENT5, 0); CHAR_setInt( charaindex_tmp, CHAR_NOWEVENT6, 0); #endif -#ifdef _ADD_NEWEVENT // WON +#ifdef _ADD_NEWEVENT // WON 多增任务旗标 CHAR_setInt( charaindex_tmp, CHAR_ENDEVENT7, 0); CHAR_setInt( charaindex_tmp, CHAR_NOWEVENT7, 0); CHAR_setInt( charaindex_tmp, CHAR_ENDEVENT8, 0); @@ -1935,7 +1935,7 @@ void CHAR_CHAT_DEBUG_eventclean( int charaindex, char* message ) CHAR_setInt( charaindex_tmp, CHAR_ENDEVENT16, 0); CHAR_setInt( charaindex_tmp, CHAR_NOWEVENT16, 0); #endif - sprintf( token, "ȫ¼졣" ); + sprintf( token, "削除全部的事件旗。" ); CHAR_talkToCli( charaindex, -1,token, CHAR_COLORWHITE); return ; } @@ -1946,7 +1946,7 @@ void CHAR_CHAT_DEBUG_eventclean( int charaindex, char* message ) shift = shiftbit % 32; if( array>=event_num ){ - sprintf( token, "󣡣ѳ Χ(0~%d)",32*event_num-1); + sprintf( token, "错误!!你所设的任务旗标编号已超过 围(0~%d)。",32*event_num-1); CHAR_talkToCli( charaindex, -1, token, CHAR_COLORWHITE); return; } @@ -1962,7 +1962,7 @@ void CHAR_CHAT_DEBUG_eventclean( int charaindex, char* message ) shift = (shiftbit-255) % 32; if( array>=event_num ){ - sprintf( token, "󣡣ѳ Χ(0~%d)",32*event_num-1); + sprintf( token, "错误!!你所设的任务旗标编号已超过 围(0~%d)。",32*event_num-1); CHAR_talkToCli( charaindex, -1, token, CHAR_COLORWHITE); return; } @@ -1982,18 +1982,18 @@ void CHAR_CHAT_DEBUG_eventclean( int charaindex, char* message ) sprintf( token, "%s %s", token_cdkey, token_name); //CHAR_CHAT_DEBUG_watchevent( charaindex, token ); }else{ - sprintf( token,"%s\n","ʧܣʺ޷"); + sprintf( token,"%s\n","失败!!帐号与人物名称无法相符。"); CHAR_talkToCli(charaindex, -1, token, CHAR_COLORWHITE); } } // shan 2001/12/15 End -// shan 2001/12/18 Begin 춸ı࣬ʽԭȵfunctionע +// shan 2001/12/18 Begin 由於改变过多,故将原先的function注掉 void CHAR_CHAT_DEBUG_eventsetnow( int charaindex, char* message ) { -#ifdef _ADD_NEWEVENT // WON +#ifdef _ADD_NEWEVENT // WON 多增任务旗标 int event_num = 8; #else int event_num = 6; @@ -2024,7 +2024,7 @@ void CHAR_CHAT_DEBUG_eventsetnow( int charaindex, char* message ) } else{ if( shiftbit==-1 || strlen(token_cdkey)==0 || strlen(token_name)==0 ){ - sprintf( token, "%s", "ȷȷʽ[eventsetend ʺ ]"); + sprintf( token, "%s", "参数不正确。正确格式:[eventsetend 任务旗标 帐号 人物名称]"); CHAR_talkToCli( charaindex, -1, token, CHAR_COLORWHITE); return; } @@ -2054,7 +2054,7 @@ void CHAR_CHAT_DEBUG_eventsetnow( int charaindex, char* message ) CHAR_setInt( charaindex_tmp, CHAR_NOWEVENT5, -1); CHAR_setInt( charaindex_tmp, CHAR_NOWEVENT6, -1); #endif -#ifdef _ADD_NEWEVENT // WON +#ifdef _ADD_NEWEVENT // WON 多增任务旗标 CHAR_setInt( charaindex_tmp, CHAR_NOWEVENT7, -1); CHAR_setInt( charaindex_tmp, CHAR_NOWEVENT8, -1); CHAR_setInt( charaindex_tmp, CHAR_NOWEVENT9, -1); @@ -2077,7 +2077,7 @@ void CHAR_CHAT_DEBUG_eventsetnow( int charaindex, char* message ) shift = shiftbit % 32; if( array>=event_num ){ - sprintf( token, "󣡣ѳΧ(0~%d)",32*event_num-1); + sprintf( token, "错误!!你所设的任务旗标编号已超过范围(0~%d)。",32*event_num-1); CHAR_talkToCli( charaindex, -1, token, CHAR_COLORWHITE); return; } @@ -2090,7 +2090,7 @@ void CHAR_CHAT_DEBUG_eventsetnow( int charaindex, char* message ) shift = (shiftbit-255) % 32; if( array>=event_num ){ - sprintf( token, "󣡣ѳΧ(0~%d)",32*event_num-1); + sprintf( token, "错误!!你所设的任务旗标编号已超过范围(0~%d)。",32*event_num-1); CHAR_talkToCli( charaindex, -1, token, CHAR_COLORWHITE); return; } @@ -2107,7 +2107,7 @@ void CHAR_CHAT_DEBUG_eventsetnow( int charaindex, char* message ) sprintf( token, "%s %s", token_cdkey, token_name); CHAR_CHAT_DEBUG_watchevent( charaindex, token ); }else{ - sprintf( token,"%s\n","ʧܣʺ޷"); + sprintf( token,"%s\n","失败!!帐号与人物名称无法相符。"); CHAR_talkToCli(charaindex, -1, token, CHAR_COLORWHITE); } } @@ -2123,7 +2123,7 @@ void CHAR_CHAT_DEBUG_eventsetnow( int charaindex, char* message ) shiftbit=atoi(message); eventno=atoi(message); - // -1׷º绥ئì + // -1反白仿弘卞楮溢互卅中奶矛件玄 if(shiftbit==-1) return; array = shiftbit / 32; @@ -2133,16 +2133,16 @@ void CHAR_CHAT_DEBUG_eventsetnow( int charaindex, char* message ) point = point | (1 << shift); CHAR_setInt(charaindex,CHAR_NOWEVENT+array,point); - sprintf( token, "趨¼%d졣",eventno); + sprintf( token, "设定事件中%d号旗。",eventno); CHAR_talkToCli( charaindex, -1,token, CHAR_COLORWHITE); }*/ // shan 2001/12/18 End -// shan 2001/12/15 Begin 춸ı࣬ʽԭȵfunctionע +// shan 2001/12/15 Begin 由於改变过多,故将原先的function注掉 void CHAR_CHAT_DEBUG_eventsetend( int charaindex, char* message ) { -#ifdef _ADD_NEWEVENT // WON +#ifdef _ADD_NEWEVENT // WON 多增任务旗标 int event_num = 8; #else int event_num = 6; @@ -2172,7 +2172,7 @@ void CHAR_CHAT_DEBUG_eventsetend( int charaindex, char* message ) } else{ if( shiftbit==-1 || strlen(token_cdkey)==0 || strlen(token_name)==0 ){ - sprintf( token, "%s", "ȷȷʽ[eventsetend ʺ ]"); + sprintf( token, "%s", "参数不正确。正确格式:[eventsetend 任务旗标 帐号 人物名称]"); CHAR_talkToCli( charaindex, -1, token, CHAR_COLORWHITE); return; } @@ -2202,7 +2202,7 @@ void CHAR_CHAT_DEBUG_eventsetend( int charaindex, char* message ) CHAR_setInt( charaindex_tmp, CHAR_ENDEVENT5, -1); CHAR_setInt( charaindex_tmp, CHAR_ENDEVENT6, -1); #endif -#ifdef _ADD_NEWEVENT // WON +#ifdef _ADD_NEWEVENT // WON 多增任务旗标 CHAR_setInt( charaindex_tmp, CHAR_ENDEVENT7, -1); CHAR_setInt( charaindex_tmp, CHAR_ENDEVENT8, -1); CHAR_setInt( charaindex_tmp, CHAR_ENDEVENT9, -1); @@ -2225,7 +2225,7 @@ void CHAR_CHAT_DEBUG_eventsetend( int charaindex, char* message ) shift = shiftbit % 32; if( array>=event_num ){ - sprintf( token, "󣡣ѳ Χ(0~%d)",32*event_num-1); + sprintf( token, "错误!!你所设的任务旗标编号已超过 围(0~%d)。",32*event_num-1); CHAR_talkToCli( charaindex, -1, token, CHAR_COLORWHITE); return; } @@ -2238,7 +2238,7 @@ void CHAR_CHAT_DEBUG_eventsetend( int charaindex, char* message ) shift = (shiftbit-255) % 32; if( array>=event_num ){ - sprintf( token, "󣡣ѳ Χ(0~%d)",32*event_num-1); + sprintf( token, "错误!!你所设的任务旗标编号已超过 围(0~%d)。",32*event_num-1); CHAR_talkToCli( charaindex, -1, token, CHAR_COLORWHITE); return; } @@ -2255,7 +2255,7 @@ void CHAR_CHAT_DEBUG_eventsetend( int charaindex, char* message ) sprintf( token, "%s %s", token_cdkey, token_name); CHAR_CHAT_DEBUG_watchevent( charaindex, token ); }else{ - sprintf( token,"%s\n","ʧܣʺ޷"); + sprintf( token,"%s\n","失败!!帐号与人物名称无法相符。"); CHAR_talkToCli(charaindex, -1, token, CHAR_COLORYELLOW); } @@ -2275,7 +2275,7 @@ void CHAR_CHAT_DEBUG_debug( int charaindex, char* message ) CHAR_setWorkInt( charaindex, CHAR_WORKDEBUGMODE, FALSE); } CHAR_send_P_StatusString( charaindex, CHAR_P_STRING_DEBUGMODE); - snprintf( msgbuf, sizeof( msgbuf), "趨ģʽΪ%s", + snprintf( msgbuf, sizeof( msgbuf), "已设定除错模式为%s。", ( flg == TRUE) ? "ON" : "OFF"); CHAR_talkToCli( charaindex, -1, msgbuf, CHAR_COLORYELLOW); @@ -2301,19 +2301,19 @@ void CHAR_CHAT_DEBUG_dp( int charindex , char *message ) } if (i>=playernum) { - CHAR_talkToCli( charindex, -1, "˺Ų~", CHAR_COLORYELLOW ); + CHAR_talkToCli( charindex, -1, "此账号不在线~", CHAR_COLORYELLOW ); return; } CHAR_setInt( i , CHAR_DUELPOINT, atoi( dp ) ); CHAR_send_P_StatusString( i ,CHAR_P_STRING_DUELPOINT ); - sprintf( token, "[GM]%sDPΪ%d!", CHAR_getChar( charindex, CHAR_NAME),(int)atoi(dp)); + sprintf( token, "[GM]%s把你的DP设置为%d!", CHAR_getChar( charindex, CHAR_NAME),(int)atoi(dp)); CHAR_talkToCli( i, -1, token, CHAR_COLORYELLOW ); - sprintf( token, "%sDPΪ%d!", CHAR_getChar( i, CHAR_NAME),(int)atoi(dp)); + sprintf( token, "玩家%s的DP设置为%d!", CHAR_getChar( i, CHAR_NAME),(int)atoi(dp)); CHAR_talkToCli( charindex, -1,token, CHAR_COLORYELLOW ); }else{ CHAR_setInt( charindex , CHAR_DUELPOINT, atoi( dp ) ); CHAR_send_P_StatusString( charindex ,CHAR_P_STRING_DUELPOINT ); - sprintf( token, "DPΪ%d!",(int)atoi(dp)); + sprintf( token, "DP设置为%d!",(int)atoi(dp)); CHAR_talkToCli( charindex, -1,token, CHAR_COLORYELLOW ); } } @@ -2323,7 +2323,7 @@ void CHAR_CHAT_DEBUG_arrange( int charindex , char *message ) { CHAR_setWorkInt( charindex, CHAR_WORKFIXARRANGE, atoi( message) ); CHAR_complianceParameter( charindex ); - CHAR_talkToCli( charindex, -1, "趨", CHAR_COLORYELLOW); + CHAR_talkToCli( charindex, -1, "设定挡格", CHAR_COLORYELLOW); } #endif @@ -2333,7 +2333,7 @@ void CHAR_CHAT_DEBUG_sequence( int charindex , char *message ) { CHAR_setWorkInt( charindex, CHAR_WORKFIXSEQUENCE, atoi( message) ); CHAR_complianceParameter( charindex ); - CHAR_talkToCli( charindex, -1, "趨˳", CHAR_COLORYELLOW); + CHAR_talkToCli( charindex, -1, "设定顺序", CHAR_COLORYELLOW); } #endif @@ -2346,17 +2346,17 @@ void CHAR_CHAT_DEBUG_setmerge_main( int charaindex, char* message, int mode ) int itemindex; if( !CHAR_CHECKITEMINDEX( charaindex, haveitemindex) ){ - CHAR_talkToCli( charaindex, -1, "֡", CHAR_COLORWHITE); + CHAR_talkToCli( charaindex, -1, "号码很奇怪。", CHAR_COLORWHITE); return; } itemindex = CHAR_getItemIndex( charaindex, haveitemindex); if( !ITEM_CHECKINDEX( itemindex)) { - CHAR_talkToCli( charaindex, -1, "ôǷûκε,鱨֡", CHAR_COLORWHITE); + CHAR_talkToCli( charaindex, -1, "该处是否没有任何道具,情报亦很奇怪。", CHAR_COLORWHITE); return; } ITEM_setInt( itemindex, ITEM_MERGEFLG, mode); - CHAR_talkToCli( charaindex, -1, "׷º뼰ëף", CHAR_COLORWHITE); + CHAR_talkToCli( charaindex, -1, "宁岳白仿弘及丑综毛仄引仄凶[", CHAR_COLORWHITE); CHAR_sendItemDataOne( charaindex, haveitemindex); } @@ -2432,21 +2432,21 @@ void CHAR_CHAT_DEBUG_setTrans( int charaindex, char *message) } if (i>=playernum) { - CHAR_talkToCli( charaindex, -1, "˺Ų~", CHAR_COLORYELLOW ); + CHAR_talkToCli( charaindex, -1, "此账号不在线~", CHAR_COLORYELLOW ); return; } CHAR_setInt(i, CHAR_TRANSEQUATION, 0); CHAR_setInt(i, CHAR_TRANSMIGRATION, atoi( setTrans )); CHAR_sendCToArroundCharacter( CHAR_getWorkInt( i, CHAR_WORKOBJINDEX )); - sprintf( token, "[GM]%sתΪ%dת!", CHAR_getChar( charaindex, CHAR_NAME),(int)atoi(setTrans)); + sprintf( token, "[GM]%s把你转生设置为%d转!", CHAR_getChar( charaindex, CHAR_NAME),(int)atoi(setTrans)); CHAR_talkToCli( i, -1, token, CHAR_COLORYELLOW ); - sprintf( token, "%sתΪ%dת!", CHAR_getChar( i, CHAR_NAME),(int)atoi(setTrans)); + sprintf( token, "玩家%s转生设置为%d转!", CHAR_getChar( i, CHAR_NAME),(int)atoi(setTrans)); CHAR_talkToCli( charaindex, -1,token, CHAR_COLORYELLOW ); }else{ CHAR_setInt(charaindex, CHAR_TRANSEQUATION, 0); CHAR_setInt(charaindex, CHAR_TRANSMIGRATION, atoi( setTrans )); CHAR_sendCToArroundCharacter( CHAR_getWorkInt( charaindex, CHAR_WORKOBJINDEX )); - sprintf( token, "תΪ%dת!",(int)atoi(setTrans)); + sprintf( token, "转生设置为%d转!",(int)atoi(setTrans)); CHAR_talkToCli( charaindex, -1,token, CHAR_COLORYELLOW ); } } @@ -2463,12 +2463,12 @@ void CHAR_CHAT_DEBUG_shutup(int charindex ,char *message) easyGetTokenFromString( message , 1 , token, sizeof(token)); easyGetTokenFromString( message , 2 , token1, sizeof(token1)); if( strlen(message)==0){ - sprintf(buf,"%s","ȷ"); + sprintf(buf,"%s","参数不正确"); CHAR_talkToCli( charindex, -1,buf, CHAR_COLORYELLOW); return; } if( strlen(token1)==0){ - sprintf(buf,"%s","ȷ--> ON OFF"); + sprintf(buf,"%s","参数不正确--> ON OFF"); CHAR_talkToCli( charindex, -1,buf, CHAR_COLORYELLOW); return; } @@ -2485,7 +2485,7 @@ void CHAR_CHAT_DEBUG_shutup(int charindex ,char *message) CONNECT_set_shutup(i,TRUE); //print("\n ʺ"); + sprintf(buf,"%s","参数不正确-> 帐号"); CHAR_talkToCli( charindex, -1,buf, CHAR_COLORWHITE); return; } easyGetTokenFromString( message , 1 , token, sizeof(token)); if( strlen(token)==0){ - sprintf(buf,"%s","ȷ"); + sprintf(buf,"%s","参数不正确"); CHAR_talkToCli( charindex, -1,buf, CHAR_COLORWHITE); return; } @@ -2609,8 +2609,8 @@ void CHAR_CHAT_DEBUG_waeikick( int charindex, char* message ) }else #endif { - sprintf(kcmsg,"%s",szName); - CHAR_talkToCli(i, -1, "¶ߡ", CHAR_COLORYELLOW); + sprintf(kcmsg,"%s挤出服务器。",szName); + CHAR_talkToCli(i, -1, "因做坏事而断线。", CHAR_COLORYELLOW); CONNECT_setCloseRequest( getfdFromCharaIndex(i) , 1 ); //print( "\nWAEIKICK cdkey=%s", cdkey); } @@ -2628,13 +2628,13 @@ void CHAR_CHAT_DEBUG_waeikickall( int charindex, char* message ) char token[256]; int tlv=0; if( strlen(message)==0){ - sprintf(buf,"%s","ȷ-> ȼ"); + sprintf(buf,"%s","参数不正确-> 等级"); CHAR_talkToCli( charindex, -1,buf, CHAR_COLORWHITE); return; } easyGetTokenFromString( message , 1 , token, sizeof(token)); if( strlen(token)==0){ - sprintf(buf,"%s","ȷ"); + sprintf(buf,"%s","参数不正确"); CHAR_talkToCli( charindex, -1,buf, CHAR_COLORWHITE); return; } @@ -2666,13 +2666,13 @@ void CHAR_CHAT_DEBUG_jail( int charindex, char* message ) Char *chwk; if( strlen(message)==0){ - sprintf(buf,"%s","ȷ-> ʺ"); + sprintf(buf,"%s","参数不正确-> 帐号"); CHAR_talkToCli( charindex, -1,buf, CHAR_COLORWHITE); return; } easyGetTokenFromString( message , 1 , token, sizeof(token)); if( strlen(token)==0){ - sprintf(buf,"%s","ȷ"); + sprintf(buf,"%s","参数不正确"); CHAR_talkToCli( charindex, -1,buf, CHAR_COLORWHITE); return; } @@ -2687,8 +2687,8 @@ void CHAR_CHAT_DEBUG_jail( int charindex, char* message ) fd_charaindex = i; strcpy(szName,CHAR_getChar(i,CHAR_NAME)); //CONNECT_getCharname( i, szName, sizeof( szName ) ); - sprintf(kcmsg,"%sץؽѡ",szName); - CHAR_talkToCli(fd_charaindex, -1, "̫", CHAR_COLORYELLOW); + sprintf(kcmsg,"%s抓入地窖。",szName); + CHAR_talkToCli(fd_charaindex, -1, "因长相太差而入狱。", CHAR_COLORYELLOW); CHAR_setInt(fd_charaindex,CHAR_FLOOR,117); CHAR_setInt(fd_charaindex,CHAR_X,225); CHAR_setInt(fd_charaindex,CHAR_Y,13); @@ -2715,9 +2715,9 @@ void CHAR_CHAT_DEBUG_jail( int charindex, char* message ) }//for i if(find){ #ifdef _GM_KING - sprintf(kctalk,"%sħʩչ޵ץ֡ץץץץץץѡ",CHAR_getChar(charindex,CHAR_NAME)); + sprintf(kctalk,"%s大魔王施展超无敌抓奶手「抓抓抓抓抓抓.......把」",CHAR_getChar(charindex,CHAR_NAME)); #else - sprintf(kctalk,"ȴħʩչ޵ץ֡ץץץץץץѡ"); + sprintf(kctalk,"极度大魔王施展超无敌抓奶手「抓抓抓抓抓抓.......把」"); #endif // for(i=0;i FLOOR X Y ʺ"); + sprintf(buf,"%s","参数不正确-> FLOOR X Y 帐号"); CHAR_talkToCli( charindex, -1,buf, CHAR_COLORWHITE); return; } easyGetTokenFromString( message , 1 , token, sizeof(token)); if( strlen(token)==0){ - sprintf(buf,"%s","ȷ-->ͼ"); + sprintf(buf,"%s","参数不正确-->地图编号"); CHAR_talkToCli( charindex, -1,buf, CHAR_COLORWHITE); return; } fl=atoi( token ); easyGetTokenFromString( message , 2 , token, sizeof(token)); if( strlen(token)==0){ - sprintf(buf,"%s","ȷ-->X "); + sprintf(buf,"%s","参数不正确-->X座标 "); CHAR_talkToCli( charindex, -1,buf, CHAR_COLORWHITE); return; } x = atoi( token ); easyGetTokenFromString( message , 3 , token, sizeof(token)); if( strlen(token)==0){ - sprintf(buf,"%s","ȷ-->Y "); + sprintf(buf,"%s","参数不正确-->Y座标 "); CHAR_talkToCli( charindex, -1,buf, CHAR_COLORWHITE); return; } @@ -2815,10 +2815,10 @@ void CHAR_CHAT_DEBUG_send(int charindex ,char *message) fd_charaindex = CONNECT_getCharaindex( i ); CHAR_warpToSpecificPoint(fd_charaindex, fl, x, y); snprintf( line, sizeof( line), - ":%s ˺:%s ͵ FL=%d X=%d Y=%d", + "把名称:%s 账号:%s 传送到 FL=%d X=%d Y=%d", szName,cdkey,fl,x,y); CHAR_talkToCli( charindex, -1 , line , CHAR_COLORWHITE ); - CHAR_talkToCli( fd_charaindex, -1 ,".ȴħ", CHAR_COLORWHITE ); + CHAR_talkToCli( fd_charaindex, -1 ,"*.*被极度大魔王传送", CHAR_COLORWHITE ); } } } @@ -2835,8 +2835,8 @@ void CHAR_CHAT_DEBUG_noenemy( int charaindex, char* message ) int fd=CHAR_getWorkInt( charaindex, CHAR_WORKFD); setEqNoenemy(fd, 0); } - snprintf( msgbuf, sizeof( msgbuf), "ģʽ%s", - ( flg == TRUE) ? "" : "ر"); + snprintf( msgbuf, sizeof( msgbuf), "不遇敌模式%s。", + ( flg == TRUE) ? "开启" : "关闭"); CHAR_talkToCli( charaindex, -1, msgbuf, CHAR_COLORWHITE); } @@ -2852,7 +2852,7 @@ void CHAR_CHAT_DEBUG_loginannounce( int charaindex, char* message ) if (message == NULL) return; if( strlen(message)==0){ - sprintf(buf,"%s","ȷ-> clear/add/send Сд"); + sprintf(buf,"%s","参数不正确-> clear/add/send 请用小写"); CHAR_talkToCli(charaindex, -1, buf, CHAR_COLORWHITE); return; } @@ -2860,7 +2860,7 @@ void CHAR_CHAT_DEBUG_loginannounce( int charaindex, char* message ) if (strcmp(cmd,"clear")==0) { FILE *f=fopen(ANNOUNCEFILE,"w"); - strcpy(buf, "ʯʱ\n"); + strcpy(buf, "石器时代公告\n"); fwrite(buf, strlen(buf), 1, f); fclose(f); LoadAnnounce(); @@ -2870,14 +2870,14 @@ void CHAR_CHAT_DEBUG_loginannounce( int charaindex, char* message ) easyGetTokenFromString(message, 2, say, sizeof(say)); if (strlen(say)==0) { - sprintf(buf,"%s","ȷ"); + sprintf(buf,"%s","参数不正确"); CHAR_talkToCli(charaindex, -1, buf, CHAR_COLORWHITE); return; } if (!(f=fopen(ANNOUNCEFILE,"a+"))) { f=fopen(ANNOUNCEFILE,"w"); - strcpy(buf, "ʯʱ\n"); + strcpy(buf, "石器时代公告\n"); fwrite(buf, strlen(buf), 1, f); } fwrite(say, strlen(say), 1, f); @@ -2894,7 +2894,7 @@ void CHAR_CHAT_DEBUG_loginannounce( int charaindex, char* message ) LoadAnnounce(); CHAR_talkToCli(charaindex, -1, "OK, loginannounce loaded.", CHAR_COLORWHITE); } else { - sprintf(buf,"%s","ȷ-> clear/add/send (Сд)"); + sprintf(buf,"%s","参数不正确-> clear/add/send (请用小写)"); CHAR_talkToCli(charaindex, -1, buf, CHAR_COLORWHITE); return; } @@ -2904,7 +2904,7 @@ void CHAR_CHAT_DEBUG_checklock( int charaindex, char* message ) { char cmd[256]; if( strlen(message)==0){ - CHAR_talkToCli(charaindex, -1, "ȷ", CHAR_COLORWHITE); + CHAR_talkToCli(charaindex, -1, "参数不正确", CHAR_COLORWHITE); return; } easyGetTokenFromString( message, 1, cmd, sizeof(cmd)); @@ -2919,7 +2919,7 @@ void CHAR_CHAT_DEBUG_unlock( int charaindex, char* message ) #endif if( strlen(message)==0){ - CHAR_talkToCli(charaindex, -1, "ȷ", CHAR_COLORWHITE); + CHAR_talkToCli(charaindex, -1, "参数不正确", CHAR_COLORWHITE); return; } easyGetTokenFromString(message, 1, cmd, sizeof(cmd)); @@ -2935,7 +2935,7 @@ void CHAR_CHAT_DEBUG_unlockserver( int charaindex, char* message ) char cmd[256]; if( strlen(message)==0){ - CHAR_talkToCli(charaindex, -1, "ȷ", CHAR_COLORWHITE); + CHAR_talkToCli(charaindex, -1, "参数不正确", CHAR_COLORWHITE); return; } easyGetTokenFromString(message, 1, cmd, sizeof(cmd)); @@ -2948,24 +2948,24 @@ void CHAR_CHAT_DEBUG_fixfmdata(int charaindex, char *message) int i,index = -1,charindex = -1,iPlayerNum = CHAR_getPlayerMaxNum(); if(message == NULL || getStringFromIndexWithDelim(message," ",1,szFamilyID,sizeof(szFamilyID)) == FALSE){ - CHAR_talkToCli(charaindex, -1, "ȷ [fixfmdata <ʺ(or -1)> ]",CHAR_COLORRED); + CHAR_talkToCli(charaindex, -1, "参数不正确 [fixfmdata <家族ID> <帐号(or -1)> ]",CHAR_COLORRED); return; } if(message == NULL || getStringFromIndexWithDelim(message," ",2,szID,sizeof(szID)) == FALSE){ - CHAR_talkToCli(charaindex, -1, "ȷ [fixfmdata <ʺ(or -1)> ]",CHAR_COLORRED); + CHAR_talkToCli(charaindex, -1, "参数不正确 [fixfmdata <家族ID> <帐号(or -1)> ]",CHAR_COLORRED); return; } if(message == NULL || getStringFromIndexWithDelim(message," ",3,szCmd,sizeof(szCmd)) == FALSE){ - CHAR_talkToCli(charaindex, -1, "ȷ [fixfmdata <ʺ(or -1)> ]",CHAR_COLORRED); + CHAR_talkToCli(charaindex, -1, "参数不正确 [fixfmdata <家族ID> <帐号(or -1)> ]",CHAR_COLORRED); return; } if(message == NULL || getStringFromIndexWithDelim(message," ",4,szData,sizeof(szData)) == FALSE){ - CHAR_talkToCli(charaindex, -1, "ȷ [fixfmdata <ʺ(or -1)> ]",CHAR_COLORRED); + CHAR_talkToCli(charaindex, -1, "参数不正确 [fixfmdata <家族ID> <帐号(or -1)> ]",CHAR_COLORRED); return; } index = atoi(szFamilyID); if(index < 1 || index > 1000){ - CHAR_talkToCli(charaindex,-1,"id ֵ", CHAR_COLORRED); + CHAR_talkToCli(charaindex,-1,"id 值错误", CHAR_COLORRED); return; } index -= 1; @@ -2979,16 +2979,16 @@ void CHAR_CHAT_DEBUG_fixfmdata(int charaindex, char *message) } } if(charindex == -1){ - CHAR_talkToCli(charaindex,-1,"Ҳʺŵ", CHAR_COLORRED); + CHAR_talkToCli(charaindex,-1,"找不到此帐号的人物", CHAR_COLORRED); return; } if(CHAR_getInt(charindex,CHAR_FMINDEX) == -1){ - CHAR_talkToCli(charaindex,-1,"ʺŵûм", CHAR_COLORRED); + CHAR_talkToCli(charaindex,-1,"此帐号的人物没有家族", CHAR_COLORRED); return; } else{ if(CHAR_getWorkInt(charindex,CHAR_WORKFMINDEXI) != index){ - CHAR_talkToCli(charaindex,-1,"ʺŵIDļID", CHAR_COLORRED); + CHAR_talkToCli(charaindex,-1,"此帐号的人物家族ID与输入的家族ID不符", CHAR_COLORRED); return; } } @@ -2998,7 +2998,7 @@ void CHAR_CHAT_DEBUG_fixfmdata(int charaindex, char *message) saacproto_ACGMFixFMData_send(acfd,index,szID,szCmd,szData,getFdidFromCharaIndex(charaindex)); } -// WON ADD 峤 +// WON ADD 修正族长问题 void CHAR_CHAT_DEBUG_fixfmleader(int charaindex, char *message) { char token[256], cmd[256], id[16]; @@ -3007,7 +3007,7 @@ void CHAR_CHAT_DEBUG_fixfmleader(int charaindex, char *message) if (strlen(message) == 0) { - CHAR_talkToCli(charaindex, -1, "ȷ [fixfmleader ʺ 1]", CHAR_COLORWHITE); + CHAR_talkToCli(charaindex, -1, "参数不正确 [fixfmleader 帐号 1]", CHAR_COLORWHITE); return; } @@ -3015,7 +3015,7 @@ void CHAR_CHAT_DEBUG_fixfmleader(int charaindex, char *message) sprintf(id, token); // id easyGetTokenFromString(message, 2, token, sizeof(token)); - flag = atoi(token); // flag ִ꣬ 1 + flag = atoi(token); // flag 执行旗标,输入 1 就行了 for(i=0;i id]"); + sprintf(buf,"%s","参数不正确。 [manorpk id]"); CHAR_talkToCli(charaindex, -1, buf, CHAR_COLORWHITE); return; } @@ -3107,7 +3107,7 @@ void CHAR_CHAT_DEBUG_manorpk(int charaindex, char *message) easyGetTokenFromString(message, 2, cmd, sizeof(cmd)); manorid=atoi(cmd); if ((manorid<1)||(manorid>MANORNUM)) { - sprintf(buf,"%s","ȷ id 1~10 ֮䡣"); + sprintf(buf,"%s","参数不正确。 id 必须在 1~10 之间。"); CHAR_talkToCli(charaindex, -1, buf, CHAR_COLORWHITE); return; } @@ -3120,7 +3120,7 @@ void CHAR_CHAT_DEBUG_manorpk(int charaindex, char *message) #ifdef _NEW_MANOR_LAW CHAR_setWorkInt(i,CHAR_NPCWORKINT6,tm1.tm_mday); #endif - sprintf(buf,"%d peace", CHAR_getWorkInt(i, CHAR_NPCWORKINT2)); + sprintf(buf,"%d peace。", CHAR_getWorkInt(i, CHAR_NPCWORKINT2)); CHAR_talkToCli(charaindex, -1, buf, CHAR_COLORWHITE); } } @@ -3134,7 +3134,7 @@ void CHAR_CHAT_DEBUG_manorpk(int charaindex, char *message) easyGetTokenFromString(message, 2, cmd, sizeof(cmd)); manorid=atoi(cmd); if ((manorid<1)||(manorid>MANORNUM)) { - sprintf(buf,"%s","ȷ id 1~9 ֮䡣"); + sprintf(buf,"%s","参数不正确。 id 必须在 1~9 之间。"); CHAR_talkToCli(charaindex, -1, buf, CHAR_COLORWHITE); return; } @@ -3164,7 +3164,7 @@ void CHAR_CHAT_DEBUG_manorpk(int charaindex, char *message) data = atoi( cmd); saacproto_ACreLoadFmData_send( acfd, type, data); }else { - sprintf(buf,"%s","ȷ [manorpk id]"); + sprintf(buf,"%s","参数不正确。 [manorpk id]"); CHAR_talkToCli(charaindex, -1, buf, CHAR_COLORWHITE); } } @@ -3180,7 +3180,7 @@ void CHAR_CHAT_DEBUG_shutdown(int charindex , char *message ) void CHAR_CHAT_DEBUG_watchevent( int charaindex, char* message ) { -#ifdef _ADD_NEWEVENT // WON +#ifdef _ADD_NEWEVENT // WON 多增任务旗标 int event_num = 8; #else int event_num = 6; @@ -3200,7 +3200,7 @@ void CHAR_CHAT_DEBUG_watchevent( int charaindex, char* message ) getStringFromIndexWithDelim( message, " ", 1, token_cdkey, sizeof( token_cdkey)); getStringFromIndexWithDelim( message, " ", 2, token_name, sizeof( token_name)); if( strlen(token_cdkey)==0 || strlen(token_name)==0 ){ - sprintf(buf,"%s","ȷȷʽ[wahctevent ʺ ]"); + sprintf(buf,"%s","参数不正确。正确格式:[wahctevent 帐号 人物名称]"); CHAR_talkToCli( charaindex, -1, buf, CHAR_COLORWHITE); return; } @@ -3260,7 +3260,7 @@ void CHAR_CHAT_DEBUG_watchevent( int charaindex, char* message ) } CHAR_talkToCli(charaindex, -1, buf, CHAR_COLORWHITE); }else{ - sprintf(buf,"%s\n","ʧܣʺ޷"); + sprintf(buf,"%s\n","失败!!帐号与人物名称无法相符。"); CHAR_talkToCli(charaindex, -1, buf, CHAR_COLORWHITE); } } @@ -3277,7 +3277,7 @@ void CHAR_CHAT_DEBUG_gmreload( int charaindex, char* message ) if (message == NULL) return; if (strlen(message) == 0) { - sprintf(buf,"%s","ȷ[gmreload all] [gmreload id level(1~3)] level 3:ʦ,2:鳤,1:һgm"); + sprintf(buf,"%s","参数不正确,[gmreload all] 或 [gmreload id level(1~3)] level 3:工程师,2:组长级,1:一般gm"); CHAR_talkToCli(charaindex, -1, buf, CHAR_COLORWHITE); return; } @@ -3295,13 +3295,13 @@ void CHAR_CHAT_DEBUG_gmreload( int charaindex, char* message ) { if (charlevel != 3) { - CHAR_talkToCli( charaindex, -1, "û޸ģǣ͵ȼȨޣ", CHAR_COLORWHITE); + CHAR_talkToCli( charaindex, -1, "你没有修改GM等级的权限!", CHAR_COLORWHITE); return; } if (LoadGMSet(getGMSetfile())) - CHAR_talkToCli( charaindex, -1, "ٴζȡǣͻ趨ϣˣ", CHAR_COLORWHITE); + CHAR_talkToCli( charaindex, -1, "再次读取GM基本设定OK!", CHAR_COLORWHITE); else - CHAR_talkToCli( charaindex, -1, "ٴζȡǣͻ趨ʧܣ", CHAR_COLORRED); + CHAR_talkToCli( charaindex, -1, "再次读取GM基本设定失败!", CHAR_COLORRED); } else { @@ -3311,7 +3311,7 @@ void CHAR_CHAT_DEBUG_gmreload( int charaindex, char* message ) level = atoi(clevel); if (level > 4 || level < 1 || level > gminfo[i].level) { - CHAR_talkToCli( charaindex, -1, "޸ʧܣ޷ʺŵȼ޸ĵıԼȼߣlevel(1~3)", CHAR_COLORWHITE); + CHAR_talkToCli( charaindex, -1, "修改失败,无法将此帐号等级修改的比自己等级高!level(1~3)", CHAR_COLORWHITE); return; } for (i = 0; i < GMMAXNUM; i++) @@ -3320,12 +3320,12 @@ void CHAR_CHAT_DEBUG_gmreload( int charaindex, char* message ) { if (gminfo[i].level > charlevel) { - snprintf(tmpbuf, sizeof(tmpbuf), "޸ʧܣ޷޸ĵȼԼߵʺţ"); + snprintf(tmpbuf, sizeof(tmpbuf), "修改失败,无法修改等级比自己高的帐号!"); CHAR_talkToCli(charaindex, -1, tmpbuf, CHAR_COLORWHITE); return; } gminfo[i].level = level; - snprintf(tmpbuf, sizeof(tmpbuf), "޸%sȼΪ%dϣˣ", gminfo[i].cdkey, gminfo[i].level); + snprintf(tmpbuf, sizeof(tmpbuf), "修改%s等级为%dOK!", gminfo[i].cdkey, gminfo[i].level); CHAR_talkToCli(charaindex, -1, tmpbuf, CHAR_COLORWHITE); changeflag = 1; break; @@ -3333,7 +3333,7 @@ void CHAR_CHAT_DEBUG_gmreload( int charaindex, char* message ) } if (changeflag == 0) { - snprintf(tmpbuf, sizeof(tmpbuf), "ǣбв޴ʺţ޸ʧܣ"); + snprintf(tmpbuf, sizeof(tmpbuf), "GM列表中查无此帐号,修改失败!"); CHAR_talkToCli(charaindex, -1, tmpbuf, CHAR_COLORWHITE); } } @@ -3375,7 +3375,7 @@ void CHAR_CHAT_DEBUG_cleanfloor( int charaindex, char *message) goldnum++; } } - sprintf( buf, " :%dֻ:%dʯ:%d", petnum, itemnum, goldnum); + sprintf( buf, "清除 宠物:%d只,道具:%d个,石币:%d个。", petnum, itemnum, goldnum); CHAR_talkToCli( charaindex, -1, buf, CHAR_COLORYELLOW); return; } @@ -3417,7 +3417,7 @@ void CHAR_CHAT_DEBUG_setgamblenum( int charaindex, char *message ) if( set_num > 10000) set_num = 10000; CHAR_setInt( charaindex, CHAR_GAMBLENUM, set_num); - sprintf( buf,"ֳΪ%d㡣", CHAR_getInt( charaindex, CHAR_GAMBLENUM)); + sprintf( buf,"个人游乐场积分设为%d点。", CHAR_getInt( charaindex, CHAR_GAMBLENUM)); CHAR_talkToCli( charaindex, -1, buf, CHAR_COLORYELLOW); return; } @@ -3452,28 +3452,28 @@ void CHAR_CHAT_DEBUG_petlevelup( int charaindex, char* message ) } if (i>=playernum) { - CHAR_talkToCli( charaindex, -1, "˺Ų~", CHAR_COLORYELLOW ); + CHAR_talkToCli( charaindex, -1, "此账号不在线~", CHAR_COLORYELLOW ); return; } petindex = CHAR_getCharPet( i, petid); if( !CHAR_CHECKINDEX( petindex) ){ - sprintf( token, "%s%dû!", CHAR_getChar( i, CHAR_NAME),petid+1); + sprintf( token, "玩家%s宠物栏%d上没宠物!", CHAR_getChar( i, CHAR_NAME),petid+1); CHAR_talkToCli( i, -1, token, CHAR_COLORYELLOW ); return; } mylevel = CHAR_getInt( petindex, CHAR_LV); level = level-mylevel; - for( j = 1; j <= level; j ++ ){ // + for( j = 1; j <= level; j ++ ){ //升级 CHAR_PetLevelUp( petindex ); CHAR_PetAddVariableAi( petindex, AI_FIX_PETLEVELUP ); CHAR_setInt( petindex, CHAR_LV, CHAR_getInt( petindex, CHAR_LV) +1 ); } CHAR_complianceParameter( petindex ); CHAR_setInt( petindex , CHAR_HP , CHAR_getWorkInt( petindex , CHAR_WORKMAXHP ) ); - sprintf( token, "[GM]%s%dijΪ%d!", CHAR_getChar( charaindex, CHAR_NAME), + sprintf( token, "[GM]%s把你宠物栏%d的宠物设为%d级!", CHAR_getChar( charaindex, CHAR_NAME), petid+1, CHAR_getInt( petindex, CHAR_LV)); CHAR_talkToCli( i, -1, token, CHAR_COLORYELLOW ); - sprintf( token, "%sij%dijΪ%d!", CHAR_getChar( i, CHAR_NAME), + sprintf( token, "玩家%s的宠物栏%d的宠物设为%d级!", CHAR_getChar( i, CHAR_NAME), petid+1, CHAR_getInt( petindex, CHAR_LV)); CHAR_talkToCli( charaindex, -1,token, CHAR_COLORYELLOW ); snprintf( token, sizeof( token ), "K%d", petid ); @@ -3490,19 +3490,19 @@ void CHAR_CHAT_DEBUG_petlevelup( int charaindex, char* message ) }else{ petindex = CHAR_getCharPet( charaindex, petid); if( !CHAR_CHECKINDEX( petindex) ){ - sprintf( token, "ij%dû!", petid+1); + sprintf( token, "你的宠物栏%d上没宠物!", petid+1); CHAR_talkToCli( i, -1, token, CHAR_COLORYELLOW ); return; } mylevel = CHAR_getInt( petindex, CHAR_LV); level = level-mylevel; - for( j = 1; j <= level; j ++ ){ // + for( j = 1; j <= level; j ++ ){ //升级 CHAR_PetLevelUp( petindex ); CHAR_PetAddVariableAi( petindex, AI_FIX_PETLEVELUP ); CHAR_setInt( petindex, CHAR_LV, CHAR_getInt( petindex, CHAR_LV) +1 ); } CHAR_setInt( petindex , CHAR_HP , CHAR_getWorkInt( petindex , CHAR_WORKMAXHP ) ); - sprintf( token, "ѳ%dijΪ%d!", petid+1, CHAR_getInt( petindex, CHAR_LV)); + sprintf( token, "把宠物栏%d的宠物设为%d级!", petid+1, CHAR_getInt( petindex, CHAR_LV)); CHAR_talkToCli( charaindex, -1,token, CHAR_COLORYELLOW ); CHAR_complianceParameter( petindex ); snprintf( token, sizeof( token ), "K%d", petid ); @@ -3542,31 +3542,31 @@ void CHAR_CHAT_DEBUG_petexpup( int charaindex, char* message ) } if (i>=playernum) { - CHAR_talkToCli( charaindex, -1, "˺Ų~", CHAR_COLORYELLOW ); + CHAR_talkToCli( charaindex, -1, "此账号不在线~", CHAR_COLORYELLOW ); return; } petindex = CHAR_getCharPet( i, petid); if( !CHAR_CHECKINDEX( petindex) ){ - sprintf( token, "%s%dû!", CHAR_getChar( i, CHAR_NAME),petid+1); + sprintf( token, "玩家%s宠物栏%d上没宠物!", CHAR_getChar( i, CHAR_NAME),petid+1); CHAR_talkToCli( i, -1, token, CHAR_COLORYELLOW ); return; } CHAR_setMaxExp( petindex, atoi( exp )); CHAR_send_P_StatusString( i , CHAR_P_STRING_EXP); - sprintf( token, "[GM]%sľΪ%d!", CHAR_getChar( charaindex, CHAR_NAME),(int)atoi(exp)); + sprintf( token, "[GM]%s把你的经验设置为%d!", CHAR_getChar( charaindex, CHAR_NAME),(int)atoi(exp)); CHAR_talkToCli( i, -1, token, CHAR_COLORYELLOW ); - sprintf( token, "%sľΪ%d!", CHAR_getChar( i, CHAR_NAME),(int)atoi(exp)); + sprintf( token, "玩家%s的经验设置为%d!", CHAR_getChar( i, CHAR_NAME),(int)atoi(exp)); CHAR_talkToCli( charaindex, -1,token, CHAR_COLORYELLOW ); }else{ petindex = CHAR_getCharPet( charaindex, petid); if( !CHAR_CHECKINDEX( petindex) ){ - sprintf( token, "%s%dû!", CHAR_getChar( i, CHAR_NAME),petid+1); + sprintf( token, "玩家%s宠物栏%d上没宠物!", CHAR_getChar( i, CHAR_NAME),petid+1); CHAR_talkToCli( i, -1, token, CHAR_COLORYELLOW ); return; } CHAR_setMaxExp( petindex, atoi( exp )); CHAR_send_P_StatusString( charaindex , CHAR_P_STRING_EXP); - sprintf( token, "Ϊ%d!",(int)atoi(exp)/100); + sprintf( token, "经验设置为%d!",(int)atoi(exp)/100); CHAR_talkToCli( charaindex, -1,token, CHAR_COLORYELLOW ); } } @@ -3610,14 +3610,14 @@ void CHAR_CHAT_DEBUG_engineer( int charindex, char *message) } j=0; for( petNum=0; petNum= arraysizeof( gmset) ) { - CHAR_talkToCli(charindex, -1, "ȷ", CHAR_COLORYELLOW); + CHAR_talkToCli(charindex, -1, "参数不正确", CHAR_COLORYELLOW); return; } act = i; // WON FIX 5 --> 6 if( act < 0 || act > 6 ){ - CHAR_talkToCli(charindex, -1, "ȷ", CHAR_COLORYELLOW); + CHAR_talkToCli(charindex, -1, "参数不正确", CHAR_COLORYELLOW); return; } } saacproto_ACKick_send( acfd, cdkey, getFdidFromCharaIndex( charindex), act); } #endif -// WON ADD ָ +// WON ADD 当机指令 void CHAR_CHAT_DEBUG_crash(int charaindex , char *message) { int fd; @@ -3740,7 +3740,7 @@ void CHAR_CHAT_DEBUG_Toxication( int charaindex, char *message) { int fd = getfdFromCharaIndex( charaindex ); if( strstr( message, "TRUE") != 0){ - CHAR_talkToCli( charaindex, -1, "ж", CHAR_COLORYELLOW); + CHAR_talkToCli( charaindex, -1, "中毒", CHAR_COLORYELLOW); setToxication( fd, 1); }else { setToxication( fd, 0); @@ -3753,14 +3753,14 @@ void CHAR_CHAT_DEBUG_Toxication( int charaindex, char *message) void CHAR_CHAT_DEBUG_saveditem(int charaindex, char *message) { if( CHAR_SaveDepotItem( charaindex) == FALSE ){ - CHAR_talkToCli( charaindex, -1, "ʧܣ", CHAR_COLORYELLOW); + CHAR_talkToCli( charaindex, -1, "储存失败!", CHAR_COLORYELLOW); } } void CHAR_CHAT_DEBUG_insertditem(int charaindex, char *message) { if( CHAR_GetDepotItem( -1, charaindex) == FALSE ){ - CHAR_talkToCli( charaindex, -1, "ȡʧܣ", CHAR_COLORYELLOW); + CHAR_talkToCli( charaindex, -1, "读取失败!", CHAR_COLORYELLOW); } } @@ -3768,7 +3768,7 @@ void CHAR_CHAT_DEBUG_ShowMyDepotItems( int charaindex, char *message ) { if( !CHAR_CheckDepotItem( charaindex) ){ char token[256]; - sprintf( token, "δȡòֿ⡣"); + sprintf( token, "尚未取得仓库。"); CHAR_talkToCli( charaindex, -1, token, CHAR_COLORYELLOW); return; } @@ -3781,7 +3781,7 @@ void CHAR_CHAT_DEBUG_InSideMyDepotItems( int charaindex, char *message ) char token[256]; if( !CHAR_CheckDepotItem( charaindex) ){ - sprintf( token, "δȡòֿ⡣"); + sprintf( token, "尚未取得仓库。"); CHAR_talkToCli( charaindex, -1, token, CHAR_COLORYELLOW); return; } @@ -3798,7 +3798,7 @@ void CHAR_CHAT_DEBUG_InSideMyDepotItems( int charaindex, char *message ) break; } } - sprintf( token, "ת%dߡ", count); + sprintf( token, "转换%d个道具。", count); CHAR_talkToCli( charaindex, -1, token, CHAR_COLORYELLOW); } #endif @@ -3808,14 +3808,14 @@ void CHAR_CHAT_DEBUG_InSideMyDepotItems( int charaindex, char *message ) void CHAR_CHAT_DEBUG_savedpet(int charaindex, char *message) { if( CHAR_SaveDepotPet( charaindex) == FALSE ){ - CHAR_talkToCli( charaindex, -1, "ʧܣ", CHAR_COLORYELLOW); + CHAR_talkToCli( charaindex, -1, "储存失败!", CHAR_COLORYELLOW); } } void CHAR_CHAT_DEBUG_insertdpet(int charaindex, char *message) { if( CHAR_GetDepotPet( -1, charaindex) == FALSE ){ - CHAR_talkToCli( charaindex, -1, "ȡʧܣ", CHAR_COLORYELLOW); + CHAR_talkToCli( charaindex, -1, "读取失败!", CHAR_COLORYELLOW); } } @@ -3823,7 +3823,7 @@ void CHAR_CHAT_DEBUG_ShowMyDepotPets( int charaindex, char *message ) { if( !CHAR_CheckDepotPet( charaindex) ){ char token[256]; - sprintf( token, "δȡòֿ⡣"); + sprintf( token, "尚未取得仓库。"); CHAR_talkToCli( charaindex, -1, token, CHAR_COLORYELLOW); return; } @@ -3836,7 +3836,7 @@ void CHAR_CHAT_DEBUG_InSideMyDepotPets( int charaindex, char *message ) char token[256]; if( !CHAR_CheckDepotPet( charaindex) ){ - sprintf( token, "δȡòֿ⡣"); + sprintf( token, "尚未取得仓库。"); CHAR_talkToCli( charaindex, -1, token, CHAR_COLORYELLOW); return; } @@ -3858,7 +3858,7 @@ void CHAR_CHAT_DEBUG_InSideMyDepotPets( int charaindex, char *message ) break; } } - sprintf( token, "ת%d", count); + sprintf( token, "转换%d个宠物。", count); CHAR_talkToCli( charaindex, -1, token, CHAR_COLORYELLOW); } #endif @@ -3885,12 +3885,12 @@ void CHAR_CHAT_DEBUG_cleanfreepet(int charaindex, char *message) } if( delobjnum > 0 ){ char buf[256]; - sprintf( buf, "%d ó", delobjnum); + sprintf( buf, "清除%d 置宠物。", delobjnum); CHAR_talkToCli( charaindex, -1, buf, CHAR_COLORRED); } } -#ifdef _SEND_EFFECT // WON ADD ACѩЧ +#ifdef _SEND_EFFECT // WON ADD AC送下雪、下雨等特效 void CHAR_CHAT_DEBUG_sendeffect( int charaindex, char *message) { int i, j, effect, level; @@ -3993,14 +3993,14 @@ void CHAR_CHAT_DEBUG_checktime( int charaindex, char *message) { time_t newsec; char buf[256]; - char WKday[7][32]={"","һ","","","","",""}; + char WKday[7][32]={"日","一","二","三","四","五","六"}; struct tm *p; newsec = time( NULL); p = localtime( &newsec); // newsec = localtime( &newsec); - sprintf( buf, "죺%d%d%d %s %d:%d:%d ...newsec:%ld", + sprintf( buf, "今天:%d年%d月%d日 %s %d:%d:%d ...newsec:%ld。", (1900+p->tm_year), (1+p->tm_mon), p->tm_mday, WKday[p->tm_wday], p->tm_hour, p->tm_min, p->tm_sec, newsec ); CHAR_talkToCli( charaindex, -1, buf, CHAR_COLORRED); @@ -4026,13 +4026,13 @@ void CHAR_CHAT_DEBUG_checktime( int charaindex, char *message) p->tm_sec = atoi( buf); newsec = mktime( p); - sprintf( buf, "ȷ1%d%d%d %s %d:%d:%d ...newsec:%ld", + sprintf( buf, "确认1:%d年%d月%d日 %s %d:%d:%d ...newsec:%ld。", (1900+p->tm_year), (1+p->tm_mon), p->tm_mday, WKday[p->tm_wday], p->tm_hour, p->tm_min, p->tm_sec, newsec ); CHAR_talkToCli( charaindex, -1, buf, CHAR_COLORRED); p = localtime( &newsec); - sprintf( buf, "ȷ2%d%d%d %s %d:%d:%d ...newsec:%ld..time:%d", + sprintf( buf, "确认2:%d年%d月%d日 %s %d:%d:%d ...newsec:%ld..time:%d。", (1900+p->tm_year), (1+p->tm_mon), p->tm_mday, WKday[p->tm_wday], p->tm_hour, p->tm_min, p->tm_sec, newsec, (int)time(NULL)); CHAR_talkToCli( charaindex, -1, buf, CHAR_COLORRED); @@ -4082,12 +4082,12 @@ void CHAR_CHAT_DEBUG_playerspread( int charaindex, char *message) } -#ifdef _CHAR_PROFESSION // WON ADD ְҵ +#ifdef _CHAR_PROFESSION // WON ADD 人物职业 void CHAR_CHAT_DEBUG_set_regist( int charaindex, char*message ) { -#ifdef _MAGIC_RESIST_EQUIT // WON ADD ְҵװ +#ifdef _MAGIC_RESIST_EQUIT // WON ADD 职业抗性装备 char temp[128] = {0}, msg[128] = {0}; int f = 0, i = 0, t = 0; @@ -4102,7 +4102,7 @@ void CHAR_CHAT_DEBUG_set_regist( int charaindex, char*message ) CHAR_setWorkInt( charaindex, CHAR_WORK_I_SUIT, i ); CHAR_setWorkInt( charaindex, CHAR_WORK_T_SUIT, t ); - sprintf(msg, "(%d) ˮ(%d) 翹(%d)", + sprintf(msg, "火抗性(%d) 水抗性(%d) 电抗性(%d)", CHAR_getWorkInt( charaindex, CHAR_WORK_F_SUIT), CHAR_getWorkInt( charaindex, CHAR_WORK_I_SUIT), CHAR_getWorkInt( charaindex, CHAR_WORK_T_SUIT) @@ -4127,10 +4127,10 @@ void CHAR_CHAT_DEBUG_show_profession( int charaindex, char*message ) getStringFromIndexWithDelim( message, " ", 2, worker, sizeof(worker) ); getStringFromIndexWithDelim( message, " ", 3, value, sizeof(value) ); - if( strcmp(type, "restart") == 0 ){ // ض profession.txt - CHAR_talkToCli( charaindex, -1, "ض profession.txt", CHAR_COLORRED); + if( strcmp(type, "restart") == 0 ){ // 重读 profession.txt + CHAR_talkToCli( charaindex, -1, "重读 profession.txt", CHAR_COLORRED); rePROFESSION_initSkill(); - }else if( strcmp(type, "") != 0 ){ // ޸ְҵ + }else if( strcmp(type, "") != 0 ){ // 修改职业属性 if( strcmp(worker, "") != 0 ){ if( strcmp(value, "") != 0 ){ CHAR_setInt(charaindex, PROFESSION_CLASS+atoi(worker), atoi(value) ); @@ -4146,14 +4146,14 @@ void CHAR_CHAT_DEBUG_show_profession( int charaindex, char*message ) } #endif }else - CHAR_talkToCli( charaindex, -1, "ֵ", CHAR_COLORRED); + CHAR_talkToCli( charaindex, -1, "请输入数值", CHAR_COLORRED); }else - CHAR_talkToCli( charaindex, -1, "޸Ŀ1(ְҵ) 2(ְҵȼ) 3(ְҵֵ) 4(ʣŵ)", CHAR_COLORRED); + CHAR_talkToCli( charaindex, -1, "请输入修改项目:1(职业别) 2(职业等级) 3(职业经验值) 4(剩馀点数)", CHAR_COLORRED); } if( strcmp(type, "1") != 0 ){ memset(msg, 0, sizeof(msg)); - sprintf(msg, "ְҵ(%d) ְҵȼ(%d) ʣ(%d)", + sprintf(msg, "职业别(%d) 职业等级(%d) 剩余点数(%d)", CHAR_getInt(charaindex, PROFESSION_CLASS), CHAR_getInt(charaindex, PROFESSION_LEVEL), CHAR_getInt(charaindex, PROFESSION_SKILL_POINT) @@ -4201,7 +4201,7 @@ void CHAR_CHAT_DEBUG_samecode( int charaindex, char *message) } } if( j >= 3 ){ - CHAR_talkToCli( charaindex, -1, "", CHAR_COLORRED); + CHAR_talkToCli( charaindex, -1, "参数错误!", CHAR_COLORRED); return; } @@ -4270,7 +4270,7 @@ void CHAR_CHAT_DEBUG_silent(int charindex ,char *message) easyGetTokenFromString( message , 1 , token, sizeof(token)); easyGetTokenFromString( message , 2 , token1, sizeof(token1)); if( (strlen(message)==0) || (strlen(token1)==0) ){ - sprintf(buf,"%s","ȷ--> ʺ "); + sprintf(buf,"%s","参数不正确--> 帐号 分钟"); CHAR_talkToCli( charindex, -1,buf, CHAR_COLORWHITE); return; } @@ -4300,12 +4300,12 @@ void CHAR_CHAT_DEBUG_silent(int charindex ,char *message) //print("\n= 220 ){ CHAR_talkToCli( charindex, -1, token, CHAR_COLORYELLOW); - strcpy( token, "GMָ:"); + strcpy( token, "可用GM指令:"); } strcat( token, buf2); continue; }else{ if( strstr( buf1, buf) != NULL || strstr( buf2, buf) != NULL ){ - sprintf( token, "GMָ:[%s %s]", buf1, buf2); + sprintf( token, "GM指令:[%s %s]", buf1, buf2); CHAR_talkToCli( charindex, -1, token, CHAR_COLORYELLOW); } continue; @@ -4381,11 +4381,11 @@ void CHAR_CHAT_DEBUG_set_momentum( int charaindex, char* message ) } } if(i >= iPlayerNum){ - CHAR_talkToCli(charaindex,-1,"Ҳ",CHAR_COLORYELLOW); + CHAR_talkToCli(charaindex,-1,"找不到这名玩家",CHAR_COLORYELLOW); return; } CHAR_setInt(i,CHAR_MOMENTUM,id); - sprintf(szMsg,"Ŀǰֵ: %d",CHAR_getInt(i,CHAR_MOMENTUM)/100); + sprintf(szMsg,"目前气势值: %d",CHAR_getInt(i,CHAR_MOMENTUM)/100); CHAR_talkToCli(charaindex,-1,szMsg,CHAR_COLORYELLOW); sprintf(buf,"%d",id); fd = getfdFromCharaIndex(i); @@ -4401,32 +4401,32 @@ void CHAR_CHAT_DEBUG_set_manor_owner( int charindex, char* message ) char szId[8],szUseFlag[2],szFamilyNameOrID[64],szToken[4096],szFamilyIndex[8],szGetFamilyName[64]; if(message == NULL || getStringFromIndexWithDelim(message," ",1,szId,sizeof(szId)) == FALSE){ - CHAR_talkToCli(charindex,-1, "ȷ [set_manor_owner ׯ԰id(1~10) ʹ(0: 1:id) ƻid]", CHAR_COLORRED); + CHAR_talkToCli(charindex,-1, "参数不正确 [set_manor_owner 庄园id(1~10) 使用旗标(0:名称 1:id) 家族名称或id]", CHAR_COLORRED); return; } if(atoi(szId) < 1 || atoi(szId) > MANORNUM){ - CHAR_talkToCli(charindex,-1, "ׯ԰IDֵȷ(1~10)", CHAR_COLORRED); + CHAR_talkToCli(charindex,-1, "庄园ID值不正确(1~10)", CHAR_COLORRED); return; } if(getStringFromIndexWithDelim(message," ",2,szUseFlag,sizeof(szUseFlag)) == FALSE){ - CHAR_talkToCli(charindex,-1, "ȷ [set_manor_owner ׯ԰id(1~10) ʹ(0: 1:id) ƻid]", CHAR_COLORRED); + CHAR_talkToCli(charindex,-1, "参数不正确 [set_manor_owner 庄园id(1~10) 使用旗标(0:名称 1:id) 家族名称或id]", CHAR_COLORRED); return; } iUseFlag = atoi(szUseFlag); if(iUseFlag < 0 || iUseFlag > 1){ - CHAR_talkToCli(charindex,-1, "ʹֵȷ(0: 1:id)", CHAR_COLORRED); + CHAR_talkToCli(charindex,-1, "使用旗标值不正确(0:名称 1:id)", CHAR_COLORRED); return; } if(getStringFromIndexWithDelim(message," ",3,szFamilyNameOrID,sizeof(szFamilyNameOrID)) == FALSE){ - CHAR_talkToCli(charindex,-1, "ȷ [set_manor_owner ׯ԰id(1~10) ʹ(0: 1:id) ƻid]", CHAR_COLORRED); + CHAR_talkToCli(charindex,-1, "参数不正确 [set_manor_owner 庄园id(1~10) 使用旗标(0:名称 1:id) 家族名称或id]", CHAR_COLORRED); return; } if(iUseFlag == 1){ - // Ƿ + // 检查是否都是数字 for(i=0;i '9' || szFamilyNameOrID[i] < '0'){ - CHAR_talkToCli(charindex,-1, "idʽ", CHAR_COLORRED); + CHAR_talkToCli(charindex,-1, "家族id格式错误", CHAR_COLORRED); return; } } @@ -4443,10 +4443,10 @@ void CHAR_CHAT_DEBUG_set_manor_owner( int charindex, char* message ) else break; } if(index == -1){ - CHAR_talkToCli(charindex,-1,"Ҳ˼", CHAR_COLORRED); + CHAR_talkToCli(charindex,-1,"找不到此家族资料", CHAR_COLORRED); return; } - sprintf(szToken,"ׯ԰ %s 趨 %s ",szId,szGetFamilyName); + sprintf(szToken,"庄园 %s 设定给 %s 家族",szId,szGetFamilyName); saacproto_ACFixFMPoint_send(acfd,szGetFamilyName,index+1,index,szGetFamilyName,index+1,index,atoi(szId)); } else{ @@ -4464,10 +4464,10 @@ void CHAR_CHAT_DEBUG_set_manor_owner( int charindex, char* message ) } if(index == -1){ - CHAR_talkToCli(charindex,-1,"Ҳ˼", CHAR_COLORRED); + CHAR_talkToCli(charindex,-1,"找不到此家族资料", CHAR_COLORRED); return; } - sprintf(szToken,"ׯ԰ %s 趨 %s ",szId,szFamilyNameOrID); + sprintf(szToken,"庄园 %s 设定给 %s 家族",szId,szFamilyNameOrID); saacproto_ACFixFMPoint_send(acfd,szFamilyNameOrID,index+1,index,szFamilyNameOrID,index+1,index,atoi(szId)); } CHAR_talkToCli(charindex,-1,szToken,CHAR_COLORRED); @@ -4480,15 +4480,15 @@ void CHAR_CHAT_DEBUG_set_schedule_time( int charindex, char* message ) char szId[8],szTime[12],szMsg[128]; if(message == NULL || getStringFromIndexWithDelim(message," ",1,szId,sizeof(szId)) == FALSE){ - CHAR_talkToCli(charindex,-1, "ȷ [set_schedule_time ׯ԰id(1~9) ʱ()]", CHAR_COLORRED); + CHAR_talkToCli(charindex,-1, "参数不正确 [set_schedule_time 庄园id(1~9) 时间(分)]", CHAR_COLORRED); return; } if(atoi(szId) < 1 || atoi(szId) > MANORNUM){ - CHAR_talkToCli(charindex,-1, "ׯ԰IDֵȷ", CHAR_COLORRED); + CHAR_talkToCli(charindex,-1, "庄园ID值不正确", CHAR_COLORRED); return; } if(getStringFromIndexWithDelim(message," ",2,szTime,sizeof(szTime)) == FALSE){ - CHAR_talkToCli(charindex,-1, "ȷ [set_schedule_time ׯ԰id(1~9) ʱ()]", CHAR_COLORRED); + CHAR_talkToCli(charindex,-1, "参数不正确 [set_schedule_time 庄园id(1~9) 时间(分)]", CHAR_COLORRED); return; } for(i=0;i=MAXMISSIONTABLE) { - CHAR_talkToCli( charindex, -1, "Ųȷ", CHAR_COLORYELLOW); + CHAR_talkToCli( charindex, -1, "编号不正确", CHAR_COLORYELLOW); return; } if( missiontable[mindex].flag == MISSION_NONE ) { - CHAR_talkToCli( charindex, -1, "޴", CHAR_COLORYELLOW); + CHAR_talkToCli( charindex, -1, "无此资料", CHAR_COLORYELLOW); return; } saacproto_ACMissionTable_send( acfd, mindex, 3, "", ""); - sprintf( msg, " GMָ i:%d ʹ:%s :%s m:%d flg:%d time:%d lt:%d ", + sprintf( msg, " GM指令 清除任务资料 i:%d 使者:%s 勇者:%s m:%d flg:%d time:%d lt:%d ", mindex, missiontable[mindex].angelinfo, missiontable[mindex].heroinfo, missiontable[mindex].mission, missiontable[mindex].flag, missiontable[mindex].time, missiontable[mindex].limittime ); @@ -4588,7 +4588,7 @@ void CHAR_CHAT_DEBUG_angelclean(int charindex ,char *message) // LogAngel( msg); } -void CHAR_CHAT_DEBUG_angelcreate(int charindex ,char *message) // ʹ +void CHAR_CHAT_DEBUG_angelcreate(int charindex ,char *message) // 制造使者与勇者配对 { char angelid[256], heroid[256], buf[256]; int i; @@ -4596,21 +4596,21 @@ void CHAR_CHAT_DEBUG_angelcreate(int charindex ,char *message) // int angelindex =-1, heroindex =-1, mission =-1; if( getStringFromIndexWithDelim( message, " ", 1, angelid, sizeof(angelid) ) == FALSE ){ - CHAR_talkToCli( charindex, -1, "ȷ [angelcreate ʹʺ ʺ ]", CHAR_COLORRED); + CHAR_talkToCli( charindex, -1, "参数不正确 [angelcreate 使者帐号 勇者帐号 任务编号]", CHAR_COLORRED); return; } if( getStringFromIndexWithDelim( message, " ", 2, heroid, sizeof(heroid) ) == FALSE ){ - CHAR_talkToCli( charindex, -1, "ȷ [angelcreate ʹʺ ʺ ]", CHAR_COLORRED); + CHAR_talkToCli( charindex, -1, "参数不正确 [angelcreate 使者帐号 勇者帐号 任务编号]", CHAR_COLORRED); return; } if( getStringFromIndexWithDelim( message, " ", 3, buf, sizeof(buf) ) == FALSE ){ - CHAR_talkToCli( charindex, -1, "ȷ [angelcreate ʹʺ ʺ ]", CHAR_COLORRED); + CHAR_talkToCli( charindex, -1, "参数不正确 [angelcreate 使者帐号 勇者帐号 任务编号]", CHAR_COLORRED); return; } mission = atoi( buf); //if( mission <= 0 || mission >= MAXMISSION || missionlist[mission].id <= 0) { if( mission >= MAXMISSION ) { - CHAR_talkToCli( charindex, -1, "Ųȷ", CHAR_COLORRED); + CHAR_talkToCli( charindex, -1, "任务编号不正确", CHAR_COLORRED); return; } @@ -4627,12 +4627,12 @@ void CHAR_CHAT_DEBUG_angelcreate(int charindex ,char *message) // break; } if( angelindex == -1 || heroindex == -1 ) { - CHAR_talkToCli( charindex, -1, "Ҳʹ߻", CHAR_COLORRED); + CHAR_talkToCli( charindex, -1, "找不到使者或勇者", CHAR_COLORRED); return; } if( checkIfAngel( angelindex) != -1 || checkIfAngel( heroindex) != -1 ) { - CHAR_talkToCli( charindex, -1, "ʹ߻Ѿ", CHAR_COLORRED); + CHAR_talkToCli( charindex, -1, "使者或勇者已经有任务了", CHAR_COLORRED); return; } @@ -4642,14 +4642,14 @@ void CHAR_CHAT_DEBUG_angelcreate(int charindex ,char *message) // void CHAR_CHAT_DEBUG_missionreload(int charindex ,char *message) { print("Reading MissionList File..."); - CHAR_talkToCli( charindex, -1, "¶ȡʹб...", CHAR_COLORYELLOW); + CHAR_talkToCli( charindex, -1, "重新读取使者任务列表...", CHAR_COLORYELLOW); if( !LoadMissionList() ) { - CHAR_talkToCli( charindex, -1, "ȡʧ", CHAR_COLORYELLOW); + CHAR_talkToCli( charindex, -1, "读取失败", CHAR_COLORYELLOW); print("fail!!\n"); return; } print("done\n"); - CHAR_talkToCli( charindex, -1, "ȡ", CHAR_COLORYELLOW); + CHAR_talkToCli( charindex, -1, "读取完成", CHAR_COLORYELLOW); } @@ -4658,13 +4658,13 @@ void CHAR_CHAT_DEBUG_missionreload(int charindex ,char *message) void CHAR_CHAT_DEBUG_itemreload(int charindex ,char *message) { print("Reading itemset File..."); - CHAR_talkToCli( charindex, -1, "µ...", CHAR_COLORYELLOW); + CHAR_talkToCli( charindex, -1, "重新道具资料...", CHAR_COLORYELLOW); if(!ITEM_readItemConfFile( getItemfile()) ) { - CHAR_talkToCli( charindex, -1, "ȡʧ", CHAR_COLORYELLOW); + CHAR_talkToCli( charindex, -1, "读取失败", CHAR_COLORYELLOW); } print("done\n"); - CHAR_talkToCli( charindex, -1, "ȡ", CHAR_COLORYELLOW); + CHAR_talkToCli( charindex, -1, "读取完成", CHAR_COLORYELLOW); } @@ -4674,18 +4674,18 @@ void CHAR_CHAT_DEBUG_skywalker(int charaindex ,char *message) return; if( strstr( message, "on") != NULL ) { - CHAR_talkToCli( charaindex, -1, "ģʽ", CHAR_COLORYELLOW); + CHAR_talkToCli( charaindex, -1, "天行者模式启动", CHAR_COLORYELLOW); CHAR_setWorkInt( charaindex, CHAR_WORKSKYWALKER, TRUE); } if( strstr( message, "off") != NULL ) { - CHAR_talkToCli( charaindex, -1, "ģʽر", CHAR_COLORYELLOW); + CHAR_talkToCli( charaindex, -1, "天行者模式关闭", CHAR_COLORYELLOW); CHAR_setWorkInt( charaindex, CHAR_WORKSKYWALKER, FALSE); } CHAR_send_P_StatusString( charaindex, CHAR_P_STRING_SKYWALKER); } -#ifdef _ITEM_ADDEXP // ʾǹЧ +#ifdef _ITEM_ADDEXP // 显示智果效果 void CHAR_CHAT_DEBUG_itemaddexp(int charaindex ,char *message) { char msg[1024]; @@ -4710,12 +4710,12 @@ void CHAR_CHAT_DEBUG_itemaddexp(int charaindex ,char *message) } } if( toindex == -1 ) { - CHAR_talkToCli( charaindex,-1, "޴", CHAR_COLORRED); + CHAR_talkToCli( charaindex,-1, "查无此人", CHAR_COLORRED); return; } } - sprintf( msg, "ǻ֮Ч %sĿǰ%d %d ʱ%d֡", + sprintf( msg, "智慧之果效果 %s 目前分数%d %d% 时间%d分。", CHAR_getChar( toindex, CHAR_NAME), CHAR_getInt( toindex, CHAR_ADDEXPPOWER) * (int)(CHAR_getInt( toindex, CHAR_ADDEXPTIME)/60), @@ -4740,7 +4740,7 @@ void CHAR_CHAT_DEBUG_getyou(int charaindex,char *message) getStringFromIndexWithDelim( message, " ", 1, areabuf , sizeof( areabuf )); area = atoi(areabuf); if( area <= 0 || area > 3 ){ - sprintf(buf,"%s","û Χ Χƣ1~3"); + sprintf(buf,"%s","没有输入 围或 围超出限制,请输入1~3"); CHAR_talkToCli( charaindex, -1, buf, CHAR_COLORYELLOW); return; } @@ -4754,21 +4754,21 @@ void CHAR_CHAT_DEBUG_getyou(int charaindex,char *message) if( OBJECT_getType(o) == OBJTYPE_CHARA ){ chara_index=OBJECT_getIndex(o); if( CHAR_getInt( chara_index, CHAR_WHICHTYPE) != CHAR_TYPEPLAYER ) continue; - if( chara_index == charaindex ) continue; //ҵԼ + if( chara_index == charaindex ) continue; //找到自己了 if( CHAR_CHECKINDEX(chara_index)){ getnum++; - strcpy(szName,CHAR_getChar(chara_index,CHAR_NAME)); // - strcpy(cdkey,CHAR_getChar(chara_index,CHAR_CDKEY)); //ʺ + strcpy(szName,CHAR_getChar(chara_index,CHAR_NAME)); //人物名称 + strcpy(cdkey,CHAR_getChar(chara_index,CHAR_CDKEY)); //帐号 //CHAR_getChar( chara_index, CHAR_NAME); - snprintf( line, sizeof( line), "%dҵ[%s]ʺ[%s]",getnum,szName,cdkey); + snprintf( line, sizeof( line), "第%d个找到[%s]的帐号是[%s]",getnum,szName,cdkey); CHAR_talkToCli( charaindex, -1,line, CHAR_COLORRED); - print("%dҵ[%s]ʺ[%s]\n",getnum,szName,cdkey); + print("第%d个找到[%s]的帐号是[%s]\n",getnum,szName,cdkey); } } } } } - if(!getnum) CHAR_talkToCli( charaindex, -1, " Χû", CHAR_COLORYELLOW); + if(!getnum) CHAR_talkToCli( charaindex, -1, " 围内没有人", CHAR_COLORYELLOW); } #endif @@ -4785,34 +4785,34 @@ void CHAR_CHAT_DEBUG_newsend(int charindex ,char *message) unsigned int MAX_USER=0; MAX_USER=getFdnum(); if( strlen(message)==0){ - sprintf(buf,"%s","ȷ-> FLOOR X Y /Ҫ˵Ļ"); + sprintf(buf,"%s","参数不正确-> FLOOR X Y 无/要说的话"); CHAR_talkToCli( charindex, -1,buf, CHAR_COLORWHITE); return; } easyGetTokenFromString( message , 1 , token, sizeof(token)); if( strlen(token)==0){ - sprintf(buf,"%s","ȷ-->ͼ"); + sprintf(buf,"%s","参数不正确-->地图编号"); CHAR_talkToCli( charindex, -1,buf, CHAR_COLORWHITE); return; } fl=atoi( token ); easyGetTokenFromString( message , 2 , token, sizeof(token)); if( strlen(token)==0){ - sprintf(buf,"%s","ȷ-->X "); + sprintf(buf,"%s","参数不正确-->X座标 "); CHAR_talkToCli( charindex, -1,buf, CHAR_COLORWHITE); return; } x = atoi( token ); easyGetTokenFromString( message , 3 , token, sizeof(token)); if( strlen(token)==0){ - sprintf(buf,"%s","ȷ-->Y "); + sprintf(buf,"%s","参数不正确-->Y座标 "); CHAR_talkToCli( charindex, -1,buf, CHAR_COLORWHITE); return; } y = atoi( token ); easyGetTokenFromString( message , 4 , token, sizeof(token)); if( strlen(token)==0){ - sprintf(buf,"%s","ȷ-->ʺ"); + sprintf(buf,"%s","参数不正确-->帐号"); CHAR_talkToCli( charindex, -1,buf, CHAR_COLORWHITE); return; } @@ -4828,7 +4828,7 @@ void CHAR_CHAT_DEBUG_newsend(int charindex ,char *message) fd_charaindex = CONNECT_getCharaindex( i ); CHAR_warpToSpecificPoint(fd_charaindex, fl, x, y); snprintf( line, sizeof( line), - " name:%s account=%s ͵ FL=%d X=%d Y=%d say:%s", + "把 name:%s account=%s 传送到 FL=%d X=%d Y=%d say:%s", szName,cdkey,fl,x,y,say); CHAR_talkToCli( charindex, -1 , line , CHAR_COLORWHITE ); if(strlen(say)){ @@ -4851,52 +4851,52 @@ void CHAR_CHAT_DEBUG_supersend(int charaindex ,char *message) char say[128]; int tofl,toX,toY,i,j,k,area; OBJECT object; - int fl,x,y,fd,fd_charaindex; //ʺλ + int fl,x,y,fd,fd_charaindex; //帐号所在位置 unsigned int MAX_USER=0; int sendnum = 0; int o,chara_index; if( strlen(message)==0){ - sprintf(buf,"%s","ȷ-> FLOOR X Y ʺ /Ҫ˵Ļ"); + sprintf(buf,"%s","参数不正确-> FLOOR X Y 帐号 格数 无/要说的话"); CHAR_talkToCli( charaindex, -1,buf, CHAR_COLORWHITE); return; } easyGetTokenFromString( message , 1 , token, sizeof(token)); if( strlen(token)==0){ - sprintf(buf,"%s","ȷ-->ͼ"); + sprintf(buf,"%s","参数不正确-->地图编号"); CHAR_talkToCli( charaindex, -1,buf, CHAR_COLORWHITE); return; } tofl=atoi( token ); easyGetTokenFromString( message , 2 , token, sizeof(token)); if( strlen(token)==0){ - sprintf(buf,"%s","ȷ-->X "); + sprintf(buf,"%s","参数不正确-->X座标 "); CHAR_talkToCli( charaindex, -1,buf, CHAR_COLORWHITE); return; } toX = atoi( token ); easyGetTokenFromString( message , 3 , token, sizeof(token)); if( strlen(token)==0){ - sprintf(buf,"%s","ȷ-->Y "); + sprintf(buf,"%s","参数不正确-->Y座标 "); CHAR_talkToCli( charaindex, -1,buf, CHAR_COLORWHITE); return; } toY = atoi( token ); easyGetTokenFromString( message , 4 , cdkeytoken , sizeof(cdkeytoken)); if( strlen(cdkeytoken)==0){ - sprintf(buf,"%s","ȷ-->ʺ"); + sprintf(buf,"%s","参数不正确-->帐号"); CHAR_talkToCli( charaindex, -1,buf, CHAR_COLORWHITE); return; } easyGetTokenFromString( message , 5 , token, sizeof(token)); area = atoi( token ); if( strlen(token)==0 || area <= 0 || area > 3 ){ - sprintf(buf,"%s","ȷ-->(1~3)"); + sprintf(buf,"%s","参数不正确-->格数(1~3)"); CHAR_talkToCli( charaindex, -1,buf, CHAR_COLORWHITE); return; } - easyGetTokenFromString( message , 6 , say , sizeof(say)); //˵ + easyGetTokenFromString( message , 6 , say , sizeof(say)); //说话 MAX_USER=getFdnum(); for(k=0;k=playernum) { - CHAR_talkToCli( charaindex, -1, "˺Ų~", CHAR_COLORYELLOW ); + CHAR_talkToCli( charaindex, -1, "此账号不在线~", CHAR_COLORYELLOW ); return; } CHAR_setWorkInt( i, CHAR_WORKFONTSIZE, atoi( fsize )); //CHAR_send_P_StatusString( charaindex , CHAR_P_STRING_LV); - sprintf( token, "[GM]%sΪ%d!", CHAR_getChar( charaindex, CHAR_NAME),atoi(fsize)); + sprintf( token, "[GM]%s把你的字体设置为%d!", CHAR_getChar( charaindex, CHAR_NAME),atoi(fsize)); CHAR_talkToCli( i, -1, token, CHAR_COLORYELLOW ); - sprintf( token, "%sΪ%d!", CHAR_getChar( i, CHAR_NAME),(int)atoi(fsize)); + sprintf( token, "玩家%s的字体设置为%d!", CHAR_getChar( i, CHAR_NAME),(int)atoi(fsize)); CHAR_talkToCli( charaindex, -1,token, CHAR_COLORYELLOW ); }else{ CHAR_setWorkInt( charaindex, CHAR_WORKFONTSIZE, atoi( fsize )); - sprintf( token, "Ϊ%d!",(int)atoi(fsize)); + sprintf( token, "字体设置为%d!",(int)atoi(fsize)); CHAR_talkToCli( charaindex, -1,token, CHAR_COLORYELLOW ); } } @@ -4988,14 +4988,14 @@ void CHAR_CHAT_DEBUG_fsize( int charaindex, char* message ) void CHAR_CHAT_DEBUG_rejobdaily(int charaindex ,char *message) { print("Reading Jobdaily File..."); - CHAR_talkToCli( charaindex, -1, "¶ȡ־б...", CHAR_COLORYELLOW); + CHAR_talkToCli( charaindex, -1, "重新读取任务日志列表...", CHAR_COLORYELLOW); if(!LoadJobdailyfile()){ - CHAR_talkToCli( charaindex, -1, "ȡʧ", CHAR_COLORYELLOW); + CHAR_talkToCli( charaindex, -1, "读取失败", CHAR_COLORYELLOW); print("fail!!\n"); return; } print("done\n"); - CHAR_talkToCli( charaindex, -1, "ȡ", CHAR_COLORYELLOW); + CHAR_talkToCli( charaindex, -1, "读取完成", CHAR_COLORYELLOW); } #endif @@ -5019,7 +5019,7 @@ void CHAR_CHAT_DEBUG_MM( int charaindex , char *message ) if(index==1)enemyid=1479; else if(index==2)enemyid=2547; else{ - CHAR_talkToCli( charaindex, -1, "Ŀǰֻ1/2ٷ!", CHAR_COLORYELLOW ); + CHAR_talkToCli( charaindex, -1, "目前只能制作1/2代玛蕾菲雅!", CHAR_COLORYELLOW ); return;} // if(strlen(cdkey)>0){ @@ -5032,7 +5032,7 @@ void CHAR_CHAT_DEBUG_MM( int charaindex , char *message ) // } // if (j>=playernum) // { -// CHAR_talkToCli( charaindex, -1, "˺Ų~", CHAR_COLORYELLOW ); +// CHAR_talkToCli( charaindex, -1, "此账号不在线~", CHAR_COLORYELLOW ); // return; // } // enemynum = ENEMY_getEnemyNum(); @@ -5045,11 +5045,11 @@ void CHAR_CHAT_DEBUG_MM( int charaindex , char *message ) // // ret = ENEMY_createPetFromEnemyIndex( j, i); // if( !CHAR_CHECKINDEX( ret))return; -// snprintf( token,sizeof( token), "Ʒ%dٷųɹ!",index); +// snprintf( token,sizeof( token), "制作极品%d代玛蕾菲雅成功!",index); // CHAR_talkToCli( charaindex, -1, token, CHAR_COLORWHITE); -// sprintf( token, "[GM]%sֻƷ%dٷŸ!", CHAR_getChar( charaindex, CHAR_NAME),index); +// sprintf( token, "[GM]%s制作了只极品%d代玛蕾菲雅给你!", CHAR_getChar( charaindex, CHAR_NAME),index); // CHAR_talkToCli( j, -1, token, CHAR_COLORYELLOW ); -// sprintf( token, "%sֻƷ%dٷ!", CHAR_getChar( j, CHAR_NAME),index); +// sprintf( token, "给玩家%s制作了只极品%d代玛蕾菲雅!", CHAR_getChar( j, CHAR_NAME),index); // CHAR_talkToCli( charaindex, -1,token, CHAR_COLORYELLOW ); // for( i = 0; i < CHAR_MAXPETHAVE; i ++ ){ // if( CHAR_getCharPet( j, i ) == ret )break; @@ -5064,7 +5064,7 @@ void CHAR_CHAT_DEBUG_MM( int charaindex , char *message ) // int k; // LevelUpPoint = ( work[3]<< 24) + ( work[0]<< 16) + ( work[1]<< 8) + ( work[2]<< 0); // CHAR_setInt( ret, CHAR_ALLOCPOINT, LevelUpPoint); -// for( k = 1; k < 79; k ++ ){ // +// for( k = 1; k < 79; k ++ ){ //升级 // LevelUpPoint = ( work[3]<< 24) + ( work[0]<< 16) + ( work[1]<< 8) + ( work[2]<< 0); // CHAR_setInt( ret, CHAR_ALLOCPOINT, LevelUpPoint); // CHAR_PetLevelUp( ret ); @@ -5096,7 +5096,7 @@ void CHAR_CHAT_DEBUG_MM( int charaindex , char *message ) ret = ENEMY_createPetFromEnemyIndex(charaindex, i); if( !CHAR_CHECKINDEX( ret))return; - snprintf( token,sizeof( token), "Ʒ%dٷųɹ!",index); + snprintf( token,sizeof( token), "制作极品%d代玛蕾菲雅成功!",index); CHAR_talkToCli( charaindex, -1, token, CHAR_COLORWHITE); for( i = 0; i < CHAR_MAXPETHAVE; i ++ ){ @@ -5108,7 +5108,7 @@ void CHAR_CHAT_DEBUG_MM( int charaindex , char *message ) int k; LevelUpPoint = ( work[3]<< 24) + ( work[0]<< 16) + ( work[1]<< 8) + ( work[2]<< 0); CHAR_setInt( ret, CHAR_ALLOCPOINT, LevelUpPoint); - for( k = 1; k < 79; k ++ ){ // + for( k = 1; k < 79; k ++ ){ //升级 LevelUpPoint = ( work[3]<< 24) + ( work[0]<< 16) + ( work[1]<< 8) + ( work[2]<< 0); CHAR_setInt( ret, CHAR_ALLOCPOINT, LevelUpPoint); CHAR_PetLevelUp( ret ); @@ -5151,12 +5151,12 @@ void CHAR_CHAT_DEBUG_Sendto( int charaindex , char *message ) } if (i>=playernum) { - CHAR_talkToCli( charaindex, -1, "˺Ų~", CHAR_COLORYELLOW ); + CHAR_talkToCli( charaindex, -1, "此账号不在线~", CHAR_COLORYELLOW ); return; } if(!strcmp(CHAR_getChar(i,CHAR_CDKEY),cdkey)) { - CHAR_DischargePartyNoMsg( charaindex);//ɢŶ + CHAR_DischargePartyNoMsg( charaindex);//解散团队 int floor, x, y; char token[256]; floor = CHAR_getInt( i, CHAR_FLOOR); @@ -5164,7 +5164,7 @@ void CHAR_CHAT_DEBUG_Sendto( int charaindex , char *message ) y = CHAR_getInt( i, CHAR_Y); CHAR_warpToSpecificPoint( charaindex, floor, x, y ); - sprintf( token, "Ѵ͵%sߣ", CHAR_getChar( i, CHAR_NAME)); + sprintf( token, "已传送到玩家%s身边!", CHAR_getChar( i, CHAR_NAME)); CHAR_talkToCli( charaindex, -1, token, CHAR_COLORYELLOW ); return; } @@ -5194,21 +5194,21 @@ void CHAR_CHAT_DEBUG_GMFUNCTION( int charindex , char *message ) } if (i>=playernum) { - CHAR_talkToCli( charindex, -1, "˺Ų~", CHAR_COLORYELLOW ); + CHAR_talkToCli( charindex, -1, "此账号不在线~", CHAR_COLORYELLOW ); return; } CHAR_setChar( i , CHAR_GMFUNCTION, gmfunction ); CHAR_setInt( i , CHAR_GMTIME, atoi( gmtime ) ); - sprintf( token, "[GM]%sʹ%sȨ%d!",CHAR_getChar( charindex, CHAR_NAME), gmfunction, atoi( gmtime )); + sprintf( token, "[GM]%s给你使用%s权限%d次!",CHAR_getChar( charindex, CHAR_NAME), gmfunction, atoi( gmtime )); CHAR_talkToCli( i, -1, token, CHAR_COLORYELLOW ); - sprintf( token, "ʹ鿴[help %s]GM!",CHAR_getChar( charindex, CHAR_GMFUNCTION)); + sprintf( token, "相关使用请查看[help %s]无需GM密码!",CHAR_getChar( charindex, CHAR_GMFUNCTION)); CHAR_talkToCli( i, -1, token, CHAR_COLORYELLOW ); - sprintf( token, "%sʹ%sȨ%d!", CHAR_getChar( i, CHAR_NAME), gmfunction, atoi( gmtime )); + sprintf( token, "给玩家%s使用%s权限%d次!", CHAR_getChar( i, CHAR_NAME), gmfunction, atoi( gmtime )); CHAR_talkToCli( charindex, -1,token, CHAR_COLORYELLOW ); }else{ CHAR_setChar( charindex , CHAR_GMFUNCTION, gmfunction ); CHAR_setInt( charindex , CHAR_GMTIME, atoi( gmtime ) ); - sprintf( token, "ʹ%sȨ%d!", gmfunction,atoi( gmtime )); + sprintf( token, "设置使用%s权限%d次!", gmfunction,atoi( gmtime )); CHAR_talkToCli( charindex, -1,token, CHAR_COLORYELLOW ); } } @@ -5227,7 +5227,7 @@ void CHAR_CHAT_DEBUG_SETRIDE( int charindex , char *message ) easyGetTokenFromString( message , 2 , cdkey, sizeof(cdkey)); if(rideindex<1 || rideindex>12) { - CHAR_talkToCli( charindex, -1,"űΪ1~12", CHAR_COLORRED ); + CHAR_talkToCli( charindex, -1,"骑宠编号必须为1~12", CHAR_COLORRED ); return; } typedef struct{ @@ -5235,18 +5235,18 @@ void CHAR_CHAT_DEBUG_SETRIDE( int charindex , char *message ) int Code; }tagNewRideCode; tagNewRideCode NewRides[12]={ - { "", RIDE_PET0}, - { "Ħ˹", RIDE_PET1}, - { "˹", RIDE_PET2}, - { "³", RIDE_PET3}, - { "˹", RIDE_PET4}, - { "³˹", RIDE_PET5}, - { "", RIDE_PET6}, - { "", RIDE_PET7}, - { "˹", RIDE_PET8}, - { "Ͷ", RIDE_PET9}, - { "ʷ³", RIDE_PET10}, - { "޶", RIDE_PET11} + { "帖拉所伊朵", RIDE_PET0}, + { "玛恩摩洛斯", RIDE_PET1}, + { "朵拉比斯", RIDE_PET2}, + { "拉奇鲁哥", RIDE_PET3}, + { "扬奇洛斯", RIDE_PET4}, + { "卡达鲁卡斯", RIDE_PET5}, + { "卡卡金宝", RIDE_PET6}, + { "格尔格", RIDE_PET7}, + { "左迪洛斯", RIDE_PET8}, + { "巴朵兰恩", RIDE_PET9}, + { "史卡鲁", RIDE_PET10}, + { "罗多克雷", RIDE_PET11} }; if(strlen(cdkey)>0){ for(i=0;i=playernum) { - CHAR_talkToCli( charindex, -1, "˺Ų~", CHAR_COLORYELLOW ); + CHAR_talkToCli( charindex, -1, "此账号不在线~", CHAR_COLORYELLOW ); return; } int LRCode = CHAR_getInt( i, CHAR_LOWRIDEPETS); @@ -5266,16 +5266,16 @@ void CHAR_CHAT_DEBUG_SETRIDE( int charindex , char *message ) LRCode = LRCode|NewRides[rideindex-1].Code; CHAR_setInt( i, CHAR_LOWRIDEPETS, LRCode); - sprintf( token, "[GM]%s%sʸ!",CHAR_getChar( charindex, CHAR_NAME), NewRides[rideindex-1].name); + sprintf( token, "[GM]%s给你骑乘骑宠%s的资格!",CHAR_getChar( charindex, CHAR_NAME), NewRides[rideindex-1].name); CHAR_talkToCli( i, -1, token, CHAR_COLORYELLOW ); - sprintf( token, "%s%sʸ!", CHAR_getChar( i, CHAR_NAME), NewRides[rideindex-1].name); + sprintf( token, "给玩家%s骑乘骑宠%s的资格!", CHAR_getChar( i, CHAR_NAME), NewRides[rideindex-1].name); CHAR_talkToCli( charindex, -1,token, CHAR_COLORYELLOW ); }else{ int LRCode = CHAR_getInt( charindex, CHAR_LOWRIDEPETS); LRCode = LRCode|NewRides[rideindex-1].Code; CHAR_setInt( charindex, CHAR_LOWRIDEPETS, LRCode); - sprintf( token, "%sʸ!", NewRides[rideindex-1].name); + sprintf( token, "设置骑乘骑宠%s的资格!", NewRides[rideindex-1].name); CHAR_talkToCli( charindex, -1,token, CHAR_COLORYELLOW ); } CHAR_sendStatusString( charindex, "x"); @@ -5293,7 +5293,7 @@ void CHAR_CHAT_DEBUG_MVRIDE( int charindex , char *message ) easyGetTokenFromString( message , 2 , cdkey, sizeof(cdkey)); if(rideindex<1 || rideindex>12) { - CHAR_talkToCli( charindex, -1,"űΪ1~12", CHAR_COLORRED ); + CHAR_talkToCli( charindex, -1,"骑宠编号必须为1~12", CHAR_COLORRED ); return; } typedef struct{ @@ -5301,18 +5301,18 @@ void CHAR_CHAT_DEBUG_MVRIDE( int charindex , char *message ) int Code; }tagNewRideCode; tagNewRideCode NewRides[]={ - { "", RIDE_PET0}, - { "Ħ˹", RIDE_PET1}, - { "˹", RIDE_PET2}, - { "³", RIDE_PET3}, - { "˹", RIDE_PET4}, - { "³˹", RIDE_PET5}, - { "", RIDE_PET6}, - { "", RIDE_PET7}, - { "˹", RIDE_PET8}, - { "Ͷ", RIDE_PET9}, - { "ʷ³", RIDE_PET10}, - { "޶", RIDE_PET11} + { "帖拉所伊朵", RIDE_PET0}, + { "玛恩摩洛斯", RIDE_PET1}, + { "朵拉比斯", RIDE_PET2}, + { "拉奇鲁哥", RIDE_PET3}, + { "扬奇洛斯", RIDE_PET4}, + { "卡达鲁卡斯", RIDE_PET5}, + { "卡卡金宝", RIDE_PET6}, + { "格尔格", RIDE_PET7}, + { "左迪洛斯", RIDE_PET8}, + { "巴朵兰恩", RIDE_PET9}, + { "史卡鲁", RIDE_PET10}, + { "罗多克雷", RIDE_PET11} }; if(strlen(cdkey)>0){ for(i=0;i=playernum) { - CHAR_talkToCli( charindex, -1, "˺Ų~", CHAR_COLORYELLOW ); + CHAR_talkToCli( charindex, -1, "此账号不在线~", CHAR_COLORYELLOW ); return; } int LRCode = CHAR_getInt( i, CHAR_LOWRIDEPETS); @@ -5332,16 +5332,16 @@ void CHAR_CHAT_DEBUG_MVRIDE( int charindex , char *message ) LRCode = LRCode^NewRides[rideindex-1].Code; CHAR_setInt( i, CHAR_LOWRIDEPETS, LRCode); - sprintf( token, "[GM]%sƳ%sʸ!",CHAR_getChar( charindex, CHAR_NAME), NewRides[rideindex-1].name); + sprintf( token, "[GM]%s移除你骑乘骑宠%s的资格!",CHAR_getChar( charindex, CHAR_NAME), NewRides[rideindex-1].name); CHAR_talkToCli( i, -1, token, CHAR_COLORYELLOW ); - sprintf( token, "Ƴ%s%sʸ!!", CHAR_getChar( i, CHAR_NAME), NewRides[rideindex-1].name); + sprintf( token, "移除玩家%s骑乘骑宠%s的资格!!", CHAR_getChar( i, CHAR_NAME), NewRides[rideindex-1].name); CHAR_talkToCli( charindex, -1,token, CHAR_COLORYELLOW ); }else{ int LRCode = CHAR_getInt( charindex, CHAR_LOWRIDEPETS); LRCode = LRCode^NewRides[rideindex-1].Code; CHAR_setInt( charindex, CHAR_LOWRIDEPETS, LRCode); - sprintf( token, "Ƴ%sʸ!", NewRides[rideindex-1].name); + sprintf( token, "移除骑乘骑宠%s的资格!", NewRides[rideindex-1].name); CHAR_talkToCli( charindex, -1,token, CHAR_COLORYELLOW ); } CHAR_sendStatusString( charindex, "x"); @@ -5379,7 +5379,7 @@ void CHAR_CHAT_DEBUG_SHOWIP( int charindex , char *message ) } if (i>=MAX_USER) { - CHAR_talkToCli( charindex, -1, "˺Ų~", CHAR_COLORYELLOW ); + CHAR_talkToCli( charindex, -1, "此账号不在线~", CHAR_COLORYELLOW ); return; } @@ -5392,7 +5392,7 @@ void CHAR_CHAT_DEBUG_SHOWIP( int charindex , char *message ) b=(ip % 0x100); ip=ip / 0x100; c=(ip % 0x100); ip=ip / 0x100; d=(ip % 0x100); - sprintf( token, "˺%sIP %d.%d.%d.%d",message, a,b,c,d); + sprintf( token, "账号%s的IP是 %d.%d.%d.%d",message, a,b,c,d); CHAR_talkToCli( charindex, -1,token, CHAR_COLORYELLOW ); } } @@ -5412,11 +5412,11 @@ void CHAR_CHAT_DEBUG_SET_FAME( int charaindex, char* message ) } } if(i >= iPlayerNum){ - CHAR_talkToCli(charaindex,-1,"Ҳ",CHAR_COLORYELLOW); + CHAR_talkToCli(charaindex,-1,"找不到这名玩家",CHAR_COLORYELLOW); return; } CHAR_setInt(i,CHAR_FAME,id); - sprintf(szMsg,"Ŀǰֵ: %d",CHAR_getInt(i,CHAR_FAME)/100); + sprintf(szMsg,"目前声望值: %d",CHAR_getInt(i,CHAR_FAME)/100); CHAR_talkToCli(charaindex,-1,szMsg,CHAR_COLORYELLOW); sprintf(buf,"%d",id); fd = getfdFromCharaIndex(i); @@ -5436,12 +5436,12 @@ void CHAR_CHAT_DEBUG_SET_AUTOPK( int charaindex, char* message ) easyGetTokenFromString( message , 1 , buf1, sizeof(buf1)); easyGetTokenFromString( message , 2 , buf2, sizeof(buf2)); jobautopk = atoi(buf1); - sprintf(szMsg,"PKʱΪ%d!",atoi(buf2)); + sprintf(szMsg,"已设置PK时间为%d分钟!",atoi(buf2)); CHAR_talkToCli(charaindex,-1,szMsg,CHAR_COLORYELLOW); AutoPk_PKTimeSet(atoi(buf2)); AutoPk_GetAwardStr(); #else - sprintf(szMsg,"PKʱΪ%d!",atoi(message)); + sprintf(szMsg,"已设置PK时间为%d分钟!",atoi(message)); CHAR_talkToCli(charaindex,-1,szMsg,CHAR_COLORYELLOW); AutoPk_PKTimeSet(atoi(message)); AutoPk_GetAwardStr(); @@ -5489,39 +5489,39 @@ void CHAR_CHAT_DEBUG_Trans( int charaindex, char *message) } if (i>=playernum) { - CHAR_talkToCli( charaindex, -1, "˺Ų~", CHAR_COLORYELLOW ); + CHAR_talkToCli( charaindex, -1, "此账号不在线~", CHAR_COLORYELLOW ); return; } Trans=CHAR_getInt(i,CHAR_TRANSMIGRATION)+1; if(Trans>7 || CHAR_getInt(i,CHAR_LV)<80){ - sprintf( token, "תȼС80[GM]%sΪתʧ!", CHAR_getChar( charaindex, CHAR_NAME)); + sprintf( token, "由于你已七转或等级小于80级,所以[GM]%s为你转生失败!", CHAR_getChar( charaindex, CHAR_NAME)); CHAR_talkToCli( i, -1, token, CHAR_COLORYELLOW ); - sprintf( token, "%sתȼС80%dתʧ!", CHAR_getChar( i, CHAR_NAME),Trans); + sprintf( token, "由于玩家%s已七转或等级小于80级,所以%d转生失败!", CHAR_getChar( i, CHAR_NAME),Trans); CHAR_talkToCli( charaindex, -1,token, CHAR_COLORYELLOW ); return; }else{ CHAR_sendCToArroundCharacter( CHAR_getWorkInt( i, CHAR_WORKOBJINDEX )); - sprintf( token, "[GM]%sΪת%dת!", CHAR_getChar( charaindex, CHAR_NAME),Trans); + sprintf( token, "[GM]%s为你转生%d转!", CHAR_getChar( charaindex, CHAR_NAME),Trans); CHAR_talkToCli( i, -1, token, CHAR_COLORYELLOW ); - sprintf( token, "Ϊ%sתΪ%dת!", CHAR_getChar( i, CHAR_NAME),Trans); + sprintf( token, "为玩家%s转生为%d转!", CHAR_getChar( i, CHAR_NAME),Trans); CHAR_talkToCli( charaindex, -1,token, CHAR_COLORYELLOW ); charaindex=i; } }else{ Trans=CHAR_getInt(charaindex,CHAR_TRANSMIGRATION)+1; if(Trans>7 || CHAR_getInt(charaindex,CHAR_LV)<80){ - sprintf( token, "תȼС80תʧ!", CHAR_getChar( charaindex, CHAR_NAME)); + sprintf( token, "由于你已七转或等级小于80级,所以转生失败!", CHAR_getChar( charaindex, CHAR_NAME)); CHAR_talkToCli( charaindex, -1, token, CHAR_COLORYELLOW ); return; }else{ CHAR_sendCToArroundCharacter( CHAR_getWorkInt( charaindex, CHAR_WORKOBJINDEX )); - sprintf( token, "ΪԼתΪ%dת!",Trans); + sprintf( token, "为自己转生为%d转!",Trans); CHAR_talkToCli( charaindex, -1,token, CHAR_COLORYELLOW ); } } -#ifdef _ADD_POOL_ITEM // WON ADD ӿɼķŵĵ - int tran_pool_item[5] = { 4, 4, 4, 4, 4 }; // ӵĵ߼ķ - int tran_pool_pet[5] = { 2, 2, 2, 2, 2}; // ӵijķ +#ifdef _ADD_POOL_ITEM // WON ADD 增加可寄放的道具 + int tran_pool_item[5] = { 4, 4, 4, 4, 4 }; // 增加的道具寄放数 + int tran_pool_pet[5] = { 2, 2, 2, 2, 2}; // 增加的宠物寄放数 int j,item_sum=0, pet_sum=0; for(j=0; j<5 ;j++){ @@ -5529,8 +5529,8 @@ void CHAR_CHAT_DEBUG_Trans( int charaindex, char *message) pet_sum += tran_pool_pet[j]; } - item_sum += 10; // ļĵ - pet_sum += 5; // ļij + item_sum += 10; // 限制最大的寄道具数 + pet_sum += 5; // 限制最大的寄宠数 #endif NPC_TransmigrationStatus(charaindex, charaindex, work); @@ -5567,19 +5567,19 @@ void CHAR_CHAT_DEBUG_fusionbeit( int charaindex, char* message ) } if (i>=playernum) { - CHAR_talkToCli( charaindex, -1, "˺Ų~", CHAR_COLORYELLOW ); + CHAR_talkToCli( charaindex, -1, "此账号不在线~", CHAR_COLORYELLOW ); return; } petindex = CHAR_getCharPet( i, petid); if( !CHAR_CHECKINDEX( petindex) ){ - sprintf( token, "%s%dû!", CHAR_getChar( i, CHAR_NAME),petid+1); + sprintf( token, "玩家%s宠物栏%d上没宠物!", CHAR_getChar( i, CHAR_NAME),petid+1); CHAR_talkToCli( i, -1, token, CHAR_COLORYELLOW ); return; } CHAR_setInt( petindex, CHAR_FUSIONBEIT ,0); - sprintf( token, "[GM]%sΪϵĵ%dֻȥںϳ!", CHAR_getChar( charaindex, CHAR_NAME),petid+1); + sprintf( token, "[GM]%s为你身上的第%d只宠去掉融合宠限制!", CHAR_getChar( charaindex, CHAR_NAME),petid+1); CHAR_talkToCli( i, -1, token, CHAR_COLORYELLOW ); - sprintf( token, "Ϊ%sϵĵ%dֻȥںϳ!", CHAR_getChar( i, CHAR_NAME),petid+1); + sprintf( token, "为玩家%s身上的第%d只宠去掉融合宠限制!", CHAR_getChar( i, CHAR_NAME),petid+1); CHAR_talkToCli( charaindex, -1,token, CHAR_COLORYELLOW ); snprintf( token, sizeof( token ), "K%d", petid ); CHAR_sendStatusString( i, token ); @@ -5589,12 +5589,12 @@ void CHAR_CHAT_DEBUG_fusionbeit( int charaindex, char* message ) }else{ petindex = CHAR_getCharPet( charaindex, petid); if( !CHAR_CHECKINDEX( petindex) ){ - sprintf( token, "ij%dû!", petid+1); + sprintf( token, "你的宠物栏%d上没宠物!", petid+1); CHAR_talkToCli( i, -1, token, CHAR_COLORYELLOW ); return; } CHAR_setInt( petindex, CHAR_FUSIONBEIT ,0); - sprintf( token, "ϵĵ%dֻȥںϳ!", petid+1); + sprintf( token, "将身上的第%d只宠去掉融合宠限制!", petid+1); CHAR_talkToCli( charaindex, -1,token, CHAR_COLORYELLOW ); CHAR_complianceParameter( petindex ); snprintf( token, sizeof( token ), "K%d", petid ); @@ -5640,7 +5640,7 @@ void CHAR_CHAT_DEBUG_petmakecf( int charaindex, char* message ) } if (j>=playernum) { - CHAR_talkToCli( charaindex, -1, "˺Ų~", CHAR_COLORYELLOW ); + CHAR_talkToCli( charaindex, -1, "此账号不在线~", CHAR_COLORYELLOW ); return; } enemynum = ENEMY_getEnemyNum(); @@ -5654,9 +5654,9 @@ void CHAR_CHAT_DEBUG_petmakecf( int charaindex, char* message ) int petindex = ENEMY_createPetFromEnemyIndex( j, i); if( !CHAR_CHECKINDEX( petindex))return; CHAR_setInt(petindex,CHAR_VARIABLEAI,10000); - sprintf( token, "[GM]%s%s!", CHAR_getChar( charaindex, CHAR_NAME),ENEMY_getChar( i, ENEMY_NAME)); + sprintf( token, "[GM]%s制作了%s给你!", CHAR_getChar( charaindex, CHAR_NAME),ENEMY_getChar( i, ENEMY_NAME)); CHAR_talkToCli( j, -1, token, CHAR_COLORYELLOW ); - sprintf( token, "%s%sɹ!", CHAR_getChar( j, CHAR_NAME),ENEMY_getChar( i, ENEMY_NAME)); + sprintf( token, "给玩家%s的%s制作成功!", CHAR_getChar( j, CHAR_NAME),ENEMY_getChar( i, ENEMY_NAME)); CHAR_talkToCli( charaindex, -1,token, CHAR_COLORYELLOW ); for( i = 0; i < CHAR_MAXPETHAVE; i ++ ){ if( CHAR_getCharPet( j, i ) == petindex )break; @@ -5734,7 +5734,7 @@ void CHAR_CHAT_DEBUG_petmakecf( int charaindex, char* message ) level = level - CHAR_getInt( petindex, CHAR_LV ); if( level > 0 ){ int k; - for( k = 1; k <= level; k ++ ){ // + for( k = 1; k <= level; k ++ ){ //升级 CHAR_PetLevelUp( petindex ); CHAR_PetAddVariableAi( petindex, AI_FIX_PETLEVELUP ); CHAR_setInt( petindex, CHAR_LV, CHAR_getInt( petindex, CHAR_LV) +1 ); @@ -5759,7 +5759,7 @@ void CHAR_CHAT_DEBUG_petmakecf( int charaindex, char* message ) int petindex = ENEMY_createPetFromEnemyIndex(charaindex, i); if( !CHAR_CHECKINDEX( petindex))return; CHAR_setInt(petindex,CHAR_VARIABLEAI,10000); - snprintf( token,sizeof( token), "%sɹ!",ENEMY_getChar( i, ENEMY_NAME)); + snprintf( token,sizeof( token), "%s制作成功!",ENEMY_getChar( i, ENEMY_NAME)); CHAR_talkToCli( charaindex, -1, token, CHAR_COLORWHITE); for( i = 0; i < CHAR_MAXPETHAVE; i ++ ){ @@ -5834,7 +5834,7 @@ void CHAR_CHAT_DEBUG_petmakecf( int charaindex, char* message ) level = level - CHAR_getInt( petindex, CHAR_LV ); if( level > 0 ){ int k; - for( k = 1; k <= level; k ++ ){ // + for( k = 1; k <= level; k ++ ){ //升级 CHAR_PetLevelUp( petindex ); CHAR_PetAddVariableAi( petindex, AI_FIX_PETLEVELUP ); CHAR_setInt( petindex, CHAR_LV, CHAR_getInt( petindex, CHAR_LV) +1 ); @@ -5907,7 +5907,7 @@ void CHAR_CHAT_DEBUG_petmakeabi( int charaindex, char* message ) ret = ENEMY_createPetFromEnemyIndex(charaindex, i); if( !CHAR_CHECKINDEX( ret))return; - snprintf( token,sizeof( token), "%sɹ!",ENEMY_getChar( i, ENEMY_NAME)); + snprintf( token,sizeof( token), "%s制作成功!",ENEMY_getChar( i, ENEMY_NAME)); CHAR_talkToCli( charaindex, -1, token, CHAR_COLORWHITE); for( i = 0; i < CHAR_MAXPETHAVE; i ++ ){ @@ -5967,9 +5967,9 @@ void CHAR_CHAT_DEBUG_LUA_CLOSE( int charaindex, char* message ) void CHAR_CHAT_UnTextReload( int charaindex, char* message ) { if(LoadUnText()==TRUE){ - CHAR_talkToCli( charaindex, -1, "¶ȡ˵ֹؼֳɹ", CHAR_COLORRED); + CHAR_talkToCli( charaindex, -1, "重新读取说话禁止关键字成功!", CHAR_COLORRED); }else{ - CHAR_talkToCli( charaindex, -1, "¶ȡ˵ֹؼʧܣ", CHAR_COLORRED); + CHAR_talkToCli( charaindex, -1, "重新读取说话禁止关键字失败!", CHAR_COLORRED); } } #endif @@ -6042,13 +6042,13 @@ void CHAR_CHAT_DEBUG_jilu( int charindex, char* message ) unsigned int MAX_USER=0; int fd_charaindex; if( strlen(message)==0){ - sprintf(buf,"%s","ȷ-> ʺ"); + sprintf(buf,"%s","参数不正确-> 帐号"); CHAR_talkToCli( charindex, -1,buf, CHAR_COLORWHITE); return; } easyGetTokenFromString( message , 1 , token, sizeof(token)); if( strlen(token)==0){ - sprintf(buf,"%s","ȷ"); + sprintf(buf,"%s","参数不正确"); CHAR_talkToCli( charindex, -1,buf, CHAR_COLORWHITE); return; } @@ -6061,7 +6061,7 @@ void CHAR_CHAT_DEBUG_jilu( int charindex, char* message ) if(strcmp(cdkey,token)==0){ fd_charaindex = CONNECT_getCharaindex( i ); CHAR_setWorkInt(fd_charaindex,CHAR_WORKJILU,1); - sprintf(kcmsg,"%s Ѽ¼",cdkey); + sprintf(kcmsg,"%s 已记录封包。",cdkey); CHAR_talkToCli( charindex, -1,kcmsg, CHAR_COLORWHITE); find=TRUE; break; @@ -6080,14 +6080,14 @@ void CHAR_CHAT_DEBUG_setfmpk( int charindex, char* message ) int fmid; easyGetTokenFromString( message , 1 , token, sizeof(token)); if( strlen(token)==0){ - sprintf(buf,"%s","ȷ"); + sprintf(buf,"%s","参数不正确"); CHAR_talkToCli( charindex, -1,buf, CHAR_COLORWHITE); return; } fmid = atoi(token); easyGetTokenFromString( message , 2 , token, sizeof(token)); if( strlen(token)==0){ - sprintf(buf,"%s","ȷ"); + sprintf(buf,"%s","参数不正确"); CHAR_talkToCli( charindex, -1,buf, CHAR_COLORWHITE); return; } @@ -6103,7 +6103,7 @@ void CHAR_CHAT_DEBUG_MMCDKEY( int charaindex, char* message ) char cdkey[CDKEYLEN]; if(strlen(message)<1){ for(i=0;i<10;i++){ - sprintf(token,"%d˺ţ%s",i+1,mmcdkey[i]); + sprintf(token,"第%d个账号:%s",i+1,mmcdkey[i]); CHAR_talkToCli(charaindex,-1,token,CHAR_COLORYELLOW); } }else{ @@ -6133,7 +6133,7 @@ void CHAR_CHAT_DEBUG_MMCDKEY( int charaindex, char* message ) if(getStringFromIndexWithDelim(randtypetime,"-", 1, tempbuff, sizeof(tempbuff))== TRUE) wrongnum = atoi(tempbuff); } - sprintf(token," %s ϴδʱΪ%d룬ǰ%d",CHAR_getChar(fd_charaindex,CHAR_NAME),mmtime,wrongnum); + sprintf(token,"玩家 %s 距上次答题时间为%d秒,当前错误次数是%d。",CHAR_getChar(fd_charaindex,CHAR_NAME),mmtime,wrongnum); CHAR_talkToCli( charaindex, -1,token, CHAR_COLORRED); break; } @@ -6145,9 +6145,9 @@ void CHAR_CHAT_DEBUG_MMCDKEY( int charaindex, char* message ) void CHAR_CHAT_DEBUG_RELOADRIDE( int charaindex, char* message ) { if(CHAR_Ride_CF_init()==TRUE){ - CHAR_talkToCli( charaindex, -1,"ضRIDEɹ", CHAR_COLORYELLOW); + CHAR_talkToCli( charaindex, -1,"重读RIDE成功。", CHAR_COLORYELLOW); }else{ - CHAR_talkToCli( charaindex, -1,"ضRIDEʧܡ", CHAR_COLORYELLOW); + CHAR_talkToCli( charaindex, -1,"重读RIDE失败。", CHAR_COLORYELLOW); } } @@ -6157,19 +6157,19 @@ void CHAR_CHAT_DEBUG_RELOADRIDE( int charaindex, char* message ) void CHAR_CHAT_DEBUG_ReLoadLua( int charaindex, char* message ) { ReLoadAllbluesLUA(message); - CHAR_talkToCli( charaindex, -1, "LUA~", CHAR_COLORRED); + CHAR_talkToCli( charaindex, -1, "更新LUA完毕~", CHAR_COLORRED); } void CHAR_CHAT_DEBUG_NewLoadLua( int charaindex, char* message ) { NewLoadAllbluesLUA(message); - CHAR_talkToCli( charaindex, -1, "LUA~", CHAR_COLORRED); + CHAR_talkToCli( charaindex, -1, "添加LUA完毕~", CHAR_COLORRED); } #endif #ifdef _CARD_PRODUCTION /** - * 㿨 + * 点卡制作 */ void CHAR_CHAT_DEBUG_card(int charindex ,char *message) { @@ -6180,15 +6180,15 @@ void CHAR_CHAT_DEBUG_card(int charindex ,char *message) number = atoi(num); cos = atoi(costval); if(number <= 0 ) { - CHAR_talkToCli( charindex, -1, "ֵС0", CHAR_COLORRED); + CHAR_talkToCli( charindex, -1, "充值卡数量不能小于0", CHAR_COLORRED); return; } if(cos <= 0 ) { - CHAR_talkToCli( charindex, -1, "ֵֵС0", CHAR_COLORRED); + CHAR_talkToCli( charindex, -1, "充值卡面值不能小于0", CHAR_COLORRED); return; } sasql_OnlineCost_add(cos, number); - sprintf(msg,"ɹ%dֵ%dĻԱֵ",number,cos); + sprintf(msg,"成功添加%d张面值%d的会员点充值卡",number,cos); CHAR_talkToCli( charindex, -1,msg, CHAR_COLORRED); } #endif @@ -6196,14 +6196,14 @@ void CHAR_CHAT_DEBUG_card(int charindex ,char *message) #ifdef _CAX_GM_RERIDE void CHAR_CHAT_DEBUG_reride(int charindex ,char *message) { - CHAR_talkToCli( charindex, -1, "¶ȡԶб...", CHAR_COLORYELLOW); - print("GM ضride.txtļ..."); + CHAR_talkToCli( charindex, -1, "重新读取自定义骑宠列表...", CHAR_COLORYELLOW); + print("GM 重读ride.txt文件..."); if(CHAR_Ride_CF_init()){ - print("\n"); - CHAR_talkToCli( charindex, -1, "ȡ", CHAR_COLORYELLOW); + print("完成\n"); + CHAR_talkToCli( charindex, -1, "读取完成", CHAR_COLORYELLOW); return; } - CHAR_talkToCli( charindex, -1, "ȡʧ", CHAR_COLORYELLOW); + CHAR_talkToCli( charindex, -1, "读取失败", CHAR_COLORYELLOW); } #endif @@ -6212,30 +6212,30 @@ void CHAR_CHAT_DEBUG_reskillcode(int charindex ,char *message) { int ret; ret = CHAR_FmLeaderRide_init(); - CHAR_talkToCli( charindex, -1, "¶ȡ\ļ...", CHAR_COLORYELLOW); - print("GM ضskillcode.txtļ..."); + CHAR_talkToCli( charindex, -1, "重新读取宠物技能限制文件...", CHAR_COLORYELLOW); + print("GM 重读skillcode.txt文件..."); if( ret) { - print("\n"); - CHAR_talkToCli( charindex, -1, "ȡ", CHAR_COLORYELLOW); + print("完成\n"); + CHAR_talkToCli( charindex, -1, "读取完成", CHAR_COLORYELLOW); return; } - CHAR_talkToCli( charindex, -1, "ȡʧ", CHAR_COLORYELLOW); + CHAR_talkToCli( charindex, -1, "读取失败", CHAR_COLORYELLOW); } #endif #ifdef _CAX_GM_RELEADERRIDE void CHAR_CHAT_DEBUG_releaderride(int charindex ,char *message) { - CHAR_talkToCli( charindex, -1, "¶ȡׯ԰ļ...", CHAR_COLORYELLOW); - print("GM ضleaderride.txtļ..."); + CHAR_talkToCli( charindex, -1, "重新读取庄园骑宠文件...", CHAR_COLORYELLOW); + print("GM 重读leaderride.txt文件..."); if( CHAR_FmLeaderRide_init()) { - print("\n"); - CHAR_talkToCli( charindex, -1, "ȡ", CHAR_COLORYELLOW); + print("完成\n"); + CHAR_talkToCli( charindex, -1, "读取完成", CHAR_COLORYELLOW); return; } - CHAR_talkToCli( charindex, -1, "ȡʧ", CHAR_COLORYELLOW); + CHAR_talkToCli( charindex, -1, "读取失败", CHAR_COLORYELLOW); } #endif @@ -6243,13 +6243,13 @@ void CHAR_CHAT_DEBUG_releaderride(int charindex ,char *message) void CHAR_CHAT_DEBUG_GmSaveAllChar( int charaindex, char* message ) { int i; - CHAR_talkToCli( charaindex, -1, "ڱ,Ժ~", CHAR_COLORRED); + CHAR_talkToCli( charaindex, -1, "正在保存数据,请稍后~", CHAR_COLORRED); for( i=0; i= 1 ) { CHAR_setWorkInt ( myindex , CHAR_WORKCHATROOMTYPE , 2 ) ; CHAR_setWorkInt ( toindex , CHAR_WORKCHATROOMTYPE , 1 ) ; - CHAR_talkToCli ( toindex , -1 , "ҵҳ" , CHAR_COLORRED ) ; + CHAR_talkToCli ( toindex , -1 , "你现在是聊天室的室长!" , CHAR_COLORRED ) ; ChatRoom[ Num ].Maker = toindex ; } else { - CHAR_talkToCli ( myindex , -1 , "ѡļȼԵҳ" , CHAR_COLORRED ) ; + CHAR_talkToCli ( myindex , -1 , "您选择的继任人物等级不足以担任室长!" , CHAR_COLORRED ) ; } } ChatRoom_Refresh ( Num ) ; @@ -285,7 +285,7 @@ void ChatRoom_Join ( int myindex , int num ) fd = getfdFromCharaIndex( ChatRoom[ num ].Maker ); lssproto_CHATROOM_send ( fd , buf ); }else if ( ChatRoom[ num ].NowPeople >= MAX_PPLINROOM ) - CHAR_talkToCli ( myindex , -1 , "" , CHAR_COLORRED ) ; + CHAR_talkToCli ( myindex , -1 , "聊天室人数已满!" , CHAR_COLORRED ) ; } @@ -310,10 +310,10 @@ void ChatRoom_Agree ( int myindex , int toindex , int YesNo ) { } } }else if ( YesNo == 0 ) { - CHAR_talkToCli ( toindex , -1 , "ҳܾļ룡" , CHAR_COLORRED ) ; + CHAR_talkToCli ( toindex , -1 , "您申请的聊天室室长拒绝您的加入!" , CHAR_COLORRED ) ; }else if ( ChatRoom[ Num ].NowPeople >= MAX_PPLINROOM ) { - CHAR_talkToCli ( toindex , -1 , "" , CHAR_COLORRED ) ; - CHAR_talkToCli ( myindex , -1 , "" , CHAR_COLORRED ) ; + CHAR_talkToCli ( toindex , -1 , "您申请的聊天室人数已满!" , CHAR_COLORRED ) ; + CHAR_talkToCli ( myindex , -1 , "聊天室人数已满!" , CHAR_COLORRED ) ; } } ChatRoom_Refresh ( Num ) ; @@ -326,7 +326,7 @@ void ChatRoom_List ( int fd ) char token[2048] = "B|"; for ( i = 0 ; i < MAX_CHATROOM ; i ++ ) { if ( ChatRoom[ i ].useFlag == TRUE ) { - sprintf ( buf , "%2dѶ=>%20s , ҳ=>%16s , =>%2d" , + sprintf ( buf , "聊天室%2d资讯:室名=>%20s , 室长=>%16s , 人数=>%2d" , i , ChatRoom[ i ].RoomName , CHAR_getChar ( ChatRoom[ i ].Maker , CHAR_NAME ) , @@ -391,31 +391,31 @@ void ChatRoom_recvall ( int fd , char *data ) getStringFromIndexWithDelim( data , "|", 1, Head, sizeof(Head)); getStringFromIndexWithDelim( data , "|", 2, message, sizeof(message)); - if ( strcmp ( Head , "C" ) == 0 ) { // Ƶ + if ( strcmp ( Head , "C" ) == 0 ) { // 成立频道 if ( !ChatRoom_Create ( myindex , message ) ) print("\nSyu log Create Channel Error" ); - }else if ( strcmp ( Head , "D" ) == 0 ) { // ɾƵ + }else if ( strcmp ( Head , "D" ) == 0 ) { // 删除频道 if ( !ChatRoom_Destroy ( myindex ) ) print("\nSyu log Destroy Channel Error" ) ; - }else if ( strcmp ( Head , "A" ) == 0 ) {// ͬƵ + }else if ( strcmp ( Head , "A" ) == 0 ) {// 同意加入频道 getStringFromIndexWithDelim( data , "|", 2, message, sizeof(message)); getStringFromIndexWithDelim( data , "|", 3, buf, sizeof(buf)); ChatRoom_Agree ( myindex , atoi( message ) , atoi( buf ) ) ; - }else if ( strcmp ( Head , "J" ) == 0 ) {// Ƶ + }else if ( strcmp ( Head , "J" ) == 0 ) {// 申请频道 getStringFromIndexWithDelim( data , "|", 2, message, sizeof(message)); ChatRoom_Join ( myindex , atoi( message ) ) ; - }else if ( strcmp ( Head , "L" ) == 0 ) {// 뿪Ƶ + }else if ( strcmp ( Head , "L" ) == 0 ) {// 离开频道 ChatRoom_Leave ( myindex ) ; - }else if ( strcmp ( Head , "K" ) == 0 ) {//߳Ƶ + }else if ( strcmp ( Head , "K" ) == 0 ) {//踢出频道 getStringFromIndexWithDelim( data , "|", 2, message, sizeof(message)); ChatRoom_Kick ( myindex , atoi( message ) ); - }else if ( strcmp ( Head , "M" ) == 0 ) { // ҳ + }else if ( strcmp ( Head , "M" ) == 0 ) { // 更换室长 getStringFromIndexWithDelim( data , "|", 2, message, sizeof(message)); ChatRoom_Make ( myindex , atoi( message ) ); - }else if ( strcmp ( Head , "T" ) == 0 ) {// ƵѶϢ + }else if ( strcmp ( Head , "T" ) == 0 ) {// 频道讯息 getStringFromIndexWithDelim( data , "|", 2, message, sizeof(message)); ChatRoom_Message ( myindex , message ) ; - }else if ( strcmp ( Head , "B" ) == 0 ) {// 嵥 + }else if ( strcmp ( Head , "B" ) == 0 ) {// 聊天室清单 ChatRoom_List ( fd ); }else print("\nSyu log None"); diff --git a/char/defaultGroundEnemy.h b/char/defaultGroundEnemy.h index 8dba339..510700d 100644 --- a/char/defaultGroundEnemy.h +++ b/char/defaultGroundEnemy.h @@ -1,7 +1,7 @@ #if 0 static Char slime= { - FALSE, /* use ɤǤ⤤*/ + FALSE, /* use どうでもいい*/ /* data */ { @@ -12,7 +12,7 @@ static Char slime= 0, /* CHAR_FLOOR */ 0, /* CHAR_X */ 0, /* CHAR_Y */ - 0, /* CHAR_DIR 120˻׼ */ + 0, /* CHAR_DIR 12箕を0に箕纷件りに */ 0, /* CHAR_LV */ 0, /* CHAR_GOLD */ 1, /* CHAR_HP */ @@ -27,10 +27,10 @@ static Char slime= 0, /* CHAR_CHARM */ 0, /* CHAR_LUCK */ - 0, /* ° */ - 0, /* ° */ - 0, /* ° */ - 0, /* ° */ + 0, /* 孟掳拉 */ + 0, /* 垮掳拉 */ + 0, /* 残掳拉 */ + 0, /* 慎掳拉 */ 0, /* CHAR_SLOT */ 0, /* CHAR_CRITIAL */ diff --git a/char/defaultPlayer.h b/char/defaultPlayer.h index 703c4f5..7f23b5f 100644 --- a/char/defaultPlayer.h +++ b/char/defaultPlayer.h @@ -2,7 +2,7 @@ static Char player= { - FALSE, /* use ɤǤ⤤*/ + FALSE, /* use どうでもいい*/ { 0, /* CHAR_DATAPLACENUMBER */ 0, /* CHAR_BASEIMAGENUMBER */ @@ -11,7 +11,7 @@ static Char player= 0, /* CHAR_FLOOR */ 0, /* CHAR_X */ 0, /* CHAR_Y */ - 5, /* CHAR_DIR 120˻׼ */ + 5, /* CHAR_DIR 12箕を0に箕纷件りに */ 1, /* CHAR_LV */ 0, /* CHAR_GOLD */ 1, /* CHAR_HP */ @@ -26,10 +26,10 @@ static Char player= 0, /* CHAR_CHARM */ 0, /* CHAR_LUCK */ - 0, /* ° */ - 0, /* ° */ - 0, /* ° */ - 0, /* ° */ + 0, /* 孟掳拉 */ + 0, /* 垮掳拉 */ + 0, /* 残掳拉 */ + 0, /* 慎掳拉 */ 0, /* CHAR_SLOT*/ 0, /* CHAR_CRITIAL */ @@ -111,19 +111,19 @@ static Char player= //#endif 0, //CHAR_SILENT, /* char shutup time */ - 0, // CHAR_FMINDEX, // a index + 0, // CHAR_FMINDEX, // 產壁 index 0, // CHAR_FMLEADERFLAG, - /* aڦ - * FMMEMBER_NONE :S[Ja - * FMMEMBER_APPLY :ӽХ[Jaڤ - * FMMEMBER_LEADER :ڪ - * FMMEMBER_MEMBER :@릨 - * FMMEMBER_ELDER : - * FMMEMBER_INVITE :q // Ȯɤ - * FMMEMBER_BAILEE :]Ȫ // Ȯɤ - * FMMEMBER_VICELEADER :Ʊڪ // Ȯɤ + /* 產壁Θ贺摸 + * FMMEMBER_NONE :⊿Τヴ產壁 + * FMMEMBER_APPLY :ビ叫產壁い + * FMMEMBER_LEADER :壁 + * FMMEMBER_MEMBER :Θ + * FMMEMBER_ELDER :ρ + * FMMEMBER_INVITE :步 // 既ぃノ + * FMMEMBER_BAILEE :癩叭 // 既ぃノ + * FMMEMBER_VICELEADER :捌壁 // 既ぃノ */ - 0, // CHAR_FMSPRITE, // aڦu@F + 0, // CHAR_FMSPRITE, // 產壁臔弘艶 0, // CHAR_BANKGOLD, 0, // CHAR_RIDEPET, @@ -133,13 +133,13 @@ static Char player= #endif 0, // CHAR_LIMITLEVEL, #ifdef _PET_FUSION - 0, // CHAR_FUSIONCODE, //ؽsX - 0, // CHAR_FUSIONINDEX, //ds - 0, // CHAR_FUSIONRAISE, //i - 0, // CHAR_FUSIONBEIT, //dJX - 0, // CHAR_FUSIONTIMELIMIT, //iɶ + 0, // CHAR_FUSIONCODE, //贺絪絏 + 0, // CHAR_FUSIONINDEX, //瑰て胐絪腹 + 0, // CHAR_FUSIONRAISE, //笼緄Ω计 + 0, // CHAR_FUSIONBEIT, //胐矹篨夹 + 0, // CHAR_FUSIONTIMELIMIT, //笼緄丁 #endif -#ifdef _PERSONAL_FAME // Arminius 8.30: aڭӤHn +#ifdef _PERSONAL_FAME // Arminius 8.30: 產壁羘辨 0, // CHAR_FAME, #endif @@ -148,32 +148,32 @@ static Char player= #endif #ifdef _ATTACK_MAGIC - 0, // CHAR_EARTH_EXP, // aa]km - 0, // CHAR_WATER_EXP, // a]km - 0, // CHAR_FIRE_EXP, // a]km - 0, // CHAR_WIND_EXP, // a]km - 0, // CHAR_EARTH_RESIST, // aa]kܩ - 0, // CHAR_WATER_RESIST, // a]kܩ - 0, // CHAR_FIRE_RESIST, // a]kܩ - 0, // CHAR_WIND_RESIST, // a]kܩ - 0, // CHAR_EARTH_ATTMAGIC_EXP, // aa]km׸g - 0, // CHAR_WATER_ATTMAGIC_EXP, // a]km׸g - 0, // CHAR_FIRE_ATTMAGIC_EXP, // a]km׸g - 0, // CHAR_WIND_ATTMAGIC_EXP, // a]km׸g - 0, // CHAR_EARTH_DEFMAGIC_EXP, // aa]kܩʸg - 0, // CHAR_WATER_DEFMAGIC_EXP, // a]kܩʸg - 0, // CHAR_FIRE_DEFMAGIC_EXP, // a]kܩʸg - 0, // CHAR_WIND_DEFMAGIC_EXP, // a]kܩʸg + 0, // CHAR_EARTH_EXP, // 產臸猭剪絤 + 0, // CHAR_WATER_EXP, // 產臸猭剪絤 + 0, // CHAR_FIRE_EXP, // 產臸猭剪絤 + 0, // CHAR_WIND_EXP, // 產臸猭剪絤 + 0, // CHAR_EARTH_RESIST, // 產臸猭к┦ + 0, // CHAR_WATER_RESIST, // 產臸猭к┦ + 0, // CHAR_FIRE_RESIST, // 產臸猭к┦ + 0, // CHAR_WIND_RESIST, // 產臸猭к┦ + 0, // CHAR_EARTH_ATTMAGIC_EXP, // 產臸猭剪絤竒喷 + 0, // CHAR_WATER_ATTMAGIC_EXP, // 產臸猭剪絤竒喷 + 0, // CHAR_FIRE_ATTMAGIC_EXP, // 產臸猭剪絤竒喷 + 0, // CHAR_WIND_ATTMAGIC_EXP, // 產臸猭剪絤竒喷 + 0, // CHAR_EARTH_DEFMAGIC_EXP, // 產臸猭к┦竒喷 + 0, // CHAR_WATER_DEFMAGIC_EXP, // 產臸猭к┦竒喷 + 0, // CHAR_FIRE_DEFMAGIC_EXP, // 產臸猭к┦竒喷 + 0, // CHAR_WIND_DEFMAGIC_EXP, // 產臸猭к┦竒喷 #endif #ifdef _GAMBLE_BANK - 0, // CHAR_PERSONAGOLD, //ӤHȦ + 0, // CHAR_PERSONAGOLD, //戒初蝗︽ #endif #ifdef _DROPSTAKENEW - 0, // CHAR_GAMBLENUM, //n + 0, // CHAR_GAMBLENUM, //戒初縩だ #endif -#ifdef _ADD_ACTION //npcʧ@ +#ifdef _ADD_ACTION //npc笆 0, // CHAR_ACTIONSTYLE, #endif #ifdef _PET_EVOLUTION @@ -187,27 +187,27 @@ static Char player= 0, // CHAR_FMTIMELIMIT, #endif -#ifdef _CHAR_PROFESSION // WON ADD H¾~ - 0, // PROFESSION_CLASS, // ¾~O - 0, // PROFESSION_LEVEL, // ¾~ -// 0, // PROFESSION_EXP, // ¾~g - 0, // PROFESSION_SKILL_POINT, // ޯI - 0, // ATTACHPILE, // W[| - 0, // PROFESSION_FIRE_P, // m - 0, // PROFESSION_ICE_P, // Bm - 0, // PROFESSION_THUNDER_P, // pm - 0, // PROFESSION_FIRE_R, // ܩ - 0, // PROFESSION_ICE_R, // Bܩ - 0, // PROFESSION_THUNDER_R, // pܩ +#ifdef _CHAR_PROFESSION // WON ADD 戮穨 + 0, // PROFESSION_CLASS, // 戮穨 + 0, // PROFESSION_LEVEL, // 戮穨单 +// 0, // PROFESSION_EXP, // 戮穨竒喷 + 0, // PROFESSION_SKILL_POINT, // м翴计 + 0, // ATTACHPILE, // 糤帮舼 + 0, // PROFESSION_FIRE_P, // 剪絤 + 0, // PROFESSION_ICE_P, // 剪絤 + 0, // PROFESSION_THUNDER_P, // 筽剪絤 + 0, // PROFESSION_FIRE_R, // к┦ + 0, // PROFESSION_ICE_R, // к┦ + 0, // PROFESSION_THUNDER_R, // 筽к┦ #endif -#ifdef _ALLDOMAN // (i}) Syu ADD Ʀ]NPC +#ifdef _ALLDOMAN // (ぃ秨) Syu ADD 逼︽篯NPC 0, // CHAR_HEROFLOOR, #endif #ifdef _PETSKILL_BECOMEPIG -1, // CHAR_BECOMEPIG, 100250, //CHAR_BECOMEPIG_BBI #endif - 0, // CHAR_LASTLEAVETIME, // Robin add ̫uɶ + 0, // CHAR_LASTLEAVETIME, // Robin add 程瞒絬丁 #ifdef _NEW_MANOR_LAW 0, // CHAR_MOMENTUM, @@ -224,21 +224,21 @@ static Char player= #endif #ifdef _ANGEL_SUMMON - 0, // CHAR_HEROCNT, // i̥Ȫ + 0, // CHAR_HEROCNT, // ЧΘ玦ヴ叭Ω计 #endif #ifdef _TEACHER_SYSTEM - 0, // CHAR_TEACHER_FAME, // ʦ쵼 + 0, // CHAR_TEACHER_FAME, // 导师领导声望 #endif #ifdef _GM_ITEM - 0, // GM + 0, // 玩家GM命令次数 #endif #ifdef _VIP_SERVER - 0, // Ա + 0, // 会员点数 #endif #ifdef _VIP_RIDE - 0, // Աڼ + 0, // 会员骑黑鸡 #endif #ifdef _CAMEO_MONEY 0, @@ -273,10 +273,10 @@ static Char player= 0, //CHAR_LUASAVE_INT_2 0, //CHAR_LUASAVE_INT_3 #ifdef _CAX_ESC_REPORT - 0, //CHAR_REPORT ÿǩ + 0, //CHAR_REPORT 每日签到 #endif #ifdef _CAX_Mercenary - 0, //CHAR_MERCENARY Ӷֶ + 0, //CHAR_MERCENARY 佣兵字段 #endif }, diff --git a/char/encount.c b/char/encount.c index ff1b987..9906dc6 100644 --- a/char/encount.c +++ b/char/encount.c @@ -15,23 +15,23 @@ #include "encount.h" #include "enemy.h" -#ifdef _ADD_ENCOUNT // WON ADD ӵ޼ +#ifdef _ADD_ENCOUNT // WON ADD 增加敌遭遇触发修件 #include "encount.h" #endif -/* ޼ ĩ */ +/* 巨件市它件玄楮 及末□旦 */ -#ifndef _ADD_ENCOUNT // WON ADD ӵ޼ +#ifndef _ADD_ENCOUNT // WON ADD 增加敌遭遇触发修件 typedef struct tagENCOUNT_Table { int index; int floor; - int encountprob_min; /* ޼ */ - int encountprob_max; /* ޼ */ - int enemymaxnum; /* ľë¾ */ + int encountprob_min; /* 巨件市它件玄割 */ + int encountprob_max; /* 巨件市它件玄割 */ + int enemymaxnum; /* 升木分仃衬毛综月井 */ int zorder; - int groupid[ENCOUNT_GROUPMAXNUM]; /* No */ - int createprob[ENCOUNT_GROUPMAXNUM]; /* */ + int groupid[ENCOUNT_GROUPMAXNUM]; /* 弘伙□皿No */ + int createprob[ENCOUNT_GROUPMAXNUM]; /* 公及弘伙□皿及请蜇 */ RECT rect; }ENCOUNT_Table; ENCOUNT_Table *ENCOUNT_table; @@ -47,12 +47,12 @@ static INLINE BOOL ENCOUNT_CHECKENCOUNTTABLEARRAY( int array) } /*------------------------------------------------------------ - * ޼ɬüë£ - * ¦ - * filename char* ɬð̻ - * ߯Ի - * TRUE(1) - * FALSE(0) + * 巨件市它件玄涩烂及赓渝祭毛允月[ + * 娄醒 + * filename char* 涩烂白央奶伙 + * 忒曰袄 + * 岳 TRUE(1) + * 撩 FALSE(0) *------------------------------------------------------------*/ BOOL ENCOUNT_initEncount( char* filename ) { @@ -69,7 +69,7 @@ BOOL ENCOUNT_initEncount( char* filename ) ENCOUNT_encountnum=0; - /* ئ滥ϵؤ¾Ʃ */ + /* 引内 躲卅垫互窒垫丐月井升丹井譬屯月 */ while( fgets( line, sizeof( line ), f ) ){ linenum ++; if( line[0] == '#' )continue; /* comment */ @@ -80,7 +80,7 @@ BOOL ENCOUNT_initEncount( char* filename ) } if( fseek( f, 0, SEEK_SET ) == -1 ){ - fprint( "ѰҴ\n" ); + fprint( "寻找错误\n" ); fclose(f); return FALSE; } @@ -88,13 +88,13 @@ BOOL ENCOUNT_initEncount( char* filename ) ENCOUNT_table = allocateMemory( sizeof(struct tagENCOUNT_Table) * ENCOUNT_encountnum ); if( ENCOUNT_table == NULL ){ - fprint( "޷ڴ %d\n" , + fprint( "无法分配内存 %d\n" , sizeof(ENCOUNT_table)*ENCOUNT_encountnum); fclose( f ); return FALSE; } - /* */ + /* 赓渝祭 */ { int i,j; for( i = 0; i < ENCOUNT_encountnum; i ++ ) { @@ -112,7 +112,7 @@ BOOL ENCOUNT_initEncount( char* filename ) ENCOUNT_table[i].groupid[j] = -1; ENCOUNT_table[i].createprob[j] = -1; } -#ifdef _ADD_ENCOUNT // WON ADD ӵ޼ +#ifdef _ADD_ENCOUNT // WON ADD 增加敌遭遇触发修件 ENCOUNT_table[i].event_now = -1; ENCOUNT_table[i].event_end = -1; ENCOUNT_table[i].enemy_group = -1; @@ -120,7 +120,7 @@ BOOL ENCOUNT_initEncount( char* filename ) } } - /* */ + /* 引凶 心 允 */ linenum = 0; while( fgets( line, sizeof( line ), f ) ){ linenum ++; @@ -128,10 +128,10 @@ BOOL ENCOUNT_initEncount( char* filename ) if( line[0] == '\n' )continue; /* none */ chomp( line ); - /* ë */ - /* tab ë " " 徧 */ + /* 垫毛帮溥允月 */ + /* 引内 tab 毛 " " 卞 五晶尹月 */ replaceString( line, '\t' , ' ' ); - /* ʸë£*/ + /* 燮 及旦矢□旦毛潸月[*/ { int i; char buf[256]; @@ -151,7 +151,7 @@ BOOL ENCOUNT_initEncount( char* filename ) int x1,x2,y1,y2; int j; - /* պ ݼм */ + /* 蘸户及伙□皿卞 匀凶凛及啃及赓渝祭 */ ENCOUNT_table[encount_readlen].index = -1; ENCOUNT_table[encount_readlen].floor = 0; ENCOUNT_table[encount_readlen].encountprob_min = 1; @@ -166,64 +166,64 @@ BOOL ENCOUNT_initEncount( char* filename ) ENCOUNT_table[encount_readlen].groupid[j] = -1; ENCOUNT_table[encount_readlen].createprob[j] = -1; } -#ifdef _ADD_ENCOUNT // WON ADD ӵ޼ +#ifdef _ADD_ENCOUNT // WON ADD 增加敌遭遇触发修件 ENCOUNT_table[encount_readlen].event_now = -1; ENCOUNT_table[encount_readlen].event_end = -1; ENCOUNT_table[encount_readlen].enemy_group = -1; #endif - /* 繴ͼëέ */ + /* 夫午勾户及玄□弁件毛苇月 */ ret = getStringFromIndexWithDelim( line,",",1,token, sizeof(token)); if( ret==FALSE ){ - fprint("ļ﷨:%s %d\n",filename,linenum); + fprint("文件语法错误:%s 第%d行\n",filename,linenum); continue; } ENCOUNT_table[encount_readlen].index = atoi(token); - /* 2ͼëέ */ + /* 2勾户及玄□弁件毛苇月 */ ret = getStringFromIndexWithDelim( line,",",2,token, sizeof(token)); if( ret==FALSE ){ - fprint("ļ﷨:%s %d\n",filename,linenum); + fprint("文件语法错误:%s 第%d行\n",filename,linenum); continue; } ENCOUNT_table[encount_readlen].floor = atoi(token); - /* 3ͼëέ */ + /* 3勾户及玄□弁件毛苇月 */ ret = getStringFromIndexWithDelim( line,",",3,token, sizeof(token)); if( ret==FALSE ){ - fprint("ļ﷨:%s %d\n",filename,linenum); + fprint("文件语法错误:%s 第%d行\n",filename,linenum); continue; } x1 = atoi(token); - /* 4ͼëέ */ + /* 4勾户及玄□弁件毛苇月 */ ret = getStringFromIndexWithDelim( line,",",4,token, sizeof(token)); if( ret==FALSE ){ - fprint("ļ﷨:%s %d\n",filename,linenum); + fprint("文件语法错误:%s 第%d行\n",filename,linenum); continue; } y1= atoi(token); - /* 5ͼëέ */ + /* 5勾户及玄□弁件毛苇月 */ ret = getStringFromIndexWithDelim( line,",",5,token, sizeof(token)); if( ret==FALSE ){ - fprint("ļ﷨:%s %d\n",filename,linenum); + fprint("文件语法错误:%s 第%d行\n",filename,linenum); continue; } x2 = atoi(token); - /* 6ͼëέ */ + /* 6勾户及玄□弁件毛苇月 */ ret = getStringFromIndexWithDelim( line,",",6,token, sizeof(token)); if( ret==FALSE ){ - fprint("ļ﷨:%s %d\n",filename,linenum); + fprint("文件语法错误:%s 第%d行\n",filename,linenum); continue; } y2= atoi(token); @@ -233,20 +233,20 @@ BOOL ENCOUNT_initEncount( char* filename ) ENCOUNT_table[encount_readlen].rect.y = min(y1,y2); ENCOUNT_table[encount_readlen].rect.height = max(y1,y2) - min(y1,y2); - /* 7ͼëέ */ + /* 7户及玄□弁件毛苇月 */ ret = getStringFromIndexWithDelim( line,",",7,token, sizeof(token)); if( ret==FALSE ){ - fprint("ļ﷨:%s %d\n",filename,linenum); + fprint("文件语法错误:%s 第%d行\n",filename,linenum); continue; } ENCOUNT_table[encount_readlen].encountprob_min = atoi(token); - /* 8ͼëέ */ + /* 8户及玄□弁件毛苇月 */ ret = getStringFromIndexWithDelim( line,",",8,token, sizeof(token)); if( ret==FALSE ){ - fprint("ļ﷨:%s %d\n",filename,linenum); + fprint("文件语法错误:%s 第%d行\n",filename,linenum); continue; } ENCOUNT_table[encount_readlen].encountprob_max = atoi(token); @@ -255,39 +255,39 @@ BOOL ENCOUNT_initEncount( char* filename ) int a,b; a = ENCOUNT_table[encount_readlen].encountprob_min; b = ENCOUNT_table[encount_readlen].encountprob_max; - /* Ʃ */ + /* 凝及譬帮 */ ENCOUNT_table[encount_readlen].encountprob_min = min( a,b); ENCOUNT_table[encount_readlen].encountprob_max = max( a,b); } - /* 9ͼëέ */ + /* 9勾户及玄□弁件毛苇月 */ ret = getStringFromIndexWithDelim( line,",",9,token, sizeof(token)); if( ret==FALSE ){ - fprint("ļ﷨:%s %d\n",filename,linenum); + fprint("文件语法错误:%s 第%d行\n",filename,linenum); continue; } { int maxnum = atoi( token); - /* Ѽ뼰 */ + /* 醒及恳癫岭及民尼永弁 */ if( maxnum < 1 || maxnum > ENCOUNT_ENEMYMAXCREATENUM ) { - fprint("ļ﷨:%s %d\n",filename,linenum); + fprint("文件语法错误:%s 第%d行\n",filename,linenum); continue; } ENCOUNT_table[encount_readlen].enemymaxnum = maxnum; } - /* 10ͼëέ */ + /* 10户及玄□弁件毛苇月 */ ret = getStringFromIndexWithDelim( line,",",10,token, sizeof(token)); if( ret==FALSE ){ - fprint("ļ﷨:%s %d\n",filename,linenum); + fprint("文件语法错误:%s 第%d行\n",filename,linenum); continue; } ENCOUNT_table[encount_readlen].zorder = atoi(token); #define CREATEPROB_TOKEN 11 - /* 11 31ͼëέ */ + /* 11 31户及玄□弁件毛苇月 */ { int i; @@ -295,7 +295,7 @@ BOOL ENCOUNT_initEncount( char* filename ) ret = getStringFromIndexWithDelim( line,",",i,token, sizeof(token)); if( ret==FALSE ){ - fprint("ļ﷨:%s %d\n",filename,linenum); + fprint("文件语法错误:%s 第%d行\n",filename,linenum); continue; } if( strlen( token) != 0 ) { @@ -310,22 +310,22 @@ BOOL ENCOUNT_initEncount( char* filename ) } } - /* */ + /* 褐 民尼永弁 */ if( checkRedundancy( ENCOUNT_table[encount_readlen].groupid, arraysizeof( ENCOUNT_table[encount_readlen].groupid))) { - fprint( "ļ﷨:%s %d\n", + fprint( "文件语法错误:%s 第%d行\n", filename,linenum); continue; } } -#ifdef _ADD_ENCOUNT // WON ADD ӵ޼ +#ifdef _ADD_ENCOUNT // WON ADD 增加敌遭遇触发修件 ret = getStringFromIndexWithDelim( line,",",31,token, sizeof(token)); if( ret==FALSE ){ - fprint("ļ﷨:%s %d\n",filename,linenum); + fprint("文件语法错误:%s 第%d行\n",filename,linenum); continue; } ENCOUNT_table[encount_readlen].event_now = atoi(token); @@ -333,7 +333,7 @@ BOOL ENCOUNT_initEncount( char* filename ) ret = getStringFromIndexWithDelim( line,",",32,token, sizeof(token)); if( ret==FALSE ){ - fprint("ļ﷨:%s %d\n",filename,linenum); + fprint("文件语法错误:%s 第%d行\n",filename,linenum); continue; } ENCOUNT_table[encount_readlen].event_end = atoi(token); @@ -341,7 +341,7 @@ BOOL ENCOUNT_initEncount( char* filename ) ret = getStringFromIndexWithDelim( line,",",33,token, sizeof(token)); if( ret==FALSE ){ - fprint("ļ﷨:%s %d\n",filename,linenum); + fprint("文件语法错误:%s 第%d行\n",filename,linenum); continue; } ENCOUNT_table[encount_readlen].enemy_group = atoi(token); @@ -354,12 +354,12 @@ BOOL ENCOUNT_initEncount( char* filename ) ENCOUNT_encountnum = encount_readlen; - print( "Ч %d..", ENCOUNT_encountnum ); + print( "有效的遇敌坐标数是 %d..", ENCOUNT_encountnum ); return TRUE; } /*------------------------------------------------------------------------ - * ޼ɬð̻ + * 巨件市它件玄涩烂白央奶伙 心 仄 *-----------------------------------------------------------------------*/ BOOL ENCOUNT_reinitEncount( void ) { @@ -368,15 +368,15 @@ BOOL ENCOUNT_reinitEncount( void ) } /*------------------------------------------------------------ - * ϶ýľ ENCOUNT_tableٯëƩ£ - * zorderٯëέƴ˼ ë £ - * ¦ - * floor int ׷ʧID - * x int x - * y int y - * ߯Ի - * ٯ - * -1 + * 隙烂今木凶甄 及ENCOUNT_table及骄侬毛譬屯月[ + * zorder及醒侬毛苇化穸燮赐匏及嫖中 毛潸 允月[ + * 娄醒 + * floor int 白夫失ID + * x int x甄 + * y int y甄 + * 忒曰袄 + * 恳橘 骄侬 + * 潸 撩 -1 ------------------------------------------------------------*/ int ENCOUNT_getEncountAreaArray( int floor, int x, int y) { @@ -388,8 +388,8 @@ int ENCOUNT_getEncountAreaArray( int floor, int x, int y) int curZorder = ENCOUNT_getZorderFromArray(i); if( curZorder >0) { if( index != -1 ) { - /* ƴëƩ */ - /* */ + /* 穸燮赐匏毛譬屯月 */ + /* 五中 穸燮 */ if( curZorder > ENCOUNT_getZorderFromArray(index)) { index = i; } @@ -405,14 +405,14 @@ int ENCOUNT_getEncountAreaArray( int floor, int x, int y) } /*------------------------------------------------------------ - * ϶ýľ ޼ ëƩ£ - * ¦ - * floor int ׷ʧID - * x int x - * y int y - * ߯Ի - * ߶ - * -1 + * 隙烂今木凶甄 及巨件市它件玄割 毛譬屯月[ + * 娄醒 + * floor int 白夫失ID + * x int x甄 + * y int y甄 + * 忒曰袄 + * 恳橘 ㄟ动晓及割 + * 潸 撩 -1 ------------------------------------------------------------*/ int ENCOUNT_getEncountPercentMin( int charaindex, int floor , int x, int y ) { @@ -421,7 +421,7 @@ int ENCOUNT_getEncountPercentMin( int charaindex, int floor , int x, int y ) ret = ENCOUNT_getEncountAreaArray( floor, x, y); if( ret != -1 ) { ret = ENCOUNT_table[ret].encountprob_min; - /* Ŀ򵩶ë */ + /* 玄目夫旦躲绊毛勾仃月 */ if( CHAR_getWorkInt( charaindex, CHAR_WORK_TOHELOS_COUNT) > 0 ) { ret = ceil( ret * ((100 + CHAR_getWorkInt( charaindex, CHAR_WORK_TOHELOS_CUTRATE)) @@ -433,14 +433,14 @@ int ENCOUNT_getEncountPercentMin( int charaindex, int floor , int x, int y ) return ret; } /*------------------------------------------------------------ - * ϶ýľ ޼ ëƩ£ - * ¦ - * floor int ׷ʧID - * x int x - * y int y - * ߯Ի - * ߶ - * -1 + * 隙烂今木凶甄 及巨件市它件玄割 毛譬屯月[ + * 娄醒 + * floor int 白夫失ID + * x int x甄 + * y int y甄 + * 忒曰袄 + * 恳橘 ㄟ动晓及割 + * 潸 撩 -1 ------------------------------------------------------------*/ int ENCOUNT_getEncountPercentMax( int charaindex, int floor , int x, int y ) { @@ -449,7 +449,7 @@ int ENCOUNT_getEncountPercentMax( int charaindex, int floor , int x, int y ) ret = ENCOUNT_getEncountAreaArray( floor, x, y); if( ret != -1 ) { ret = ENCOUNT_table[ret].encountprob_max; - /* Ŀ򵩶ë */ + /* 玄目夫旦躲绊毛勾仃月 */ if( CHAR_getWorkInt( charaindex, CHAR_WORK_TOHELOS_COUNT) > 0 ) { ret = ceil( ret * ((100 + CHAR_getWorkInt( charaindex, CHAR_WORK_TOHELOS_CUTRATE)) @@ -461,14 +461,14 @@ int ENCOUNT_getEncountPercentMax( int charaindex, int floor , int x, int y ) return ret; } /*------------------------------------------------------------ - * ϶ýľ ϷMAXëƩ£ - * ¦ - * floor int ׷ʧID - * x int x - * y int y - * ߯Ի - * ߶ - * -1 + * 隙烂今木凶甄 及衬戏岳MAX醒毛譬屯月[ + * 娄醒 + * floor int 白夫失ID + * x int x甄 + * y int y甄 + * 忒曰袄 + * 恳橘 ㄟ动晓及割 + * 潸 撩 -1 ------------------------------------------------------------*/ int ENCOUNT_getCreateEnemyMaxNum( int floor , int x, int y ) { @@ -481,14 +481,14 @@ int ENCOUNT_getCreateEnemyMaxNum( int floor , int x, int y ) return ret; } /*------------------------------------------------------------ - * ϶ýľ ޼ūindexëƩ£ - * ¦ - * floor int ׷ʧID - * x int x - * y int y - * ߯Ի - * ߶ - * -1 + * 隙烂今木凶甄 及巨件市它件玄白奴□伙玉及index毛譬屯月[ + * 娄醒 + * floor int 白夫失ID + * x int x甄 + * y int y甄 + * 忒曰袄 + * 恳橘 ㄟ动晓 + * 潸 撩 -1 ------------------------------------------------------------*/ int ENCOUNT_getEncountIndex( int floor , int x, int y ) { @@ -501,12 +501,12 @@ int ENCOUNT_getEncountIndex( int floor , int x, int y ) return ret; } /*------------------------------------------------------------ - * ϶ýľ ޼ūindexëƩ£ - * ¦ - * array int ENCOUNTTABLEٯ - * ߯Ի - * ߶ - * -1 + * 隙烂今木凶甄 及巨件市它件玄白奴□伙玉及index毛譬屯月[ + * 娄醒 + * array int ENCOUNTTABLE及骄侬 + * 忒曰袄 + * 恳橘 ㄟ动晓 + * 潸 撩 -1 ------------------------------------------------------------*/ int ENCOUNT_getEncountIndexFromArray( int array ) { @@ -514,12 +514,12 @@ int ENCOUNT_getEncountIndexFromArray( int array ) return ENCOUNT_table[array].index; } /*------------------------------------------------------------ - * ϶ýľ ޼ ëƩ£ - * ¦ - * array int ENCOUNTTABLEٯ - * ߯Ի - * ߶ - * -1 + * 隙烂今木凶甄 及巨件市它件玄割 毛譬屯月[ + * 娄醒 + * array int ENCOUNTTABLE及骄侬 + * 忒曰袄 + * 恳橘 ㄟ动晓 + * 潸 撩 -1 ------------------------------------------------------------*/ int ENCOUNT_getEncountPercentFromArray( int array ) { @@ -527,12 +527,12 @@ int ENCOUNT_getEncountPercentFromArray( int array ) return ENCOUNT_table[array].encountprob_min; } /*------------------------------------------------------------ - * ϶ýľ ϷMAXëƩ£ - * ¦ - * array int ENCOUNTTABLEٯ - * ߯Ի - * ߶ - * -1 + * 隙烂今木凶甄 及衬戏岳MAX醒毛譬屯月[ + * 娄醒 + * array int ENCOUNTTABLE及骄侬 + * 忒曰袄 + * 恳橘 ㄟ动晓 + * 潸 撩 -1 ------------------------------------------------------------*/ int ENCOUNT_getCreateEnemyMaxNumFromArray( int array ) { @@ -540,12 +540,12 @@ int ENCOUNT_getCreateEnemyMaxNumFromArray( int array ) return ENCOUNT_table[array].enemymaxnum; } /*------------------------------------------------------------ - * ϶ýľ׽ٯ įëƩ£ - * ¦ - * array int ENCOUNTTABLEٯ - * ߯Ի - * ߶ - * -1 + * 隙烂今木凶骄侬及弘伙□皿 寞毛譬屯月[ + * 娄醒 + * array int ENCOUNTTABLE及骄侬 + * 忒曰袄 + * 恳橘 ㄟ动晓 + * 潸 撩 -1 ------------------------------------------------------------*/ int ENCOUNT_getGroupIdFromArray( int array, int grouparray ) { @@ -553,12 +553,12 @@ int ENCOUNT_getGroupIdFromArray( int array, int grouparray ) return ENCOUNT_table[array].groupid[grouparray]; } /*------------------------------------------------------------ - * ϶ýľ׽ٯ ëƩ£ - * ¦ - * array int ENCOUNTTABLEٯ - * ߯Ի - * ߶ - * -1 + * 隙烂今木凶骄侬及弘伙□皿及请蜇 毛譬屯月[ + * 娄醒 + * array int ENCOUNTTABLE及骄侬 + * 忒曰袄 + * 恳橘 ㄟ动晓 + * 潸 撩 -1 ------------------------------------------------------------*/ int ENCOUNT_getGroupProbFromArray( int array, int grouparray ) { @@ -566,12 +566,12 @@ int ENCOUNT_getGroupProbFromArray( int array, int grouparray ) return ENCOUNT_table[array].createprob[grouparray]; } /*------------------------------------------------------------ - * ϶ýľ׽ٯƴëƩ£ - * ¦ - * array int ENCOUNTTABLEٯ - * ߯Ի - * ߶ - * -1 + * 隙烂今木凶骄侬及穸燮赐匏毛譬屯月[ + * 娄醒 + * array int ENCOUNTTABLE及骄侬 + * 忒曰袄 + * 恳橘 ㄟ动晓 + * 潸 撩 -1 ------------------------------------------------------------*/ int ENCOUNT_getZorderFromArray( int array ) { diff --git a/char/enemy.c b/char/enemy.c index a32c106..6787067 100644 --- a/char/enemy.c +++ b/char/enemy.c @@ -1,4 +1,4 @@ -/* ɬ */ +/* 衬涩烂楮 */ #include "version.h" #include #include @@ -18,7 +18,7 @@ #include "anim_tbl.h" #include "log.h" -#ifdef _ADD_ENCOUNT // WON ADD ӵ޼ +#ifdef _ADD_ENCOUNT // WON ADD 增加敌遭遇触发修件 #include "encount.h" #include "npcutil.h" #endif @@ -215,13 +215,13 @@ BOOL ENEMYTEMP_initEnemy( char* filename ) int i,j; f = fopen(filename,"r"); if( f == NULL ){ - print( "ļʧ\n"); + print( "文件打开失败\n"); return FALSE; } ENEMYTEMP_enemynum=0; - /* ئ滥ϵؤ¾Ʃ */ + /* 引内 躲卅垫互窒垫丐月井升丹井譬屯月 */ while( fgets( line, sizeof( line ), f ) ){ linenum ++; if( line[0] == '#' )continue; /* comment */ @@ -239,13 +239,13 @@ BOOL ENEMYTEMP_initEnemy( char* filename ) ENEMYTEMP_enemy = allocateMemory( sizeof(struct tagENEMYTEMP_Table) * ENEMYTEMP_enemynum ); if( ENEMYTEMP_enemy == NULL ){ - fprint( "޷ڴ %d\n" , + fprint( "无法分配内存 %d\n" , sizeof(struct tagENEMYTEMP_Table)*ENEMYTEMP_enemynum); fclose( f ); return FALSE; } - /* */ + /* 赓渝祭 */ for( i = 0; i < ENEMYTEMP_enemynum; i ++ ) { for( j = 0; j < E_T_DATAINTNUM; j ++ ) { ENEMYTEMP_setInt( i,j,-1); @@ -277,7 +277,7 @@ BOOL ENEMYTEMP_initEnemy( char* filename ) ret = getStringFromIndexWithDelim( line,",",i+1,token, sizeof(token)); if( ret==FALSE ){ - fprint("ļ﷨:%s %d\n",filename,linenum); + fprint("文件语法错误:%s 第%d行\n",filename,linenum); continue; } ENEMYTEMP_setChar( enemytemp_readlen, E_T_NAME + i, token); @@ -288,7 +288,7 @@ BOOL ENEMYTEMP_initEnemy( char* filename ) ret = getStringFromIndexWithDelim( line,",",i,token, sizeof(token)); if( ret==FALSE ){ - fprint("ļ﷨:%s %d\n",filename,linenum); + fprint("文件语法错误:%s 第%d行\n",filename,linenum); break; } if( strlen( token) != 0 ) { @@ -305,7 +305,7 @@ BOOL ENEMYTEMP_initEnemy( char* filename ) ENEMYTEMP_enemynum = enemytemp_readlen; - print( "Ч״̬ %d...", ENEMYTEMP_enemynum ); + print( "有效宠物基本状态数是 %d...", ENEMYTEMP_enemynum ); return TRUE; } @@ -353,7 +353,7 @@ BOOL ENEMY_initEnemy( char* filename ) int i,j; f = fopen(filename,"r"); if( f == NULL ){ - print( "ļʧ\n"); + print( "文件打开失败\n"); return FALSE; } @@ -368,7 +368,7 @@ BOOL ENEMY_initEnemy( char* filename ) } if( fseek( f, 0, SEEK_SET ) == -1 ){ - fprint( "Ѱʧ\n" ); + fprint( "寻找失败\n" ); fclose(f); return FALSE; } @@ -376,7 +376,7 @@ BOOL ENEMY_initEnemy( char* filename ) ENEMY_enemy = allocateMemory( sizeof(struct tagENEMY_EnemyTable) * ENEMY_enemynum ); if( ENEMY_enemy == NULL ){ - fprint( "޷ڴ %d\n" , + fprint( "无法分配内存 %d\n" , sizeof(struct tagENEMY_EnemyTable)*ENEMY_enemynum); fclose( f ); return FALSE; @@ -411,20 +411,20 @@ BOOL ENEMY_initEnemy( char* filename ) ret = getStringFromIndexWithDelim( line,",",1,token,sizeof(token)); if( ret==FALSE ){ - fprint("ļ﷨:%s %d\n",filename,linenum); + fprint("文件语法错误:%s 第%d行\n",filename,linenum); continue; } ENEMY_setChar( enemy_readlen, ENEMY_NAME, token); ret = getStringFromIndexWithDelim( line,",",2,token,sizeof(token)); if( ret==FALSE ){ - fprint("ļ﷨:%s %d\n",filename,linenum); + fprint("文件语法错误:%s 第%d行\n",filename,linenum); continue; } ENEMY_setChar( enemy_readlen, ENEMY_TACTICSOPTION, token); #ifdef _BATTLENPC_WARP_PLAYER ret = getStringFromIndexWithDelim( line, ",", 3, token, sizeof(token)); if(ret==FALSE){ - fprint("ļ﷨:%s %d\n",filename,linenum); + fprint("文件语法错误:%s 第%d行\n",filename,linenum); continue; } ENEMY_setChar( enemy_readlen, ENEMY_ACT_CONDITION, token); @@ -439,7 +439,7 @@ BOOL ENEMY_initEnemy( char* filename ) for( i = ENEMY_STARTINTNUM; i < ENEMY_DATAINTNUM+ENEMY_STARTINTNUM; i ++ ) { ret = getStringFromIndexWithDelim( line,",",i,token,sizeof(token)); if( ret==FALSE ){ - fprint("ļ﷨:%s %d\n",filename,linenum); + fprint("文件语法错误:%s 第%d行\n",filename,linenum); break; } ENEMY_setInt( enemy_readlen, i - ENEMY_STARTINTNUM, atoi( token)); @@ -451,7 +451,7 @@ BOOL ENEMY_initEnemy( char* filename ) } } if( i == ENEMYTEMP_enemynum) { - fprint("ļ﷨:%s %d\n",filename,linenum); + fprint("文件语法错误:%s 第%d行\n",filename,linenum); continue; } ENEMY_enemy[enemy_readlen].enemytemparray = i; @@ -470,12 +470,12 @@ BOOL ENEMY_initEnemy( char* filename ) } fclose(f); ENEMY_enemynum = enemy_readlen; - print( "Ч %d..", ENEMY_enemynum ); + print( "有效宠物数是 %d..", ENEMY_enemynum ); return TRUE; } /*------------------------------------------------------------------------ - * ENEMY_enemyɬð̻ + * ENEMY_enemy及涩烂白央奶伙 心 仄 *-----------------------------------------------------------------------*/ BOOL ENEMY_reinitEnemy( void ) { @@ -484,7 +484,7 @@ BOOL ENEMY_reinitEnemy( void ) } /*------------------------------------------------------------------------ - ENEMY_Enemyٯë + ENEMY_Enemy及骄侬毛襞月 *-----------------------------------------------------------------------*/ int ENEMY_getEnemyArrayFromIndex( int groupindex, int index) { @@ -493,7 +493,7 @@ int ENEMY_getEnemyArrayFromIndex( int groupindex, int index) return GROUP_group[groupindex].enemyarray[index]; } /*------------------------------------------------------------------------ - * ENEMY_ID ENEMY_Enemyٯë + * ENEMY_ID 井日ENEMY_Enemy及骄侬毛襞月 *-----------------------------------------------------------------------*/ int ENEMY_getEnemyArrayFromId( int EnemyId) { @@ -540,7 +540,7 @@ int ENEMY_getEnemyTempNoFromId( int EnemyId) } /*------------------------------------------------------------------------ - * ɬð̻ë + * 弘伙□皿涩烂白央奶伙毛 戈 *-----------------------------------------------------------------------*/ BOOL GROUP_initGroup( char* filename ) { @@ -552,13 +552,13 @@ BOOL GROUP_initGroup( char* filename ) f = fopen(filename,"r"); if( f == NULL ){ - print( "ļʧ\n"); + print( "文件打开失败\n"); return FALSE; } GROUP_groupnum=0; - /* ئ滥ϵؤ¾Ʃ */ + /* 引内 躲卅垫互窒垫丐月井升丹井譬屯月 */ while( fgets( line, sizeof( line ), f ) ){ linenum ++; if( line[0] == '#' )continue; /* comment */ @@ -569,7 +569,7 @@ BOOL GROUP_initGroup( char* filename ) } if( fseek( f, 0, SEEK_SET ) == -1 ){ - fprint( "Ѱʧ\n" ); + fprint( "寻找失败\n" ); fclose(f); return FALSE; } @@ -577,12 +577,12 @@ BOOL GROUP_initGroup( char* filename ) GROUP_group = allocateMemory( sizeof(struct tagGROUP_Table) * GROUP_groupnum ); if( GROUP_group == NULL ){ - fprint( "޷ڴ %d\n" , + fprint( "无法分配内存 %d\n" , sizeof(struct tagGROUP_Table)*GROUP_groupnum); fclose( f ); return FALSE; } - /* */ + /* 赓渝祭 */ for( i = 0; i < GROUP_groupnum; i ++ ) { for( j = 0; j < GROUP_DATAINTNUM; j ++ ) { GROUP_setInt( i,j,-1); @@ -592,7 +592,7 @@ BOOL GROUP_initGroup( char* filename ) } } - /* */ + /* 引凶 心 允 */ linenum = 0; while( fgets( line, sizeof( line ), f ) ){ linenum ++; @@ -600,10 +600,10 @@ BOOL GROUP_initGroup( char* filename ) if( line[0] == '\n' )continue; /* none */ chomp( line ); - /* ë */ - /* tab ë " " 徧 */ + /* 垫毛帮溥允月 */ + /* 引内 tab 毛 " " 卞 五晶尹月 */ replaceString( line, '\t' , ' ' ); - /* ʸë£*/ + /* 燮 及旦矢□旦毛潸月[*/ { char buf[256]; for( i = 0; i < strlen( line); i ++) { @@ -621,7 +621,7 @@ BOOL GROUP_initGroup( char* filename ) int ret; int loop; - /* ֨պ ݼ׻ƻ */ + /* 手仄手ㄡ蘸户及伙□皿卞 匀凶凛及凶户卞赓渝祭仄化云仁 */ for( j = 0; j < GROUP_DATAINTNUM; j ++ ) { GROUP_setInt( group_readlen,j,-1); } @@ -629,22 +629,22 @@ BOOL GROUP_initGroup( char* filename ) GROUP_group[group_readlen].enemyarray[j] = -1; } - /* 繴ͼëέ */ + /* 夫午勾户及玄□弁件毛苇月 */ ret = getStringFromIndexWithDelim( line,",",1,token, sizeof(token)); if( ret==FALSE ){ - fprint("ļ﷨:%s %d\n",filename,linenum); + fprint("文件语法错误:%s 第%d行\n",filename,linenum); continue; } GROUP_setChar( group_readlen, GROUP_NAME, token); - /* 2 ϷѰ */ + /* 2勾 动嫦反醒袄犯□正 */ #define GROUP_STARTINTNUM 2 for( i = GROUP_STARTINTNUM; i < GROUP_DATAINTNUM+GROUP_STARTINTNUM; i ++ ) { ret = getStringFromIndexWithDelim( line,",",i,token, sizeof(token)); if( ret==FALSE ){ - fprint("ļ﷨:%s %d\n",filename,linenum); + fprint("文件语法错误:%s 第%d行\n",filename,linenum); break; } if( strlen( token) != 0 ) { @@ -675,13 +675,13 @@ BOOL GROUP_initGroup( char* filename ) } } if( enemycnt == 0 ) { - fprint("Ŷ趨еδ趨 ļ:%s %d\n",filename,linenum); + fprint("团队设定中敌人尚未设定 文件:%s 第%d行\n",filename,linenum); continue;; } if( checkRedundancy( &GROUP_group[group_readlen].intdata[ENEMY_ID1], CREATEPROB1 - ENEMY_ID1)) { - fprint("Ŷ趨еظ趨 ļ:%s %d\n",filename,linenum); + fprint("团队设定中敌人重复设定 文件:%s 第%d行\n",filename,linenum); continue;; } @@ -695,12 +695,12 @@ BOOL GROUP_initGroup( char* filename ) GROUP_groupnum = group_readlen; - print( "ЧȺ %d...", GROUP_groupnum ); + print( "有效遇敌组群数是 %d...", GROUP_groupnum ); return TRUE; } /*------------------------------------------------------------------------ - * ɬð̻ + * 弘伙□皿及涩烂白央奶伙 心 仄 *-----------------------------------------------------------------------*/ BOOL GROUP_reinitGroup( void ) { @@ -708,7 +708,7 @@ BOOL GROUP_reinitGroup( void ) return( GROUP_initGroup( getGroupfile())); } /*------------------------------------------------------------------------ - * GROUP_ID GROUP_Groupٯë + * GROUP_ID 井日GROUP_Group及骄侬毛襞月 *-----------------------------------------------------------------------*/ int GROUP_getGroupArray( int groupid) { @@ -721,7 +721,7 @@ int GROUP_getGroupArray( int groupid) return -1; } /*------------------------------------------------------------------------ - * ë£ + * 潸 烦董袄毛综岳允月[ *-----------------------------------------------------------------------*/ static int ENEMY_getExp( int array,int tarray, int level, int rank ) { @@ -747,7 +747,7 @@ static int ENEMY_getExp( int array,int tarray, int level, int rank ) p = ENEMY_enemy[array].intdata; tp = ENEMYTEMP_enemy[tarray].intdata; - // ¼; ë + // 仿件弁井日 毛潸 if( rank < 0 || rank > 5 ) rank = 0; ranknum = ranktbl[rank].rank; @@ -756,7 +756,7 @@ static int ENEMY_getExp( int array,int tarray, int level, int rank ) + *( tp + E_T_STONE) + *( tp + E_T_DRUNK) + *(tp + E_T_CONFUSION) ) / 100.0 + *( tp + E_T_RARE); - /* EXP EXP֣ ¼͡ϫ ì*/ + /* EXP>湘 EXP≈- 仿件弁≈汐 ←伊矛伙×*/ //return enemybaseexptbl[*(p+ENEMY_LV)] + (ranknum + alpha)*(*(tp+ENEMY_LV)); ret = enemybaseexptbl[level] + (ranknum + alpha)*(level+1); return ( ret < 1 ) ? 1 : ret; @@ -775,7 +775,7 @@ int ENEMY_getRank( int array, int tarray ){ int num; float rank; }ranktbl[] = { - { 100, 2.5}, //ܳɳ >= 100 petrank=0 + { 100, 2.5}, //总成长率 >= 100 petrank=0 { 95, 2.0}, { 90, 1.5}, { 85, 1.0}, @@ -785,14 +785,14 @@ int ENEMY_getRank( int array, int tarray ){ p = ENEMY_enemy[array].intdata; tp = ENEMYTEMP_enemy[tarray].intdata; - /* ¼ëң */ - /* ̤ëټǣ */ + /* 仿件弁毛煌遥允月 */ + /* 仇及 及酷 反酷 踏毛辅哔及仪[ */ paramsum = *( tp + E_T_BASEVITAL) + *( tp + E_T_BASESTR) + *( tp + E_T_BASETGH) + *( tp + E_T_BASEDEX); - ranknum = 0; // ɻ + ranknum = 0; // 犯白巧伙玄反ㄟ for( i = 0; i < arraysizeof( ranktbl); i ++ ) { if( paramsum >= ranktbl[i].num ) { ranknum = i; @@ -806,69 +806,69 @@ int ENEMY_getRank( int array, int tarray ){ //********************************************************* -// ¼ĸةئ +// 仿件母丞卅 //********************************************************* static int EnemyGymSkill[] = { - PETSKILL_GUARDBREAK, // ⡰(3) - PETSKILL_CONTINUATIONATTACK1, // ߡ (10) - PETSKILL_CONTINUATIONATTACK2, // ࡰ (11) - PETSKILL_CONTINUATIONATTACK3, // ᡰ (12) - PETSKILL_CHARGE1, // ߡҡ(30) - PETSKILL_CHARGE2, // ࡰҡ(31) - PETSKILL_MIGHTY1, // ߡ ڽ(40) - PETSKILL_MIGHTY2, // ࡰ ڽ(41) - PETSKILL_POWERBALANCE1, // ߡ (50) - PETSKILL_POWERBALANCE2, // ࡰ (51) - PETSKILL_POWERBALANCE3, // ᡰ (52) - PETSKILL_POISON_ATTACK1, // ߡ (60) - PETSKILL_POISON_ATTACK2, // ࡰ (61) - PETSKILL_STONE, // ߡ޼ (80) - PETSKILL_CONFUSION_ATTACK, // ߡ (90) - PETSKILL_DRUNK_ATTACK, // ߨߡ (100) - PETSKILL_SLEEP_ATTACK, // ߡԻ (110) - PETSKILL_NOGUARD1, // ߡá(150) - PETSKILL_NOGUARD2, // ࡰá(151) - PETSKILL_NOGUARD3, // ᡰá(152) + PETSKILL_GUARDBREAK, // ㄢ“布□玉旰仄(3) + PETSKILL_CONTINUATIONATTACK1, // ㄠㄟ“ 粮 猾(10) + PETSKILL_CONTINUATIONATTACK2, // ㄠㄠ“ 粮 猾(11) + PETSKILL_CONTINUATIONATTACK3, // ㄠㄡ“ 粮 猾(12) + PETSKILL_CHARGE1, // ㄢㄟ“民乓□斥ㄠ(30) + PETSKILL_CHARGE2, // ㄢㄠ“民乓□斥ㄡ(31) + PETSKILL_MIGHTY1, // ㄣㄟ“域猾 诮(40) + PETSKILL_MIGHTY2, // ㄣㄠ“域猾 诮(41) + PETSKILL_POWERBALANCE1, // ㄤㄟ“ 及讽ㄠ(50) + PETSKILL_POWERBALANCE2, // ㄤㄠ“ 及讽ㄡ(51) + PETSKILL_POWERBALANCE3, // ㄤㄡ“ 及讽ㄢ(52) + PETSKILL_POISON_ATTACK1, // ㄥㄟ“ 猾(60) + PETSKILL_POISON_ATTACK2, // ㄥㄠ“ 猾(61) + PETSKILL_STONE, // ㄧㄟ“檗祭 猾(80) + PETSKILL_CONFUSION_ATTACK, // ㄨㄟ“渔刭 猾(90) + PETSKILL_DRUNK_ATTACK, // ㄠㄟㄟ“听办 猾(100) + PETSKILL_SLEEP_ATTACK, // ㄠㄠㄟ“戽曰 猾(110) + PETSKILL_NOGUARD1, // ㄠㄤㄟ“用□布□玉ㄠ(150) + PETSKILL_NOGUARD2, // ㄠㄤㄠ“用□布□玉ㄡ(151) + PETSKILL_NOGUARD3, // ㄠㄤㄡ“用□布□玉ㄢ(152) #ifdef _PSKILL_FALLGROUND - PETSKILL_FALLGROUND, // + PETSKILL_FALLGROUND, //落马术 #endif #ifdef _SKILL_DAMAGETOHP - PETSKILL_DAMAGETOHP, //Ѫ + PETSKILL_DAMAGETOHP, //嗜血技 #endif #ifdef _Skill_MPDAMAGE - PETSKILL_MPDAMAGE, //MP˺ + PETSKILL_MPDAMAGE, //MP伤害 #endif #ifdef _SKILL_WILDVIOLENT_ATT - PETSKILL_WILDVIOLENTATTACK, //(540)񱩹 vincent add 2002/05/16 + PETSKILL_WILDVIOLENTATTACK, //(540)狂暴攻击 vincent add 2002/05/16 #endif #ifdef _SKILL_SPEEDY_ATT - PETSKILL_SPEEDYATTACK, //(541)ٹ vincent add 2002/05/16 + PETSKILL_SPEEDYATTACK, //(541)疾速攻击 vincent add 2002/05/16 #endif #ifdef _SKILL_GUARDBREAK2 - PETSKILL_GUARDBREAK2, //(542)Ƴ2 vincent add 2002/05/20 + PETSKILL_GUARDBREAK2, //(542)破除防御2 vincent add 2002/05/20 #endif #ifdef _SKILL_SACRIFICE - PETSKILL_SACRIFICE, //(543)Ԯ vincent add 2002/05/30 + PETSKILL_SACRIFICE, //(543)救援 vincent add 2002/05/30 #endif #ifdef _SKILL_WEAKEN - PETSKILL_WEAKEN, //(544)Ԯ vincent add 2002/07/11 + PETSKILL_WEAKEN, //(544)救援 vincent add 2002/07/11 #endif #ifdef _SKILL_DEEPPOISON - PETSKILL_DEEPPOISON, //(545)Ԯ vincent add 2002/07/16 + PETSKILL_DEEPPOISON, //(545)救援 vincent add 2002/07/16 #endif #ifdef _SKILL_BARRIER - PETSKILL_BARRIER, //(546)ħ vincent add 2002/07/16 + PETSKILL_BARRIER, //(546)魔障 vincent add 2002/07/16 #endif #ifdef _SKILL_NOCAST - PETSKILL_NOCAST, //(547)Ĭ vincent add 2002/07/16 + PETSKILL_NOCAST, //(547)沉默 vincent add 2002/07/16 #endif #ifdef _SKILL_ROAR - PETSKILL_ROAR, //(548) vincent add 2002/07/11 + PETSKILL_ROAR, //(548)大吼 vincent add 2002/07/11 #endif #ifdef _SKILL_REFRESH - PETSKILL_REFRESH, //(550)Ԯ vincent add 2002/08/08 + PETSKILL_REFRESH, //(550)救援 vincent add 2002/08/08 #endif #ifdef _VARY_WOLF PETSKILL_VARY, @@ -908,29 +908,29 @@ static int gymbody[] = { /*------------------------------------------------------------------------ - * ENEMY¼ĸةئ ëܸ + * ENEMY{卞仿件母丞卅 毛芨尹月 *-----------------------------------------------------------------------*/ int ENEMY_RandomChange( int enemyindex, int tempno ) { int work, work2, iRet = 0; - // ¼ĸةƽҷ¾ + // 仿件母丞平乓仿井升丹井民尼永弁 if( ( 564 <= tempno && tempno <= 580 ) || ( 739 <= tempno && tempno <= 750 ) || ( 895 <= tempno && tempno <= 906 ) ){ //******************************************** - // ӿ + // 皿伊奶乩□及涌 //******************************************** iRet = 1; }else - // ¼ĸةƽҷ¾ + // 仿件母丞平乓仿井升丹井民尼永弁 if( ( 655 <= tempno && tempno <= 720 ) || ( 859 <= tempno && tempno <= 894 ) || ( 907 <= tempno && tempno <= 940 ) ){ //******************************************** - // ʸӿ + // 矢永玄及涌 //******************************************** iRet = 2; }else{ @@ -941,15 +941,15 @@ int ENEMY_RandomChange( int enemyindex, int tempno ) if( iRet == 1 ){ //******************************************** // - // ӿ׳ئƥַ¼ĸة + // 皿伊奶乩□及涌仄凶衬卅及匹}箪岭手仿件母丞 // //******************************************** - // ϳַ¼ĸة + // 铣手仿件母丞 CHAR_setInt( enemyindex, CHAR_BASEBASEIMAGENUMBER, gymbody[RAND( 0, arraysizeof( gymbody ) - 1)] ); CHAR_setInt( enemyindex, CHAR_BASEIMAGENUMBER, CHAR_getInt( enemyindex, CHAR_BASEBASEIMAGENUMBER ) ); - // 뷴 + // 箪岭反赝癫 work = ( RAND( 0, 20 ) - 10 ) * 10; work2 = 100 - ABS( work ); CHAR_setInt( enemyindex, CHAR_EARTHAT, work ); @@ -960,28 +960,28 @@ int ENEMY_RandomChange( int enemyindex, int tempno ) CHAR_setInt( enemyindex, CHAR_WATERAT, work2 ); CHAR_setInt( enemyindex, CHAR_WINDAT, -work2 ); - // ¼ĸةئ տë + // 仿件母丞卅 湛毛 凶六月 if( DoujyouRandomWeponSet( enemyindex ) ){ - // տɧ ë + // 溃 湛及桦宁反骚橘 猾毛勾仃月 CHAR_setPetSkill( enemyindex, 0, PETSKILL_NORMALATTACK ); CHAR_setPetSkill( enemyindex, 1, PETSKILL_NORMALATTACK ); }else{ - // տԪئмƥ - // ë + // 溃 湛元扎卅中及匹 勾仃月 + // 毛尥仃月 CHAR_setPetSkill( enemyindex, 0, EnemyGymSkill[RAND( 0, arraysizeof( EnemyGymSkill ) - 1 )] ); - // ë + // 毛尥仃月 CHAR_setPetSkill( enemyindex, 1, EnemyGymSkill[RAND( 0, arraysizeof( EnemyGymSkill ) - 1 )] ); } }else if( iRet == 2 ){ - // տԪئмƥ - // ë + // 溃 湛元扎卅中及匹 勾仃月 + // 毛尥仃月 CHAR_setPetSkill( enemyindex, 0, EnemyGymSkill[RAND( 0, arraysizeof( EnemyGymSkill ) - 1 )] ); - // ë + // 毛尥仃月 CHAR_setPetSkill( enemyindex, 1, EnemyGymSkill[RAND( 0, arraysizeof( EnemyGymSkill ) - 1 )] ); } @@ -992,7 +992,7 @@ int ENEMY_RandomChange( int enemyindex, int tempno ) /*------------------------------------------------------------------------ - * ENEMY_enemyƽҷë£ + * ENEMY_enemy井日平乓仿弁正□毛综岳允月[ *-----------------------------------------------------------------------*/ int ENEMY_createEnemy( int array, int baselevel ) { @@ -1011,50 +1011,50 @@ int ENEMY_createEnemy( int array, int baselevel ) tarray = ENEMYTEMP_getEnemyTempArray( array); if( !ENEMYTEMP_CHECKINDEX( tarray)) return -1; // tp = ENEMYTEMP_enemy[tarray].intdata; - // + // 犯□正戊疋□ for( i = 0; i < E_T_DATAINTNUM; i ++ ){ tp[i] = ENEMYTEMP_enemy[tarray].intdata[i]; } - // + // 赓渝祭 memset( &CharNew, 0, sizeof( Char ) ); if( !CHAR_getDefaultChar( &CharNew,31010 ) )return -1; - /* į */ + /* 飓 寞 */ CharNew.data[CHAR_BASEBASEIMAGENUMBER] = CharNew.data[CHAR_BASEIMAGENUMBER] = *(tp+E_T_IMGNUMBER); - /* ƥؤɬ */ + /* 衬匹丐月午涩烂允月 */ CharNew.data[CHAR_WHICHTYPE] = CHAR_TYPEENEMY; - /* ë */ + /* 毛壅允 */ CharNew.data[CHAR_DUELPOINT] = 0; - /* ìë£ */ + /* 伊矛伙毛瑁烂允月[ */ if( baselevel > 0 ){ - level = baselevel; // ì + level = baselevel; // 伊矛伙裔烂 }else{ level = RAND( (*(p + ENEMY_LV_MIN)), (*(p+ ENEMY_LV_MAX))); } #define E_PAR( a) (*(p + (a))) #define ET_PAR( a) (*(tp + (a))) -/* ɷ¶϶Ѿ ˼ ɷ¶߼ңֿ */ +/* 由仿丢□正隙醒井日 端及湘 由仿丢□正尺及煌遥挚 */ #if 1 #define PARAM_CAL( l) ( ( level -1)*ET_PAR( E_T_LVUPPOINT)+ ET_PAR(E_T_INITNUM)) * ET_PAR( (l)) #else #define PARAM_CAL( l) ( (E_PAR(ENEMY_LV) -1)*ET_PAR( E_T_LVUPPOINT)+ ET_PAR(E_T_INITNUM)) * ET_PAR( (l)) #endif - /* ԻԻ̼士ë¼ĸةƥ浤 */ + /* 燮内湘 喃曰蕊曰禾奶件玄卞+ㄡ毛仿件母丞匹垫丹 */ tp[E_T_BASEVITAL] += RAND( 0, 4 ) - 2; tp[E_T_BASESTR] += RAND( 0, 4 ) - 2; tp[E_T_BASETGH] += RAND( 0, 4 ) - 2; tp[E_T_BASEDEX] += RAND( 0, 4 ) - 2; - /* ƥԻԻ̼ëƻ */ + /* 仇及凛鳔匹喃曰蕊曰禾奶件玄毛忡绣仄化云仁 */ CharNew.data[CHAR_ALLOCPOINT] = ( tp[E_T_BASEVITAL] << 24 ) + ( tp[E_T_BASESTR] << 16 ) + ( tp[E_T_BASETGH] << 8 ) + ( tp[E_T_BASEDEX] << 0 ); - /* ¼ĸةƥ̼ë𹴵ң۳ľë߼Ի߯ʣ*/ + /* 公及 }仿件母丞匹禾奶件玄毛ㄠ勿勾笛遥[仇木毛ㄠㄟ荚楞曰忒允[*/ for( i = 0; i < 10; i ++ ){ int work = RAND( 0, 3 ); if( work == 0 )tp[E_T_BASEVITAL]++; @@ -1063,7 +1063,7 @@ int ENEMY_createEnemy( int array, int baselevel ) if( work == 3 )tp[E_T_BASEDEX]++; } - /* ɷ¶ */ + /* 由仿丢□正本永玄 */ CharNew.data[CHAR_VITAL] = PARAM_CAL(E_T_BASEVITAL); CharNew.data[CHAR_STR] = PARAM_CAL(E_T_BASESTR); CharNew.data[CHAR_TOUGH] = PARAM_CAL(E_T_BASETGH); @@ -1111,9 +1111,9 @@ int ENEMY_createEnemy( int array, int baselevel ) newindex = CHAR_initCharOneArray( &CharNew ); #ifdef _CAX_LVTISHI -if (CHAR_getInt( newindex, CHAR_LV) == 1){// +if (CHAR_getInt( newindex, CHAR_LV) == 1){//宝宝 char buff[256]; - snprintf( buff, sizeof( buff),"%s",CHAR_getChar( newindex, CHAR_NAME)); + snprintf( buff, sizeof( buff),"%s宝宝",CHAR_getChar( newindex, CHAR_NAME)); CHAR_setChar( newindex, CHAR_NAME, buff); } #endif @@ -1140,12 +1140,12 @@ if (CHAR_getInt( newindex, CHAR_LV) == 1){// style = (*(p + ENEMY_STYLE)); switch( style ){ case 1: wepon = 0;break; // - case 2: wepon = 100;break; // - case 3: wepon = 200;break; // - case 4: wepon = 400;break; // - case 5: wepon = 500;break; // Ƥ¼ - case 6: wepon = 700;break; // - case 7: wepon = 600;break; // + case 2: wepon = 100;break; // 轺徇 + case 3: wepon = 200;break; // 键 + case 4: wepon = 400;break; // 菰 + case 5: wepon = 500;break; // 皮□丢仿件 + case 6: wepon = 700;break; // 髑仆檗 + case 7: wepon = 600;break; // 髑仆 default:break; } if( wepon >= 0 ){ @@ -1181,7 +1181,7 @@ if (CHAR_getInt( newindex, CHAR_LV) == 1){// } } #endif -#ifdef _PETSKILL_BECOMEFOX //ĻʱΪ-1 +#ifdef _PETSKILL_BECOMEFOX //将媚惑术中招时间清除为-1 CHAR_setWorkInt( newindex, CHAR_WORKFOXROUND, -1 ); #endif return newindex; @@ -1246,35 +1246,35 @@ static RANDOMENEMY RandomEnemyTbl[] = { /*------------------------------------------------------------ - * ɬüġ į ئئշ¼ĸةɬ + * 衬 涩烂及摹 寞互 溃卅袄卅日仿件母丞卞涩烂允月 ------------------------------------------------------------*/ int ENEMY_RandomEnemyArray( int e_array, int *pNew ) { int i = 0, randwork, work; // RANDOMENEMY *pRandomEnemy; *pNew = -1; - // ¼ĸة + // 仇及 区反仿件母丞 if( ( RANDOMENEMY_TOP <= e_array && e_array <= RANDOMENEMY_END ) || ( 964 <= e_array && e_array <= 969 ) ){ - // ĸƩ + // 升及母立□井譬屯月 for( i = 0; i < arraysizeof( RandomEnemyTbl ); i ++ ){ if( RandomEnemyTbl[i].num == e_array ){ break; } } - // ëվ޷¡ƥ + // 区毛译尹化中凶日巨仿□匹 仃月 if( i >= arraysizeof( RandomEnemyTbl ) ) return 0; - // ¼ĸةɬ + // 仿件母丞涩烂 randwork = RAND( 0, RandomEnemyTbl[i].arraysize - 1 ); - // ޥ įë + // 井日蕙仄中 寞毛潸 work = RandomEnemyTbl[i].pTbl[randwork]; *pNew = ENEMY_getEnemyArrayFromId( work ); return 1; }else{ - // ئ + // 窒仪手卅中 return 0; } } @@ -1373,7 +1373,7 @@ int *ENEMY_getEnemy( int charaindex, int x, int y) int newarray, enemywork; e_array = ENEMY_getEnemyArrayFromIndex( g_array, i - ENEMY_ID1 ); -#ifdef _ADD_ENCOUNT // WON ADD ӵ޼ +#ifdef _ADD_ENCOUNT // WON ADD 增加敌遭遇触发修件 { int char_event_now = -1, char_event_end = -1; if(ENCOUNT_table[array].event_now != -1){ @@ -1525,7 +1525,7 @@ int ENEMY_createPetFromEnemyIndex( int charaindex, int array) if( work == 2 )tp[E_T_BASETGH]++; if( work == 3 )tp[E_T_BASEDEX]++; } - /* ɷ¶ */ + /* 由仿丢□正本永玄 */ CharNew.data[CHAR_VITAL] = PARAM_CAL(E_T_BASEVITAL); CharNew.data[CHAR_STR] = PARAM_CAL(E_T_BASESTR); CharNew.data[CHAR_TOUGH] = PARAM_CAL(E_T_BASETGH); @@ -1657,7 +1657,7 @@ int ENEMY_createPet( int array, int vital, int str, int tgh, int dex) if( work == 2 )tp[E_T_BASETGH]++; if( work == 3 )tp[E_T_BASEDEX]++; } - /* ɷ¶ */ + /* 由仿丢□正本永玄 */ CharNew.data[CHAR_VITAL] = PARAM_CAL(E_T_BASEVITAL); CharNew.data[CHAR_STR] = PARAM_CAL(E_T_BASESTR); CharNew.data[CHAR_TOUGH] = PARAM_CAL(E_T_BASETGH); @@ -1781,7 +1781,7 @@ int ENEMY_createPetFromEnemyBaseIndex( int charaindex, int array, int level ) if( work == 2 )tp[E_T_BASETGH]++; if( work == 3 )tp[E_T_BASEDEX]++; } - /* ɷ¶ */ + /* 由仿丢□正本永玄 */ CharNew.data[CHAR_VITAL] = PARAM_CAL(E_T_BASEVITAL); CharNew.data[CHAR_STR] = PARAM_CAL(E_T_BASESTR); CharNew.data[CHAR_TOUGH] = PARAM_CAL(E_T_BASETGH); @@ -1933,9 +1933,9 @@ int ENEMY_TEST_createPetIndex( int array) (char *)ENEMYTEMP_enemy[tarray].chardata[E_T_NAME].string ); newindex = PET_initCharOneArray( &CharNew ); #ifdef _CAX_LVTISHI -if (CHAR_getInt( newindex, CHAR_LV) == 1){// +if (CHAR_getInt( newindex, CHAR_LV) == 1){//宝宝 char buff[256]; - snprintf( buff, sizeof( buff),"%s",CHAR_getChar( newindex, CHAR_NAME)); + snprintf( buff, sizeof( buff),"%s宝宝",CHAR_getChar( newindex, CHAR_NAME)); CHAR_setChar( newindex, CHAR_NAME, buff); } #endif @@ -1982,19 +1982,19 @@ BOOL PETFUSION_getIndexForChar( int toindex, int *MainIndex, int *Subindex1, int #endif #ifdef _PET_2TRANS if( CHAR_getInt( petindex, CHAR_TRANSMIGRATION ) ==2){ - CHAR_talkToCli( toindex, -1, "תﲻںϡ", CHAR_COLORYELLOW); + CHAR_talkToCli( toindex, -1, "二转宠物不能融合。", CHAR_COLORYELLOW); return FALSE; } #endif #ifdef _CAX_PET_EVOLUTION } if( CHAR_getInt( petindex, CHAR_TRANSMIGRATION ) == 3 ) { - CHAR_talkToCli( toindex, -1, "תﲻںϡ", CHAR_COLORYELLOW); + CHAR_talkToCli( toindex, -1, "三转宠物不能融合。", CHAR_COLORYELLOW); return FALSE; } #endif if( rideindex == petindex) { - CHAR_talkToCli( toindex, -1, "еij費ںϡ", CHAR_COLORYELLOW); + CHAR_talkToCli( toindex, -1, "骑乘中的宠不能融合。", CHAR_COLORYELLOW); return FALSE; } if( i == 0 ) { @@ -2024,7 +2024,7 @@ int NPC_getPetArrayForNo( int PetCode) } int NPC_getFusionTableForBase( int charaindex, int petindex1, int petindex2 ) { - int base1, base2;// ,PETCODE + int base1, base2;// 属性,PETCODE if( !CHAR_CHECKINDEX( petindex1) ) return -1; if( !CHAR_CHECKINDEX( petindex2) ) return -1; #ifdef _PET_EVOLUTION @@ -2115,9 +2115,9 @@ int EVOLUTION_createPetFromEnemyIndex( int charaindex, int baseindex, int flg) #ifdef _illegalpetskill_CF int illegalpetskill[25] = {41,52,600,601,602,603,604,614,617,628,630,631,635,638,641, getIllegalPetskill(0),getIllegalPetskill(1),getIllegalPetskill(2),getIllegalPetskill(3),getIllegalPetskill(4), - getIllegalPetskill(5),getIllegalPetskill(6),getIllegalPetskill(7),getIllegalPetskill(8),getIllegalPetskill(9)};//ԶֹŴ\ + getIllegalPetskill(5),getIllegalPetskill(6),getIllegalPetskill(7),getIllegalPetskill(8),getIllegalPetskill(9)};//自定义禁止遗传宠物技能 #else - int illegalpetskill[15] = {41,52,600,601,602,603,604,614,617,628,630,631,635,638,641};//Ŵij輼 + int illegalpetskill[15] = {41,52,600,601,602,603,604,614,617,628,630,631,635,638,641};//不可遗传的宠技 #endif #define E_PAR( a) (*(p + (a))) #define ET_PAR( a) (*(tp + (a))) @@ -2159,9 +2159,9 @@ int EVOLUTION_createPetFromEnemyIndex( int charaindex, int baseindex, int flg) return -1; } if( PET_getEvolutionAns( baseindex, base) == FALSE ) return -1; - for( i=0; i < CHAR_MAXPETSKILLHAVE; i ++ ) {//輼 + for( i=0; i < CHAR_MAXPETSKILLHAVE; i ++ ) {//宠技 int j; - for( j=0; j<15; j++) { //Ƿ + for( j=0; j<15; j++) { //检查非法技能 if( illegalpetskill[j] == petskill[i] ){ petskill[i] = -1; break; @@ -2174,7 +2174,7 @@ int EVOLUTION_createPetFromEnemyIndex( int charaindex, int baseindex, int flg) } } if( flg == 1 ){ - havepetelement = CHAR_getCharPetElement( charaindex);//ҳλ + havepetelement = CHAR_getCharPetElement( charaindex);//找出宠物空位 if( havepetelement < 0 ) return -1; } //------------------------------------------------------ @@ -2277,7 +2277,7 @@ int PET_CheckIncubate( int charaindex) int petindex = CHAR_getCharPet( charaindex, i); if( !CHAR_CHECKINDEX( petindex) ) continue; if( CHAR_getInt( petindex, CHAR_FUSIONBEIT) != 1 || - CHAR_getInt( petindex, CHAR_FUSIONRAISE) <= 0 )return;//ǷΪںϳ + CHAR_getInt( petindex, CHAR_FUSIONRAISE) <= 0 )return;//检查是否为融合宠 time_l = CHAR_getInt( petindex, CHAR_FUSIONTIMELIMIT); if( time_l < 0 || time_l > checkeage ){ @@ -2289,7 +2289,7 @@ int PET_CheckIncubate( int charaindex) char buf[256]; int levelup, vital, str, tgh, dex; int raise = CHAR_getInt( petindex, CHAR_FUSIONRAISE); - //ι + //喂养次数 raise++; CHAR_setInt( petindex, CHAR_FUSIONTIMELIMIT, (int)time(NULL)+anhour-1); if( raise < 0 ) raise = 0; @@ -2304,10 +2304,10 @@ int PET_CheckIncubate( int charaindex) if( str < 0 ) str = 0; if( tgh < 0 ) tgh = 0; if( dex < 0 ) dex = 0; - // + //扣属性 levelup = (vital<<24) + (str<<16) + (tgh<<8) + (dex<<0); CHAR_setInt( petindex, CHAR_ALLOCPOINT, levelup); - sprintf( buf, "%sƷʱˡ", CHAR_getUseName( petindex )); + sprintf( buf, "蛋〈%s〉的品质变差了。", CHAR_getUseName( petindex )); CHAR_talkToCli( charaindex, -1, buf, CHAR_COLORYELLOW); LogPetFeed( @@ -2316,7 +2316,7 @@ int PET_CheckIncubate( int charaindex) CHAR_getChar( petindex, CHAR_NAME), petindex, CHAR_getInt( petindex, CHAR_LV), - "Ʒʱ", // Key + "品质变差", // Key CHAR_getInt( charaindex, CHAR_FLOOR), CHAR_getInt( charaindex, CHAR_X), CHAR_getInt( charaindex, CHAR_Y), @@ -2325,7 +2325,7 @@ int PET_CheckIncubate( int charaindex) }else if( (int)checkeage > (time_l+anhour) ){ char buf[256]; - sprintf( buf, "%sֿιʳ״̬", CHAR_getUseName( petindex )); + sprintf( buf, "蛋〈%s〉呈现可喂食状态。", CHAR_getUseName( petindex )); CHAR_talkToCli( charaindex, -1, buf, CHAR_COLORYELLOW); } } @@ -2340,7 +2340,7 @@ int PET_CheckIncubate( int charaindex) if( !CHAR_CHECKINDEX( masterindex) )return 0; if( CHAR_getInt( charaindex, CHAR_FUSIONBEIT) != 1 || - CHAR_getInt( charaindex, CHAR_FUSIONRAISE) <= 0 ) return 0;//ǷΪںϳ + CHAR_getInt( charaindex, CHAR_FUSIONRAISE) <= 0 ) return 0;//检查是否为融合宠 for(i=0 ; i < CHAR_MAXPETHAVE ; i++) { if( charaindex != CHAR_getCharPet( masterindex, i) ) continue; @@ -2373,10 +2373,10 @@ int PET_CheckIncubate( int charaindex) if( str < 0 ) str = 0; if( tgh < 0 ) tgh = 0; if( dex < 0 ) dex = 0; - // + //扣属性 levelup = (vital<<24) + (str<<16) + (tgh<<8) + (dex<<0); CHAR_setInt( charaindex, CHAR_ALLOCPOINT, levelup); - sprintf( buf, "%sƷʱˡ", CHAR_getUseName( charaindex )); + sprintf( buf, "蛋〈%s〉的品质变差了。", CHAR_getUseName( charaindex )); CHAR_talkToCli( masterindex, -1, buf, CHAR_COLORYELLOW); LogPetFeed( @@ -2385,7 +2385,7 @@ int PET_CheckIncubate( int charaindex) CHAR_getChar( charaindex, CHAR_NAME), charaindex, CHAR_getInt( charaindex, CHAR_LV), - "Ʒʱ", // Key + "品质变差", // Key CHAR_getInt( masterindex, CHAR_FLOOR), CHAR_getInt( masterindex, CHAR_X), CHAR_getInt( masterindex, CHAR_Y), @@ -2393,7 +2393,7 @@ int PET_CheckIncubate( int charaindex) }else if( (int)checkeage > (time_l+anhour) ){ char buf[256]; - sprintf( buf, "%sֿιʳ״̬", CHAR_getUseName( charaindex )); + sprintf( buf, "蛋〈%s〉呈现可喂食状态。", CHAR_getUseName( charaindex )); CHAR_talkToCli( masterindex, -1, buf, CHAR_COLORYELLOW); } return 1; @@ -2474,14 +2474,14 @@ int PETFUSION_SetNewEgg( int toindex , int petindex, int array, int *work, int * CHAR_setMaxExp( petindex, 0); CHAR_setInt( petindex, CHAR_LV, level); - //\Ϊ߼ + //宠物技能设为七技 CHAR_setInt( petindex, CHAR_SLOT, 7); { int j; #ifdef _illegalpetskill_CF int illegalpetskill[25] = {41,52,600,601,602,603,604,614,617,628,630,631,635,638,641, getIllegalPetskill(0),getIllegalPetskill(1),getIllegalPetskill(2),getIllegalPetskill(3),getIllegalPetskill(4), - getIllegalPetskill(5),getIllegalPetskill(6),getIllegalPetskill(7),getIllegalPetskill(8),getIllegalPetskill(9)};//ԶֹŴ\ + getIllegalPetskill(5),getIllegalPetskill(6),getIllegalPetskill(7),getIllegalPetskill(8),getIllegalPetskill(9)};//自定义禁止遗传宠物技能 #else int illegalpetskill[15] = {41,52,600,601,602,603,604,614,617,628,630,631,635,638,641}; #endif @@ -2489,7 +2489,7 @@ int PETFUSION_SetNewEgg( int toindex , int petindex, int array, int *work, int * if( RAND( 0, 1 ) == 0 ) { skill1[i] = skill2[i]; } - for( j=0; j<15; j++) { //Ƿ + for( j=0; j<15; j++) { //检查非法技能 if( illegalpetskill[j] == skill1[i] ){ skill1[i] = -1; break; @@ -2566,14 +2566,14 @@ BOOL PETFUSION_AddEgg( int toindex, int petID, int PetCode) int i,j; int petindex, petindex2; - //Ƿпλ + //检查宠物栏是否有空位 for( i = 0 ;i < CHAR_MAXPETHAVE ; i++) { petindex = CHAR_getCharPet( toindex, i); if( petindex == -1 ) break; } if( i == CHAR_MAXPETHAVE ) { - snprintf( msgbuf,sizeof( msgbuf), ""); + snprintf( msgbuf,sizeof( msgbuf), "宠物已满!!"); CHAR_talkToCli( toindex, -1, msgbuf, CHAR_COLORYELLOW); return -1; } @@ -2603,7 +2603,7 @@ BOOL PETFUSION_AddEgg( int toindex, int petID, int PetCode) return -1; } CHAR_setInt( petindex2, CHAR_FUSIONINDEX, PetCode); - snprintf( msgbuf,sizeof( msgbuf), "õ%s", CHAR_getChar(petindex2,CHAR_NAME)); + snprintf( msgbuf,sizeof( msgbuf), "拿到%s。", CHAR_getChar(petindex2,CHAR_NAME)); CHAR_talkToCli( toindex, -1, msgbuf, CHAR_COLORYELLOW); for(j = 0; j < CHAR_MAXPETHAVE; j++){ petindex = CHAR_getCharPet(toindex, j); @@ -2724,7 +2724,7 @@ int GetNewPet( int toindex , int petindex, int array, int *work) CHAR_setInt( petindex, CHAR_DEX , ( PARAM_CAL(E_T_BASEDEX) * work[3] )); CHAR_setMaxExp( petindex, 0); CHAR_setInt( petindex, CHAR_LV, level); - //\Ϊ߼ + //宠物技能设为七技 CHAR_setInt( petindex, CHAR_SLOT, 7); /* for( i=0; i (int)time(NULL) ){ char buff[255]; - sprintf(buff, "\n֮ǰ˳壬\n%dСʱټร",(CHAR_getInt( meindex, CHAR_FMTIMELIMIT )-(int)time(NULL))/3600+1); + sprintf(buff, "\n如之前退出家族,\n需满%d小时才能再加入家族喔!",(CHAR_getInt( meindex, CHAR_FMTIMELIMIT )-(int)time(NULL))/3600+1); lssproto_WN_send( fd, WINDOW_MESSAGETYPE_MESSAGE, WINDOW_BUTTONTYPE_OK, -1, -1, makeEscapeString( buff, buf, sizeof(buf))); @@ -637,7 +637,7 @@ void FAMILY_Join(int fd, int meindex, char *message) // print("JoinFM index:%d fmindex:%d fmname:%s charname:%s charid:%s charlv:%d sprite:%d\n", // index, fmindex, fmname, charname, charid, charlv, fmsprite); -#ifdef _PERSONAL_FAME // Arminius: +#ifdef _PERSONAL_FAME // Arminius: 家族个人声望 // print("fame:%d charfdid:%d\n", CHAR_getInt(meindex, CHAR_FAME), // CONNECT_getFdid(fd)); saacproto_ACJoinFM_send(acfd, fmname, fmindex, charname, charid, charlv, @@ -664,12 +664,12 @@ void ACJoinFM(int fd, int result, int recv) lssproto_WN_send( fd, WINDOW_MESSAGETYPE_MESSAGE, WINDOW_BUTTONTYPE_OK, -1, -1, - makeEscapeString( "\nллļ룡ȵ峤֮ͨᣬʽ롣", buf, sizeof(buf))); + makeEscapeString( "\n谢谢你的加入申请!请先等族长对你的审核通过之後,才算正式加入。", buf, sizeof(buf))); JoinMemberIndex( meindex, CHAR_getWorkInt(meindex, CHAR_WORKFMINDEXI) ); #ifdef _NEW_MANOR_LAW CHAR_setInt(meindex,CHAR_MOMENTUM,0); - CHAR_talkToCli(meindex,-1,"ƹ",CHAR_COLORYELLOW); + CHAR_talkToCli(meindex,-1,"加入家族个人气势归零",CHAR_COLORYELLOW); #endif sprintf(buf,"fame:%d",CHAR_getInt(meindex,CHAR_FAME)); @@ -679,7 +679,7 @@ void ACJoinFM(int fd, int result, int recv) CHAR_getInt( meindex, CHAR_FMINDEX), CHAR_getChar( meindex, CHAR_NAME), CHAR_getChar( meindex, CHAR_CDKEY), - "JOINFAMILY()", + "JOINFAMILY(申请加入家族)", buf ); @@ -692,20 +692,20 @@ void ACJoinFM(int fd, int result, int recv) lssproto_WN_send( fd, WINDOW_MESSAGETYPE_MESSAGE, WINDOW_BUTTONTYPE_OK, -1, -1, - makeEscapeString( "\n˼ĿǰԸճԱ", buf, sizeof(buf))); + makeEscapeString( "\n此家族目前不愿意招收成员!", buf, sizeof(buf))); } else if (recv == -3) { lssproto_WN_send( fd, WINDOW_MESSAGETYPE_MESSAGE, WINDOW_BUTTONTYPE_OK, -1, -1, - makeEscapeString( "\n˼Ŀǰ޷ճԱԱѵޣ", buf, sizeof(buf))); + makeEscapeString( "\n此家族目前无法招收成员,家族成员人数已到达上限!", buf, sizeof(buf))); } else lssproto_WN_send( fd, WINDOW_MESSAGETYPE_MESSAGE, WINDOW_BUTTONTYPE_OK, -1, -1, - makeEscapeString( "\nʧܣ", buf, sizeof(buf))); + makeEscapeString( "\n申请加入家族失败!", buf, sizeof(buf))); } CHAR_sendStatusString( meindex, "F"); @@ -732,7 +732,7 @@ void FAMILY_Leave(int fd, int meindex, char *message) lssproto_WN_send( fd, WINDOW_MESSAGETYPE_MESSAGE, WINDOW_BUTTONTYPE_OK, -1, -1, - makeEscapeString( "\n㲢ûмร", buf, sizeof(buf))); + makeEscapeString( "\n你并没有加入家族喔!", buf, sizeof(buf))); return; } @@ -750,7 +750,7 @@ void FAMILY_Leave(int fd, int meindex, char *message) lssproto_WN_send( fd, WINDOW_MESSAGETYPE_MESSAGE, WINDOW_BUTTONTYPE_OK, -1, -1, - makeEscapeString( "\nĿǰļԼսУ޷ɢ壡", buf, sizeof(buf))); + makeEscapeString( "\n你目前的家族正约战中,因此无法解散家族!", buf, sizeof(buf))); return; } } @@ -788,7 +788,7 @@ void FAMILY_Leave(int fd, int meindex, char *message) if(sasql_fmpoint_query(fmindex)>0) sasql_fmindex_del(fmindex); #endif - // Ҫ¼б + // 要求最新家族列表 //saacproto_ACShowFMList_send( acfd ); } else { @@ -814,7 +814,7 @@ void ACLeaveFM( int fd, int result, int resultflag) CHAR_getInt( meindex, CHAR_FMINDEX), CHAR_getChar( meindex, CHAR_NAME), CHAR_getChar( meindex, CHAR_CDKEY), - "LEAVEFAMILY(뿪)", + "LEAVEFAMILY(离开家族)", "" ); if( CHAR_getWorkInt( meindex, CHAR_WORKFMCHANNEL) != -1 ) @@ -823,14 +823,14 @@ void ACLeaveFM( int fd, int result, int resultflag) SetFMVarInit(meindex); lssproto_WN_send( fd, WINDOW_MESSAGETYPE_MESSAGE, WINDOW_BUTTONTYPE_OK, -1, -1, - makeEscapeString( "\n˳ϣˣ", buf, sizeof(buf))); + makeEscapeString( "\n申请退出家族OK!", buf, sizeof(buf))); CHAR_setWorkInt( meindex, CHAR_WORKFMFLOOR, -1); #ifdef _FM_JOINLIMIT CHAR_setInt( meindex, CHAR_FMTIMELIMIT, (int)time(NULL)+getJoinFamilyTime()*(60*60) ); #endif #ifdef _NEW_MANOR_LAW CHAR_setInt(meindex,CHAR_MOMENTUM,0); - CHAR_talkToCli(meindex,-1,"˳ƹ",CHAR_COLORYELLOW); + CHAR_talkToCli(meindex,-1,"退出家族个人气势归零",CHAR_COLORYELLOW); #endif CHAR_setInt( meindex , CHAR_RIDEPET, -1 ); CHAR_setInt( meindex , CHAR_BASEIMAGENUMBER , CHAR_getInt( meindex , CHAR_BASEBASEIMAGENUMBER) ); @@ -843,7 +843,7 @@ void ACLeaveFM( int fd, int result, int resultflag) }else lssproto_WN_send( fd, WINDOW_MESSAGETYPE_MESSAGE, WINDOW_BUTTONTYPE_OK, -1, -1, - makeEscapeString( "\n˳ʧܣ", buf, sizeof(buf))); + makeEscapeString( "\n申请退出家族失败!", buf, sizeof(buf))); CHAR_sendStatusString( meindex, "F" ); } @@ -867,7 +867,7 @@ if(CHAR_getWorkInt(meindex, CHAR_WORKFMINDEXI)>-1){ CHAR_getInt( meindex, CHAR_FMINDEX), CHAR_getChar( meindex, CHAR_NAME), CHAR_getChar( meindex, CHAR_CDKEY), - "DELFAMILY(ɢ)", + "DELFAMILY(家族解散)", "" ); @@ -884,19 +884,19 @@ if(CHAR_getWorkInt(meindex, CHAR_WORKFMINDEXI)>-1){ lssproto_WN_send( fd, WINDOW_MESSAGETYPE_MESSAGE, WINDOW_BUTTONTYPE_OK, -1, -1, - makeEscapeString( "\nѾɢˣ", buf, sizeof(buf))); + makeEscapeString( "\n家族已经解散了!", buf, sizeof(buf))); - // Ҫ¼б + // 要求最新家族列表 saacproto_ACShowFMList_send( acfd ); -// won Ƶǰȥ +// won 移到前面去 /* LogFamily( CHAR_getChar( meindex, CHAR_FMNAME), CHAR_getInt( meindex, CHAR_FMINDEX), CHAR_getChar( meindex, CHAR_NAME), CHAR_getChar( meindex, CHAR_CDKEY), - "DELFAMILY(ɢ)", + "DELFAMILY(家族解散)", "" ); */ @@ -905,7 +905,7 @@ if(CHAR_getWorkInt(meindex, CHAR_WORKFMINDEXI)>-1){ lssproto_WN_send( fd, WINDOW_MESSAGETYPE_MESSAGE, WINDOW_BUTTONTYPE_OK, -1, -1, - makeEscapeString( "\nɢʧܣ", buf, sizeof(buf))); + makeEscapeString( "\n申请解散家族失败!", buf, sizeof(buf))); CHAR_sendStatusString( meindex, "F"); } @@ -1172,7 +1172,7 @@ void ACShowFMMemo(int result, int index, int num, int dataindex, char *data) } } -#ifdef _PERSONAL_FAME // Arminius: \\ +#ifdef _PERSONAL_FAME // Arminius: 家族显\\个人声望 void ACFMCharLogin(int fd, int result, int index, int floor, int fmdp, int joinflag, int fmsetupflag, int flag, int charindex, int charfame #ifdef _NEW_MANOR_LAW @@ -1190,7 +1190,7 @@ void ACFMCharLogin(int fd, int result, int index, int floor, int fmdp, if (!CHAR_CHECKINDEX(meindex)) return; if (result == 1){ #ifdef _NEW_MANOR_LAW - // ƻشΪ0ʱҪ趨Ϊ0,Ϊش0пǴׯ԰ս,Ҫ + // 气势回传为0时要把人物的气势设定为0,因为回传是0有可能是打完庄园战,所以气势要归零 if(momentum == 0) CHAR_setInt(meindex,CHAR_MOMENTUM,0); else CHAR_setInt(meindex,CHAR_MOMENTUM,momentum); #endif @@ -1245,7 +1245,7 @@ void ACFMCharLogin(int fd, int result, int index, int floor, int fmdp, lssproto_WN_send(fd, WINDOW_MESSAGETYPE_MESSAGE, WINDOW_BUTTONTYPE_OK, -1, -1, - makeEscapeString("\nػʧˣ\nѡһֻػޣ\n֮ʧࡣ\n", buf, sizeof(buf))); + makeEscapeString("\n家族守护兽消失了!\n请立刻再选定一只守护兽,\n否则家族在七天之後会消失唷!\n", buf, sizeof(buf))); saacproto_ACFixFMData_send(acfd, CHAR_getChar(meindex, CHAR_FMNAME), CHAR_getInt(meindex, CHAR_FMINDEX), @@ -1261,7 +1261,7 @@ void ACFMCharLogin(int fd, int result, int index, int floor, int fmdp, CHAR_setInt( meindex, CHAR_FMTIMELIMIT, (int)time(NULL)+getJoinFamilyTime()*(60*60) ); #endif if (flag == 0){ - CHAR_talkToCli(meindex, -1, "Ѿ˳Ѿˣ", CHAR_COLORYELLOW); + CHAR_talkToCli(meindex, -1, "你已经退出家族或家族已经不存在了!", CHAR_COLORYELLOW); CHAR_setWorkInt( meindex, CHAR_WORKFMFLOOR, -1); CHAR_setInt( meindex , CHAR_RIDEPET, -1 ); CHAR_setInt( meindex , CHAR_BASEIMAGENUMBER , CHAR_getInt( meindex , CHAR_BASEBASEIMAGENUMBER) ); @@ -1321,9 +1321,9 @@ void FAMILY_Detail(int fd, int meindex, char *message) // shan add if (strcmp(token, "P") == 0 ){ #ifdef _CAX_FAMEBUTTON - if (strcmp( getfamebutton() , "") == 0) + if (strcmp( getfamebutton() , "是") == 0) { - fameButton( meindex); //ABluať + fameButton( meindex); //ABlua声望按钮调用 }else{ #endif int personfame; @@ -1346,32 +1346,32 @@ void FAMILY_Detail(int fd, int meindex, char *message) #else personfame = CHAR_getWorkInt( meindex, CHAR_WORKFMDP); #endif - CHAR_talkToCli(meindex, -1, "˻Ϣ", CHAR_COLORYELLOW); + CHAR_talkToCli(meindex, -1, "您的账户信息:", CHAR_COLORYELLOW); #ifdef _NEW_CurrencyShow - sprintf(sendbuf, "%-12d Ƶ%-12d ˻ֵ%d", personfame, + sprintf(sendbuf, "个人声望点数:%-12d 个人气势点数:%-12d 个人积分点数:%d", personfame, CHAR_getInt(meindex,CHAR_MOMENTUM)/100, sasql_ampoint( CHAR_getChar(meindex,CHAR_CDKEY), 0,0)); CHAR_talkToCli(meindex, -1, sendbuf, CHAR_COLORGREEN); - sprintf(sendbuf, "˱ǵ%-12d ˻%-12d ˻Ա%d", CHAR_getInt(meindex,CHAR_CAMEO), + sprintf(sendbuf, "个人贝壳点数:%-12d 个人活力点数:%-12d 个人会员点数:%d", CHAR_getInt(meindex,CHAR_CAMEO), CHAR_getInt(meindex,CHAR_VIGOR), sasql_vippoint(id,0,0)); CHAR_talkToCli(meindex, -1, sendbuf, CHAR_COLORBLUE); - sprintf(sendbuf, "ֽ˻%-12d %-12d ܻ%d", sasql_rmbpoint(id,0,0), + sprintf(sendbuf, "个人现金账户:%-12d 个人任务链数:%-12d 个人跑环环数:%d", sasql_rmbpoint(id,0,0), CHAR_getInt(meindex,CHAR_MISSIONTRAIN_NUM), CHAR_getInt(meindex,CHAR_EVNUM)); CHAR_talkToCli(meindex, -1, sendbuf, CHAR_COLORPURPLE); #ifdef _OFFLINE_SYSTEM if(getOfflineCf()==0) - sprintf(sendbuf,"ʱ䣺%d (δ)",(int)(CHAR_getInt(meindex,CHAR_OFFTIME)/60)); + sprintf(sendbuf,"可用离线时间:%d分钟 (离线尚未开启)",(int)(CHAR_getInt(meindex,CHAR_OFFTIME)/60)); else if(getOfflineCf()==1) - sprintf(sendbuf,"ʱ䣺%d",(int)(CHAR_getInt(meindex,CHAR_OFFTIME)/60)); + sprintf(sendbuf,"可用离线时间:%d分钟",(int)(CHAR_getInt(meindex,CHAR_OFFTIME)/60)); else - sprintf(sendbuf,"ʱ䣺%d (߲ʱ)",(int)(CHAR_getInt(meindex,CHAR_OFFTIME)/60)); + sprintf(sendbuf,"可用离线时间:%d分钟 (离线不扣时间)",(int)(CHAR_getInt(meindex,CHAR_OFFTIME)/60)); CHAR_talkToCli(meindex, -1, sendbuf, CHAR_COLORYELLOW); #endif if(viptime == 0){ - CHAR_talkToCli(meindex, -1, "Ȩޣδ", CHAR_COLORYELLOW); + CHAR_talkToCli(meindex, -1, "个人特殊权限:尚未开启", CHAR_COLORYELLOW); } if(viptime<0) { @@ -1385,32 +1385,32 @@ void FAMILY_Detail(int fd, int meindex, char *message) viptime = (int)(viptime/60/60/24); if(viptype==1) { - sprintf(sendbuf,"ͨԱʣࣺ%d",viptime+1); + sprintf(sendbuf,"普通会员剩余:%d天",viptime+1); CHAR_talkToCli(meindex, -1, sendbuf, CHAR_COLORYELLOW); } else if(viptype==2) { - sprintf(sendbuf,"ƽԱʣࣺ%d",viptime+1); + sprintf(sendbuf,"黄金会员剩余:%d天",viptime+1); CHAR_talkToCli(meindex, -1, sendbuf, CHAR_COLORYELLOW); } else if(viptype==3) { - sprintf(sendbuf,"ʯԱʣࣺ%d",viptime+1); + sprintf(sendbuf,"钻石会员剩余:%d天",viptime+1); CHAR_talkToCli(meindex, -1, sendbuf, CHAR_COLORYELLOW); } } - sprintf(sendbuf,"߻飺%d",getBattleexp()); + sprintf(sendbuf,"本线基础经验:%d倍",getBattleexp()); CHAR_talkToCli(meindex, -1, sendbuf, CHAR_COLORYELLOW); #ifdef _VIP_BATTLE_EXP int nvipexp, nviptime; nvipexp = CHAR_getInt( meindex, CHAR_NVIPEXP); nviptime = CHAR_getInt( meindex, CHAR_NVIPTIME )/60; if (nvipexp > 0 && CHAR_getInt( meindex, CHAR_VIPTIME ) == 0){ - sprintf(sendbuf,"⾭ӳɣ%d (ʱЧ%d)",getVipBattleExp(), nviptime); + sprintf(sendbuf,"额外经验加成:%d倍 (时效:%d分钟)",getVipBattleExp(), nviptime); CHAR_talkToCli(meindex, -1, sendbuf, CHAR_COLORBLUE2); }else if (CHAR_getInt( meindex, CHAR_VIPTIME ) > 0){ - sprintf(sendbuf,"⾭ӳɣ%d (ʱЧԱ)",getVipBattleExp()); + sprintf(sendbuf,"额外经验加成:%d倍 (时效:会员永久)",getVipBattleExp()); CHAR_talkToCli(meindex, -1, sendbuf, CHAR_COLORBLUE2); } #endif @@ -1419,21 +1419,21 @@ void FAMILY_Detail(int fd, int meindex, char *message) ITEM_ADDEXP = CHAR_getInt( meindex, CHAR_ADDEXPPOWER ); if(ITEM_ADDEXP>0){ ITEM_ADDEXP_TIME = CHAR_getInt( meindex, CHAR_ADDEXPTIME )/60; - sprintf(sendbuf,"Ʒӳɣ%d (ʱЧ%d)",ITEM_ADDEXP,ITEM_ADDEXP_TIME); + sprintf(sendbuf,"经验物品加成:%d% (时效:%d分钟)",ITEM_ADDEXP,ITEM_ADDEXP_TIME); CHAR_talkToCli(meindex, -1, sendbuf, CHAR_COLORCYAN); } #endif #else//_NEW_CurrencyShow - sprintf( sendbuf, "%d", personfame); + sprintf( sendbuf, "个人声望:%d", personfame); CHAR_talkToCli(meindex, -1, sendbuf, CHAR_COLORYELLOW); #ifdef _NEW_MANOR_LAW - sprintf(sendbuf,"ƣ%d",CHAR_getInt(meindex,CHAR_MOMENTUM)/100); + sprintf(sendbuf,"个人气势:%d",CHAR_getInt(meindex,CHAR_MOMENTUM)/100); CHAR_talkToCli(meindex, -1, sendbuf, CHAR_COLORYELLOW); #endif #ifdef _VIP_SERVER - sprintf(sendbuf,"˻֣%d",sasql_ampoint( CHAR_getChar(meindex,CHAR_CDKEY), 0,0)); + sprintf(sendbuf,"个人积分:%d",sasql_ampoint( CHAR_getChar(meindex,CHAR_CDKEY), 0,0)); CHAR_talkToCli(meindex, -1, sendbuf, CHAR_COLORYELLOW); if(viptime<0) { @@ -1447,56 +1447,56 @@ void FAMILY_Detail(int fd, int meindex, char *message) viptime = (int)(viptime/60/60/24); if(viptype==1) { - sprintf(sendbuf,"ʣԱΪ%d",viptime+1); + sprintf(sendbuf,"你的剩余会员天数为:%d",viptime+1); CHAR_talkToCli(meindex, -1, sendbuf, CHAR_COLORYELLOW); } else if(viptype==2) { - sprintf(sendbuf,"ʣƽԱΪ%d",viptime+1); + sprintf(sendbuf,"你的剩余黄金会员天数为:%d",viptime+1); CHAR_talkToCli(meindex, -1, sendbuf, CHAR_COLORYELLOW); } else if(viptype==3) { - sprintf(sendbuf,"ʣʯԱΪ%d",viptime+1); + sprintf(sendbuf,"你的剩余钻石会员天数为:%d",viptime+1); CHAR_talkToCli(meindex, -1, sendbuf, CHAR_COLORYELLOW); } } #endif - sprintf(sendbuf,"Ա%d",sasql_vippoint(id,0,0)); + sprintf(sendbuf,"会员点数:%d",sasql_vippoint(id,0,0)); CHAR_talkToCli(meindex, -1, sendbuf, CHAR_COLORYELLOW); #ifdef _VIGOR_SYS - sprintf(sendbuf,"%d",CHAR_getInt(meindex,CHAR_VIGOR)); + sprintf(sendbuf,"活力点数:%d",CHAR_getInt(meindex,CHAR_VIGOR)); CHAR_talkToCli(meindex, -1, sendbuf, CHAR_COLORYELLOW); #endif #ifdef _EV_NUM - sprintf(sendbuf,"ܻ%d",CHAR_getInt(meindex,CHAR_EVNUM)); + sprintf(sendbuf,"跑环环数:%d",CHAR_getInt(meindex,CHAR_EVNUM)); CHAR_talkToCli(meindex, -1, sendbuf, CHAR_COLORYELLOW); #endif //#ifdef _STU_SYS -// sprintf(sendbuf,"ʦ֣%d",CHAR_getInt(meindex,CHAR_STUNUM)); +// sprintf(sendbuf,"导师积分:%d",CHAR_getInt(meindex,CHAR_STUNUM)); // CHAR_talkToCli(meindex, -1, sendbuf, CHAR_COLORYELLOW); //#endif #ifdef _RMB_SYSTEM - sprintf(sendbuf,"ֽ˻%d",sasql_rmbpoint(id,0,0)); + sprintf(sendbuf,"现金账户:%d",sasql_rmbpoint(id,0,0)); CHAR_talkToCli(meindex, -1, sendbuf, CHAR_COLORYELLOW); #endif #ifdef _OFFLINE_SYSTEM if(getOfflineCf()==0) - sprintf(sendbuf,"ʱ䣺%dӣ߲֧߹һ",(int)(CHAR_getInt(meindex,CHAR_OFFTIME)/60)); + sprintf(sendbuf,"离线时间:%d分钟(本线不支持离线挂机)",(int)(CHAR_getInt(meindex,CHAR_OFFTIME)/60)); else if(getOfflineCf()==1) - sprintf(sendbuf,"ʱ䣺%d",(int)(CHAR_getInt(meindex,CHAR_OFFTIME)/60)); + sprintf(sendbuf,"离线时间:%d分钟",(int)(CHAR_getInt(meindex,CHAR_OFFTIME)/60)); else - sprintf(sendbuf,"ʱ䣺%dӣĿǰ߲ʱ䣩",(int)(CHAR_getInt(meindex,CHAR_OFFTIME)/60)); + sprintf(sendbuf,"离线时间:%d分钟(目前离线不扣时间)",(int)(CHAR_getInt(meindex,CHAR_OFFTIME)/60)); CHAR_talkToCli(meindex, -1, sendbuf, CHAR_COLORYELLOW); #endif - sprintf(sendbuf,"߻飺%d",getBattleexp()); + sprintf(sendbuf,"本线基础经验:%d倍",getBattleexp()); CHAR_talkToCli(meindex, -1, sendbuf, CHAR_COLORYELLOW); #ifdef _EXP_TIME_OUT int ITEM_ADDEXP,ITEM_ADDEXP_TIME; ITEM_ADDEXP = CHAR_getInt( meindex, CHAR_ADDEXPPOWER ); if(ITEM_ADDEXP>0){ ITEM_ADDEXP_TIME = CHAR_getInt( meindex, CHAR_ADDEXPTIME )/60; - sprintf(sendbuf,"Ʒӳɣ%d% ʱЧ%d",ITEM_ADDEXP,ITEM_ADDEXP_TIME); + sprintf(sendbuf,"经验物品加成:%d% 时效:%d分钟",ITEM_ADDEXP,ITEM_ADDEXP_TIME); CHAR_talkToCli(meindex, -1, sendbuf, CHAR_COLORYELLOW); } #endif @@ -1546,7 +1546,7 @@ void FAMILY_Detail(int fd, int meindex, char *message) { struct tm tm1; memcpy(&tm1, localtime((time_t *)&fmpks[fmpks_pos + 1].dueltime), sizeof(tm1)); - sprintf(tmpbuf, "%d/%d %d:%d%s %s %s", + sprintf(tmpbuf, "%d/%d %d:%d【%s】 %s vs %s", tm1.tm_mon + 1, tm1.tm_mday, tm1.tm_hour, tm1.tm_min, fmpks[fmpks_pos + 2].host_name, fmpks[fmpks_pos + 1].guest_name, @@ -1558,11 +1558,11 @@ void FAMILY_Detail(int fd, int meindex, char *message) #ifdef _FMWAR_MSG sprintf(tmpbuf, "%s",getFmWarMsg()); #else - sprintf(tmpbuf, "սų"); + sprintf(tmpbuf, "无挑战排程"); #endif getStringFromIndexWithDelim(memberlist[fmindex_wk].numberlistarray[0], "|",2,leadernamebuf,sizeof(leadernamebuf)); - // sendbuf -> ||峤||||ְλ|徫|PK + // sendbuf -> 家族名称|人数|族长名称|家族排行|家族声望|个人声望|个人职位|家族精灵|PK #ifdef _NEW_MANOR_LAW sprintf( sendbuf, "%s|%d|%s|%d|%d|%d|%d|%d|%s|%d|%d", #else @@ -1586,8 +1586,8 @@ void FAMILY_Detail(int fd, int meindex, char *message) CHAR_getInt( meindex, CHAR_FMSPRITE ), tmpbuf #ifdef _NEW_MANOR_LAW - ,fmdptop.fmMomentum[h]/100 // - ,CHAR_getInt(meindex,CHAR_MOMENTUM)/100 // + ,fmdptop.fmMomentum[h]/100 // 家族气势 + ,CHAR_getInt(meindex,CHAR_MOMENTUM)/100 // 个人气势 #endif ); @@ -1660,7 +1660,7 @@ void ACFMDetail(int ret, char *data, int clifd) strcpy(b5,fmtmpbuf); getStringFromIndexWithDelim(data,"|", 11, fmtmpbuf, sizeof(fmtmpbuf)); a6=atoi(fmtmpbuf); - sprintf(b5,"ûдﵽ%dת޷鿴üԡ",getFmBuffTrans()); + sprintf(b5,"您没有达到%d转,无法查看该家族宣言。",getFmBuffTrans()); sprintf(sendbuf,"S|D|%d|%d|%s|%s|%d|%s|%s|%d|%d|%s|%d",a1,a2,b1,b2,a3,b3,b4,a4,a5,b5,a6); }else{ sprintf(sendbuf, "S|D|%s", data); @@ -1713,7 +1713,7 @@ void FAMILY_CheckMember(int fd, int meindex, char *message) lssproto_WN_send( fd, WINDOW_MESSAGETYPE_MESSAGE, WINDOW_BUTTONTYPE_OK, -1, -1, - makeEscapeString( "\n㲻峤û޸ĵȨࡣ", buf, sizeof(buf))); + makeEscapeString( "\n你不是族长,所以没有修改的权力唷!", buf, sizeof(buf))); return; } if (getStringFromIndexWithDelim(message, "|", 2, token, @@ -1737,7 +1737,7 @@ void FAMILY_CheckMember(int fd, int meindex, char *message) { // shan begin char sbuf[1024]; - sprintf( sbuf, "峤:%d -> :%s (ΪԱ):%d\n", CHAR_getInt(meindex, CHAR_FMLEADERFLAG), charname, charindex); + sprintf( sbuf, "族长代号:%d -> 人物名称:%s 人物索引 (设该人物为族员):%d\n", CHAR_getInt(meindex, CHAR_FMLEADERFLAG), charname, charindex); LogFamily( CHAR_getChar(meindex, CHAR_FMNAME), CHAR_getInt(meindex, CHAR_FMINDEX), @@ -1781,7 +1781,7 @@ void FAMILY_CheckMember(int fd, int meindex, char *message) lssproto_WN_send( fd, WINDOW_MESSAGETYPE_MESSAGE, WINDOW_BUTTONTYPE_OK, -1, -1, - makeEscapeString( "\nĿǰսУ޷˳Ա", buf, sizeof(buf))); + makeEscapeString( "\n家族目前正在战斗中,所以无法审核成员。", buf, sizeof(buf))); // print("fmpks_pos:%d index:%d host:%d guest:%d\n", fmpks_pos, // index, fmpks[fmpks_pos].host_index, fmpks[fmpks_pos].guest_index); return; @@ -1791,7 +1791,7 @@ void FAMILY_CheckMember(int fd, int meindex, char *message) { // shan begin char sbuf[1024]; - sprintf( sbuf, "峤:%d -> :%s :%d (˳)\n", CHAR_getInt(meindex, CHAR_FMLEADERFLAG), charname, charindex); + sprintf( sbuf, "族长代号:%d -> 人物名称:%s 人物索引:%d (将该人物退出家族)\n", CHAR_getInt(meindex, CHAR_FMLEADERFLAG), charname, charindex); LogFamily( CHAR_getChar(meindex, CHAR_FMNAME), CHAR_getInt(meindex, CHAR_FMINDEX), @@ -1829,7 +1829,7 @@ void FAMILY_CheckMember(int fd, int meindex, char *message) { // shan begin char sbuf[1024]; - sprintf( sbuf, "峤:%d -> :%s :%d (Ϊ)\n", CHAR_getInt(meindex, CHAR_FMLEADERFLAG), charname, charindex); + sprintf( sbuf, "族长代号:%d -> 人物名称:%s 人物索引:%d (设该人物为长老)\n", CHAR_getInt(meindex, CHAR_FMLEADERFLAG), charname, charindex); LogFamily( CHAR_getChar(meindex, CHAR_FMNAME), CHAR_getInt(meindex, CHAR_FMINDEX), @@ -1857,7 +1857,7 @@ void FAMILY_CheckMember(int fd, int meindex, char *message) #endif } #endif - // Ҫ¼б + // 要求最新家族列表 saacproto_ACShowFMList_send( acfd ); } @@ -1875,7 +1875,7 @@ void FAMILY_Channel(int fd, int meindex, char *message) lssproto_WN_send( fd, WINDOW_MESSAGETYPE_MESSAGE, WINDOW_BUTTONTYPE_OK, -1, -1, - makeEscapeString( "\n㻹ûмκμ壡", buf, sizeof(buf))); + makeEscapeString( "\n你还没有加入任何家族!", buf, sizeof(buf))); return; } @@ -1910,14 +1910,14 @@ void FAMILY_Channel(int fd, int meindex, char *message) i++; } if( i >= FAMILY_MAXCHANNELMEMBER ) { - CHAR_talkToCli( meindex, -1, "Ƶ", CHAR_COLORWHITE); + CHAR_talkToCli( meindex, -1, "此频道人数已满。", CHAR_COLORWHITE); return; } - sprintf( buf, "Ƶ [%d]", channel ); + sprintf( buf, "加入家族频道 [%d]。", channel ); CHAR_talkToCli( meindex, -1, buf, CHAR_COLORWHITE); if( nowchannel >=0 && nowchannel < FAMILY_MAXCHANNEL ) { - sprintf( buf, "%s ˳Ƶ", CHAR_getChar( meindex, CHAR_NAME) ); + sprintf( buf, "%s 退出频道。", CHAR_getChar( meindex, CHAR_NAME) ); for( i=0; i < FAMILY_MAXCHANNELMEMBER; i++ ) { if( CHAR_CHECKINDEX(channelMember[fmindexi][nowchannel][i]) && channelMember[fmindexi][nowchannel][i] != meindex ) { @@ -1925,7 +1925,7 @@ void FAMILY_Channel(int fd, int meindex, char *message) } } } - sprintf( buf, "%s Ƶ", CHAR_getChar( meindex, CHAR_NAME) ); + sprintf( buf, "%s 加入频道。", CHAR_getChar( meindex, CHAR_NAME) ); for( i=0; i < FAMILY_MAXCHANNELMEMBER; i++ ) { if( CHAR_CHECKINDEX(channelMember[fmindexi][channel][i]) && channelMember[fmindexi][channel][i] != meindex ) { @@ -1945,15 +1945,15 @@ void FAMILY_Channel(int fd, int meindex, char *message) } if( i >= FAMILY_MAXMEMBER ) { #ifndef _CHANNEL_MODIFY - CHAR_talkToCli( meindex, -1, "Ƶ", CHAR_COLORWHITE); + CHAR_talkToCli( meindex, -1, "此频道人数已满。", CHAR_COLORWHITE); #endif return; } #ifndef _CHANNEL_MODIFY - sprintf( buf, "Ƶ [ȫ]"); + sprintf( buf, "加入家族频道 [全]。"); CHAR_talkToCli( meindex, -1, buf, CHAR_COLORWHITE); if( nowchannel >=0 && nowchannel < FAMILY_MAXCHANNEL ) { - sprintf( buf, "%s ˳Ƶ", CHAR_getChar( meindex, CHAR_NAME) ); + sprintf( buf, "%s 退出频道。", CHAR_getChar( meindex, CHAR_NAME) ); for( i=0; i < FAMILY_MAXCHANNELMEMBER; i++ ) { if( CHAR_CHECKINDEX(channelMember[fmindexi][nowchannel][i]) && channelMember[fmindexi][nowchannel][i] != meindex ) { @@ -1961,7 +1961,7 @@ void FAMILY_Channel(int fd, int meindex, char *message) } } } - sprintf( buf, "%s Ƶ", CHAR_getChar( meindex, CHAR_NAME) ); + sprintf( buf, "%s 加入频道。", CHAR_getChar( meindex, CHAR_NAME) ); for( i=0; i < FAMILY_MAXCHANNELMEMBER; i++ ) { if( CHAR_CHECKINDEX(channelMember[fmindexi][channel][i]) && channelMember[fmindexi][channel][i] != meindex ) { @@ -1976,14 +1976,14 @@ void FAMILY_Channel(int fd, int meindex, char *message) else if( channel == FAMILY_MAXCHANNEL && CHAR_getInt( meindex, CHAR_FMLEADERFLAG ) == 1 ) #endif { - CHAR_talkToCli( meindex, -1, "峤㲥", CHAR_COLORWHITE); + CHAR_talkToCli( meindex, -1, "启动族长广播。", CHAR_COLORWHITE); } else { channel = -1; #ifndef _CHANNEL_MODIFY - CHAR_talkToCli( meindex, -1, "˳Ƶ", CHAR_COLORWHITE); + CHAR_talkToCli( meindex, -1, "退出家族频道。", CHAR_COLORWHITE); #else - CHAR_talkToCli( meindex, -1, "ر峤㲥", CHAR_COLORWHITE); + CHAR_talkToCli( meindex, -1, "关闭族长广播。", CHAR_COLORWHITE); channel = 0; i = 0; while(i < FAMILY_MAXMEMBER){ @@ -1995,7 +1995,7 @@ void FAMILY_Channel(int fd, int meindex, char *message) } #endif - sprintf( buf, "%s ˳Ƶ", CHAR_getChar( meindex, CHAR_NAME) ); + sprintf( buf, "%s 退出频道。", CHAR_getChar( meindex, CHAR_NAME) ); for( i=0; i < FAMILY_MAXCHANNELMEMBER; i++ ) { if( CHAR_CHECKINDEX(channelMember[fmindexi][nowchannel][i]) && channelMember[fmindexi][nowchannel][i] != meindex ) { @@ -2065,7 +2065,7 @@ void FAMILY_Bank(int fd, int meindex, char *message) fmindex = CHAR_getInt( meindex, CHAR_FMINDEX); // add shan if( fmindex <= 0 && CHAR_getInt( meindex, CHAR_BANKGOLD) < 1) { - CHAR_talkToCli( meindex, -1, "ȼ塣", CHAR_COLORWHITE); + CHAR_talkToCli( meindex, -1, "你必须先加入家族。", CHAR_COLORWHITE); return; } @@ -2083,7 +2083,7 @@ void FAMILY_Bank(int fd, int meindex, char *message) &&((bank + toBank) >= 0)&&((bank + toBank) <= CHAR_MAXBANKGOLDHAVE) ) { // shan add if( toBank > 0 && CHAR_getInt( meindex, CHAR_FMINDEX ) < 1 ) { - sprintf(buf, "Ǹûмκμ壬Խȡ"); + sprintf(buf, "抱歉!你没有加入任何家族,所以仅能领取存款"); CHAR_talkToCli( meindex, -1, buf, CHAR_COLORWHITE); return; } @@ -2093,15 +2093,15 @@ void FAMILY_Bank(int fd, int meindex, char *message) CHAR_send_P_StatusString( meindex , CHAR_P_STRING_GOLD); if( toBank >= 0 ) { - sprintf(buf, "%dиʻ", toBank); + sprintf(buf, "存入%d到家族银行个人帐户。", toBank); CHAR_talkToCli( meindex, -1, buf, CHAR_COLORWHITE); - // Syu ADD дȡLog () + // Syu ADD 新增家族个人银行存取Log (不含家族银行) LogFamilyBankStone( CHAR_getChar( meindex, CHAR_NAME ), CHAR_getChar( meindex, CHAR_CDKEY ), toBank, CHAR_getInt( meindex, CHAR_GOLD ), - "myBank()()", + "myBank(存款)(家族个人银行)", CHAR_getInt( meindex,CHAR_FLOOR), CHAR_getInt( meindex,CHAR_X ), CHAR_getInt( meindex,CHAR_Y ), @@ -2110,15 +2110,15 @@ void FAMILY_Bank(int fd, int meindex, char *message) } else { - sprintf(buf, "Ӽиʻȡ%d", -toBank); + sprintf(buf, "从家族银行个人帐户取出%d。", -toBank); CHAR_talkToCli( meindex, -1, buf, CHAR_COLORWHITE); - // Syu ADD дȡLog () + // Syu ADD 新增家族个人银行存取Log (不含家族银行) LogFamilyBankStone( CHAR_getChar( meindex, CHAR_NAME ), CHAR_getChar( meindex, CHAR_CDKEY ), toBank, CHAR_getInt( meindex, CHAR_GOLD ), - "myBank()()", + "myBank(提款)(家族个人银行)", CHAR_getInt( meindex,CHAR_FLOOR), CHAR_getInt( meindex,CHAR_X ), CHAR_getInt( meindex,CHAR_Y ), @@ -2126,14 +2126,14 @@ void FAMILY_Bank(int fd, int meindex, char *message) ); } - // Syu ADD дȡLog () + // Syu ADD 新增家族个人银行存取Log (不含家族银行) LogStone( -1, - CHAR_getChar( meindex, CHAR_NAME ), /* ƽҷ */ - CHAR_getChar( meindex, CHAR_CDKEY ), /* ǡID */ - -toBank, /* ź */ + CHAR_getChar( meindex, CHAR_NAME ), /* 平乓仿 */ + CHAR_getChar( meindex, CHAR_CDKEY ), /* 交□扒□ID */ + -toBank, /* 嗯喊 */ CHAR_getInt( meindex, CHAR_GOLD ), - "myBank()", + "myBank(家族个人银行)", CHAR_getInt( meindex,CHAR_FLOOR), CHAR_getInt( meindex,CHAR_X ), CHAR_getInt( meindex,CHAR_Y ) @@ -2166,21 +2166,21 @@ void FAMILY_Bank(int fd, int meindex, char *message) FMindex = CHAR_getWorkInt( meindex, CHAR_WORKFMINDEXI ); mygold = CHAR_getInt( meindex, CHAR_GOLD); if( mygold < 0 || mygold > MaxGold || toTax == 0 ) return; - if( toTax > 0 ) {//+ + if( toTax > 0 ) {//+存款 if( ((mygold-toTax) < 0) || (familyTax[ FMindex] + toTax) > CHAR_MAXFMBANKGOLDHAVE ) { return; } - }else if( toTax < 0 ){ //-ȡ + }else if( toTax < 0 ){ //-取款 if( ((mygold-toTax)>MaxGold) || (familyTax[ FMindex] + toTax) < 0 ) { return; } } - if( toTax>0 ) { //Ԥȿۿ + if( toTax>0 ) { //存款预先扣款 CHAR_setInt( meindex, CHAR_GOLD, CHAR_getInt( meindex, CHAR_GOLD)-toTax ); } - sprintf( buf, "%s....", (toTax>0)?"":"ȡ"); + sprintf( buf, "家族银行%s处理中....", (toTax>0)?"存款":"取款"); CHAR_talkToCli( meindex , -1, buf, CHAR_COLORYELLOW); CHAR_send_P_StatusString( meindex , CHAR_P_STRING_GOLD); @@ -2199,22 +2199,22 @@ void ACFMPointList(int ret, char *data) { } -#ifdef _ADD_FAMILY_TAX // WON ADD ׯ԰˰ -// GS ʱ AC Ҫׯ԰˰ +#ifdef _ADD_FAMILY_TAX // WON ADD 增加庄园税收 +// GS 启动及定时向 AC 要求庄园税率 void GS_ASK_TAX(void) { saacproto_GS_ASK_TAX_send(acfd); } -// ׯ԰峤޸˰ +// 庄园族长修改税率 void FAMILY_FIX_TAX( int fd, int index, char* message) { int fmpointindex=0, tax=0, fmindex=-1, i; char token[256]; char pointbuf[256]; -// extern struct FM_POINTLIST fmpointlist; // ݵ - // жʸ +// extern struct FM_POINTLIST fmpointlist; // 家族据点 + // 判断资格 if (!CHAR_CHECKINDEX(index)) return; if ((CHAR_getInt(index, CHAR_FMINDEX) == -1) @@ -2228,10 +2228,10 @@ void FAMILY_FIX_TAX( int fd, int index, char* message) return; } - // + // 家族编号 fmindex = CHAR_getInt(index, CHAR_FMINDEX); - // ǷΪׯ԰ļ + // 检查是否为庄园的家族 for( i=0 ; i -1 ){ //״̬ + if( CHAR_getInt( meindex, CHAR_BECOMEPIG) > -1 ){ //处於乌力化状态 CHAR_setInt( meindex, CHAR_RIDEPET, -1 ); - //ѡ״̬ȻΪ"", + //宠物选项的状态依然为"骑乘",这里修正过来 CHAR_complianceParameter( meindex ); CHAR_send_P_StatusString( meindex, CHAR_P_STRING_RIDEPET); - CHAR_talkToCli( meindex, -1, "Ŀǰ㴦״̬˳", CHAR_COLORYELLOW ); + CHAR_talkToCli( meindex, -1, "目前你处于乌力化状态,不能骑乘宠物。", CHAR_COLORYELLOW ); return 0; } #endif @@ -2686,33 +2686,33 @@ int FAMILY_RidePet( int fd, int meindex, char* message ) #ifdef _PET_BUG if(CHAR_getInt( petindex, CHAR_VITAL)>=getPetPoint(0)*20 || CHAR_getInt(petindex,CHAR_STR)>=getPetPoint(1)*80 || CHAR_getInt(petindex,CHAR_TOUGH)>=getPetPoint(2)*80 || CHAR_getInt(petindex,CHAR_DEX)>=getPetPoint(3)*100) { - CHAR_talkToCli( meindex, -1, "óԹߣ޷ˡ", CHAR_COLORYELLOW ); + CHAR_talkToCli( meindex, -1, "该宠物属性过高,无法骑乘。", CHAR_COLORYELLOW ); return 0; } #endif #ifdef _NOT_PETRIDE if(strstr(CHAR_getChar(petindex,CHAR_NAME),"*")){ - CHAR_talkToCli(meindex, -1, "˳޷ˡ", CHAR_COLORRED); + CHAR_talkToCli(meindex, -1, "此宠物无法骑乘。", CHAR_COLORRED); return 0; } #endif if( CHAR_getInt( meindex, CHAR_LEARNRIDE) < CHAR_getInt( petindex, CHAR_LV ) ) { char buff[255]; - sprintf(buff,"Ŀǰֻ˵ȼС%dij衣",CHAR_getInt( meindex, CHAR_LEARNRIDE)); + sprintf(buff,"你目前只能骑乘等级小于%d级的宠。",CHAR_getInt( meindex, CHAR_LEARNRIDE)); CHAR_talkToCli( meindex, -1, buff, CHAR_COLORYELLOW ); return 0; } if( CHAR_getWorkInt( petindex, CHAR_WORKFIXAI ) < 100 ) { - CHAR_talkToCli( meindex, -1, "С100", CHAR_COLORYELLOW ); + CHAR_talkToCli( meindex, -1, "该骑宠的忠小于100", CHAR_COLORYELLOW ); return 0; } #ifdef _RIDELEVEL if( CHAR_getInt( meindex, CHAR_LV)+getRideLevel() < CHAR_getInt( petindex, CHAR_LV ) ) { char buff[255]; - sprintf(buff,"ֻȼ%dij衣",getRideLevel()); + sprintf(buff,"你最高只能骑宠等级比你大%d级的宠。",getRideLevel()); CHAR_talkToCli( meindex, -1, buff, CHAR_COLORYELLOW ); return 0; } @@ -2724,7 +2724,7 @@ int FAMILY_RidePet( int fd, int meindex, char* message ) if( CHAR_getInt( petindex, CHAR_TRANSMIGRATION) > getPetRideTrans()) return 0; #endif #ifdef _RIDEBUG - if(CHAR_getInt(meindex, CHAR_DEFAULTPET) == petindex ){//ս + if(CHAR_getInt(meindex, CHAR_DEFAULTPET) == petindex ){//如果骑宠是战宠 return 0; } #endif @@ -2736,7 +2736,7 @@ int FAMILY_RidePet( int fd, int meindex, char* message ) for(;iindex < CHAR_PETITEMNUM; iindex++){ if(CHAR_getItemIndex(petindex,iindex) != -1){ char buff[255]; - sprintf(buff,"װ!"); + sprintf(buff,"宠物身上有装备不可骑乘!"); CHAR_talkToCli( meindex, -1, buff, CHAR_COLORYELLOW ); return 0; } @@ -2791,7 +2791,7 @@ int FAMILY_RidePet( int fd, int meindex, char* message ) #ifdef _RIDE_CF int playerlowsride1 = CHAR_getInt( meindex, CHAR_LOWRIDEPETS1); int playerhighride2 = CHAR_getInt( meindex, CHAR_HIGHRIDEPETS2); - //print( ",Ϣ:lowride = %d, lowride1 = %d, highride1 = %d, highride2 = %d. \n", playerlowsride, playerlowsride1, playerhighsride1, playerhighsride2 ); + //print( "骑趁,数据信息:lowride = %d, lowride1 = %d, highride1 = %d, highride2 = %d. \n", playerlowsride, playerlowsride1, playerhighsride1, playerhighsride2 ); if( (ti = RIDEPET_getPETindex( petNo, playerlowsride, playerlowsride1, playerhighride2 )) >= 0 ) //if( (ti = RIDEPET_getPETindex( petNo, playerlowsride, NULL, NULL )) >= 0 ) @@ -2802,7 +2802,7 @@ int FAMILY_RidePet( int fd, int meindex, char* message ) if( (index = RIDEPET_getNOindex( playerNo)) >= 0 ){ if( (image = RIDEPET_getRIDEno( index,ti)) >= 0 ) { rideGraNo = image; - //print("...1111, 222 rideGraNo= %d\n", image); + //print("...进入骑趁1111, 222 rideGraNo= %d\n", image); } } } @@ -2812,7 +2812,7 @@ int FAMILY_RidePet( int fd, int meindex, char* message ) #ifdef _ITEM_METAMO // CHAR_setWorkInt( meindex, CHAR_WORKITEMMETAMO, 0); #endif - //print("...1111, 222, 333 rideGraNo= %d, ridepet = %s\n", rideGraNo, token2); + //print("...进入骑趁1111, 222, 333 rideGraNo= %d, ridepet = %s\n", rideGraNo, token2); CHAR_setInt( meindex , CHAR_RIDEPET, atoi( token2 ) ); CHAR_setInt( meindex , CHAR_BASEIMAGENUMBER , rideGraNo ); CHAR_complianceParameter( meindex ); @@ -2903,7 +2903,7 @@ int FAMILY_RidePet( int fd, int meindex, char* message ) getStringFromIndexWithDelim( itemarg, "|", 2, ridemetamo, sizeof(ridemetamo)); int metamo= CHAR_getInt( petindex , CHAR_BASEIMAGENUMBER); if(metamo==atoi(petmetamo)){ - //print("...ûԭ1111, 222, 333 , ridemetamo = %d, ridepet = %s \n", ridemetamo, token2); + //print("...进入骑趁还原人物1111, 222, 333 , ridemetamo = %d, ridepet = %s \n", ridemetamo, token2); CHAR_setInt( meindex , CHAR_RIDEPET, atoi( token2 ) ); CHAR_setInt( meindex , CHAR_BASEIMAGENUMBER , atoi( ridemetamo ) ); CHAR_complianceParameter( meindex ); @@ -2915,8 +2915,8 @@ int FAMILY_RidePet( int fd, int meindex, char* message ) } #endif } - }else { //ԭ basebaseimage - //print("...ûԭ1111, 222, 333 \n"); + }else { //还原人物 basebaseimage + //print("...进入骑趁还原人物1111, 222, 333 \n"); CHAR_setInt( meindex , CHAR_RIDEPET, -1 ); CHAR_setInt( meindex , CHAR_BASEIMAGENUMBER , CHAR_getInt( meindex , CHAR_BASEBASEIMAGENUMBER) ); CHAR_complianceParameter( meindex ); @@ -2932,8 +2932,8 @@ void ACFixFMPK(int winindex, int loseindex, int data) int i = 0, charindex = 0; char msg1[256], msg2[256]; - sprintf(msg1, "ϲ%8d㣡", (data / 100)); - sprintf(msg2, "%8d㣡", (data / 100)); + sprintf(msg1, "恭喜您!家族声望提高了%8d点!", (data / 100)); + sprintf(msg2, "家族声望减少了%8d点!", (data / 100)); for (i = 0; i < FAMILY_MAXMEMBER; i++) { charindex = familyMemberIndex[winindex][i]; @@ -3004,9 +3004,9 @@ void checkFamilyIndex( void ) } // if( err1 ) -// print(":%d\n", err1); +// print("家族索引建立错误:%d\n", err1); // if( err2 ) -// print("Ա:%d\n", err2); +// print("成员建立错误:%d\n", err2); if( ! (err1&&err2) ) print("ok!\n"); @@ -3025,7 +3025,7 @@ void FAMILY_LeaderFunc( int fd, int meindex, char *message ) lssproto_WN_send( fd, WINDOW_MESSAGETYPE_MESSAGE, WINDOW_BUTTONTYPE_OK, -1, -1, - makeEscapeString( "㻹δ壬Բʹࡣ", buf, sizeof(buf) )); + makeEscapeString( "你还未加入家族,所以不能使用唷!", buf, sizeof(buf) )); return; } @@ -3052,7 +3052,7 @@ void FAMILY_LeaderFunc( int fd, int meindex, char *message ) } saacproto_ACShowMemberList_send( acfd, fmindex_wk); - sprintf( sendbuf, " ֪\nСĴԱϣһ޸޷ظԭ̬Сġ"); + sprintf( sendbuf, " 『族 长 需 知』\n请小心处理族员的资料,一经修改後就无法回复原态,敬请小心。"); lssproto_WN_send( fd, WINDOW_MESSAGETYPE_MESSAGE, WINDOW_BUTTONTYPE_OK, @@ -3149,7 +3149,7 @@ void FAMILY_LeaderFunc( int fd, int meindex, char *message ) lssproto_WN_send( fd, WINDOW_MESSAGETYPE_MESSAGE, WINDOW_BUTTONTYPE_OK, -1, -1, - makeEscapeString("\nֻӵׯ԰峤ࡣ", buf, sizeof(buf))); + makeEscapeString("\n只有拥有庄园的族长,才能制作唷!", buf, sizeof(buf))); return; }else { int emptyitemindexinchara = CHAR_findEmptyItemBox( meindex ); @@ -3157,7 +3157,7 @@ void FAMILY_LeaderFunc( int fd, int meindex, char *message ) if( itemindex == -1 ) return; if( emptyitemindexinchara < 0 ) { - CHAR_talkToCli( meindex, -1, "", CHAR_COLORWHITE); + CHAR_talkToCli( meindex, -1, "道具栏已满。", CHAR_COLORWHITE); return; } #ifdef _CAX_FAME_KOUFEI @@ -3170,16 +3170,16 @@ void FAMILY_LeaderFunc( int fd, int meindex, char *message ) CHAR_sendItemDataOne( meindex, emptyitemindexinchara); #ifdef _CAX_FAME_KOUFEI if ( getfamekoufei() > 0 ){ - snprintf( buf, sizeof( buf), "%sɹ۳%dʷѣ",ITEM_getChar( itemindex, ITEM_NAME),getfamekoufei()); + snprintf( buf, sizeof( buf), "制作%s成功。并扣除%d点声望资费!",ITEM_getChar( itemindex, ITEM_NAME),getfamekoufei()); CHAR_talkToCli( meindex, -1, buf, CHAR_COLORWHITE); }else{ #endif - snprintf( buf, sizeof( buf), "%sɹ",ITEM_getChar( itemindex, ITEM_NAME)); + snprintf( buf, sizeof( buf), "制作%s成功。",ITEM_getChar( itemindex, ITEM_NAME)); CHAR_talkToCli( meindex, -1, buf, CHAR_COLORWHITE); #ifdef _CAX_FAME_KOUFEI } }else{ - CHAR_talkToCli( meindex, -1, "Ŷ", CHAR_COLORYELLOW ); + CHAR_talkToCli( meindex, -1, "你的声望不够哦", CHAR_COLORYELLOW ); return; } #endif @@ -3194,7 +3194,7 @@ void FAMILY_LeaderFunc( int fd, int meindex, char *message ) fmindexi = CHAR_getWorkInt( meindex, CHAR_WORKFMINDEXI ); - // Ҫ峤ѡб + // 要求族长候选人列表 if( strcmp( token2, "L") == 0 ){ char subsub[128]; @@ -3230,7 +3230,7 @@ void FAMILY_LeaderFunc( int fd, int meindex, char *message ) sendbuf ); } - // ѯ峤ѡǷԸ + // 询问族长候选人是否愿意接受 if( strcmp( token2, "Q") == 0 ) { char token3[64], token4[64]; @@ -3254,7 +3254,7 @@ void FAMILY_LeaderFunc( int fd, int meindex, char *message ) if( strcmp( token4, CHAR_getChar( toindex, CHAR_NAME)) != 0 ) return; if( CheckLeaderQ(toindex) < 0 ) return; - // ˫λʱCHAR_WORKLEADERCHANGEŶԷcharaindex + // 双方都决定让位时,CHAR_WORKLEADERCHANGE存放对方的charaindex CHAR_setWorkInt( toindex, CHAR_WORKLEADERCHANGE, meindex); CHAR_setWorkInt( meindex, CHAR_WORKLEADERCHANGE, toindex); @@ -3266,7 +3266,7 @@ void FAMILY_LeaderFunc( int fd, int meindex, char *message ) sendbuf ); } - // ѡ˵Ĵ + // 候选人的答覆 if( strcmp( token2, "A") == 0 ) { int leaderindex, answerflag; @@ -3289,7 +3289,7 @@ void FAMILY_LeaderFunc( int fd, int meindex, char *message ) leaderindex = atoi( token4 ); - // ˫CHAR_WORKLEADERCHANGEǷ + // 检查双方的CHAR_WORKLEADERCHANGE是否相符 if( CHAR_getWorkInt( meindex, CHAR_WORKLEADERCHANGE ) != leaderindex ) return; if( !CHAR_CHECKINDEX(leaderindex) ) return; if( strcmp( leadername, CHAR_getChar( leaderindex, CHAR_NAME) ) != 0 ) return; @@ -3309,7 +3309,7 @@ void FAMILY_LeaderFunc( int fd, int meindex, char *message ) lssproto_WN_send( CHAR_getWorkInt( leaderindex, CHAR_WORKFD) , WINDOW_MESSAGETYPE_MESSAGE, WINDOW_BUTTONTYPE_OK, -1, -1, - makeEscapeString( "\nԲ𣡶ԷԸܣ", buf, sizeof(buf)) ); + makeEscapeString( "\n对不起!对方不愿意接受!", buf, sizeof(buf)) ); return; } @@ -3351,8 +3351,8 @@ void ACFMJob( int fd, int ret, char* data1, char* data2 ) CHAR_setWorkInt( leaderindex, CHAR_WORKLEADERCHANGE, 0 ); if( ret == 0 ){ - CHAR_talkToCli( charaindex, -1, "峤λʧܣ", CHAR_COLORYELLOW ); - CHAR_talkToCli( leaderindex, -1, "峤λʧܣ", CHAR_COLORYELLOW ); + CHAR_talkToCli( charaindex, -1, "族长让位失败!", CHAR_COLORYELLOW ); + CHAR_talkToCli( leaderindex, -1, "族长让位失败!", CHAR_COLORYELLOW ); return; } @@ -3371,7 +3371,7 @@ void ACFMJob( int fd, int ret, char* data1, char* data2 ) CHAR_getInt(charaindex, CHAR_FMINDEX), CHAR_getChar(charaindex, CHAR_NAME), CHAR_getChar(charaindex, CHAR_CDKEY), - "LEADERCHANGE_ERROR(峤λʧ)", + "LEADERCHANGE_ERROR(族长让位失败)", buf ); return; @@ -3387,9 +3387,9 @@ void ACFMJob( int fd, int ret, char* data1, char* data2 ) lssproto_WN_send( fd, WINDOW_MESSAGETYPE_MESSAGE, WINDOW_BUTTONTYPE_OK, -1, -1, - makeEscapeString( "\nϲ㣡Ѿε峤ˡ\núõŬɣ\nˡǵȵ峤ҵļԱѡ\nµļػޣ彫ᱻɢࡣ", buf, sizeof(buf))); + makeEscapeString( "\n恭喜你!你已经是新任的族长了。\n请好好的努力吧!\n对了~记得请先到村长家的家族管理员选择\n新的家族守护兽,否则家族将会被解散唷!", buf, sizeof(buf))); - sprintf( buf2, "\nˣѾ峤λӽ%sˡ", CHAR_getChar( charaindex, CHAR_NAME) ); + sprintf( buf2, "\n辛苦你了!你已经将族长的位子交给%s了。", CHAR_getChar( charaindex, CHAR_NAME) ); lssproto_WN_send( CHAR_getWorkInt( leaderindex, CHAR_WORKFD) , WINDOW_MESSAGETYPE_MESSAGE, WINDOW_BUTTONTYPE_OK, -1, -1, @@ -3408,7 +3408,7 @@ void ACFMJob( int fd, int ret, char* data1, char* data2 ) CHAR_getInt(charaindex, CHAR_FMINDEX), CHAR_getChar(charaindex, CHAR_NAME), CHAR_getChar(charaindex, CHAR_CDKEY), - "LEADERCHANGE(峤λ)", + "LEADERCHANGE(族长让位)", buf); } } @@ -3418,12 +3418,12 @@ int Char_GetFm( int id, int x) { int fd = getfdFromCharaIndex( id); - if (x == 1) //ü + if (x == 1) //获得家族气势 return fmdptop.fmMomentum[id]; - else if (x == 2)//üfmtopdp + else if (x == 2)//获得家族声望fmtopdp return fmdptop.fmtopdp[id]; - else if (x == 3)//üʽ + else if (x == 3)//获得家族资金 { //saacproto_ACGetFMData_send( fd, CHAR_getChar( id, CHAR_FMNAME), //CHAR_getInt( id, CHAR_FMINDEX ), diff --git a/char/pet.c b/char/pet.c index 355edb0..b5c9812 100644 --- a/char/pet.c +++ b/char/pet.c @@ -17,166 +17,166 @@ /* - * ʸ ĩ + * 矢永玄质 卞楮允月末□旦 */ /*------------------------------------------------------------------------ - * ʸë๴Ի񲻯£۷ã - * CHARհ 弰ľ£ - * Իľƽҷindex -1 + * 矢永玄毛ㄠ勾喃曰癫化月[犯田永弘迕[ + * CHAR厌瞻 卞及心综岳今木月[ + * 曰袄“综岳今木凶平乓仿index 撩 “-1 *-----------------------------------------------------------------------*/ -char hanzibuf[5000][8] = {"","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","", -"","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","", -"","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","", -"","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","", -"","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","", -"","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","", -"","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","", -"","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","", -"","","","","","","","","","߶","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","", -"","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","", -"","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","", -"","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","", -"","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","", -"","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","", -"","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","", -"","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","", -"","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","", -"","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","", -"","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","", -"","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","", -"","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","", -"","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","", -"","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","", -"","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","", -"","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","", -"","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","", -"","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","", -"","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","", -"","","","","¡","¢","£","¥","§","©","¶","«","¯","²","³","½","¼","¹","","µ","·","¿","","","","","","","","","","","","","","","","","","","", -"","","","","","","","","","","","","","","","","","","","","","æ","â","ä","ã","è","ë","ì","é","ï","ð","ó","ñ","ò","ô","û","ü","÷","ú","ù","ÿ", -"","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","ģ","Ĥ","Ħ", -"ĥ","ħ","Ĩ","ĩ","ĭ","Ī","Į","ī","Ĭ","ı","ij","ĸ","Ķ","ľ","Ŀ","","Ĺ","Ļ","Ľ","ĺ","","","","","","","","","","","","","","","","","","","","","", -"","","","","","","","","","","","","ţ","Ť","Ŧ","ũ","Ũ","Ū","ū","Ŭ","ŭ","Ů","ů","Ų","ŷ","ż","","ſ","","","","","","","","","","","","","", -"","","","","","","","","","","","","","","","","","","","","","Ƥ","ƣ","Ƣ","ƥ","Ƨ","Ƭ","ƫ","ƪ","ƭ","Ư","Ʈ","Ʊ","Ʋ","ƴ","ƶ","Ʒ","ƹ","ƽ","","ƾ", -"ƻ","ƿ","Ƽ","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","ǡ","Ǣ", -"ǧ","Ǩ","ǣ","Ǧ","ǫ","ǩ","ǰ","Ǯ","ǯ","DZ","dz","Dz","Ƿ","Ǹ","ǹ","ǻ","ǿ","ǽ","","","","","","","","","","","","","","","","","","","","","","","", -"","","","","","","","","","","","","","","","","","ȡ","ȥ","Ȥ","Ȧ","ȫ","Ȩ","Ȫ","ȭ","Ȯ","Ȱ","ȯ","ȱ","ȴ","ȸ","ȷ","ȵ","ȹ","Ⱥ","Ȼ","ȼ","Ⱦ","","","", -"","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","ɡ","ɢ","ɣ","ɤ", -"ɥ","ɨ","ɩ","ɫ","ɭ","ɱ","ɳ","ɴ","ɵ","ɸ","ɹ","ɽ","ɾ","","","","","","","","","","","","","","","","","","","","","","","","","","","","", -"","","","","","","","","","","","","","","","","ʤ","","ʡ","ʥ","ʢ","ʣ","ʬ","ʧ","ʦ","ʫ","ʩ","ʨ","ʪ","ʮ","ʲ","ʯ","ʱ","ʶ","ʵ","ʰ","ʴ","ʳ","ʷ","ʹ","ʼ", -"ʻ","ʿ","","","","ʾ","ʽ","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","", -"","","","","","","","","ˢ","ˣ","˥","ˤ","˦","˧","˩","˫","˪","ˬ","˭","ˮ","˰","˯","˳","˵","","˿","˾","˽","˼","˹","˺","","","","","","","","","","", -"","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","̤","̨","̧","̫","̬","̩","̰","̯","̲","̳", -"̸","̵","̹","̺","̾","̿","̽","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","", -"","","","","","","","","","","","ͤ","ͥ","ͣ","ͦ","ͧ","ͨ","ͬ","ͩ","ͭ","ͯ","ͳ","Ͱ","Ͳ","ʹ","͵","ͷ","Ͷ","͸","ͺ","ͻ","ͼ","ͽ","Ϳ",";","","","","","","", -"","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Σ","","΢","Ϊ","Χ","Υ", -"Ψ","ά","ΰ","α","β","ί","","δ","λ","ζ","η","θ","ι","ο","","","","","","","","","","","","","","","","","","","","","","","","","","","", -"","","","","Ϧ","","","ϣ","","Ϣ","","Ϥ","ϧ","ϡ","Ϫ","","Ϩ","ϥ","ϰ","ϯ","Ϯ","ϴ","ϲ","Ϸ","ϵ","ϸ","϶","Ϻ","Ϲ","Ͽ","","ϼ","","","","","","","","","", -"","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Щ","Ъ","Э","а","в","б","Я","Ь","д", -"й","к","ж","м","е","л","","","","","н","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","", -"","","","","","","","","","","ѡ","Ѩ","ѧ","ѩ","Ѫ","Ѱ","Ѳ","Ѯ","ѯ","ѭ","","","","","С","","Т","Ч","У","Ц","ѵ","Ѷ","Ѹ","ѹ","ѽ","Ѻ","ѻ","Ѽ","","ѿ","", -"","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","", -"","Ҥ","ҥ","ҡ","ң","ҧ","ҩ","Ҫ","Կ","","","Ծ","Խ","","","","","","ҫ","ү","Ҳ","ұ","Ұ","ҵ","Ҷ","ҳ","ҹ","Һ","һ","","ҽ","","","","","","","","","","", -"","","","","","","","","","","","","","","","","","","","","","","","","","","","ӡ","Ӧ","Ӣ","ӣ","ӥ","ӭ","ӯ","Ӫ","Ӭ","Ӯ","Ӱ","ӳ","Ӳ","Ӷ", -"ӵ","ӹ","","ӽ","Ӿ","","ӿ","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","", -"","ԡ","Ԥ","","","","ԣ","","","","ԩ","Ԫ","Ա","԰","ԭ","Բ","Ԯ","Ե","Դ","Զ","Թ","Ժ","Ը","Լ","","","","","","","","","","","","","","","","","", -"","","","","","","","","","","","","","","","","","","","բ","գ","ը","ե","ժ","լ","խ","ծ","կ","մ","ճ","ն","չ","յ","ո","ռ","ս","վ","","","","", -"","","","","","","","","","","","","","צ","ר","ש","ת","׬","ׯ","װ","׳","״","ײ","","","","","","","","","","","","","","","","","","", -"","","","","","","֤","֣","","֢","֮","֧","֭","֥","֦","֪","֯","֫","֬","֩","ִ","ֶ","ֱ","ֵ","ְ","ֲ","ֳ","ֹ","ֻ","ּ","ַ","ֽ","ָ","","־","","","","","","", -"","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","ס","","ע","פ","","ף","","","","ץ", -"׷","׼","׽","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","", -"","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","", -"","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","", -"","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","", -"","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","", -"","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","", -"","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","", -"","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","", -"","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","߶","", -"","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","", -"","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","", -"","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","", -"","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","", -"","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","", -"","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","", -"","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","", -"","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","", -"","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","", -"","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","", -"","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","", -"","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","", -"","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","", -"","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","", -"","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","", -"","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","", -"","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","", -"","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","", -"","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","", -"","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","¡","¢","£","¥","§","©","¶", -"«","¯","²","³","½","¼","¹","","µ","·","¿","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","", -"","","","","","","","","","","æ","â","ä","ã","è","ë","ì","é","ï","ð","ó","ñ","ò","ô","û","ü","÷","ú","ù","ÿ","","","","","","","","","","","", -"","","","","","","","","","","","","","","","","","","","","","","","","","","","ģ","Ĥ","Ħ","ĥ","ħ","Ĩ","ĩ","ĭ","Ī","Į","ī","Ĭ","ı","ij", -"ĸ","Ķ","ľ","Ŀ","","Ĺ","Ļ","Ľ","ĺ","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","", -"","ţ","Ť","Ŧ","ũ","Ũ","Ū","ū","Ŭ","ŭ","Ů","ů","Ų","ŷ","ż","","ſ","","","","","","","","","","","","","","","","","","","","","","","","", -"","","","","","","","","","","Ƥ","ƣ","Ƣ","ƥ","Ƨ","Ƭ","ƫ","ƪ","ƭ","Ư","Ʈ","Ʊ","Ʋ","ƴ","ƶ","Ʒ","ƹ","ƽ","","ƾ","ƻ","ƿ","Ƽ","","","","","","","","", -"","","","","","","","","","","","","","","","","","","","","","","","","","","","","ǡ","Ǣ","ǧ","Ǩ","ǣ","Ǧ","ǫ","ǩ","ǰ","Ǯ","ǯ","DZ","dz", -"Dz","Ƿ","Ǹ","ǹ","ǻ","ǿ","ǽ","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","", -"","","","","","","ȡ","ȥ","Ȥ","Ȧ","ȫ","Ȩ","Ȫ","ȭ","Ȯ","Ȱ","ȯ","ȱ","ȴ","ȸ","ȷ","ȵ","ȹ","Ⱥ","Ȼ","ȼ","Ⱦ","","","","","","","","","","","","","","", -"","","","","","","","","","","","","","","","","","","","","","","","","","","ɡ","ɢ","ɣ","ɤ","ɥ","ɨ","ɩ","ɫ","ɭ","ɱ","ɳ","ɴ","ɵ","ɸ","ɹ", -"ɽ","ɾ","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","", -"","","","","","ʤ","","ʡ","ʥ","ʢ","ʣ","ʬ","ʧ","ʦ","ʫ","ʩ","ʨ","ʪ","ʮ","ʲ","ʯ","ʱ","ʶ","ʵ","ʰ","ʴ","ʳ","ʷ","ʹ","ʼ","ʻ","ʿ","","","","ʾ","ʽ","","","","", -"","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","", -"","","","","","","","ˢ","ˣ","˥","ˤ","˦","˧","˩","˫","˪","ˬ","˭","ˮ","˰","˯","˳","˵","","˿","˾","˽","˼","˹","˺","","","","","","","","","","","", -"","","","","","","","","","","","","","","","","","","","","̤","̨","̧","̫","̬","̩","̰","̯","̲","̳","̸","̵","̹","̺","̾","̿","̽","","","","", -"","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","", -"ͤ","ͥ","ͣ","ͦ","ͧ","ͨ","ͬ","ͩ","ͭ","ͯ","ͳ","Ͱ","Ͳ","ʹ","͵","ͷ","Ͷ","͸","ͺ","ͻ","ͼ","ͽ","Ϳ",";","","","","","","","","","","","","","","","","","", -"","","","","","","","","","","","","","","","","","","","","","","","","Σ","","΢","Ϊ","Χ","Υ","Ψ","ά","ΰ","α","β","ί","","δ","λ","ζ","η", -"θ","ι","ο","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Ϧ","","","ϣ","","Ϣ","", -"Ϥ","ϧ","ϡ","Ϫ","","Ϩ","ϥ","ϰ","ϯ","Ϯ","ϴ","ϲ","Ϸ","ϵ","ϸ","϶","Ϻ","Ϲ","Ͽ","","ϼ","","","","","","","","","","","","","","","","","","","","", -"","","","","","","","","","","","","","","","","","","","","","","","","","С","","Т","Ч","У","Ц","Щ","Ъ","Э","а","в","б","Я","Ь","д","й", -"к","ж","м","е","л","","","","","н","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","", -"","","","","","","","","","","","","","","","","","","","ѡ","Ѩ","ѧ","ѩ","Ѫ","Ѱ","Ѳ","Ѯ","ѯ","ѭ","ѵ","Ѷ","Ѹ","ѹ","ѽ","Ѻ","ѻ","Ѽ","","ѿ","","", -"","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","", -"Ҥ","ҥ","ҡ","ң","ҧ","ҩ","Ҫ","ҫ","ү","Ҳ","ұ","Ұ","ҵ","Ҷ","ҳ","ҹ","Һ","һ","","ҽ","","","","","","","","","","","","","","","","","","","","","", -"","","","","","","","","","","","","","","","","ӡ","Ӧ","Ӣ","ӣ","ӥ","ӭ","ӯ","Ӫ","Ӭ","Ӯ","Ӱ","ӳ","Ӳ","Ӷ","ӵ","ӹ","","ӽ","Ӿ","","ӿ","","","","", -"","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","ԡ","Ԥ","","","","ԣ","","","","ԩ", -"Ԫ","Ա","԰","ԭ","Բ","Ԯ","Ե","Դ","Զ","Թ","Ժ","Ը","Լ","","Կ","","","Ծ","Խ","","","","","","","","","","","","","","","","","","","","","","", -"","","","","","","","","","","","","","","","","","","բ","գ","ը","ե","ժ","լ","խ","ծ","կ","մ","ճ","ն","չ","յ","ո","ռ","ս","վ","","","","","", -"","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","֤","֣","","֢","֮", -"֧","֭","֥","֦","֪","֯","֫","֬","֩","ִ","ֶ","ֱ","ֵ","ְ","ֲ","ֳ","ֹ","ֻ","ּ","ַ","ֽ","ָ","","־","","","","","","","","","","","","","","","","","", -"","","","","","","","","","","","","","","","","","","","","ס","","ע","פ","","ף","","","","ץ","צ","ר","ש","ת","׬","ׯ","װ","׳","״","ײ","׷", -"׼","׽","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",""}; +char hanzibuf[5000][8] = {"阿","啊","哀","唉","挨","矮","爱","碍","安","岸","按","案","暗","昂","袄","傲","奥","八","巴","扒","吧","疤","拔","把","坝","爸","罢","霸","白","百","柏","摆","败","拜","班","般","斑","搬","板","版","办", +"半","伴","扮","拌","瓣","帮","绑","榜","膀","傍","棒","包","胞","雹","宝","饱","保","堡","报","抱","暴","爆","杯","悲","碑","北","贝","备","背","倍","被","辈","奔","本","笨","蹦","逼","鼻","比","彼","笔", +"鄙","币","必","毕","闭","毙","弊","碧","蔽","壁","避","臂","边","编","鞭","扁","便","变","遍","辨","辩","辫","标","表","别","宾","滨","冰","兵","丙","柄","饼","并","病","拨","波","玻","剥","脖","菠","播", +"伯","驳","泊","博","搏","膊","薄","卜","补","捕","不","布","步","怖","部","擦","猜","才","材","财","裁","采","彩","睬","踩","菜","参","餐","残","蚕","惭","惨","灿","仓","苍","舱","藏","操","槽","草","册", +"侧","厕","测","策","层","叉","插","查","茶","察","岔","差","拆","柴","馋","缠","产","铲","颤","昌","长","肠","尝","偿","常","厂","场","敞","畅","倡","唱","抄","钞","超","朝","潮","吵","炒","车","扯","彻", +"撤","尘","臣","沉","辰","陈","晨","闯","衬","称","趁","撑","成","呈","承","诚","城","乘","惩","程","秤","吃","驰","迟","持","池","匙","尺","齿","耻","斥","赤","翅","充","冲","虫","崇","抽","仇","绸","愁", +"稠","筹","酬","丑","臭","出","初","除","厨","锄","础","储","楚","处","触","畜","川","穿","传","船","喘","串","疮","窗","床","创","吹","炊","垂","锤","春","纯","唇","蠢","词","慈","辞","磁","此","次","刺", +"从","匆","葱","聪","丛","凑","粗","促","醋","窜","催","摧","脆","翠","村","存","寸","错","曾","搭","达","答","打","大","呆","代","带","待","怠","贷","袋","逮","戴","丹","单","担","耽","胆","旦","但","诞", +"弹","淡","蛋","当","挡","党","荡","档","刀","叨","导","岛","倒","蹈","到","悼","盗","道","稻","得","德","的","灯","登","等","凳","低","堤","滴","敌","笛","底","抵","地","弟","帝","递","第","颠","典","点", +"电","店","垫","殿","叼","雕","吊","钓","调","掉","爹","跌","叠","蝶","丁","叮","盯","钉","顶","订","定","丢","东","冬","董","懂","动","冻","栋","洞","都","斗","抖","陡","豆","逗","督","毒","读","独","堵", +"赌","杜","肚","度","渡","端","短","段","断","缎","锻","堆","队","对","吨","蹲","盾","顿","多","夺","朵","躲","惰","鹅","蛾","额","恶","饿","恩","儿","而","耳","二","发","乏","伐","罚","阀","法","帆","番", +"翻","凡","烦","繁","反","返","犯","泛","饭","范","贩","方","坊","芳","防","妨","房","仿","访","纺","放","飞","非","肥","匪","废","沸","肺","费","分","吩","纷","芬","坟","粉","份","奋","愤","粪","丰","风", +"封","疯","峰","锋","蜂","逢","缝","讽","凤","奉","佛","否","夫","肤","伏","扶","服","俘","浮","符","幅","福","抚","府","斧","俯","辅","腐","父","付","妇","负","附","咐","复","赴","副","傅","富","腹","覆", +"该","改","盖","溉","概","干","甘","杆","肝","竿","秆","赶","敢","感","冈","刚","岗","纲","缸","钢","港","杠","高","膏","糕","搞","稿","告","哥","胳","鸽","割","搁","歌","阁","革","格","葛","隔","个","各", +"给","根","跟","更","耕","工","弓","公","功","攻","供","宫","恭","躬","巩","共","贡","勾","沟","钩","狗","构","购","够","估","姑","孤","辜","古","谷","股","骨","鼓","固","故","顾","瓜","刮","挂","乖","拐", +"怪","关","观","官","冠","馆","管","贯","惯","灌","罐","光","广","归","龟","规","轨","鬼","柜","贵","桂","跪","滚","棍","锅","国","果","裹","过","哈","孩","海","害","含","寒","喊","汉","汗","旱","航","毫", +"豪","好","号","浩","耗","喝","禾","合","何","和","河","核","荷","盒","贺","黑","痕","很","狠","恨","恒","横","衡","轰","哄","烘","红","宏","洪","虹","喉","猴","吼","后","厚","候","乎","呼","忽","狐","胡", +"壶","湖","糊","蝴","虎","互","户","护","花","华","哗","滑","猾","化","划","画","话","怀","槐","坏","欢","还","环","缓","幻","唤","换","患","荒","慌","皇","黄","煌","晃","谎","灰","恢","挥","辉","回","悔", +"汇","会","绘","贿","惠","毁","慧","昏","婚","浑","魂","混","活","火","伙","或","货","获","祸","惑","击","饥","圾","机","肌","鸡","迹","积","基","绩","激","及","吉","级","即","极","急","疾","集","籍","几", +"己","挤","脊","计","记","纪","忌","技","际","剂","季","既","济","继","寄","加","夹","佳","家","嘉","甲","价","驾","架","假","嫁","稼","奸","尖","坚","歼","间","肩","艰","兼","监","煎","拣","俭","茧","捡", +"减","剪","检","简","见","件","建","剑","荐","贱","健","舰","渐","践","鉴","键","箭","江","姜","将","浆","僵","疆","讲","奖","桨","匠","降","酱","交","郊","娇","浇","骄","胶","椒","焦","蕉","角","狡","绞", +"饺","脚","搅","缴","叫","轿","较","教","阶","觉","掘","嚼","军","君","均","菌","俊","卡","开","皆","接","揭","街","节","劫","杰","洁","结","捷","截","竭","姐","解","介","戒","届","界","借","巾","今","斤", +"金","津","筋","仅","紧","谨","锦","尽","劲","近","进","晋","浸","禁","京","经","茎","惊","晶","睛","精","井","颈","景","警","净","径","竞","竟","敬","境","静","镜","纠","究","揪","九","久","酒","旧","救", +"就","舅","居","拘","鞠","局","菊","橘","举","矩","句","巨","拒","具","俱","剧","惧","据","距","锯","聚","捐","卷","倦","绢","决","绝","凯","慨","刊","堪","砍","看","康","糠","扛","抗","炕","考","烤","靠", +"科","棵","颗","壳","咳","可","渴","克","刻","客","课","肯","垦","恳","坑","空","孔","恐","控","口","扣","寇","枯","哭","苦","库","裤","酷","夸","垮","挎","跨","块","快","宽","款","筐","狂","况","旷","矿", +"框","亏","葵","愧","昆","捆","困","扩","括","阔","垃","拉","啦","喇","腊","蜡","辣","来","赖","兰","拦","栏","蓝","篮","览","懒","烂","滥","郎","狼","廊","朗","浪","捞","劳","牢","老","姥","涝","乐","勒", +"雷","垒","泪","类","累","冷","厘","梨","狸","离","犁","鹂","璃","黎","礼","李","里","理","力","历","厉","立","丽","利","励","例","隶","栗","粒","俩","连","帘","怜","莲","联","廉","镰","脸","练","炼","恋", +"链","良","凉","梁","粮","粱","两","亮","谅","辆","量","辽","疗","僚","了","料","列","劣","烈","猎","裂","邻","林","临","淋","伶","灵","岭","铃","陵","零","龄","领","令","另","溜","刘","流","留","榴","柳", +"六","龙","笼","聋","隆","垄","拢","楼","搂","漏","露","芦","炉","虏","鲁","陆","录","鹿","滤","碌","路","驴","轮","论","罗","萝","锣","箩","骡","螺","络","骆","落","妈","麻","马","码","蚂","骂","吗","埋", +"买","旅","屡","律","虑","率","绿","卵","乱","掠","略","迈","麦","卖","脉","蛮","馒","瞒","满","慢","漫","忙","芒","盲","茫","猫","毛","矛","茅","茂","冒","贸","帽","貌","么","没","眉","梅","煤","霉","每", +"美","妹","门","闷","们","萌","盟","猛","蒙","孟","梦","迷","谜","米","眯","秘","密","蜜","眠","绵","棉","免","勉","面","苗","描","秒","妙","庙","灭","蔑","民","敏","名","明","鸣","命","摸","模","膜","摩", +"磨","魔","抹","末","沫","莫","漠","墨","默","谋","某","母","亩","木","目","牧","墓","幕","慕","暮","拿","哪","内","那","纳","乃","奶","耐","男","南","难","囊","挠","恼","脑","闹","呢","嫩","能","尼","泥", +"你","逆","年","念","娘","酿","鸟","尿","捏","您","宁","凝","牛","扭","纽","农","浓","弄","奴","努","怒","女","暖","挪","欧","偶","辟","趴","爬","怕","拍","牌","派","攀","盘","判","叛","盼","乓","旁","胖", +"抛","炮","袍","跑","泡","陪","培","赔","佩","配","喷","盆","朋","棚","蓬","膨","捧","碰","批","披","劈","皮","疲","脾","匹","僻","片","偏","篇","骗","漂","飘","票","撇","拼","贫","品","乒","平","评","凭", +"苹","瓶","萍","坡","泼","婆","迫","破","魄","剖","仆","扑","铺","葡","朴","普","谱","七","妻","戚","期","欺","漆","齐","其","奇","骑","棋","旗","乞","企","岂","启","起","气","弃","汽","砌","器","恰","洽", +"千","迁","牵","铅","谦","签","前","钱","钳","潜","浅","遣","欠","歉","枪","腔","强","墙","抢","悄","敲","锹","乔","侨","桥","瞧","巧","切","茄","且","窃","亲","侵","芹","琴","禽","勤","青","轻","倾","清", +"蜻","情","晴","顷","请","庆","穷","丘","秋","求","球","区","曲","驱","屈","趋","渠","取","去","趣","圈","全","权","泉","拳","犬","劝","券","缺","却","雀","确","鹊","裙","群","然","燃","染","嚷","壤","让", +"饶","扰","绕","惹","热","人","仁","忍","刃","认","任","扔","仍","日","绒","荣","容","熔","融","柔","揉","肉","如","乳","辱","入","软","锐","瑞","润","若","弱","撒","洒","塞","赛","三","伞","散","桑","嗓", +"丧","扫","嫂","色","森","杀","沙","纱","傻","筛","晒","山","删","衫","闪","陕","扇","善","伤","商","裳","晌","赏","上","尚","捎","梢","烧","稍","勺","少","绍","哨","舌","蛇","舍","设","社","射","涉","摄", +"申","伸","身","深","神","沈","审","婶","肾","甚","渗","慎","升","生","声","牲","胜","绳","省","圣","盛","剩","尸","失","师","诗","施","狮","湿","十","什","石","时","识","实","拾","蚀","食","史","使","始", +"驶","士","氏","世","市","示","式","事","侍","势","视","试","饰","室","是","柿","适","逝","释","誓","收","手","守","首","寿","受","兽","售","授","瘦","书","叔","殊","梳","疏","舒","输","蔬","熟","暑","鼠", +"属","薯","术","束","述","树","竖","数","刷","耍","衰","摔","甩","帅","拴","双","霜","爽","谁","水","税","睡","顺","说","嗽","丝","司","私","思","斯","撕","死","四","寺","似","饲","肆","松","宋","诵","送", +"颂","搜","艘","苏","俗","诉","肃","素","速","宿","塑","酸","蒜","算","虽","随","岁","碎","穗","孙","损","笋","缩","所","索","锁","她","他","它","塌","塔","踏","台","抬","太","态","泰","贪","摊","滩","坛", +"谈","痰","坦","毯","叹","炭","探","汤","唐","堂","塘","膛","糖","倘","躺","烫","趟","涛","掏","滔","逃","桃","陶","淘","萄","讨","套","特","疼","腾","梯","踢","提","题","蹄","体","剃","惕","替","天","添", +"田","甜","填","挑","条","跳","贴","铁","帖","厅","听","亭","庭","停","挺","艇","通","同","桐","铜","童","统","桶","筒","痛","偷","头","投","透","秃","突","图","徒","涂","途","屠","土","吐","兔","团","推", +"腿","退","吞","屯","托","拖","脱","驼","妥","娃","挖","蛙","瓦","袜","歪","外","弯","湾","丸","完","玩","顽","挽","晚","碗","万","汪","亡","王","网","往","妄","忘","旺","望","危","威","微","为","围","违", +"唯","维","伟","伪","尾","委","卫","未","位","味","畏","胃","喂","慰","温","文","纹","闻","蚊","稳","问","翁","窝","我","沃","卧","握","乌","污","呜","屋","无","吴","五","午","伍","武","侮","舞","勿","务", +"物","误","悟","雾","夕","西","吸","希","析","息","牺","悉","惜","稀","溪","锡","熄","膝","习","席","袭","洗","喜","戏","系","细","隙","虾","瞎","峡","狭","霞","下","吓","夏","厦","仙","先","纤","掀","鲜", +"闲","弦","贤","咸","衔","嫌","显","险","县","现","线","限","宪","陷","馅","羡","献","乡","相","香","箱","详","祥","享","响","想","向","巷","项","象","像","橡","些","歇","协","邪","胁","斜","携","鞋","写", +"泄","泻","卸","屑","械","谢","心","辛","欣","新","薪","信","兴","星","腥","刑","行","形","型","醒","杏","姓","幸","性","凶","兄","胸","雄","熊","休","修","羞","朽","秀","绣","袖","锈","须","虚","需","徐", +"许","序","叙","绪","续","絮","蓄","宣","悬","旋","选","穴","学","雪","血","寻","巡","旬","询","循","削","宵","消","销","小","晓","孝","效","校","笑","训","讯","迅","压","呀","押","鸦","鸭","牙","芽","崖", +"哑","雅","亚","咽","烟","淹","延","严","言","岩","沿","炎","研","盐","蜒","颜","掩","眼","演","厌","宴","艳","验","焰","雁","燕","央","殃","秧","扬","羊","阳","杨","洋","仰","养","氧","痒","样","妖","腰", +"邀","窑","谣","摇","遥","咬","药","要","钥","悦","阅","跃","越","云","匀","允","孕","运","耀","爷","也","冶","野","业","叶","页","夜","液","一","衣","医","依","仪","宜","姨","移","遗","疑","乙","已","以", +"蚁","倚","椅","义","亿","忆","艺","议","亦","异","役","译","易","疫","益","谊","意","毅","翼","因","阴","姻","音","银","引","饮","隐","印","应","英","樱","鹰","迎","盈","营","蝇","赢","影","映","硬","佣", +"拥","庸","永","咏","泳","勇","涌","用","优","忧","悠","尤","由","犹","邮","油","游","友","有","又","右","幼","诱","于","予","余","鱼","娱","渔","愉","愚","榆","与","宇","屿","羽","雨","语","玉","育","郁", +"狱","浴","预","域","欲","御","裕","遇","愈","誉","冤","元","员","园","原","圆","援","缘","源","远","怨","院","愿","约","月","晕","韵","杂","灾","栽","宰","载","再","在","咱","暂","赞","脏","葬","遭","糟", +"早","枣","澡","灶","皂","造","燥","躁","则","择","泽","责","贼","怎","增","赠","渣","扎","轧","闸","眨","炸","榨","摘","宅","窄","债","寨","沾","粘","斩","展","盏","崭","占","战","站","张","章","涨","掌", +"丈","仗","帐","胀","障","招","找","召","兆","赵","照","罩","遮","爪","专","砖","转","赚","庄","装","壮","状","撞","折","哲","者","这","浙","贞","针","侦","珍","真","诊","枕","阵","振","镇","震","争","征", +"挣","睁","筝","蒸","整","正","证","郑","政","症","之","支","汁","芝","枝","知","织","肢","脂","蜘","执","侄","直","值","职","植","殖","止","只","旨","址","纸","指","至","志","制","帜","治","质","秩","致", +"智","置","中","忠","终","钟","肿","种","众","重","州","舟","周","洲","粥","宙","昼","皱","骤","朱","株","珠","诸","猪","蛛","竹","烛","逐","主","煮","嘱","住","助","注","驻","柱","祝","著","筑","铸","抓", +"追","准","捉","桌","浊","啄","着","仔","姿","资","滋","子","紫","字","自","宗","棕","踪","总","纵","走","奏","租","足","族","阻","组","祖","钻","嘴","最","罪","醉","尊","遵","昨","左","作","坐","座","阿", +"啊","哀","唉","挨","矮","爱","碍","安","岸","按","案","暗","昂","袄","傲","奥","八","巴","扒","吧","疤","拔","把","坝","爸","罢","霸","白","百","柏","摆","败","拜","班","般","斑","搬","板","版","办","半", +"伴","扮","拌","瓣","帮","绑","榜","膀","傍","棒","包","胞","雹","宝","饱","保","堡","报","抱","暴","爆","杯","悲","碑","北","贝","备","背","倍","被","辈","奔","本","笨","蹦","逼","鼻","比","彼","笔","鄙", +"币","必","毕","闭","毙","弊","碧","蔽","壁","避","臂","边","编","鞭","扁","便","变","遍","辨","辩","辫","标","表","别","宾","滨","冰","兵","丙","柄","饼","并","病","拨","波","玻","剥","脖","菠","播","伯", +"驳","泊","博","搏","膊","薄","卜","补","捕","不","布","步","怖","部","擦","猜","才","材","财","裁","采","彩","睬","踩","菜","参","餐","残","蚕","惭","惨","灿","仓","苍","舱","藏","操","槽","草","册","侧", +"厕","测","策","层","叉","插","查","茶","察","岔","差","拆","柴","馋","缠","产","铲","颤","昌","长","肠","尝","偿","常","厂","场","敞","畅","倡","唱","抄","钞","超","朝","潮","吵","炒","车","扯","彻","撤", +"尘","臣","沉","辰","陈","晨","闯","衬","称","趁","撑","成","呈","承","诚","城","乘","惩","程","秤","吃","驰","迟","持","虫","崇","抽","仇","绸","愁","稠","筹","酬","丑","臭","出","初","除","厨","锄","础", +"储","楚","处","触","畜","川","穿","传","船","喘","串","疮","窗","床","创","吹","炊","垂","锤","春","纯","唇","蠢","词","慈","辞","磁","此","次","刺","从","匆","葱","聪","丛","凑","粗","促","醋","窜","催", +"摧","脆","翠","村","存","寸","错","曾","搭","达","答","打","大","呆","代","带","待","怠","贷","袋","逮","戴","丹","单","担","耽","胆","旦","但","诞","弹","淡","蛋","当","挡","党","荡","档","刀","叨","导", +"岛","倒","蹈","到","悼","盗","道","稻","得","德","的","灯","登","等","凳","低","堤","滴","敌","笛","底","抵","地","弟","帝","递","第","颠","典","点","电","店","垫","殿","叼","雕","吊","钓","调","掉","爹", +"跌","叠","蝶","丁","叮","盯","钉","顶","订","定","丢","东","冬","董","懂","动","冻","栋","洞","都","斗","抖","陡","豆","逗","督","毒","读","独","堵","赌","杜","肚","度","渡","端","短","段","断","缎","锻", +"堆","队","对","吨","蹲","盾","顿","多","夺","朵","躲","惰","鹅","蛾","额","恶","饿","恩","儿","而","耳","二","发","乏","伐","罚","阀","法","帆","番","翻","凡","烦","繁","反","返","犯","泛","饭","范","贩", +"方","坊","芳","防","妨","房","仿","访","纺","放","飞","非","肥","匪","废","沸","肺","费","分","吩","纷","芬","坟","粉","份","奋","愤","粪","丰","风","封","疯","峰","锋","蜂","逢","缝","讽","凤","奉","佛", +"否","夫","肤","伏","扶","服","俘","浮","符","幅","福","抚","府","斧","俯","辅","腐","父","付","妇","负","附","咐","复","赴","副","傅","富","腹","覆","该","改","盖","溉","概","干","甘","杆","肝","竿","秆", +"赶","敢","感","冈","刚","岗","纲","缸","钢","港","杠","高","膏","糕","搞","稿","告","哥","胳","鸽","割","搁","歌","阁","革","格","葛","隔","个","各","给","根","跟","更","耕","工","弓","公","功","攻","供", +"宫","恭","躬","巩","共","贡","勾","沟","钩","狗","构","购","够","估","姑","孤","辜","古","谷","股","骨","鼓","固","故","顾","瓜","刮","挂","乖","拐","怪","关","观","官","冠","馆","管","贯","惯","灌","罐", +"光","广","归","龟","规","轨","鬼","柜","贵","桂","跪","滚","棍","锅","国","果","裹","过","哈","孩","海","害","含","寒","喊","汉","汗","旱","航","毫","豪","好","号","浩","耗","喝","禾","合","何","和","河", +"核","荷","盒","贺","黑","痕","很","狠","恨","恒","横","衡","轰","哄","烘","红","宏","洪","虹","喉","猴","吼","后","厚","候","乎","呼","忽","狐","胡","壶","湖","糊","蝴","虎","互","户","护","花","华","哗", +"滑","猾","化","划","画","话","怀","槐","坏","欢","还","环","缓","幻","唤","换","患","荒","慌","皇","黄","煌","晃","谎","灰","恢","挥","辉","回","悔","汇","会","绘","贿","惠","毁","慧","昏","婚","浑","魂", +"混","活","火","伙","或","货","获","祸","惑","击","饥","圾","机","肌","鸡","迹","积","基","绩","激","及","吉","级","即","极","急","疾","集","籍","几","己","挤","脊","计","记","纪","忌","技","际","剂","季", +"既","济","继","寄","加","夹","佳","家","嘉","甲","价","驾","架","假","嫁","稼","奸","尖","坚","歼","间","肩","艰","兼","监","煎","拣","俭","茧","捡","减","剪","检","简","见","件","建","剑","荐","贱","健", +"舰","渐","践","鉴","键","箭","江","姜","将","浆","僵","疆","讲","奖","桨","匠","降","酱","交","郊","娇","浇","骄","胶","椒","焦","蕉","角","狡","绞","饺","脚","搅","缴","叫","轿","较","教","阶","皆","接", +"揭","街","节","劫","杰","洁","结","捷","截","竭","姐","解","介","戒","届","界","借","巾","今","斤","金","津","筋","仅","紧","谨","锦","尽","劲","近","进","晋","浸","禁","京","经","茎","惊","晶","睛","精", +"井","颈","景","警","净","径","竞","竟","敬","境","静","镜","纠","究","揪","九","久","酒","旧","救","就","舅","居","拘","鞠","局","菊","橘","举","矩","句","巨","拒","具","俱","剧","惧","据","距","锯","聚", +"捐","卷","倦","绢","决","绝","觉","掘","嚼","军","君","均","菌","俊","卡","开","凯","慨","刊","堪","砍","看","康","糠","扛","抗","炕","考","烤","靠","科","棵","颗","壳","咳","可","渴","克","刻","客","课", +"肯","垦","恳","坑","空","孔","恐","控","口","扣","寇","枯","哭","苦","库","裤","酷","夸","垮","挎","跨","块","快","宽","款","筐","狂","况","旷","矿","框","亏","葵","愧","昆","捆","困","扩","括","阔","垃", +"拉","啦","喇","腊","蜡","辣","来","赖","兰","拦","栏","蓝","篮","览","懒","烂","滥","郎","狼","廊","朗","浪","捞","劳","牢","老","姥","涝","乐","勒","雷","垒","泪","类","僚","了","料","列","劣","烈","猎", +"裂","邻","林","累","冷","厘","梨","狸","离","犁","鹂","璃","黎","礼","李","里","理","力","历","厉","立","丽","利","励","例","隶","栗","粒","俩","连","帘","怜","莲","联","廉","镰","脸","练","炼","恋","链", +"良","凉","梁","粮","粱","两","亮","谅","辆","量","辽","疗","临","淋","伶","灵","岭","铃","陵","零","龄","领","令","另","溜","刘","流","留","榴","柳","六","龙","笼","聋","隆","垄","拢","楼","搂","漏","露", +"芦","炉","虏","鲁","陆","录","鹿","滤","碌","路","驴","轮","论","罗","萝","锣","箩","骡","螺","络","骆","旅","屡","律","虑","率","绿","卵","乱","掠","略","落","妈","麻","马","码","蚂","骂","吗","埋","买", +"迈","麦","卖","脉","蛮","馒","瞒","满","慢","漫","忙","芒","盲","茫","猫","毛","矛","茅","茂","冒","贸","帽","貌","么","没","眉","梅","煤","霉","每","美","妹","门","闷","们","萌","盟","猛","蒙","孟","梦", +"迷","谜","米","眯","秘","密","蜜","眠","绵","棉","免","勉","面","苗","描","秒","妙","庙","灭","蔑","民","敏","名","明","鸣","命","摸","模","膜","摩","磨","魔","抹","末","沫","莫","漠","墨","默","谋","某", +"母","亩","木","目","牧","墓","幕","慕","暮","拿","哪","内","那","纳","乃","奶","耐","男","南","难","囊","挠","恼","脑","闹","呢","嫩","能","尼","泥","你","逆","年","念","娘","酿","鸟","尿","捏","您","宁", +"凝","牛","扭","纽","农","浓","弄","奴","努","怒","女","暖","挪","欧","偶","辟","趴","爬","怕","拍","牌","派","攀","盘","判","叛","盼","乓","旁","胖","抛","炮","袍","跑","泡","陪","培","赔","佩","配","喷", +"盆","朋","棚","蓬","膨","捧","碰","批","披","劈","皮","疲","脾","匹","僻","片","偏","篇","骗","漂","飘","票","撇","拼","贫","品","乒","平","评","凭","苹","瓶","萍","坡","泼","婆","迫","破","魄","剖","仆", +"扑","铺","葡","朴","普","谱","七","妻","戚","期","欺","漆","齐","其","奇","骑","棋","旗","乞","企","岂","启","起","气","弃","汽","砌","器","恰","洽","千","迁","牵","铅","谦","签","前","钱","钳","潜","浅", +"遣","欠","歉","枪","腔","强","墙","抢","悄","敲","锹","乔","侨","桥","瞧","巧","切","茄","且","窃","亲","侵","芹","琴","禽","勤","青","轻","倾","清","蜻","情","晴","顷","请","庆","穷","丘","秋","求","球", +"区","曲","驱","屈","趋","渠","取","去","趣","圈","全","权","泉","拳","犬","劝","券","缺","却","雀","确","鹊","裙","群","然","燃","染","嚷","壤","让","饶","扰","绕","惹","热","人","仁","忍","刃","认","任", +"扔","仍","日","绒","荣","容","熔","融","柔","揉","肉","如","乳","辱","入","软","锐","瑞","润","若","弱","撒","洒","塞","赛","三","伞","散","桑","嗓","丧","扫","嫂","色","森","杀","沙","纱","傻","筛","晒", +"山","删","衫","闪","陕","扇","善","伤","商","裳","晌","赏","上","尚","捎","梢","烧","稍","勺","少","绍","哨","舌","蛇","舍","设","社","射","涉","摄","申","伸","身","深","神","沈","审","婶","肾","甚","渗", +"慎","升","生","声","牲","胜","绳","省","圣","盛","剩","尸","失","师","诗","施","狮","湿","十","什","石","时","识","实","拾","蚀","食","史","使","始","驶","士","氏","世","市","示","式","事","侍","势","视", +"试","饰","室","是","柿","适","逝","释","誓","池","匙","尺","齿","耻","斥","赤","翅","充","冲","收","手","守","首","寿","受","兽","售","授","瘦","书","叔","殊","梳","疏","舒","输","蔬","熟","暑","鼠","属", +"薯","术","束","述","树","竖","数","刷","耍","衰","摔","甩","帅","拴","双","霜","爽","谁","水","税","睡","顺","说","嗽","丝","司","私","思","斯","撕","死","四","寺","似","饲","肆","松","宋","诵","送","颂", +"搜","艘","苏","俗","诉","肃","素","穗","孙","损","笋","缩","所","索","锁","她","他","它","塌","塔","踏","台","抬","太","态","泰","贪","摊","滩","坛","谈","痰","坦","毯","叹","炭","探","汤","唐","堂","塘", +"膛","糖","倘","躺","烫","趟","涛","掏","滔","逃","桃","陶","淘","萄","讨","套","特","疼","腾","梯","踢","提","题","蹄","体","剃","惕","替","天","添","田","甜","填","挑","条","跳","贴","铁","帖","厅","听", +"亭","庭","停","挺","艇","通","同","桐","铜","童","统","桶","筒","痛","偷","头","投","透","秃","突","图","徒","涂","途","屠","土","吐","兔","团","推","腿","退","吞","屯","托","拖","脱","驼","妥","娃","挖", +"蛙","瓦","袜","歪","外","弯","湾","丸","完","玩","顽","挽","晚","碗","万","汪","亡","王","网","往","妄","忘","旺","望","危","威","微","为","围","违","唯","维","伟","伪","尾","委","卫","未","位","味","畏", +"胃","喂","慰","温","文","纹","闻","蚊","稳","问","翁","窝","我","沃","卧","握","乌","污","呜","屋","无","吴","五","午","伍","武","侮","舞","勿","务","物","误","悟","雾","夕","西","吸","希","析","息","牺", +"悉","惜","稀","溪","锡","熄","膝","习","席","袭","洗","喜","戏","系","细","隙","虾","瞎","峡","狭","霞","下","吓","夏","厦","仙","先","纤","掀","鲜","闲","弦","贤","咸","衔","嫌","显","险","县","现","线", +"限","宪","陷","馅","羡","献","乡","相","香","箱","详","祥","享","响","想","向","巷","项","象","像","橡","削","宵","消","销","小","晓","孝","效","校","笑","些","歇","协","邪","胁","斜","携","鞋","写","泄", +"泻","卸","屑","械","谢","心","辛","欣","新","薪","信","兴","星","腥","刑","行","形","型","醒","杏","姓","幸","性","凶","兄","胸","雄","熊","休","修","羞","朽","秀","绣","袖","锈","须","虚","需","徐","速", +"宿","塑","酸","蒜","算","虽","随","岁","碎","许","序","叙","绪","续","絮","蓄","宣","悬","旋","选","穴","学","雪","血","寻","巡","旬","询","循","训","讯","迅","压","呀","押","鸦","鸭","牙","芽","崖","哑", +"雅","亚","咽","烟","淹","延","严","言","岩","沿","炎","研","盐","蜒","颜","掩","眼","演","厌","宴","艳","验","焰","雁","燕","央","殃","秧","扬","羊","阳","杨","洋","仰","养","氧","痒","样","妖","腰","邀", +"窑","谣","摇","遥","咬","药","要","耀","爷","也","冶","野","业","叶","页","夜","液","一","衣","医","依","仪","宜","姨","移","遗","疑","乙","已","以","蚁","倚","椅","义","亿","忆","艺","议","亦","异","役", +"译","易","疫","益","谊","意","毅","翼","因","阴","姻","音","银","引","饮","隐","印","应","英","樱","鹰","迎","盈","营","蝇","赢","影","映","硬","佣","拥","庸","永","咏","泳","勇","涌","用","优","忧","悠", +"尤","由","犹","邮","油","游","友","有","又","右","幼","诱","于","予","余","鱼","娱","渔","愉","愚","榆","与","宇","屿","羽","雨","语","玉","育","郁","狱","浴","预","域","欲","御","裕","遇","愈","誉","冤", +"元","员","园","原","圆","援","缘","源","远","怨","院","愿","约","月","钥","悦","阅","跃","越","云","匀","允","孕","运","晕","韵","杂","灾","栽","宰","载","再","在","咱","暂","赞","脏","葬","遭","糟","早", +"枣","澡","灶","皂","造","燥","躁","则","择","泽","责","贼","怎","增","赠","渣","扎","轧","闸","眨","炸","榨","摘","宅","窄","债","寨","沾","粘","斩","展","盏","崭","占","战","站","张","章","涨","掌","丈", +"仗","帐","胀","障","招","找","召","兆","赵","照","罩","遮","折","哲","者","这","浙","贞","针","侦","珍","真","诊","枕","阵","振","镇","震","争","征","挣","睁","筝","蒸","整","正","证","郑","政","症","之", +"支","汁","芝","枝","知","织","肢","脂","蜘","执","侄","直","值","职","植","殖","止","只","旨","址","纸","指","至","志","制","帜","治","质","秩","致","智","置","中","忠","终","钟","肿","种","众","重","州", +"舟","周","洲","粥","宙","昼","皱","骤","朱","株","珠","诸","猪","蛛","竹","烛","逐","主","煮","嘱","住","助","注","驻","柱","祝","著","筑","铸","抓","爪","专","砖","转","赚","庄","装","壮","状","撞","追", +"准","捉","桌","浊","啄","着","仔","姿","资","滋","子","紫","字","自","宗","棕","踪","总","纵","走","奏","租","足","族","阻","组","祖","钻","嘴","最","罪","醉","尊","遵","昨","左","作","坐","座"}; int PET_DEBUG_initPetOne( int charaindex) { Char ch; int havepetindex; int index; - /* ʸë ¾Ʃ */ + /* 矢永玄毛 化月井譬屯月 */ havepetindex = CHAR_getCharPetElement( charaindex) ; memset( &ch, 0, sizeof( ch)); if( !CHAR_getDefaultChar( &ch,31010 ) )return -1; - /* į */ + /* 飓 寞 */ ch.data[CHAR_BASEBASEIMAGENUMBER] = ch.data[CHAR_BASEIMAGENUMBER] = 30008; ch.data[CHAR_WHICHTYPE] = CHAR_TYPEPET; - /* */ + /* 猾 */ ch.workint[CHAR_WORKATTACKPOWER] = 100; - /* */ + /* 潮 */ ch.workint[CHAR_WORKDEFENCEPOWER] = 50; /* HP */ ch.data[CHAR_HP] = 100; - /* */ - strcpysafe( ch.string[CHAR_NAME].string, 32, "" ); + /* 蟆 */ + strcpysafe( ch.string[CHAR_NAME].string, 32, "宠物1" ); - /* CHARԻ񲻯 */ + /* CHAR卞喃曰癫化月 */ index = PET_initCharOneArray( &ch); if( index < 0 ) return -1; - /* DZб */ + /* 仍潜谛本永玄 */ CHAR_setWorkInt( index, CHAR_WORKPLAYERINDEX, charaindex); CHAR_setWorkInt( index,CHAR_WORKOBJINDEX,-1); CHAR_setCharPet( charaindex, havepetindex, index); @@ -201,24 +201,24 @@ static int _PET_dropPet( int charaindex, int havepetindex, int tofl, int tox, in if( !CHAR_CHECKINDEX( charaindex ) )return FALSE; if( CHAR_CHECKINDEX( petindex) == FALSE ) return FALSE; -#ifdef _AVID_TRADETRYBUG // +#ifdef _AVID_TRADETRYBUG //丢出宠物 if( CHAR_getWorkInt( charaindex, CHAR_WORKTRADEMODE) == CHAR_TRADE_TRADING ){ - CHAR_talkToCli( charaindex, -1, "״̬޷", CHAR_COLORYELLOW ); + CHAR_talkToCli( charaindex, -1, "交易状态中无法丢出宠物。", CHAR_COLORYELLOW ); return FALSE; } #endif // CoolFish: Family 2001/6/13 if (CHAR_getInt(petindex, CHAR_PETFAMILY) == 1){ - CHAR_talkToCli(charaindex, -1, "ػ޷", CHAR_COLORYELLOW); + CHAR_talkToCli(charaindex, -1, "家族守护兽无法丢出!", CHAR_COLORYELLOW); return FALSE; } if (CHAR_getInt(charaindex, CHAR_RIDEPET) == havepetindex ){ - CHAR_talkToCli(charaindex, -1, "еij޷", CHAR_COLORYELLOW); + CHAR_talkToCli(charaindex, -1, "骑乘中的宠物无法丢出!", CHAR_COLORYELLOW); return FALSE; } if( strlen(CHAR_getChar(petindex,CHAR_USERPETNAME))>0 && strstr(CHAR_getChar(petindex,CHAR_USERPETNAME),"*")!=NULL ){ - CHAR_talkToCli(charaindex, -1, "Զк(*)޷ꡢס̯޸ĺ", CHAR_COLORYELLOW); + CHAR_talkToCli(charaindex, -1, "宠物自定义名称中含有(*),无法丢弃、卖店、交易、摆摊,请修改后操作。", CHAR_COLORYELLOW); return FALSE; } @@ -244,7 +244,7 @@ static int _PET_dropPet( int charaindex, int havepetindex, int tofl, int tox, in } } if( count_item > 80 || count_chara > 80 ) { - CHAR_talkToCli( charaindex, -1, "Ѿ̫ӵˣٶˡ", CHAR_COLORYELLOW ); + CHAR_talkToCli( charaindex, -1, "这里已经太拥挤了,不能再丢了。", CHAR_COLORYELLOW ); return FALSE; } } @@ -309,16 +309,16 @@ static int _PET_dropPet( int charaindex, int havepetindex, int tofl, int tox, in /*------------------------------------------------------------ - * ʸë - * ¦ - * itemindex int ʧ ة̼͵ - * floor int ׷ʧID - * x int x - * y int y - * net BOOL ͼë¾ - * ߯Ի - * objindex - * -1 + * 泫 矢永玄毛 仁 + * 娄醒 + * itemindex int 失奶 丞奶件犯永弁旦 + * floor int 白夫失ID + * x int x甄 + * y int y甄 + * net BOOL 生永玄伐□弁及仇午毛允月井升丹井 + * 忒曰袄 + * 岳 objindex + * 撩 -1 ------------------------------------------------------------*/ int PET_dropPetAbsolute( int petindex, int floor, int x, int y,BOOL net) { @@ -333,10 +333,10 @@ int PET_dropPetAbsolute( int petindex, int floor, int x, int y,BOOL net) object.y = y; object.floor = floor; - /* Ƥ */ + /* 左皮斥尼弁玄瓒 允月 */ objindex = initObjectOne( &object ); - /* Ͱ׷º뻥Ȼ巴 by ringo*/ + /* 生永玄伐□弁白仿弘互凶匀化中月午五反允月 by ringo*/ if( net ) CHAR_sendWatchEvent( objindex,CHAR_ACTSTAND,NULL,0,TRUE); @@ -383,7 +383,7 @@ int PET_dropPet( int charaindex, int havepetindex) // PET_NOT_Drop == EVOLUTION_getPetENABLETRADE( CHAR_getInt( petindex, CHAR_PETID)) ){ if( (PET_NOT_DROP) & EVOLUTION_getPetENABLETRADE( CHAR_getInt( petindex, CHAR_PETID))){ char buf[256]; - sprintf( buf, "%s޷!~",CHAR_getChar( petindex, CHAR_NAME) ); + sprintf( buf, "%s无法丢弃!~",CHAR_getChar( petindex, CHAR_NAME) ); CHAR_talkToCli(charaindex,-1,buf,CHAR_COLORRED); return FALSE; } @@ -394,15 +394,15 @@ int PET_dropPet( int charaindex, int havepetindex) skillid=CHAR_getPetSkill(petindex,i); skillarray = PETSKILL_getPetskillArray( skillid); if( PETSKILL_CHECKINDEX( skillarray) == FALSE ) continue; - if(strstr(PETSKILL_getChar( skillarray, PETSKILL_NAME),"")){ - CHAR_talkToCli(charaindex, -1, "˳Ϊ󶨳޷", CHAR_COLORRED); + if(strstr(PETSKILL_getChar( skillarray, PETSKILL_NAME),"★")){ + CHAR_talkToCli(charaindex, -1, "此宠物为绑定宠物,无法丢弃", CHAR_COLORRED); return; } } #endif #ifdef _PET_BINDING if(strstr(CHAR_getChar(petindex,CHAR_NAME),"*") || strstr(CHAR_getChar(petindex,CHAR_NAME),"+")){ - CHAR_talkToCli(charaindex, -1, "˳Ϊ󶨳޷", CHAR_COLORRED); + CHAR_talkToCli(charaindex, -1, "此宠物为绑定宠物,无法丢弃", CHAR_COLORRED); return; } #endif @@ -436,7 +436,7 @@ int PET_dropPet( int charaindex, int havepetindex) randtime = atoi(tempbuff); if(timep - randtime < getEditBaseTime()*randwrong){ char errbuf[256]; - sprintf(errbuf,"%dſԼ˲",getEditBaseTime()*randwrong-(timep - randtime)); + sprintf(errbuf,"您还有%d秒才可以继续此操作!",getEditBaseTime()*randwrong-(timep - randtime)); CHAR_talkToCli(charaindex, -1, errbuf, CHAR_COLORRED); return 0; } @@ -446,17 +446,17 @@ int PET_dropPet( int charaindex, int havepetindex) // CHAR_setWorkInt(charaindex,CHAR_WORKRANDEDITBASETIME,timep); // else{ // char errbuf[256]; -// sprintf(errbuf,"%dſԼ˲",getEditBaseTime()-(timep-CHAR_getWorkInt(charaindex,CHAR_WORKRANDEDITBASETIME))); +// sprintf(errbuf,"您还有%d秒才可以继续此操作!",getEditBaseTime()-(timep-CHAR_getWorkInt(charaindex,CHAR_WORKRANDEDITBASETIME))); // CHAR_talkToCli(charaindex, -1, errbuf, CHAR_COLORRED); // return; // } int fd = getfdFromCharaIndex( charaindex); char arg[255]; char buf[128]; - char jiabuf[][5]={"","","","","","ʮ",""}; - char jianbuf[][5]={"","һ","-","","-","",""}; - char chengbuf[][5]={"","*","x","X","","",""}; - char numbuf[][5]={"","","","","","","","","",""}; + char jiabuf[][5]={"加","╋","╉","╈","╂","十","╃"}; + char jianbuf[][5]={"减","一","-","—","-","—","━"}; + char chengbuf[][5]={"乘","*","x","X","X","x","*"}; + char numbuf[][5]={"0","1","2","3","4","5","6","7","8","9"}; int i,j,k,l,m; i = RAND(30,70); j = RAND(1,29); @@ -505,7 +505,7 @@ int PET_dropPet( int charaindex, int havepetindex) } sprintf(arg,"%d|%d",havepetindex,k); CHAR_setWorkChar(charaindex, CHAR_WORKDROPMM, arg); - sprintf(buf,"ʽĽ(%s%s%s=?)",ibuf,typebuf,jbuf); + sprintf(buf,"请输入这个算术公式的结果(%s%s%s=?):",ibuf,typebuf,jbuf); lssproto_WN_send( fd, WINDOW_MESSAGETYPE_MESSAGEANDLINEINPUT, WINDOW_BUTTONTYPE_OK, CHAR_WINDOWTYPE_RAND1_DROPMM, @@ -568,7 +568,7 @@ int PET_dropPet( int charaindex, int havepetindex) } sprintf(arg,"%d|%d",havepetindex,randnum1); CHAR_setWorkChar(charaindex, CHAR_WORKDROPMM, arg); - sprintf(buf,"3\nѡʽĽ(%s%s%s=?)\n \n \nѡһ%s\nѡ%s\nѡ%s\nѡģ%s\nѡ壺%s\n",ibuf,typebuf,jbuf,tempret[0],tempret[1],tempret[2],tempret[3],tempret[4]); + sprintf(buf,"3\n请选择这个算术公式的结果(%s%s%s=?):\n \n \n选项一:%s\n选项二:%s\n选项三:%s\n选项四:%s\n选项五:%s\n",ibuf,typebuf,jbuf,tempret[0],tempret[1],tempret[2],tempret[3],tempret[4]); lssproto_WN_send( fd, WINDOW_MESSAGETYPE_SELECT, WINDOW_BUTTONTYPE_OK, CHAR_WINDOWTYPE_RAND2_DROPMM, @@ -636,7 +636,7 @@ int PET_dropPet( int charaindex, int havepetindex) sprintf(randtmpbuf[2],"%s",hanzibuf[RAND(1,5000)-1]); sprintf(randtmpbuf[3],"%s",hanzibuf[RAND(1,5000)-1]); sprintf(randquestion,"%s",str_hanzi_ganrao(randtmpbuf[0],randtmpbuf[1],randtmpbuf[2],randtmpbuf[3],0,0,0,0,0,0)); - strcat(randquestion,"ҳͬ飩"); + strcat(randquestion,"(请找出相同词组)"); int newrand1 = RAND(1,100)-1; int newrand2 = RAND(1,100)-1; int newrand3 = RAND(1,100)-1; @@ -668,7 +668,7 @@ int PET_dropPet( int charaindex, int havepetindex) sprintf(randwronganswer2,"[%c%c%c%c%c]",tempbuf[0],tempbuf[1],tempbuf[4],tempbuf[2],tempbuf[3]); sprintf(randwronganswer3,"[%c%c%c%c%c]",tempbuf[4],tempbuf[1],tempbuf[2],tempbuf[0],tempbuf[3]); sprintf(randwronganswer4,"[%c%c%c%c%c]",tempbuf[1],tempbuf[0],tempbuf[2],tempbuf[3],tempbuf[4]); - sprintf(randquestion,"[%s]ҳͬ飩",tempbuf); + sprintf(randquestion,"[%s](请找出相同词组)",tempbuf); sprintf(randrightanswer,"[%s]",tempbuf); char* randstr = NULL; randstr = str_ganrao(randquestion); @@ -700,33 +700,33 @@ int PET_dropPet( int charaindex, int havepetindex) for(n=1;n<=5;n++){ if(n==randnum1){ if(qianhounum<=50) - sprintf(tempret[n-1],"ѡ( %d %s )",rightnum,randrightanswer); + sprintf(tempret[n-1],"选项( %d %s )",rightnum,randrightanswer); else - sprintf(tempret[n-1],"ѡ( %s %d )",randrightanswer,rightnum); + sprintf(tempret[n-1],"选项( %s %d )",randrightanswer,rightnum); }else{ if(m==1){ if(qianhounum<=50) - sprintf(tempret[n-1],"ѡ( %d %s )",wrongnum1,randwronganswer1); + sprintf(tempret[n-1],"选项( %d %s )",wrongnum1,randwronganswer1); else - sprintf(tempret[n-1],"ѡ( %s %d )",randwronganswer1,wrongnum1); + sprintf(tempret[n-1],"选项( %s %d )",randwronganswer1,wrongnum1); m = 2; }else if(m==2){ if(qianhounum<=50) - sprintf(tempret[n-1],"ѡ( %d %s )",wrongnum2,randwronganswer2); + sprintf(tempret[n-1],"选项( %d %s )",wrongnum2,randwronganswer2); else - sprintf(tempret[n-1],"ѡ( %s %d )",randwronganswer2,wrongnum2); + sprintf(tempret[n-1],"选项( %s %d )",randwronganswer2,wrongnum2); m = 3; }else if(m==3){ if(qianhounum<=50) - sprintf(tempret[n-1],"ѡ( %d %s )",wrongnum3,randwronganswer3); + sprintf(tempret[n-1],"选项( %d %s )",wrongnum3,randwronganswer3); else - sprintf(tempret[n-1],"ѡ( %s %d )",randwronganswer3,wrongnum3); + sprintf(tempret[n-1],"选项( %s %d )",randwronganswer3,wrongnum3); m = 4; }else if(m==4){ if(qianhounum<=50) - sprintf(tempret[n-1],"ѡ( %d %s )",wrongnum4,randwronganswer4); + sprintf(tempret[n-1],"选项( %d %s )",wrongnum4,randwronganswer4); else - sprintf(tempret[n-1],"ѡ( %s %d )",randwronganswer4,wrongnum4); + sprintf(tempret[n-1],"选项( %s %d )",randwronganswer4,wrongnum4); m = 5; } } @@ -741,7 +741,7 @@ int PET_dropPet( int charaindex, int havepetindex) windowtype = WINDOW_MESSAGETYPE_SELECT; } CHAR_setWorkChar(charaindex, CHAR_WORKDROPMM, arg); - sprintf(buf,"%s\n%s\n%s\n%s\n%s\n%s\nȷڵ5λֻߵѡ",randquestion,tempret[0],tempret[1],tempret[2],tempret[3],tempret[4]); + sprintf(buf,"%s\n%s\n%s\n%s\n%s\n%s\n输入正确答案括号内的5位数字或者点选答案",randquestion,tempret[0],tempret[1],tempret[2],tempret[3],tempret[4]); lssproto_WN_send( fd, windowtype, WINDOW_BUTTONTYPE_OK, CHAR_WINDOWTYPE_RAND4_DROPMM, @@ -761,14 +761,14 @@ int PET_dropPet( int charaindex, int havepetindex) #endif if( _PET_dropPet( charaindex, havepetindex, -1,-1,-1) == TRUE ){ char tmpbuf[256]; - sprintf(tmpbuf," %s (ʧʱ%d)",CHAR_getChar( petindex, CHAR_NAME),getPetdeletetime()); + sprintf(tmpbuf,"丢弃 %s (宠物消失时间%d秒)。",CHAR_getChar( petindex, CHAR_NAME),getPetdeletetime()); CHAR_talkToCli( charaindex, -1, tmpbuf, CHAR_COLORYELLOW ); LogPet( - CHAR_getChar( charaindex, CHAR_NAME ), /* ƽҷ */ + CHAR_getChar( charaindex, CHAR_NAME ), /* 平乓仿 */ CHAR_getChar( charaindex, CHAR_CDKEY ), CHAR_getChar( petindex, CHAR_NAME), CHAR_getInt( petindex, CHAR_LV), - "Drop()", + "Drop(丢宠)", CHAR_getInt( charaindex,CHAR_FLOOR), CHAR_getInt( charaindex,CHAR_X ), CHAR_getInt( charaindex,CHAR_Y ), @@ -785,7 +785,7 @@ int PET_dropPetFLXY( int charaindex, int havepetindex, int fl, int x, int y) } /*------------------------------------------------------------ - * ʸüìëƻ֧ + * 矢永玄迕及奶矛件玄楮醒毛本永玄仄化支月 ------------------------------------------------------------*/ int PET_initCharOneArray( Char *ch) { @@ -897,9 +897,9 @@ int PET_createPetFromCharaIndex( int charaindex, int enemyindex) CHAR_getChar( enemyindex, CHAR_NAME) ); newindex = PET_initCharOneArray( &CharNew ); #ifdef _CAX_LVTISHI - if (CharNew.data[CHAR_LV] == 1){//׽ij1 - int namelen=strlen(CHAR_getChar(newindex, CHAR_NAME));//óƵij - char petname[namelen-3];//ΪҪȥĸַƵĻ,ֱȡĸַ + if (CharNew.data[CHAR_LV] == 1){//如果捕捉到的宠物是1级 + int namelen=strlen(CHAR_getChar(newindex, CHAR_NAME));//获得宠物名称的长度 + char petname[namelen-3];//因为要去掉宝宝这四个字符,所以重新设置名称的话,直接取消掉后面的四个字符 snprintf( petname, sizeof( petname),"%s",CHAR_getChar( newindex, CHAR_NAME)); CHAR_setChar( newindex, CHAR_NAME, petname); } @@ -927,10 +927,10 @@ int PET_createPetFromCharaIndex( int charaindex, int enemyindex) BOOL PET_SelectBattleEntryPet( int charaindex, int petarray) { int pindex; - /* ºƥľ¦Ⱦµ ؤԻ */ + /* 爵 反轮仁 仿弘匹仇木卞娄匀井井月第 岭丐曰 */ if( CHAR_getWorkInt( charaindex, CHAR_WORKBATTLEMODE) != BATTLE_CHARMODE_NONE) return FALSE; - /* -1-1ƻƻδԻ*/ + /* -1及桦宁反]-1卞仄化本永玄仄化蔽歹曰[*/ if( petarray == -1 ) { CHAR_setInt( charaindex, CHAR_DEFAULTPET, -1 ); return TRUE; @@ -941,7 +941,7 @@ BOOL PET_SelectBattleEntryPet( int charaindex, int petarray) if( CHAR_getFlg( pindex, CHAR_ISDIE )) return FALSE; #ifdef _RIDEBUG - //жǷΪ + //判断是否为骑宠 if(CHAR_getInt( charaindex, CHAR_RIDEPET) == petarray) return FALSE; #endif CHAR_setInt( charaindex, CHAR_DEFAULTPET, petarray ); @@ -968,11 +968,11 @@ int PET_dropPetFollow( int charaindex, int havepetindex, int tofl, int tox, int if( CHAR_CHECKINDEX( petindex) == FALSE ) return FALSE; if (CHAR_getInt(petindex, CHAR_PETFAMILY) == 1){ - CHAR_talkToCli(charaindex, -1, "ػ޷", CHAR_COLORYELLOW); + CHAR_talkToCli(charaindex, -1, "家族守护兽无法丢出!", CHAR_COLORYELLOW); return FALSE; } if (CHAR_getInt(charaindex, CHAR_RIDEPET) == havepetindex){ - CHAR_talkToCli(charaindex, -1, "еij޷棡", CHAR_COLORYELLOW); + CHAR_talkToCli(charaindex, -1, "骑乘中的宠物无法跟随!", CHAR_COLORYELLOW); return FALSE; } if( tofl == -1 ) { @@ -1043,7 +1043,7 @@ int PET_dropPetFollow( int charaindex, int havepetindex, int tofl, int tox, int CHAR_getChar( charaindex, CHAR_CDKEY ), CHAR_getChar( petindex, CHAR_NAME), CHAR_getInt( petindex, CHAR_LV), - "Follow()", + "Follow(溜宠)", CHAR_getInt( charaindex,CHAR_FLOOR), CHAR_getInt( charaindex,CHAR_X ), CHAR_getInt( charaindex,CHAR_Y ), @@ -1070,8 +1070,8 @@ void PET_showEditBaseMsg( int charaindex, int toindex, int itemindex, int *work) { int i, maxnums = 6000; char buf1[256]; - char buf2[][32]={"ɳ",";ɳ","ٶȳɳ","ɳ",""}; - char buf3[][32]={"","Ϊ","Ϊ"}; + char buf2[][32]={"腕力成长率","耐久力成长率","速度成长率","体力成长率","能力"}; + char buf3[][32]={"大幅提高","略为提高","略为减少"}; if( CHAR_getInt( toindex, CHAR_WHICHTYPE) != CHAR_TYPEPET) return; @@ -1079,24 +1079,24 @@ void PET_showEditBaseMsg( int charaindex, int toindex, int itemindex, int *work) for( i=0; i<4; i++) { int type = ITEM_getInt( itemindex, (ITEM_MODIFYATTACK + i)); -// print(" ι[%d]%d+%d ", i, work[i], type); +// print(" 喂[%d]%d+%d ", i, work[i], type); work[i] += type; strcpy( buf1,"\0"); if( work[i] > maxnums ) { - sprintf(buf1,"%s Ѿﵽˡ", buf2[i]); + sprintf(buf1,"%s 已经达到最高了。", buf2[i]); work[i] = maxnums; }else if( work[i] < 0 ) { - sprintf(buf1,"%s ѾΪˡ", buf2[i]); + sprintf(buf1,"%s 已经为零了。", buf2[i]); work[i] = 0; }else { if( type > 0 ) { if( type > 2 ) { - sprintf(buf1,"%s %s %s", buf2[i], buf3[0], ""); + sprintf(buf1,"%s %s %s", buf2[i], buf3[0], "。"); }else { - sprintf(buf1,"%s %s %s", buf2[i], buf3[1], ""); + sprintf(buf1,"%s %s %s", buf2[i], buf3[1], "。"); } }else if( type < 0 ){ - sprintf(buf1,"%s %s %s", buf2[i], buf3[2], ""); + sprintf(buf1,"%s %s %s", buf2[i], buf3[2], "。"); } } if( strcmp( buf1, "\0")) { @@ -1147,7 +1147,7 @@ BOOL CHAR_DelPetForIndex( int charaindex, int petindex) snprintf( szPet, sizeof( szPet ), "K%d", i); CHAR_sendStatusString( charaindex, szPet ); - snprintf( msgbuf,sizeof( msgbuf), "%s", CHAR_getChar( petindex, CHAR_NAME)); + snprintf( msgbuf,sizeof( msgbuf), "交出%s。", CHAR_getChar( petindex, CHAR_NAME)); CHAR_talkToCli( charaindex, -1, msgbuf, CHAR_COLORYELLOW); CHAR_endCharOneArray( petindex ); } diff --git a/char/pet_event.c b/char/pet_event.c index 5f139ef..793dd20 100644 --- a/char/pet_event.c +++ b/char/pet_event.c @@ -160,7 +160,7 @@ void PET_Talkfunc( int meindex, int talkerindex, char *msg, int color) if( CHAR_getInt( meindex, CHAR_LV ) >= CHAR_getInt( meindex, CHAR_LIMITLEVEL) ) { Type = 1; } - //趨Ϊ˲PET + //设定为非主人不得与PET互动 if( strcmp( CHAR_getChar( meindex, CHAR_OWNERCDKEY), CHAR_getChar( talkerindex, CHAR_CDKEY) ) || strcmp( CHAR_getChar( meindex, CHAR_OWNERCHARANAME), CHAR_getChar( talkerindex, CHAR_NAME) )){ #ifdef _PET_TALKPRO @@ -169,7 +169,7 @@ void PET_Talkfunc( int meindex, int talkerindex, char *msg, int color) if( NPC_Util_GetStrFromStrWithDelim( buf1, "NoPlayerMsg", buf3, sizeof( buf3)) != NULL ) { #endif }else { - sprintf(buf3,"İˣҲʶѽǻˣ"); + sprintf(buf3,"陌生人?我不认识你呀!你是坏人!"); } CHAR_talkToCli( talkerindex, meindex, buf3, color); return; @@ -183,22 +183,22 @@ void PET_Talkfunc( int meindex, int talkerindex, char *msg, int color) #endif talkNo++; if( ( strstr( buf2, TalkType[Type]) == NULL ) && ( strstr( buf2, TalkType[2]) == NULL ) )continue; - if( NPC_Util_GetStrFromStrWithDelim( buf2, "FLOOR", buf3, sizeof( buf3)) != NULL ) {//жϷ + if( NPC_Util_GetStrFromStrWithDelim( buf2, "FLOOR", buf3, sizeof( buf3)) != NULL ) {//判断房间号 if( PetTalk_CheckMyFloor( meindex, talkerindex, buf3, 0) == FALSE )continue; } - if( NPC_Util_GetStrFromStrWithDelim( buf2, "PET", buf3, sizeof( buf3)) != NULL ) {//жϳFREE + if( NPC_Util_GetStrFromStrWithDelim( buf2, "PET", buf3, sizeof( buf3)) != NULL ) {//判断宠物FREE条件 if( PetTalk_CheckFree( meindex, meindex, buf3) != TRUE ) continue; } if( NPC_Util_GetStrFromStrWithDelim( buf2, "FREE", buf3, sizeof( buf3) ) == NULL)continue; - if( NPC_ActionPassCheck( meindex, talkerindex, buf3) == FALSE ) continue;//жFREE + if( NPC_ActionPassCheck( meindex, talkerindex, buf3) == FALSE ) continue;//判断玩家FREE条件 // if( ActionNpc_CheckFree( meindex, talkerindex, buf2, 0) == FALSE ) continue; if( PetTalk_CheckPetEvent( meindex, talkerindex, buf2) == FALSE )continue; - FREEs = TRUE; // + FREEs = TRUE; //条件成立 strcpy( AllTalk[j++], buf2 ); if( j > PETTALK_MAXID-1 ) break; } talkNo = 0; - if( FREEs == FALSE) { //ȫ + if( FREEs == FALSE) { //如果全部条件都不成立 j=0; #ifdef _PET_TALKPRO while( getStringFromIndexWithDelim( pettalktext[tPage].DATA,"OVER",talkNo, buf2, sizeof( buf2) ) != FALSE ){ @@ -217,12 +217,12 @@ void PET_Talkfunc( int meindex, int talkerindex, char *msg, int color) if( j > 0 ) { strcpy( buf2, AllTalk[ RAND( 0, (j-1) ) ] ); if( PetTalk_RunEvent( meindex, talkerindex, buf2) == FALSE ) { - sprintf( buf3,""); + sprintf( buf3,"....!"); CHAR_talkToCli( talkerindex, meindex, buf3, color); return; } if( NPC_Util_GetStrFromStrWithDelim( buf2, "TalkMsg", buf3, sizeof( buf3)) == NULL) { - //sprintf( buf3,"ˣȥɣ"); + //sprintf( buf3,"主人,我们去逛逛吧!"); strcpy( buf3, buf2); } @@ -301,14 +301,14 @@ BOOL PetTalk_DelItem(int meindex,int talker,char *buf) cnt++; LogItem( - CHAR_getChar( talker, CHAR_NAME ), /* ƽҷ */ + CHAR_getChar( talker, CHAR_NAME ), /* 平乓仿 */ CHAR_getChar( talker, CHAR_CDKEY ), -#ifdef _add_item_log_name // WON ADD itemlogitem +#ifdef _add_item_log_name // WON ADD 在item的log中增加item名称 itemindex, #else - ITEM_getInt( itemindex, ITEM_ID), /* ʧ ة į */ + ITEM_getInt( itemindex, ITEM_ID), /* 失奶 丞 寞 */ #endif - "WarpManDelItem(NPCյᴫij)", + "WarpManDelItem(NPC收道具後传至某点)", CHAR_getInt( talker, CHAR_FLOOR), CHAR_getInt( talker, CHAR_X ), CHAR_getInt( talker, CHAR_Y ), @@ -326,21 +326,21 @@ BOOL PetTalk_DelItem(int meindex,int talker,char *buf) } } }else{ - /*--Ϸ įʧ ةë---*/ + /*--蓟氏分 寞及失奶 丞毛蓟请---*/ for( j = 0 ; j < CHAR_MAXITEMHAVE ; j++){ itemindex = CHAR_getItemIndex( talker ,j); if( ITEM_CHECKINDEX(itemindex) ){ if( atoi( buff3) == ITEM_getInt(itemindex,ITEM_ID)){ LogItem( - CHAR_getChar( talker, CHAR_NAME ), /* ƽҷ */ + CHAR_getChar( talker, CHAR_NAME ), /* 平乓仿 */ CHAR_getChar( talker, CHAR_CDKEY ), -#ifdef _add_item_log_name // WON ADD itemlogitem +#ifdef _add_item_log_name // WON ADD 在item的log中增加item名称 itemindex, #else - ITEM_getInt( itemindex, ITEM_ID), /* ʧ ة į */ + ITEM_getInt( itemindex, ITEM_ID), /* 失奶 丞 寞 */ #endif - "WarpManDelItem(NPCյᴫij)", + "WarpManDelItem(NPC收道具後传至某点)", CHAR_getInt( talker,CHAR_FLOOR), CHAR_getInt( talker,CHAR_X ), CHAR_getInt( talker,CHAR_Y ), @@ -375,7 +375,7 @@ BOOL PetTalk_AddItem(int meindex, int talker, char *buf) } } if( i == CHAR_MAXITEMHAVE ) { - snprintf( msgbuf,sizeof( msgbuf), "ˣƷѾˣ"); + snprintf( msgbuf,sizeof( msgbuf), "主人,你的物品栏已经满了!!"); CHAR_talkToCli( talker, meindex, msgbuf, CHAR_COLORWHITE); return FALSE; } @@ -394,7 +394,7 @@ BOOL PetTalk_AddItem(int meindex, int talker, char *buf) print ("\n ret error!!"); return FALSE; } - sprintf( token,"õ%s",ITEM_getChar( itemindex, ITEM_NAME)); + sprintf( token,"拿到%s",ITEM_getChar( itemindex, ITEM_NAME)); CHAR_talkToCli( talker, -1,token,CHAR_COLORWHITE); CHAR_sendItemDataOne( talker, ret); @@ -478,7 +478,7 @@ BOOL PetTalk_BSCheck(int meindex,int talker,char* buf) int kosuu,temp=-1,flg=0; char buff1[128],buff3[128]; if(strstr( buf, "-") != NULL) { - //buff3ΪץID + //buff3为抓宠物ID getStringFromIndexWithDelim( buf, "-", 2, buff3, sizeof(buff3)); temp = atoi( buff3); getStringFromIndexWithDelim( buf, "-", 1, buff1, sizeof(buff1)); @@ -659,7 +659,7 @@ BOOL PetTalk_CheckMyPet( int meindex, int talker, int petLv, int flg, int petid) } if( petsel == CHAR_MAXPETHAVE ) { return FALSE; - }else { //ҵ + }else { //找到条件宠 if( PetTalk_BigSmallLastCheck( petLv, CHAR_getInt( petindex, CHAR_LV), flg ) == TRUE ) return TRUE; } @@ -732,11 +732,11 @@ int PET_CleanPetdeletetime( int objmeindex) // CHAR_CharSaveLostPet( pindex, 0); #endif LogPet( - "ϵͳ", + "系统", "Watchfunc", CHAR_getChar( pindex, CHAR_NAME), CHAR_getInt( pindex, CHAR_LV), - "timeout_lost(ϵͳ-ɳ)", + "timeout_lost(系统清除-地上自由宠)", CHAR_getInt( pindex, CHAR_FLOOR), CHAR_getInt( pindex,CHAR_X ), CHAR_getInt( pindex,CHAR_Y ), @@ -761,11 +761,11 @@ void PET_CHECKFreePetIsIt( int petindex) #endif LogPet( - "ϵͳ", + "系统", "Watchfunc", CHAR_getChar( petindex, CHAR_NAME), CHAR_getInt( petindex, CHAR_LV), - "timeout_lost(ϵͳ-ɳ)", + "timeout_lost(系统清除-地上自由宠)", CHAR_getInt( petindex, CHAR_FLOOR), CHAR_getInt( petindex,CHAR_X ), CHAR_getInt( petindex,CHAR_Y ), @@ -790,7 +790,7 @@ void PET_Watchfunc( int objmeindex, int objmoveindex, CHAR_ACTION act, int x, in petputtime = CHAR_getInt( petindex, CHAR_PUTPETTIME); if( CHAR_getInt( petindex, CHAR_MAILMODE) != CHAR_PETMAIL_NONE) { - //ʲ + //宠邮不处理 }else if( CHAR_getWorkInt( petindex, CHAR_WORKPETFOLLOWMODE) == CHAR_PETFOLLOW_NOW ){ if( NowTime.tv_sec >= (petputtime + 60*60) ) { int ownerindex = CHAR_getWorkInt( petindex, CHAR_WORKPLAYERINDEX); @@ -798,22 +798,22 @@ void PET_Watchfunc( int objmeindex, int objmoveindex, CHAR_ACTION act, int x, in if( CHAR_pickupFollowPet( ownerindex, petindex ) ) { return; } - CHAR_talkToCli( ownerindex, -1, "̫ãʧˣ", CHAR_COLORYELLOW ); + CHAR_talkToCli( ownerindex, -1, "溜宠太久,宠物走失了!!", CHAR_COLORYELLOW ); } #ifdef _PET_LOSTPET CHAR_CharSaveLostPet( petindex, 1); LogPet( - "ϵͳ", + "系统", "Watchfunc", CHAR_getChar( petindex, CHAR_NAME), CHAR_getInt( petindex, CHAR_LV), - "timeout_lost(ϵͳ-ɳ)", + "timeout_lost(系统扣留-溜宠自由宠)", CHAR_getInt( petindex, CHAR_FLOOR), CHAR_getInt( petindex,CHAR_X ), CHAR_getInt( petindex,CHAR_Y ), CHAR_getChar( petindex, CHAR_UNIQUECODE) // shan 2001/12/14 ); - print("ϵͳ-ɳ:%s\n", CHAR_getUseName( petindex)); + print("系统扣留-溜宠自由宠:%s\n", CHAR_getUseName( petindex)); CHAR_CharaDelete( petindex); #else CHAR_setInt( petindex, CHAR_PUTPETTIME, NowTime.tv_sec); @@ -823,7 +823,7 @@ void PET_Watchfunc( int objmeindex, int objmoveindex, CHAR_ACTION act, int x, in CHAR_getChar( pindex, CHAR_CDKEY ), CHAR_getChar( petindex, CHAR_NAME), CHAR_getInt( petindex, CHAR_LV), - "timeout_lost(̫ãʧ))", + "timeout_lost(溜宠太久,宠物走失))", CHAR_getInt( pindex,CHAR_FLOOR), CHAR_getInt( pindex,CHAR_X ), CHAR_getInt( pindex,CHAR_Y ), diff --git a/char/petmail.c b/char/petmail.c index fb6a500..86109be 100644 --- a/char/petmail.c +++ b/char/petmail.c @@ -21,10 +21,10 @@ #define PETMAIL_IDLE_RETURNOWNER (60*30) //andy_edit -//#define PETMAIL_IDLEDISCARD (60*60) //Syu ʵȴʱΪһСʱ +//#define PETMAIL_IDLEDISCARD (60*60) //Syu 修正宠邮等待时间为一小时 #define PETMAIL_IDLEDISCARD (60*3) -/* petmail ϵĵȴʱ shan add */ +/* petmail 跨星系的等待时间 shan add */ #define PETMAIL_JS_TIMEOUT (2*60) static int PETMAIL_getIdleTime( int index); @@ -54,7 +54,7 @@ BOOL PETMAIL_sendPetMail( int cindex, int aindex, int itemindex =-1; int tocharaindex,playernum,i; - //ж Ƭ + //判断 人物 宠物 道具 对象名片 if( !CHAR_CHECKINDEX( cindex) )return FALSE; if( haveitemindex != -1 ) { itemindex = CHAR_getItemIndex( cindex, haveitemindex); @@ -64,7 +64,7 @@ BOOL PETMAIL_sendPetMail( int cindex, int aindex, return FALSE; } if(ITEM_getInt( itemindex, ITEM_TIME)>0){ - CHAR_talkToCli( cindex, -1, "ʱ߲ʼġ", CHAR_COLORYELLOW ); + CHAR_talkToCli( cindex, -1, "限时道具不可邮寄。", CHAR_COLORYELLOW ); return FALSE; } } @@ -80,36 +80,36 @@ BOOL PETMAIL_sendPetMail( int cindex, int aindex, CHAR_SafePassword(cindex); return FALSE; } -#ifdef _AVID_TRADETRYBUG //ʼ +#ifdef _AVID_TRADETRYBUG //宠物邮件 if( CHAR_getWorkInt( cindex, CHAR_WORKTRADEMODE) != CHAR_TRADE_FREE ){ - CHAR_talkToCli( cindex, -1, "״̬޷ݳʼ", CHAR_COLORYELLOW ); + CHAR_talkToCli( cindex, -1, "交易状态中无法传递宠物邮件。", CHAR_COLORYELLOW ); return FALSE; } #endif - // + //骑乘 if (CHAR_getInt( cindex, CHAR_RIDEPET) == havepetindex ){ - CHAR_talkToCli(cindex, -1, "еij޷ݳʼ", CHAR_COLORYELLOW); + CHAR_talkToCli(cindex, -1, "骑乘中的宠物无法传递宠物邮件!", CHAR_COLORYELLOW); return FALSE; } if( CHAR_getWorkInt( cindex, CHAR_WORKBATTLEMODE) != BATTLE_CHARMODE_NONE){ - CHAR_talkToCli( cindex, -1, "ս״̬޷ݳʼ", CHAR_COLORYELLOW ); + CHAR_talkToCli( cindex, -1, "战斗状态中无法传递宠物邮件。", CHAR_COLORYELLOW ); return FALSE; } if (CHAR_getInt(petindex, CHAR_PETFAMILY) == 1){ - CHAR_talkToCli(cindex, -1, "ػ޷ʼร", CHAR_COLORYELLOW); + CHAR_talkToCli(cindex, -1, "家族守护兽无法传递邮件喔!", CHAR_COLORYELLOW); return FALSE; } #ifdef _PETMAIL_LV if(getPetMailCf()==1 && CHAR_getInt(petindex, CHAR_LV)>=getPetMailLv()){ char bufmsg[256]; - sprintf(bufmsg,"ʼĽ%d³ʼġ",getPetMailLv()); + sprintf(bufmsg,"本线邮寄仅限%d级以下宠物,请勿用珍贵宠物进行邮寄。",getPetMailLv()); CHAR_talkToCli(cindex, -1, bufmsg, CHAR_COLORYELLOW); return FALSE; } #endif // Terry add fix can send mail to offline character 2004/2/5 if(ae->online == 0){ - CHAR_talkToCli(cindex, -1, "Ҳϣ", CHAR_COLORYELLOW); + CHAR_talkToCli(cindex, -1, "该玩家不在线上!", CHAR_COLORYELLOW); return FALSE; } playernum = CHAR_getPlayerMaxNum(); @@ -119,20 +119,20 @@ BOOL PETMAIL_sendPetMail( int cindex, int aindex, strcmp(CHAR_getChar(i,CHAR_NAME),ae->charname) == 0 ) break; } if(i == playernum){ - CHAR_talkToCli(cindex, -1, "Ҳڴϣ", CHAR_COLORYELLOW); + CHAR_talkToCli(cindex, -1, "该玩家不在此星球上!", CHAR_COLORYELLOW); return FALSE; } // end #ifdef _MAP_TIME if((CHAR_getInt(cindex,CHAR_FLOOR) >= 30017 && CHAR_getInt(cindex,CHAR_FLOOR) <= 30021)){ char msgbuf[512]; - snprintf(msgbuf,sizeof(msgbuf),"˵ü͵ߣ"); + snprintf(msgbuf,sizeof(msgbuf),"此地区不得寄送道具!"); CHAR_talkToCli(cindex,-1,msgbuf,CHAR_COLORWHITE); return FALSE; } if((CHAR_getInt(i,CHAR_FLOOR) >= 30017 && CHAR_getInt(i,CHAR_FLOOR) <= 30021)){ char msgbuf[512]; - snprintf(msgbuf,sizeof(msgbuf),"Էڵռ͵ߣ"); + snprintf(msgbuf,sizeof(msgbuf),"对方所在地区不得收寄送道具!"); CHAR_talkToCli(cindex,-1,msgbuf,CHAR_COLORWHITE); return FALSE; } @@ -142,41 +142,41 @@ BOOL PETMAIL_sendPetMail( int cindex, int aindex, if( ( CHAR_getInt(cindex,CHAR_FLOOR) >= 8200 && CHAR_getInt(cindex,CHAR_FLOOR) <= 8213 ) ) { char msgbuf[512]; - snprintf( msgbuf, sizeof( msgbuf), "Ӣսü͵ߣ"); + snprintf( msgbuf, sizeof( msgbuf), "英雄战场不得寄送道具!"); CHAR_talkToCli( cindex, -1, msgbuf, CHAR_COLORWHITE); return FALSE; } #ifdef _PET_LIMITLEVEL if( CHAR_getInt( petindex, CHAR_LIMITLEVEL) > 0 ) { - CHAR_talkToCli(cindex, -1, "ﲻܴʼร", CHAR_COLORYELLOW); + CHAR_talkToCli(cindex, -1, "特殊宠物不能传递邮件喔!", CHAR_COLORYELLOW); return FALSE; } #endif -//DZ޶IJʼĵĵôԼ +//如果是被限定的不可以邮寄的道具那么不可以寄 #ifdef _PETITEM__AMOI_E if(ITEM_NOT_MAIL & ITEM_getInt(itemindex, ITEM_TYPEOFITEM)){ char buf[256]; - sprintf( buf, "%sDzʼĵŶ!~", ITEM_getChar( itemindex, ITEM_NAME) ); + sprintf( buf, "%s是不可以邮寄的哦!~", ITEM_getChar( itemindex, ITEM_NAME) ); CHAR_talkToCli( cindex, -1, buf, CHAR_COLORRED); return FALSE; } #endif #ifdef _PETMAIL_DEFNUMS if( CHAR_getWorkInt( cindex, CHAR_PETMAILNUMS) > 6 ){ - CHAR_talkToCli(cindex, -1, "ʼг࣬ʱ޷ݳʼ", CHAR_COLORYELLOW); + CHAR_talkToCli(cindex, -1, "邮件中宠物过多,暂时无法传递宠物邮件!", CHAR_COLORYELLOW); return FALSE; }else if( PETMAIL_CheckIsMyOffmsg( cindex, ae->cdkey, ae->charname) > 10 ){ - CHAR_talkToCli(cindex, -1, "ռĿǰʼﳬ10⣬ʱ޷ݳʼ", CHAR_COLORYELLOW); + CHAR_talkToCli(cindex, -1, "收件者目前邮件宠物超过10封,暂时无法传递宠物邮件!", CHAR_COLORYELLOW); return FALSE; }else if( CHAR_getWorkInt( cindex, CHAR_PETMAILSENDTIME) > (int)time( NULL)){ char Mess1[256]; - sprintf( Mess1,"ȴ%dٴμͳʼ", + sprintf( Mess1,"需等待%d秒才能再次寄送宠物邮件!", (int)time( NULL) - CHAR_getWorkInt( cindex, CHAR_PETMAILSENDTIME)); CHAR_talkToCli( cindex, -1, Mess1, CHAR_COLORYELLOW); return FALSE; }else if( PetMailTotalnums >= PETMAIL_DEFTOTALNUM ){ - CHAR_talkToCli(cindex, -1, "Ŀǰϵͳʼ࣬ټġ", CHAR_COLORYELLOW); + CHAR_talkToCli(cindex, -1, "目前系统邮件过多,请稍後再寄。", CHAR_COLORYELLOW); return FALSE; }else{ int nums = CHAR_getWorkInt( cindex, CHAR_PETMAILNUMS); @@ -201,9 +201,9 @@ BOOL PETMAIL_sendPetMail( int cindex, int aindex, return FALSE; } -#ifdef _FIX_PETMAIL2 // WON ADD 2 +#ifdef _FIX_PETMAIL2 // WON ADD 修正宠邮2 if( !PET_dropPetFLXY( cindex, havepetindex, PETMAIL_SPOOLFLOOR, PETMAIL_SPOOLX,PETMAIL_SPOOLY) ){ - CHAR_talkToCli( cindex, -1, "ʼʧ", CHAR_COLORYELLOW); + CHAR_talkToCli( cindex, -1, "宠物邮件失败", CHAR_COLORYELLOW); return FALSE; } #endif @@ -222,13 +222,13 @@ BOOL PETMAIL_sendPetMail( int cindex, int aindex, CHAR_setInt( petindex, CHAR_PETMAILFROMX, CHAR_getInt( cindex, CHAR_X)); CHAR_setInt( petindex, CHAR_PETMAILFROMY,CHAR_getInt( cindex, CHAR_Y)); -//#ifdef _WON_PET_MAIL_LOG // WON ADD Ӽijʵ LOG +//#ifdef _WON_PET_MAIL_LOG // WON ADD 增加寄宠邮的 LOG // LogPet( // CHAR_getChar( cindex, CHAR_NAME ), // CHAR_getChar( cindex, CHAR_CDKEY ), // CHAR_getChar( petindex, CHAR_NAME), // CHAR_getInt( petindex, CHAR_LV), -// "Pet_Send_Mail(ij)", +// "Pet_Send_Mail(寄宠邮)", // CHAR_getInt( cindex,CHAR_FLOOR), // CHAR_getInt( cindex,CHAR_X ), // CHAR_getInt( cindex,CHAR_Y ), @@ -243,7 +243,7 @@ BOOL PETMAIL_sendPetMail( int cindex, int aindex, CHAR_getChar( cindex, CHAR_NAME ), CHAR_getChar( cindex, CHAR_CDKEY ), itemindex, - "pm_have(->͵ĵ)", + "pm_have(宠邮->寄送的道具)", CHAR_getInt( cindex,CHAR_FLOOR), CHAR_getInt( cindex,CHAR_X ), CHAR_getInt( cindex,CHAR_Y ), @@ -256,7 +256,7 @@ BOOL PETMAIL_sendPetMail( int cindex, int aindex, { char token[256]; tocharaindex = PETMAIL_CheckPlayerExist( petindex, 0); - sprintf( token, "ͳʼ(%s)%s", + sprintf( token, "寄送宠物邮件(%s)给%s。", CHAR_getUseName( petindex), CHAR_getUseName( tocharaindex) ); CHAR_talkToCli( cindex, -1, token, CHAR_COLORYELLOW); } @@ -423,7 +423,7 @@ BOOL storePetmail( void) char escapebuf1[ 64],escapebuf2[ 64]; int i; - /* ̻ ëƻ */ + /* 白央奶伙 毛菲户月 */ snprintf( filename ,sizeof( filename ) ,"%s/%s" , getStoredir(), PETMAILOFFMSGFILE); fp = fopen( filename , "wt" ); @@ -485,16 +485,16 @@ void PETMAIL_Loopfunc( int index) case CHAR_PETMAIL_IDLE2: PETMAIL_IdleProc2( index); break; - case CHAR_PETMAIL_RETURNWAIT://ȴ + case CHAR_PETMAIL_RETURNWAIT://回来等待 PETMAIL_ReturnWait( index); break; case CHAR_PETMAIL_IDLE3: PETMAIL_IdleProc3( index); break; - case CHAR_PETMAIL_IDLE4://Ѱ + case CHAR_PETMAIL_IDLE4://寻找主人 PETMAIL_IdleProc4( index); break; - case CHAR_PETMAIL_IDLE5: //ʱ޷ҵ + case CHAR_PETMAIL_IDLE5: //超过时间无法找到主人 PETMAIL_IdleProc5( index); break; default: @@ -504,9 +504,9 @@ void PETMAIL_Loopfunc( int index) static int PETMAIL_getIdleTime( int index) { -#define PETMAIL_DIVRANGE 25 // -#define PETMAIL_IDLELEVELRANGE 10 // -#define PETMAIL_IDLEUNITTIME 3 // +#define PETMAIL_DIVRANGE 25 // 坌喃允月汹 +#define PETMAIL_IDLELEVELRANGE 10 // 坌喃允月 区 +#define PETMAIL_IDLEUNITTIME 3 // 棉厥 int d; #ifdef _PETMAIL_TIME int dex; @@ -542,8 +542,8 @@ static void PETMAIL_sendPetmail( int index, int tocharaindex) char msgbuf[512]; snprintf( msgbuf, sizeof( msgbuf), - "%s%s ˣ" - "춶ԷûƬż˻ˡ", + "%s的%s 终於来了!" + "由於对方没有您的名片,所以信件被退回了。", CHAR_getChar( index, CHAR_OWNERCHARANAME), CHAR_getUseName( index)); CHAR_talkToCli( tocharaindex, -1, msgbuf, CHAR_COLORWHITE); @@ -553,7 +553,7 @@ static void PETMAIL_sendPetmail( int index, int tocharaindex) CHAR_getInt(tocharaindex,CHAR_FLOOR) <= 8213 ){ char msgbuf[512]; snprintf( msgbuf, sizeof( msgbuf), - "Ӣսü͵ߣ" ); + "英雄战场不得寄送道具!" ); CHAR_talkToCli( tocharaindex, -1, msgbuf, CHAR_COLORWHITE); } else { @@ -570,7 +570,7 @@ static void PETMAIL_sendPetmail( int index, int tocharaindex) CHAR_getChar( tocharaindex, CHAR_NAME ), CHAR_getChar( tocharaindex, CHAR_CDKEY ), itemindex, - "pm_putground(->õ)", + "pm_putground(宠邮->道具栏已满,放置地上)", CHAR_getInt( index,CHAR_FLOOR), CHAR_getInt( index,CHAR_X ), CHAR_getInt( index,CHAR_Y ), @@ -587,7 +587,7 @@ static void PETMAIL_sendPetmail( int index, int tocharaindex) CHAR_getChar( tocharaindex, CHAR_NAME ), CHAR_getChar( tocharaindex, CHAR_CDKEY ), itemindex, - "pm_getitem(->յĵ)", + "pm_getitem(宠邮->收到的道具)", CHAR_getInt( index,CHAR_FLOOR), CHAR_getInt( index,CHAR_X ), CHAR_getInt( index,CHAR_Y ), @@ -635,9 +635,9 @@ static void PETMAIL_IdleProc1( int index) if( !CHAR_CHECKINDEX( tocharaindex) ) { warp = TRUE; }else { - if( CHAR_getInt( tocharaindex, CHAR_FLOOR) == 8215 ){//ͷ andy + if( CHAR_getInt( tocharaindex, CHAR_FLOOR) == 8215 ){//客服活动 andy warp = TRUE; - }else if( CHAR_getWorkInt( tocharaindex, CHAR_WORKTRADEMODE) != CHAR_TRADE_FREE ){//вʼ + }else if( CHAR_getWorkInt( tocharaindex, CHAR_WORKTRADEMODE) != CHAR_TRADE_FREE ){//交易中不收邮件 warp = TRUE; }else if( CHAR_getWorkInt( tocharaindex, CHAR_WORKBATTLEMODE) != BATTLE_CHARMODE_NONE ){ int battleindex = CHAR_getWorkInt( tocharaindex, CHAR_WORKBATTLEINDEX ); @@ -692,8 +692,8 @@ static void PETMAIL_IdleProc2( int index) int cnt; tocharaindex = PETMAIL_CheckPlayerExist( index, 0); if( tocharaindex != -1 ) { - if( CHAR_getInt( tocharaindex, CHAR_FLOOR) == 8215 ){//ͷ andy - }else if( CHAR_getWorkInt( tocharaindex, CHAR_WORKTRADEMODE) != CHAR_TRADE_FREE ){//вʼ + if( CHAR_getInt( tocharaindex, CHAR_FLOOR) == 8215 ){//客服活动 andy + }else if( CHAR_getWorkInt( tocharaindex, CHAR_WORKTRADEMODE) != CHAR_TRADE_FREE ){//交易中不收邮件 }else if( CHAR_getWorkInt( tocharaindex, CHAR_WORKBATTLEMODE) != BATTLE_CHARMODE_NONE){ }else { int fl, x, y, ch_x, ch_y; @@ -801,12 +801,12 @@ static void PETMAIL_IdleProc4( int index) { int tocharaindex; int cnt; - tocharaindex = PETMAIL_CheckPlayerExist( index, 1);//Ѱ + tocharaindex = PETMAIL_CheckPlayerExist( index, 1);//寻找主人 if( tocharaindex != -1 ) { if( CHAR_getWorkInt( tocharaindex, CHAR_WORKBATTLEMODE) == BATTLE_CHARMODE_NONE && CHAR_getWorkInt( tocharaindex, CHAR_WORKTRADEMODE) == CHAR_TRADE_FREE ){ - int fl, x, y, ch_x, ch_y;//ص + int fl, x, y, ch_x, ch_y;//回到主人身边 fl = CHAR_getInt( tocharaindex, CHAR_FLOOR); ch_x = CHAR_getInt( tocharaindex, CHAR_X); @@ -827,20 +827,20 @@ static void PETMAIL_IdleProc4( int index) PETMAIL_returnMail( index, tocharaindex); } }else { - if( NowTime.tv_sec > t + PETMAIL_IDLE_RETURNOWNER ) {//ȴʱ + if( NowTime.tv_sec > t + PETMAIL_IDLE_RETURNOWNER ) {//检查等待主人时间 int itemindex; - CHAR_warpToSpecificPoint( index, //صԭ + CHAR_warpToSpecificPoint( index, //回到原先主人所在座标 CHAR_getInt( index, CHAR_PETMAILFROMFLOOR), CHAR_getInt( index, CHAR_PETMAILFROMX), CHAR_getInt( index, CHAR_PETMAILFROMY)); - CHAR_setInt( index, CHAR_MAILMODE, CHAR_PETMAIL_IDLE5);//ı״̬ + CHAR_setInt( index, CHAR_MAILMODE, CHAR_PETMAIL_IDLE5);//改变宠邮状态 CHAR_setInt( index, CHAR_LOOPINTERVAL, PETMAIL_LOOPINTERVAL2); CHAR_setInt( index, CHAR_PETMAILIDLETIME, NowTime.tv_sec); if( CHAR_getInt( index, CHAR_PETMAILIDLETIME) != -1 ) { PETMAIL_deleteOffmsg( CHAR_getInt( index, CHAR_PETMAILBUFINDEX)); } - itemindex = CHAR_getItemIndex( index, CHAR_STARTITEMARRAY);//ɾ + itemindex = CHAR_getItemIndex( index, CHAR_STARTITEMARRAY);//删除附带道具 if( ITEM_CHECKINDEX( itemindex ) ) { CHAR_DropItem( index, CHAR_STARTITEMARRAY); @@ -848,7 +848,7 @@ static void PETMAIL_IdleProc4( int index) CHAR_getChar( index, CHAR_OWNERCHARANAME ), CHAR_getChar( index, CHAR_OWNERCDKEY ), itemindex, - "pm_returntimeout(->ʱɾ)", + "pm_returntimeout(宠邮->逾时删除道具)", CHAR_getInt( index,CHAR_FLOOR), CHAR_getInt( index,CHAR_X ), CHAR_getInt( index,CHAR_Y ), @@ -871,11 +871,11 @@ static void PETMAIL_IdleProc5( int index) CHAR_setInt( index, CHAR_MAILMODE, CHAR_PETMAIL_NONE); CHAR_setInt( index, CHAR_PETMAILIDLETIME, 0); -#ifdef _FIX_PETMAIL // WON ADD +#ifdef _FIX_PETMAIL // WON ADD 修正宠邮 CHAR_setInt( index, CHAR_PUTPETTIME, NowTime.tv_sec ); #endif #ifdef _PETMAIL_DEFNUMS - PETMAIL_delPetMailTotalnums( 1); //M PET ɳ + PETMAIL_delPetMailTotalnums( 1); //M PET 变自由宠 if( PetMailTotalnums < 0 ) PetMailTotalnums = 0; #endif ch = CHAR_getCharPointer( index); @@ -887,17 +887,17 @@ static void PETMAIL_IdleProc5( int index) #ifdef _PET_LOSTPET CHAR_CharSaveLostPet( index, 2); LogPet( - "ϵͳ", + "系统", "Watchfunc", CHAR_getChar( index, CHAR_NAME), CHAR_getInt( index, CHAR_LV), - "timeout_lost(ϵͳ-ɳ)", + "timeout_lost(系统扣留-宠邮自由宠)", CHAR_getInt( index, CHAR_FLOOR), CHAR_getInt( index,CHAR_X ), CHAR_getInt( index,CHAR_Y ), CHAR_getChar( index, CHAR_UNIQUECODE) // shan 2001/12/14 ); - print("ϵͳ-ɳ:%s\n", CHAR_getUseName( index)); + print("系统扣留-宠邮自由宠:%s\n", CHAR_getUseName( index)); CHAR_CharaDelete( index); #else LogPet( @@ -905,7 +905,7 @@ static void PETMAIL_IdleProc5( int index) CHAR_getChar( index, CHAR_OWNERCDKEY ), CHAR_getChar( index, CHAR_NAME), CHAR_getInt( index, CHAR_LV), - "FreePet(ʱɳ)", + "FreePet(宠邮变回自由宠)", CHAR_getInt( index,CHAR_FLOOR), CHAR_getInt( index,CHAR_X ), CHAR_getInt( index,CHAR_Y ), @@ -952,7 +952,7 @@ static void PETMAIL_returnMail( int index, int tocharaindex) CHAR_getChar( tocharaindex, CHAR_NAME ), CHAR_getChar( tocharaindex, CHAR_CDKEY ), itemindex, - "pm_returnputground(->߷õ)", + "pm_returnputground(宠邮->道具已满将道具放置地上)", CHAR_getInt( index,CHAR_FLOOR), CHAR_getInt( index,CHAR_X ), CHAR_getInt( index,CHAR_Y ), @@ -976,14 +976,14 @@ static void PETMAIL_returnMail( int index, int tocharaindex) #endif if( CHAR_getInt( index, CHAR_PETMAILBUFINDEX) != -1 ) { snprintf( msgbuf, sizeof( msgbuf), - "%s ˣ" - "ƺ޷ż", + "%s 回来了!" + "似乎无法寄送信件。", CHAR_getUseName( index)); CHAR_talkToCli( tocharaindex, -1, msgbuf, CHAR_COLORWHITE); PETMAIL_deleteOffmsg( CHAR_getInt( index, CHAR_PETMAILBUFINDEX)); }else { snprintf( msgbuf, sizeof( msgbuf), - "%s ˣ", CHAR_getUseName( index)); + "%s 回来了!", CHAR_getUseName( index)); CHAR_talkToCli( tocharaindex, -1, msgbuf, CHAR_COLORWHITE); } @@ -1002,9 +1002,9 @@ void CHAR_AutoPickupMailPet( int charaindex, int petindex ) char category[3]; Char *ch; if( !CHAR_CHECKINDEX( charaindex ) ) return; -#ifdef _AVID_TRADETRYBUG // +#ifdef _AVID_TRADETRYBUG //丢出宠物 if( CHAR_getWorkInt( charaindex, CHAR_WORKTRADEMODE) != CHAR_TRADE_FREE ){ - CHAR_talkToCli( charaindex, -1, "״̬޷Զʰʼ", CHAR_COLORYELLOW ); + CHAR_talkToCli( charaindex, -1, "交易状态中无法自动拾回邮件宠物!", CHAR_COLORYELLOW ); return; } #endif @@ -1012,14 +1012,14 @@ void CHAR_AutoPickupMailPet( int charaindex, int petindex ) havepetindex = CHAR_getCharPetElement( charaindex); if( havepetindex == -1 ) { - CHAR_talkToCli(charaindex,-1,"޷Զʰʼ",CHAR_COLORYELLOW); + CHAR_talkToCli(charaindex,-1,"宠物栏已满!无法自动拾回邮件宠物!",CHAR_COLORYELLOW); // WON ADD LogPet( CHAR_getChar( charaindex, CHAR_NAME ), CHAR_getChar( charaindex, CHAR_CDKEY ), CHAR_getChar( petindex, CHAR_NAME), CHAR_getInt( petindex, CHAR_LV), - "Pet_Full(޷ʰ)", + "Pet_Full(宠物栏已满,无法拾起宠物)", CHAR_getInt( charaindex,CHAR_FLOOR), CHAR_getInt( charaindex,CHAR_X ), CHAR_getInt( charaindex,CHAR_Y ), @@ -1046,7 +1046,7 @@ void CHAR_AutoPickupMailPet( int charaindex, int petindex ) CHAR_setInt( petindex, CHAR_PUTPETTIME, 0); CHAR_setWorkInt( petindex, CHAR_WORKOBJINDEX, -1); CHAR_setInt( petindex, CHAR_MAILMODE, CHAR_PETMAIL_NONE); - PETMAIL_delPetMailTotalnums( 1); // M PET Զ + PETMAIL_delPetMailTotalnums( 1); // M PET 自动捡起 strcpysafe( ch->charfunctable[CHAR_LOOPFUNC].string, sizeof( ch->charfunctable[CHAR_LOOPFUNC]),""); @@ -1062,7 +1062,7 @@ void CHAR_AutoPickupMailPet( int charaindex, int petindex ) if( strlen( p) == 0 ) { p = CHAR_getChar( petindex, CHAR_NAME); } - snprintf( mesg,sizeof(mesg), "ʰʼ %s", p); + snprintf( mesg,sizeof(mesg), "拾回邮件宠物 %s", p); CHAR_talkToCli(charaindex,-1,mesg,CHAR_COLORYELLOW); } // LogPet( @@ -1070,7 +1070,7 @@ void CHAR_AutoPickupMailPet( int charaindex, int petindex ) // CHAR_getChar( charaindex, CHAR_CDKEY ), // CHAR_getChar( petindex, CHAR_NAME), // CHAR_getInt( petindex, CHAR_LV), -// "PickupMailPet(Զջʳ)", +// "PickupMailPet(自动收回邮宠)", // CHAR_getInt( charaindex,CHAR_FLOOR), // CHAR_getInt( charaindex,CHAR_X ), // CHAR_getInt( charaindex,CHAR_Y ), diff --git a/char/skill.c b/char/skill.c index d692cd8..b43157d 100644 --- a/char/skill.c +++ b/char/skill.c @@ -7,7 +7,7 @@ #include "util.h" #include "char.h" -#ifdef _CHAR_PROFESSION // WON ADD ְҵ +#ifdef _CHAR_PROFESSION // WON ADD 人物职业 #include "battle.h" #include "profession_skill.h" #endif @@ -115,7 +115,7 @@ BOOL SKILL_makeSkillFromStringToArg( char* src, Skill* sk ) return TRUE; } -#ifdef _CHAR_PROFESSION // WON ADD ְҵ +#ifdef _CHAR_PROFESSION // WON ADD 人物职业 INLINE int SKILL_getRealInt( Skill* skill, int element) { return skill->data[element]; @@ -139,7 +139,7 @@ INLINE int SKILL_setInt( Skill* skill, int element, int new) return buf; } -#ifndef _PROFESSION_SKILL // WON ADD ְҵ +#ifndef _PROFESSION_SKILL // WON ADD 人物职业技能 static void SKILL_setitemlimit( int charaindex, Skill* sk ); static void SKILL_setmerchant( int charaindex, Skill* sk ); static void SKILL_setlevel( int charaindex, Skill* sk ); @@ -147,7 +147,7 @@ static void SKILL_setlevel( int charaindex, Skill* sk ); static SKILL_table SKILL_tbl[]={ -#ifdef _PROFESSION_SKILL // WON ADD ְҵ +#ifdef _PROFESSION_SKILL // WON ADD 人物职业技能 { 100, NULL}, // 1 { 100, NULL}, { 100, NULL}, @@ -179,7 +179,7 @@ static SKILL_table SKILL_tbl[]={ }; -#ifndef _PROFESSION_SKILL // WON ADD ְҵ +#ifndef _PROFESSION_SKILL // WON ADD 人物职业技能 static void SKILL_setitemlimit( int charaindex, Skill* sk ) { static int itemlimit[9]={ @@ -265,17 +265,17 @@ static void SKILL_setlevel( int charaindex, Skill* sk ) static char ITEM_statusStringBuffer[SKILLSTRINGBUFSIZ]; -#ifdef _CHAR_PROFESSION // WON ADD ְҵ +#ifdef _CHAR_PROFESSION // WON ADD 人物职业 char* SKILL_makeSkillStatusString( Skill* skill, int charaindex, int skill_num ) { int skillindex=SKILL_getInt( skill,SKILL_IDENTITY); int Pskill=PROFESSION_SKILL_getskillArray( skillindex); int skill_level=0, cost_mp=0; - // \ܵȼ + // 人物技能等级 skill_level = SKILL_getInt( skill, SKILL_LEVEL); - // ķMP + // 耗费MP if( (cost_mp = PROFESSION_MAGIC_COST_MP( charaindex, skill_num )) == -1 ) cost_mp = PROFESSION_SKILL_getInt( Pskill, PROFESSION_SKILL_COST_MP); @@ -408,8 +408,8 @@ void SKILL_skillEffect( int charaindex ) -#ifdef _CHAR_PROFESSION // WON ADD ְҵ -// ȡʹħķMP +#ifdef _CHAR_PROFESSION // WON ADD 人物职业 +// 取使用魔法耗费MP int PROFESSION_MAGIC_COST_MP( int charaindex, int skill_num ) { int skill_level=0, dec_mp=0; @@ -417,40 +417,40 @@ int PROFESSION_MAGIC_COST_MP( int charaindex, int skill_num ) char *skill_name; CHAR_HaveSkill* hskill; - // \ + // 人物技能 skillid = CHAR_getCharSkill( charaindex, skill_num); Pskillid = PROFESSION_SKILL_getskillArray( skillid); if( Pskillid == -1 ) return FALSE; - // + // 技能名称 skill_name = PROFESSION_SKILL_getChar( Pskillid, PROFESSION_SKILL_FUNCNAME); - // ܵȼ + // 技能等级 hskill = CHAR_getCharHaveSkill( charaindex, skill_num ); skill_level = SKILL_getInt( &hskill->skill, SKILL_LEVEL); skill_level = PROFESSION_CHANGE_SKILL_LEVEL_M( skill_level ); - if( (strcmp( skill_name, "PROFESSION_VOLCANO_SPRINGS" )) == 0 ){ // ɽȪ + if( (strcmp( skill_name, "PROFESSION_VOLCANO_SPRINGS" )) == 0 ){ // 火山泉 if( skill_level >= 10 ) dec_mp = 35; else if( skill_level >= 7 ) dec_mp = 30; else if( skill_level >= 5 ) dec_mp = 20; else if( skill_level >= 3 ) dec_mp = 15; else dec_mp = 10; }else - if( (strcmp( skill_name, "PROFESSION_FIRE_BALL" )) == 0 ){ // + if( (strcmp( skill_name, "PROFESSION_FIRE_BALL" )) == 0 ){ // 火星球 if( skill_level >= 9 ) dec_mp = 50; else if( skill_level >= 7 ) dec_mp = 45; else if( skill_level >= 5 ) dec_mp = 40; else if( skill_level >= 3 ) dec_mp = 35; else dec_mp = 30; }else - if( (strcmp( skill_name, "PROFESSION_SUMMON_THUNDER" )) == 0 ){ // + if( (strcmp( skill_name, "PROFESSION_SUMMON_THUNDER" )) == 0 ){ // 召雷术 if( skill_level >= 8 ) dec_mp = 30; else if( skill_level >= 5 ) dec_mp = 25; else if( skill_level >= 3) dec_mp = 20; else dec_mp = 10; }else - if( (strcmp( skill_name, "PROFESSION_CURRENT" )) == 0 ){ // + if( (strcmp( skill_name, "PROFESSION_CURRENT" )) == 0 ){ // 电流术 #ifdef _PROFESSION_ADDSKILL if( skill_level >= 10 ) dec_mp = 100; else if( skill_level > 9 ) dec_mp = 90; @@ -468,7 +468,7 @@ int PROFESSION_MAGIC_COST_MP( int charaindex, int skill_num ) else dec_mp = 30; #endif }else - if( (strcmp( skill_name, "PROFESSION_STORM" )) == 0 ){ // + if( (strcmp( skill_name, "PROFESSION_STORM" )) == 0 ){ // 暴风雨 #ifdef _PROFESSION_ADDSKILL if( skill_level > 8 ) dec_mp = 50; else if( skill_level > 6 ) dec_mp = 45; @@ -482,12 +482,12 @@ int PROFESSION_MAGIC_COST_MP( int charaindex, int skill_num ) else dec_mp = 50; #endif }else - if( (strcmp( skill_name, "PROFESSION_ICE_ARROW" )) == 0 ){ // + if( (strcmp( skill_name, "PROFESSION_ICE_ARROW" )) == 0 ){ // 冰箭术 if( skill_level >= 8) dec_mp = 20; else if( skill_level >= 4 ) dec_mp = 15; else dec_mp = 10; }else - if( (strcmp( skill_name, "PROFESSION_ICE_CRACK" )) == 0 ){ // + if( (strcmp( skill_name, "PROFESSION_ICE_CRACK" )) == 0 ){ // 冰爆术 #ifdef _PROFESSION_ADDSKILL if( skill_level >= 10 ) dec_mp = 80; else if( skill_level > 8 ) dec_mp = 70; @@ -503,61 +503,61 @@ int PROFESSION_MAGIC_COST_MP( int charaindex, int skill_num ) else dec_mp = 30; #endif }else - if( (strcmp( skill_name, "PROFESSION_DOOM" )) == 0 ){ // ĩ + if( (strcmp( skill_name, "PROFESSION_DOOM" )) == 0 ){ // 世界末日 if( skill_level > 8 ) dec_mp = 150; else if( skill_level > 4 ) dec_mp = 100; else dec_mp = 50; }else - if( (strcmp( skill_name, "PROFESSION_FIRE_SPEAR" )) == 0 ){ // ǹ + if( (strcmp( skill_name, "PROFESSION_FIRE_SPEAR" )) == 0 ){ // 火龙枪 if( skill_level > 8 ) dec_mp = 80; else if( skill_level > 6 ) dec_mp = 70; else if( skill_level > 4 ) dec_mp = 60; else if( skill_level > 2 ) dec_mp = 40; else dec_mp = 30; }else - if( (strcmp( skill_name, "PROFESSION_BLOOD_WORMS" )) == 0 ){ // Ѫ + if( (strcmp( skill_name, "PROFESSION_BLOOD_WORMS" )) == 0 ){ // 嗜血蛊 if( skill_level >= 10 ) dec_mp = 15; else if( skill_level >= 5 ) dec_mp = 10; else dec_mp = 5; }else - if( (strcmp( skill_name, "PROFESSION_SIGN" )) == 0 ){ // һѪ + if( (strcmp( skill_name, "PROFESSION_SIGN" )) == 0 ){ // 一针见血 if( skill_level >= 8 ) dec_mp = 10; else dec_mp = 5; }else - if( (strcmp( skill_name, "PROFESSION_ENCLOSE" )) == 0 ){ // + if( (strcmp( skill_name, "PROFESSION_ENCLOSE" )) == 0 ){ // 附身术 if( skill_level >= 10 ) dec_mp = 80; else if( skill_level >= 8 ) dec_mp = 70; else if( skill_level >= 5) dec_mp = 60; else dec_mp = 50; }else - if( (strcmp( skill_name, "PROFESSION_ICE_MIRROR" )) == 0 ){ // + if( (strcmp( skill_name, "PROFESSION_ICE_MIRROR" )) == 0 ){ // 冰镜术 if( skill_level >= 9 ) dec_mp = 40; else if( skill_level >= 7 ) dec_mp = 35; else if( skill_level >= 5 ) dec_mp = 30; else if( skill_level >= 3 ) dec_mp = 25; else dec_mp = 20; }else - if( (strcmp( skill_name, "PROFESSION_FIRE_ENCLOSE" )) == 0 ){ // + if( (strcmp( skill_name, "PROFESSION_FIRE_ENCLOSE" )) == 0 ){ // 火附体 if( skill_level >= 10 ) dec_mp = 50; else if( skill_level >= 7 ) dec_mp = 40; else if( skill_level >= 4 ) dec_mp = 30; else dec_mp = 20; }else - if( (strcmp( skill_name, "PROFESSION_ICE_ENCLOSE" )) == 0 ){ // + if( (strcmp( skill_name, "PROFESSION_ICE_ENCLOSE" )) == 0 ){ // 冰附体 if( skill_level >= 10 ) dec_mp = 50; else if( skill_level >= 7 ) dec_mp = 40; else if( skill_level >= 4 ) dec_mp = 30; else dec_mp = 20; }else - if( (strcmp( skill_name, "PROFESSION_THUNDER_ENCLOSE" )) == 0 ){ // ׸ + if( (strcmp( skill_name, "PROFESSION_THUNDER_ENCLOSE" )) == 0 ){ // 雷附体 if( skill_level >= 10 ) dec_mp = 50; else if( skill_level >= 7 ) dec_mp = 40; else if( skill_level >= 4 ) dec_mp = 30; else dec_mp = 20; }else - if( (strcmp( skill_name, "PROFESSION_TRANSPOSE" )) == 0 ){ // λλ + if( (strcmp( skill_name, "PROFESSION_TRANSPOSE" )) == 0 ){ // 移形换位 if( skill_level >= 10 ) dec_mp = 50; else if( skill_level >= 9 ) dec_mp = 40; else if( skill_level >= 7 ) dec_mp = 30; @@ -565,13 +565,13 @@ int PROFESSION_MAGIC_COST_MP( int charaindex, int skill_num ) else dec_mp = 10; }else #ifdef _PROFESSION_ADDSKILL - if( (strcmp( skill_name, "PROFESSION_RESIST_F_I_T" )) == 0 ){ // Ȼ + if( (strcmp( skill_name, "PROFESSION_RESIST_F_I_T" )) == 0 ){ // 自然威能 if( skill_level >= 10 ) dec_mp = 20; else if( skill_level >= 9 ) dec_mp = 15; else if( skill_level >= 6 ) dec_mp = 10; else dec_mp = 5; }else - if( (strcmp( skill_name, "PROFESSION_CALL_NATURE" )) == 0 ){ // Ȼ + if( (strcmp( skill_name, "PROFESSION_CALL_NATURE" )) == 0 ){ // 号召自然 /*skill_level = SKILL_getInt( &hskill->skill, SKILL_LEVEL); if( skill_level >= 100 ) dec_mp = 50; @@ -585,13 +585,13 @@ int PROFESSION_MAGIC_COST_MP( int charaindex, int skill_num ) else dec_mp = 50;*/ dec_mp = 50; }else - if( (strcmp( skill_name, "PROFESSION_BOUNDARY" )) == 0 ){ // Խ + if( (strcmp( skill_name, "PROFESSION_BOUNDARY" )) == 0 ){ // 四属性结界 char *pszP=NULL; if( skill_level > 9 ) dec_mp = 20; else if( skill_level > 6 ) dec_mp = 15; else dec_mp = 10; - //Ƴmp粻ͬ - if( (pszP = strstr( PROFESSION_SKILL_getChar( Pskillid, PROFESSION_SKILL_OPTION), "ƽ" ) ) != NULL ){// ܵIJ + //破除结界耗损mp与其他结界不同 + if( (pszP = strstr( PROFESSION_SKILL_getChar( Pskillid, PROFESSION_SKILL_OPTION), "破结界" ) ) != NULL ){// 技能的参数 if( skill_level >= 9 ) dec_mp = 20; else if( skill_level > 4 ) dec_mp = 15; else if( skill_level > 2 ) dec_mp = 10; diff --git a/char/title.c b/char/title.c index a0c0e32..7339ffe 100644 --- a/char/title.c +++ b/char/title.c @@ -18,7 +18,7 @@ #include "configfile.h" -/*====================į ====================*/ +/*====================惫寞 ====================*/ static int TITLE_IntCheck( int charaindex,int elem, int *data, int flg); static int TITLE_WorkIntCheck( int charaindex,int elem, int *data, int flg); static int TITLE_ItemCheck( int charaindex,int elem, int *data, int flg); @@ -28,28 +28,28 @@ static int TITLE_SexCheck( int charaindex,int elem, int *data, int flg); typedef enum { - TITLE_FUNCTYPENONE, /* Ϸئ */ - TITLE_FUNCTYPEUSERFUNC, /* definefunction ëȻ ë - * Ѽ¦ѷ - * int ƽҷ̼͵ - * buf ߼ - * buflen 뼰Ӯ + TITLE_FUNCTYPENONE, /* 楮醒戏岳仄卅中 */ + TITLE_FUNCTYPEUSERFUNC, /* definefunction 毛银匀化 蟆毛综月 + * 楮醒及娄醒反 + * int 平乓仿奶件犯永弁旦 + * buf 蟆尺及田永白央 + * buflen 公及田永白央及赢今 */ TITLE_USEFUNCTYPENUM }TITLE_USEFUNCTYPE; typedef struct tagTITLE_Table { - int index; /* ܷѯë׻ - * įƥȻaddtitle羮֧ + int index; /* 蛙犯□正午询晶毛潸月凶户[ + * 仇及 寞匹手匀化addtitle午井支月 */ char name[32]; TITLE_USEFUNCTYPE functype; void (*definefunction)(int,char* buf,int buflen); }TITLE_Table; -/* ɷ¶ - * STR,TGH,MAXMPATK,DEF +/* 银尹月由仿丢□正 + * STR,TGH,MAXMP]ATK,DEF * LEVEL,CLASS,SKILL,ITEM,FIREREG,ICEREG,THUNDERREG * KANJILV,TALKCNT,WALKCNT,DEADCNT,LOGINCNT,BASEIMAGENUMBER * GOLD @@ -69,11 +69,11 @@ typedef struct tagTITLE_PARAM TITLE_PARAM TITLE_param[] = { - /**** ****/ + /**** 仇仇井日 ****/ { -1, TITLE_ItemCheck, "ITEM" }, { -1, TITLE_ItemEquipCheck,"EQUIPITEM" }, { -1, NULL, "EQUIPEVENT" }, - /**** ƥ ئƥʷֽУ ****/ + /**** 仇仇引匹反 凳仄卅中匹仁分今中[ ****/ { -1, TITLE_SkillCheck, "SKILL" }, { CHAR_STR, TITLE_IntCheck, "STR" }, { CHAR_TOUGH, TITLE_IntCheck, "TGH" }, @@ -93,13 +93,13 @@ TITLE_PARAM TITLE_param[] = #define TITLE_PARAMSIZE 20 typedef struct tagTITLE_configTable { - int paramindex[20]; /* TITLE_param߼ٯ */ - int param[20][TITLE_PARAMSIZE]; /* Ұ */ - int compareflg[20]; /* ><=¾ */ + int paramindex[20]; /* TITLE_param尺及骄侬 */ + int param[20][TITLE_PARAMSIZE]; /* 笠袄 */ + int compareflg[20]; /* ><=羁升丹允月井 */ int title; BOOL equipcheckflg; /* - * ʧ ة ìƥ𼰰׷º뼰 Ȼ - * ּƾئУ + * 失奶 丞啖 奶矛件玄匹反仇及白仿弘及 匀化中月 + * 手及仄井腹绸仄卅中[ */ }TITLE_CONFIGTABLE; @@ -116,7 +116,7 @@ static int TITLE_titlenum; static int TITLE_titlecfgnum; /*------------------------------------------------------------ - * index įTITLE_tableٯë + * index 寞井日TITLE_table及骄侬毛 月 ------------------------------------------------------------*/ int TITLE_getTitleIndex( int index) { @@ -130,23 +130,23 @@ int TITLE_getTitleIndex( int index) return -1; } -/* 뼰 */ +/* 田永白央及扔奶术 */ #define TITLESTRINGBUFSIZ 256 -/* ͷʧέµƽﷸ ٯ */ +/* 弁仿奶失件玄卞苇六月旦平伙犯□正及 侬 及田永白央 */ static char TITLE_statusStringBuffer[TITLESTRINGBUFSIZ]; /*------------------------------------------------------------ - * ͷʧέ±į ٯ ë - * ¦ - * title Title* ƽ - * charaindex int 𼰱įë Ȼƽҷ¼̼͵ - * ߯Ի + * 弁仿奶失件玄卞苇六月惫寞及 侬 毛综月 + * 娄醒 + * title Title* 旦平伙 + * charaindex int 仇及惫寞毛 匀化中月平乓仿及奶件犯永弁旦 + * 忒曰袄 * char* ------------------------------------------------------------*/ char* TITLE_makeTitleStatusString( int charaindex,int havetitleindex ) { int attach; int index; - /* ߼̼͵շë */ + /* 楮醒 尺及奶件犯永弁旦井日犯□正毛综岳允月 */ index = CHAR_getCharHaveTitle( charaindex,havetitleindex ); attach = TITLE_getTitleIndex( index); @@ -182,10 +182,10 @@ char* TITLE_makeTitleStatusString( int charaindex,int havetitleindex ) } /*------------------------------------------------------------ - * ئбį ٯ ë߯ - * ¦ - * ئ - * ߯Ի + * 卅中惫寞及 侬 犯□正毛忒允 + * 娄醒 + * 卅仄 + * 忒曰袄 * char* ------------------------------------------------------------*/ char* TITLE_makeSkillFalseString( void ) @@ -196,13 +196,13 @@ char* TITLE_makeSkillFalseString( void ) /*------------------------------------------------------------ - * ϶ýľ įįëܰ£ۺֽئȻգܰئ - * ¦ - * charaindex int ƽҷ̼͵ - * titleindex int į̼͵ - * ߯Ի - * ܰindex - * ܰئ FALSE(0) + * 隙烂今木凶 寞及惫寞毛馨笛允月[褐今卅匀化中凶日}馨笛仄卅中 + * 娄醒 + * charaindex int 平乓仿奶件犯永弁旦 + * titleindex int 惫寞奶件犯永弁旦 + * 忒曰袄 + * 馨笛仄凶index + * 馨笛仄卅井匀凶 FALSE(0) ------------------------------------------------------------*/ BOOL TITLE_addtitle( int charaindex, int titleindex ) { @@ -215,7 +215,7 @@ BOOL TITLE_addtitle( int charaindex, int titleindex ) for( i=0 ; i < CHAR_TITLEMAXHAVE ; i++ ){ if( CHAR_getCharHaveTitle( charaindex,i ) == titleindex ) - /* ƥ Ȼ¾ئ */ + /* 允匹卞 匀化中月井日窒手仄卅中 */ return FALSE; if( firstfindempty == -1 && CHAR_getCharHaveTitle(charaindex,i) == -1 ){ @@ -227,14 +227,14 @@ BOOL TITLE_addtitle( int charaindex, int titleindex ) /*------------------------------------------------------------ - * ϶ýľ įįؤմ£ئئУ - * ؤ ʣ - * ¦ - * charaindex int ƽҷ̼͵ - * titleindex int į̼͵ - * ߯Ի - * TRUE(1) - * ئ FALSE(0) + * 隙烂今木凶 寞及惫寞互丐匀凶日绰轮允月[卅井匀凶日窒手仄卅中[ + * 醒蜊丐匀凶日蝈 壅允[ + * 娄醒 + * charaindex int 平乓仿奶件犯永弁旦 + * titleindex int 惫寞奶件犯永弁旦 + * 忒曰袄 + * 绰轮仄凶 TRUE(1) + * 绰轮仄卅井匀凶 FALSE(0) ------------------------------------------------------------*/ BOOL TITLE_deltitle( int charaindex, int titleindex ) { @@ -248,11 +248,11 @@ BOOL TITLE_deltitle( int charaindex, int titleindex ) for( i=0 ; i < CHAR_TITLEMAXHAVE ; i++ ) if( CHAR_getCharHaveTitle( charaindex,i ) == titleindex ){ - /* лȻ֧ئɣľئƱ */ + /* 愤坌互银匀化中凶支勾卅日壬}公木手卅仄卞允月 */ if( CHAR_getInt(charaindex, CHAR_INDEXOFEQTITLE) == i ){ CHAR_setInt(charaindex, CHAR_INDEXOFEQTITLE, -1 ); } - /* Ȼ¾ */ + /* 匀化中月井日壅允 */ CHAR_setCharHaveTitle( charaindex,i,-1); del = TRUE; @@ -261,12 +261,12 @@ BOOL TITLE_deltitle( int charaindex, int titleindex ) return del; } /*------------------------------------------------------------ - * įë£ - * ¦ - * filename char* ɬð̻ - * ߯Ի - * TRUE(1) - * FALSE(0) + * 惫寞及赓渝祭毛允月[ + * 娄醒 + * filename char* 涩烂白央奶伙 + * 忒曰袄 + * 岳 TRUE(1) + * 撩 FALSE(0) *------------------------------------------------------------*/ BOOL TITLE_initTitleName( char* filename ) { @@ -283,7 +283,7 @@ BOOL TITLE_initTitleName( char* filename ) TITLE_titlenum=0; - /* ئ滥ϵؤ¾Ʃ */ + /* 引内 躲卅垫互窒垫丐月井升丹井譬屯月 */ while( fgets( line, sizeof( line ), f ) ){ linenum ++; if( line[0] == '#' )continue; /* comment */ @@ -294,7 +294,7 @@ BOOL TITLE_initTitleName( char* filename ) } if( fseek( f, 0, SEEK_SET ) == -1 ){ - fprint( "ѰҴ\n" ); + fprint( "寻找错误\n" ); fclose(f); return FALSE; } @@ -302,12 +302,12 @@ BOOL TITLE_initTitleName( char* filename ) TITLE_table = allocateMemory( sizeof(struct tagTITLE_Table) * TITLE_titlenum ); if( TITLE_table == NULL ){ - fprint( "޷ڴ %d\n" , + fprint( "无法分配内存 %d\n" , sizeof(TITLE_table)*TITLE_titlenum); fclose( f ); return FALSE; } - /* */ + /* 赓渝祭 */ { int i; for( i = 0; i < TITLE_titlenum; i ++ ) { @@ -319,7 +319,7 @@ BOOL TITLE_initTitleName( char* filename ) } - /* */ + /* 引凶 心 允 */ linenum = 0; while( fgets( line, sizeof( line ), f ) ){ linenum ++; @@ -327,10 +327,10 @@ BOOL TITLE_initTitleName( char* filename ) if( line[0] == '\n' )continue; /* none */ chomp( line ); - /* ë */ - /* tab ë " " 徧 */ + /* 垫毛帮溥允月 */ + /* 引内 tab 毛 " " 卞 五晶尹月 */ replaceString( line, '\t' , ' ' ); - /* ʸë£*/ + /* 燮 及旦矢□旦毛潸月[*/ { int i; char buf[256]; @@ -348,24 +348,24 @@ BOOL TITLE_initTitleName( char* filename ) char token[256]; int ret; - /* 繴ͼëέ */ + /* 夫午勾户及玄□弁件毛苇月 */ ret = getStringFromIndexWithDelim( line,",",1,token, sizeof(token)); if( ret==FALSE ){ - fprint("ļ﷨:%s %d\n",filename,linenum); + fprint("文件语法错误:%s 第%d行\n",filename,linenum); continue; } TITLE_table[title_readlen].index = atoi(token); - /* 2ͼëέ */ + /* 2勾户及玄□弁件毛苇月 */ ret = getStringFromIndexWithDelim( line,",",2,token, sizeof(token)); if( ret==FALSE ){ - fprint("ļ﷨:%s %d\n",filename,linenum); + fprint("文件语法错误:%s 第%d行\n",filename,linenum); continue; } if( strlen( token) > sizeof( TITLE_table[title_readlen].name)-1) { - fprint("! ͷƽļ:%s %d\n", + fprint("警告! 头衔名称结束文件:%s 第%d行\n", filename, linenum); } strcpysafe( TITLE_table[title_readlen].name, @@ -379,14 +379,14 @@ BOOL TITLE_initTitleName( char* filename ) TITLE_titlenum = title_readlen; - print( "Чͷ %d...", TITLE_titlenum ); + print( "有效头衔名称数是 %d...", TITLE_titlenum ); #ifdef DEBUG { int i; for( i=0; i ="); if( comppos == -1 ) { - fprint("ļ﷨:%s %d\n",filename,linenum); + fprint("文件语法错误:%s 第%d行\n",filename,linenum); TITLE_initTitleData( titlecfg_readlen); errflg = TRUE; break;; } - /* įįṴ */ + /* 羁寞]尕羁寞互ㄡ勾动晓 月午五 */ if( charInclude( &token[comppos+1], "<>=") != -1 ) { - /* ئ ʤë */ + /* 升氏卅 胜井毛 戈 */ for( j = 0; j < 3; j ++ ) { if( memcmp( TITLE_compare[j].compare, &token[comppos], 2 ) == 0 ) { break; } } if( j == 3 ) { - fprint("ļ﷨:%s %d\n",filename,linenum); + fprint("文件语法错误:%s 第%d行\n",filename,linenum); TITLE_initTitleData( titlecfg_readlen); errflg = TRUE; break; @@ -673,7 +673,7 @@ BOOL TITLE_initTitleConfig( char* filename ) else { ret = TITLE_getParamData( titlecfg_readlen,i-1,&token[comppos+2]); if( !ret ) { - fprint("ļ﷨:%s %d\n",filename,linenum); + fprint("文件语法错误:%s 第%d行\n",filename,linenum); TITLE_initTitleData( titlecfg_readlen); errflg = TRUE; break; @@ -687,14 +687,14 @@ BOOL TITLE_initTitleConfig( char* filename ) else { ret = TITLE_getParamData( titlecfg_readlen,i-1,&token[comppos+1]); if( !ret ) { - fprint("ļ﷨:%s %d\n",filename,linenum); + fprint("文件语法错误:%s 第%d行\n",filename,linenum); TITLE_initTitleData( titlecfg_readlen); errflg = TRUE; break; } /*TITLE_ConfigTable[titlecfg_readlen].param[i-1] = atoi( &token[comppos+1]);*/ - /* ئ ʤë */ + /* 升氏卅 胜井毛 戈 */ for( j = 3; j < 6; j ++ ) { if( memcmp( TITLE_compare[j].compare, &token[comppos], 1 ) == 0 ) { TITLE_ConfigTable[titlecfg_readlen].compareflg[i-1] = j; @@ -704,9 +704,9 @@ BOOL TITLE_initTitleConfig( char* filename ) } } } - /* į ϶û or ئϾռ޷¡*/ + /* 惫寞 隙烂互 井匀凶 or 卅氏井仄日及巨仿□*/ if( errflg || TITLE_ConfigTable[titlecfg_readlen].title == -1 ) { - fprint("ļ﷨:%s %d\n",filename,linenum); + fprint("文件语法错误:%s 第%d行\n",filename,linenum); TITLE_initTitleData( titlecfg_readlen); } else { @@ -718,24 +718,24 @@ BOOL TITLE_initTitleConfig( char* filename ) TITLE_titlecfgnum = titlecfg_readlen; - print( "Чͷ %d...", TITLE_titlecfgnum ); + print( "有效头衔配置数是 %d...", TITLE_titlecfgnum ); return TRUE; } /*------------------------------------------------------------ - * įɬñƩͻįëܸ£ - * ¦ - * charaindex int ƽҷ̼͵ - * mode BOOL TRUE:item=ּƩ FALSE: - * ߯Ի - * TRUE: į Ի - * FALSE: ף + * 惫寞涩烂卞宁丹井譬屯化惫寞毛芨尹月[ + * 娄醒 + * charaindex int 平乓仿奶件犯永弁旦 + * mode BOOL TRUE:item=及手及及心譬屯月 FALSE:蝈 + * 忒曰袄 + * TRUE: 惫寞卞 祭 曰[ + * FALSE:窒手 井匀凶[ *------------------------------------------------------------*/ static BOOL TITLE_TitleCheck_Main( int charaindex, BOOL mode, int *addcnt, int *delcnt) { int i, j,k, ret; - /* */ + /* 赓渝祭 */ { int i; for( i = 0; i < TITLE_titlecfgnum && TITLE_configbuf[i].title != -1; i ++ ) { @@ -770,8 +770,8 @@ static BOOL TITLE_TitleCheck_Main( int charaindex, BOOL mode, int *addcnt, int * if( rc != TRUE ) break; } } - /* ԪįԻ񲻯ľݼб - * add,deltile + /* 醒椭瘀卞 元惫寞互喃曰癫化日木化中月凛及啃卞] + * 域绎田永白央卞霪户化公及瑛绊井日add,deltile允月 */ for( k = 0; k < TITLE_titlecfgnum; k ++ ) { if( TITLE_configbuf[k].title == title ) { @@ -803,13 +803,13 @@ static BOOL TITLE_TitleCheck_Main( int charaindex, BOOL mode, int *addcnt, int * } /*------------------------------------------------------------ - * įɬñƩͻįëܸ£ - * ¦ - * charaindex int ƽҷ̼͵ - * mode BOOL TRUE:item=ּƩ FALSE: - * ߯Ի - * TRUE: į Ի - * FALSE: ף + * 惫寞涩烂卞宁丹井譬屯化惫寞毛芨尹月[ + * 娄醒 + * charaindex int 平乓仿奶件犯永弁旦 + * mode BOOL TRUE:item=及手及及心譬屯月 FALSE:蝈 + * 忒曰袄 + * TRUE: 惫寞卞 祭 曰[ + * FALSE:窒手 井匀凶[ *------------------------------------------------------------*/ BOOL TITLE_TitleCheck( int charaindex, BOOL mode) { @@ -822,13 +822,13 @@ BOOL TITLE_TitleCheck( int charaindex, BOOL mode) if( rc ) { if( delcnt > 0 ) { snprintf( msgbuf, sizeof( msgbuf), - "ʧȥ%d%s ƺţ", delcnt, + "失去%d%s 称号!", delcnt, delcnt < 10 ? TITLE_MSGUNIT1:TITLE_MSGUNIT2); CHAR_talkToCli( charaindex, -1, msgbuf, CHAR_COLORYELLOW); } if( addcnt > 0 ) { snprintf( msgbuf, sizeof( msgbuf), - "%d%s ƺţ", addcnt, + "获得%d%s 称号!", addcnt, addcnt < 10 ? TITLE_MSGUNIT1:TITLE_MSGUNIT2); CHAR_talkToCli( charaindex, -1, msgbuf, CHAR_COLORYELLOW); } @@ -836,13 +836,13 @@ BOOL TITLE_TitleCheck( int charaindex, BOOL mode) return rc; } /*------------------------------------------------------------ - * įɬñƩͻįëܸ£ - * ¦ - * charaindex int ƽҷ̼͵ - * mode BOOL TRUE:item=ּƩ FALSE: - * ߯Ի - * TRUE: į Ի - * FALSE: ף + * 惫寞涩烂卞宁丹井譬屯化惫寞毛芨尹月[ + * 娄醒 + * charaindex int 平乓仿奶件犯永弁旦 + * mode BOOL TRUE:item=及手及及心譬屯月 FALSE:蝈 + * 忒曰袄 + * TRUE: 惫寞卞 祭 曰[ + * FALSE:窒手 井匀凶[ *------------------------------------------------------------*/ BOOL TITLE_TitleCheck_Nomsg( int charaindex, BOOL mode, int *addcnt, int *delcnt) { @@ -915,7 +915,7 @@ static int TITLE_WorkIntCheck( int charaindex,int elem, int *data, int flg) return rc; } /* -------------------------------------- - * ϶ýľdata Ȼʧ ةë ʤ£ + * 隙烂今木凶data午 匀化中月失奶 丞毛 胜允月[ * -------------------------------------*/ static int TITLE_ItemCheckMain( int charaindex, int itemhaveindex, int *data, int flg) { @@ -944,9 +944,9 @@ static int TITLE_ItemCheckMain( int charaindex, int itemhaveindex, int *data, in case 5: /* "=" */ if( ITEM_getInt( itemindex, ITEM_ID) == *(data +j)) rc = TRUE; break; - /* ľ У - * ʧ ة ëέľë Ȼئީ£ - * ƥ Ȼëƻ + /* 仇木分仃 健中[ + * 失奶 丞蝈 毛苇化公木毛 匀化中卅井匀凶日蕞午允月[ + * 仇仇匹反 匀化中月仪毛絮午仄化民尼永弁 */ case 2: /* "<>" */ if( ITEM_getInt( itemindex, ITEM_ID) == *(data +j)) rc = FALSE; @@ -1034,7 +1034,7 @@ static int TITLE_SkillCheck( int charaindex,int elem, int *data, int flg) return rc; } /* -------------------------------------- - * ƽҷ¾ƽҷ¾£ + * 裆平乓仿井辉平乓仿井民尼永弁允月[ * -------------------------------------*/ static int TITLE_SexCheck( int charaindex,int elem, int *data, int flg) { diff --git a/char/trade.c b/char/trade.c index bba10e0..5458f0f 100644 --- a/char/trade.c +++ b/char/trade.c @@ -20,38 +20,38 @@ #include "npc_bus.h" #include "char_talk.h" #include "magic_base.h" -#ifdef _TRADESYSTEM2 // (ɿ) Syu ADD ½ϵͳ +#ifdef _TRADESYSTEM2 // (不可开) Syu ADD 新交易系统 #include "pet_skill.h" #endif #ifdef _PET_AMOI__E #include "pet.h" #endif -#define TRADE_WAIT "Ժ%sС" -#define TRADE_NONE "ǰʲҲûУ" -#define TRADE_OVERPLAYER "ǰֻһλร" -#define TRADE_NOWILL "DZǸԷԸ㽻ף" -#define TRADE_TRADING "%s˽ס" -#define TRADE_VANISHITEM "ڵϻʧƷ޷ף" -#define TRADE_PETFULL "%sȡ" -#define TRADE_ITEMFULL "%sƷٽס" -#define TRADE_CANCEL "%sȡˣ" -#define TRADE_POOR "%sǮ޷ף" -#define TRADE_RICH "%sǮ𳬹һ" -#define TRADE_TOORICH "%sǮᳬһ" -#define TRADE_POORLV "%sȼ޷չ˽ij" -#define TRADE_LOCK "" -#define TRADE_SUCCESS "ףϣˣ" -#define TRADE_FAILED "ʧܣ" -#define TRADE_FMPET "ػ޷ף" +#define TRADE_WAIT "请稍候,连络%s中···" +#define TRADE_NONE "前方什麽人也没有!" +#define TRADE_OVERPLAYER "前方不只一位玩家喔!" +#define TRADE_NOWILL "真是抱歉,对方不愿意跟你交易!" +#define TRADE_TRADING "%s正在与其他人交易···" +#define TRADE_VANISHITEM "丢在地上会消失的物品无法交易!" +#define TRADE_PETFULL "%s宠物栏已满,交易取消!" +#define TRADE_ITEMFULL "%s物品栏已满,请整理後再交易~" +#define TRADE_CANCEL "%s将交易取消了!" +#define TRADE_POOR "%s钱不够,无法交易!" +#define TRADE_RICH "%s金钱交易请勿超过一百万!" +#define TRADE_TOORICH "%s金钱将会超过一百万!" +#define TRADE_POORLV "%s等级不够,无法照顾交易後的宠物!" +#define TRADE_LOCK "交易锁定···" +#define TRADE_SUCCESS "交易OK!" +#define TRADE_FAILED "交易失败!" +#define TRADE_FMPET "家族守护兽无法交易!" -#define TRADE_RDCANCEL "ȡ" +#define TRADE_RDCANCEL "交易取消!" #ifdef _TRADE_PK -#define TRADE_PK_START "ʼPK" +#define TRADE_PK_START "开始交易PK!" #endif #ifdef _LOCK_PET_ITEM -#define TRADE_LOCKPET "󶨵ij޷ף" -#define TRADE_LOCKITEM "󶨵ĵ޷ף" +#define TRADE_LOCKPET "绑定的宠物无法交易!" +#define TRADE_LOCKITEM "绑定的道具无法交易!" #endif #ifdef _ITEM_PILEFORTRADE @@ -86,11 +86,11 @@ BOOL TRADE_getSomeTradeList( int meindex, STradeList *temp); void TRADE_InitTradeList( void) { int i; - print("ʼϵͳ..."); + print("初始化交易系统..."); for( i=0; i= CHAR_MAXITEMHAVE ) return FALSE; itemindex = CHAR_getItemIndex( meindex, usTi ); -//ǰ󶨵ĵ򲻿ڽ +//如果是绑定的道具则不可以用于交易 #ifdef _PETITEM__AMOI_E if(ITEM_NOT_TRADE & ITEM_getInt(itemindex, ITEM_TYPEOFITEM)){ char buf[256]; - sprintf( buf, "%s޷ס", ITEM_getChar( itemindex, ITEM_NAME) ); + sprintf( buf, "%s无法交易。", ITEM_getChar( itemindex, ITEM_NAME) ); CHAR_talkToCli( meindex, -1, buf, CHAR_COLORRED); return FALSE; } @@ -250,12 +250,12 @@ BOOL TRADE_addSomeTradeList( int meindex, int usTi, int *num, int type) if( ITEM_getInt( itemindex, ITEM_VANISHATDROP) == 1 || ITEM_getInt( itemindex, ITEM_TIME) > 0){ char buf[256]; - sprintf( buf, "%s޷ס", ITEM_getChar( itemindex, ITEM_NAME) ); + sprintf( buf, "%s无法交易。", ITEM_getChar( itemindex, ITEM_NAME) ); CHAR_talkToCli( meindex, -1, buf, CHAR_COLORYELLOW); return FALSE; } #ifdef _ZHIPIAO_SYSTEM - if( strstr(ITEM_getChar(itemindex,ITEM_NAME),"֧Ʊ")!=NULL && strstr(ITEM_getChar(itemindex,ITEM_NAME),"DP֧Ʊ")==NULL ){ + if( strstr(ITEM_getChar(itemindex,ITEM_NAME),"支票")!=NULL && strstr(ITEM_getChar(itemindex,ITEM_NAME),"DP支票")==NULL ){ int zhipiaoindex=atoi(ITEM_getChar(itemindex,ITEM_ARGUMENT)); if(zhipiaoindex>0){ time_t timep; @@ -264,7 +264,7 @@ BOOL TRADE_addSomeTradeList( int meindex, int usTi, int *num, int type) p=localtime(&timep); timep = mktime(p); if(timep>zhipiaoindex){ - CHAR_talkToCli(meindex, -1, "֧ƱѾڣ޷ף뾡ʹã", CHAR_COLORYELLOW); + CHAR_talkToCli(meindex, -1, "该支票已经过期,无法交易,请尽快使用!", CHAR_COLORYELLOW); return FALSE; } } @@ -274,12 +274,12 @@ BOOL TRADE_addSomeTradeList( int meindex, int usTi, int *num, int type) char *arg = ITEM_getChar(itemindex, ITEM_NAME); if(arg[0] == '*'){ char buf[256]; - sprintf( buf, "%s޷ס", ITEM_getChar( itemindex, ITEM_NAME) ); + sprintf( buf, "%s无法交易。", ITEM_getChar( itemindex, ITEM_NAME) ); CHAR_talkToCli( meindex, -1, buf, CHAR_COLORYELLOW); return FALSE; } #endif - if( ITEM_getInt( itemindex, ITEM_CANBEPILE) == 1 ){//ɶѵ + if( ITEM_getInt( itemindex, ITEM_CANBEPILE) == 1 ){//可堆叠 int itemMaxPile = ITEM_getInt( itemindex, ITEM_USEPILENUMS); if( itemMaxPile < 0 ) return FALSE; //ITEM_USEPILENUMS @@ -309,35 +309,35 @@ BOOL TRADE_addSomeTradeList( int meindex, int usTi, int *num, int type) petindex = CHAR_getCharPet( meindex, usTi ); if( !CHAR_CHECKINDEX(petindex)) return FALSE; if( CHAR_getInt( petindex, CHAR_PETFAMILY) == 1 ){ - CHAR_talkToCli( meindex, -1, "ػ޷ס", CHAR_COLORYELLOW); - return FALSE;//ػ + CHAR_talkToCli( meindex, -1, "家族守护兽无法交易。", CHAR_COLORYELLOW); + return FALSE;//家族守护兽 } if( CHAR_getWorkInt( toindex, CHAR_PickAllPet) != TRUE ){ if( CHAR_getInt( petindex, CHAR_LV) > (CHAR_getInt( toindex, CHAR_LV)+5) && (CHAR_getInt( toindex, CHAR_TRANSMIGRATION ) <= 0 ) ){ - CHAR_talkToCli( meindex, -1, "Է޷չ˸ó", CHAR_COLORYELLOW); + CHAR_talkToCli( meindex, -1, "对方无法照顾该宠物。", CHAR_COLORYELLOW); return FALSE; } } -//ǰ󶨵ij򲻿ɽ +//如果是绑定的宠物则不可交易 #ifdef _PET_AMOI__E //if( PET_NOT_DropTradeStreetVandor== EVOLUTION_getPetENABLETRADE( CHAR_getInt( petindex, CHAR_PETID)) || // PET_NOT_Trade == EVOLUTION_getPetENABLETRADE( CHAR_getInt( petindex, CHAR_PETID))|| // PET_NOT_TradeAndStreetVandor == EVOLUTION_getPetENABLETRADE( CHAR_getInt( petindex, CHAR_PETID))){ if( ( PET_NOT_TRADE) & EVOLUTION_getPetENABLETRADE( CHAR_getInt( petindex, CHAR_PETID))){ - CHAR_talkToCli(meindex,-1,"ó޷!~",CHAR_COLORRED); + CHAR_talkToCli(meindex,-1,"该宠物无法交易!~",CHAR_COLORRED); return FALSE; } #endif #ifdef _PET_BUG if( CHAR_getInt( petindex, CHAR_VITAL)>=getPetPoint(0)*20 || CHAR_getInt(petindex,CHAR_STR)>=getPetPoint(1)*80 || CHAR_getInt(petindex,CHAR_TOUGH)>=getPetPoint(2)*80 || CHAR_getInt(petindex,CHAR_DEX)>=getPetPoint(3)*100){ - CHAR_talkToCli( meindex, -1, "Թ޷ס", CHAR_COLORYELLOW); - return FALSE;//Թ + CHAR_talkToCli( meindex, -1, "宠物属性过高无法交易。", CHAR_COLORYELLOW); + return FALSE;//属性过高 } #endif if(strlen(CHAR_getChar(petindex,CHAR_USERPETNAME))>0 && strstr(CHAR_getChar(petindex,CHAR_USERPETNAME),"*")!=NULL){ - CHAR_talkToCli(meindex, -1, "Զк(*)޷ꡢס̯޸ĺ", CHAR_COLORYELLOW); + CHAR_talkToCli(meindex, -1, "宠物自定义名称中含有(*),无法丢弃、卖店、交易、摆摊,请修改后操作。", CHAR_COLORYELLOW); return FALSE; } #ifdef _PETSKILL_BINDING @@ -346,15 +346,15 @@ BOOL TRADE_addSomeTradeList( int meindex, int usTi, int *num, int type) skillid=CHAR_getPetSkill(petindex,pi); skillarray = PETSKILL_getPetskillArray( skillid); if( PETSKILL_CHECKINDEX( skillarray) == FALSE ) continue; - if(strstr(PETSKILL_getChar( skillarray, PETSKILL_NAME),"")){ - CHAR_talkToCli(meindex, -1, "˳Ϊ󶨳޷", CHAR_COLORRED); + if(strstr(PETSKILL_getChar( skillarray, PETSKILL_NAME),"★")){ + CHAR_talkToCli(meindex, -1, "此宠物为绑定宠物,无法交易", CHAR_COLORRED); return FALSE; } } #endif #ifdef _PET_BINDING if(strstr(CHAR_getChar(petindex,CHAR_NAME),"*") || strstr(CHAR_getChar(petindex,CHAR_NAME),"+")){ - CHAR_talkToCli(meindex, -1, "˳Ϊ󶨳޷", CHAR_COLORRED); + CHAR_talkToCli(meindex, -1, "此宠物为绑定宠物,无法交易", CHAR_COLORRED); return FALSE; } #endif @@ -414,7 +414,7 @@ BOOL TRADE_HandlePet( int meindex, int showindex, char *message, char *outmess); void CHAR_Trade(int fd, int index, char* message) { char firstToken[64]; - // shan עDzҪĶ 2002/03/05 + // shan 以下注掉是不必要的动作 2002/03/05 //char messageeraseescape[512]; char* messagebody; @@ -430,17 +430,17 @@ void CHAR_Trade(int fd, int index, char* message) CHAR_getMessageBody( message, firstToken, sizeof(firstToken), &messagebody); switch( tolower( firstToken[0]) ){ - case 'd': // Ѱǰ + case 'd': // 寻找前方玩家 TRADE_Search(fd, index, message); break; /* case 'c': TRADE_Will(fd, index, message); break; -*/ case 't': // ʾ׵ƷǮ +*/ case 't': // 显示交易的物品、金钱、宠物 TRADE_ShowItem(fd, index, message); break; - case 'w': // رս + case 'w': // 关闭交易 print(" TRADE_Close:%d ", index); TRADE_Close(fd, index, message); break; @@ -461,18 +461,18 @@ BOOL TRADE_Search(int fd, int meindex, char* message) if (!CHAR_CHECKINDEX(meindex)) return FALSE; - // ״̬Ϊл账 + // 若玩家状态为交易中或交易锁定中则不予处理 if (CHAR_getWorkInt(meindex, CHAR_WORKTRADEMODE) == CHAR_TRADE_TRADING || CHAR_getWorkInt(meindex, CHAR_WORKTRADEMODE) == CHAR_TRADE_LOCK) return FALSE; - // ״̬Ϊӻս账 + // 若玩家状态为组队或战斗中则不予处理 if ((CHAR_getWorkInt(meindex, CHAR_WORKPARTYMODE) != CHAR_PARTY_NONE) || (CHAR_getWorkInt(meindex, CHAR_WORKBATTLEMODE) != BATTLE_CHARMODE_NONE)) return FALSE; #ifdef _STREET_VENDOR - // ڰ̯в + // 若玩家在摆摊中不处理交易 if(CHAR_getWorkInt(meindex,CHAR_WORKSTREETVENDOR) > -1) return FALSE; #endif @@ -480,7 +480,7 @@ BOOL TRADE_Search(int fd, int meindex, char* message) if (getStringFromIndexWithDelim(message, "|", 2, token, sizeof(token)) == FALSE) return FALSE; - // 趨״̬ + // 设定状态交易请求中 // CHAR_setWorkInt(meindex, CHAR_WORKTRADEMODE, CHAR_TRADE_SENDING); #ifndef _ITEM_PILEFORTRADE @@ -494,7 +494,7 @@ BOOL TRADE_Search(int fd, int meindex, char* message) found_count = CHAR_getSameCoordinateObjects( objbuf, arraysizeof(objbuf), CHAR_getInt(meindex, CHAR_FLOOR),front_x, front_y); - // ǰûһԷرսѡ + // 前方没有玩家或对方关闭交易选项 if (found_count == 0){ CHAR_talkToCli(meindex, -1, TRADE_NONE, CHAR_COLORYELLOW); CHAR_setWorkInt(meindex, CHAR_WORKTRADEMODE, CHAR_TRADE_FREE); @@ -531,7 +531,7 @@ BOOL TRADE_Search(int fd, int meindex, char* message) } if (cnt == 0){ - // ǰûһԷرսѡ + // 前方没有玩家或对方关闭交易选项 if (found){ CHAR_talkToCli(meindex, -1, TRADE_NOWILL, CHAR_COLORYELLOW); }else @@ -541,7 +541,7 @@ BOOL TRADE_Search(int fd, int meindex, char* message) CHAR_setWorkInt(meindex, CHAR_WORKTRADEMODE, CHAR_TRADE_FREE); return FALSE; } - // ǰһλ + // 前方有一位玩家 if (cnt == 1){ #ifdef _ITEM_PILEFORTRADE int ti; @@ -554,7 +554,7 @@ BOOL TRADE_Search(int fd, int meindex, char* message) if( (ti = TRADE_getTradeListIndex()) < 0 || TRADE_setTradeListIndex( ti, meindex, toindex) == FALSE ){ - CHAR_talkToCli( meindex, -1, "ϵͳæµС", CHAR_COLORYELLOW); + CHAR_talkToCli( meindex, -1, "系统忙碌中。", CHAR_COLORYELLOW); CHAR_setWorkInt( meindex, CHAR_WORKTRADEMODE, CHAR_TRADE_FREE); TRADE_CheckTradeListUser(); @@ -579,7 +579,7 @@ BOOL TRADE_Search(int fd, int meindex, char* message) CHAR_sendTradeEffect(meindex, 1); CHAR_sendTradeEffect(toindex, 1); return TRUE; - }else if (cnt > 1){ // ǰֻһλ + }else if (cnt > 1){ // 前方不只一位玩家 CHAR_talkToCli(meindex, -1, TRADE_OVERPLAYER, CHAR_COLORYELLOW); // sprintf(msgbuf, "C|%d|%s|0", tofd, tocharaname); CHAR_setWorkInt(meindex, CHAR_WORKTRADEMODE, CHAR_TRADE_FREE); @@ -723,7 +723,7 @@ void TRADE_ShowItem(int fd, int meindex, char* message) #endif if (!CHAR_CHECKINDEX(toindex)) return; - // ״̬Ϊӻս账 + // 若玩家状态为组队或战斗中则不予处理 if ((CHAR_getWorkInt(meindex, CHAR_WORKPARTYMODE) != CHAR_PARTY_NONE) || (CHAR_getWorkInt(meindex, CHAR_WORKBATTLEMODE) != BATTLE_CHARMODE_NONE)) return; @@ -761,7 +761,7 @@ void TRADE_ShowItem(int fd, int meindex, char* message) print(" TRADE_Close_Err4:%d,%d,%s,%s ", meindex, showindex, message, buf1); TRADE_Close(fd, meindex, message); return; - }else{// ֮ǮԷ + }else{// 将欲交易之金钱传给对方 snprintf(msg, sizeof(msg), "T|%d|%s|G|%d|%s", fd, mycharaname, showindex, buf1); lssproto_TD_send( tofd, -1, msg); } @@ -783,14 +783,14 @@ void TRADE_ShowItem(int fd, int meindex, char* message) break; case 'k': if((CONNECT_get_confirm(fd)==TRUE) && - (CONNECT_get_confirm(tofd)==TRUE) ){//˫ lock + (CONNECT_get_confirm(tofd)==TRUE) ){//当双方都按下 lock if( CHAR_getWorkInt(meindex, CHAR_WORKTRADEMODE) == CHAR_TRADE_LOCK ){ //andy_log - print("ANDY err ֹڶν!!\n"); - return;//ֹڶν + print("ANDY err 防止第二次进入!!\n"); + return;//防止第二次进入 } CHAR_setWorkInt(meindex, CHAR_WORKTRADEMODE, CHAR_TRADE_LOCK); - //ԷǷ ok + //检查对方是否按下 ok if( CHAR_getWorkInt( toindex, CHAR_WORKTRADEMODE) != CHAR_TRADE_LOCK )return; snprintf(msg, sizeof(msg), "T|%d|%s|A", fd, mycharaname); @@ -923,8 +923,8 @@ void TRADE_SwapItem( int meindex, int toindex, char* message, int fd, char* mych CHAR_getChar( toindex, CHAR_NAME), CHAR_getChar( petindex2, CHAR_NAME)); if(strcmp( CHAR_getChar( petindex1, CHAR_UNIQUECODE), CHAR_getChar( petindex2, CHAR_UNIQUECODE))== 0){ - CHAR_talkToCli(meindex, -1, "⵽ǷサףϵͳԶ", CHAR_COLORRED); - CHAR_talkToCli(toindex, -1, "⵽ǷサףϵͳԶ", CHAR_COLORRED); + CHAR_talkToCli(meindex, -1, "检测到非法宠物交易,系统自动清除!", CHAR_COLORRED); + CHAR_talkToCli(toindex, -1, "检测到非法宠物交易,系统自动清除!", CHAR_COLORRED); NPC_DelPet(toindex,n); } } @@ -936,8 +936,8 @@ void TRADE_SwapItem( int meindex, int toindex, char* message, int fd, char* mych { CHAR_charSaveFromConnect(meindex, FALSE); CHAR_charSaveFromConnect(toindex, FALSE); - CHAR_talkToCli(meindex, -1, "ϵͳΪԶ浵", CHAR_COLORRED); - CHAR_talkToCli(toindex, -1, "ϵͳΪԶ浵", CHAR_COLORRED); + CHAR_talkToCli(meindex, -1, "系统为你自动存档!", CHAR_COLORRED); + CHAR_talkToCli(toindex, -1, "系统为你自动存档!", CHAR_COLORRED); } } @@ -959,7 +959,7 @@ int TRADE_HandleTrade_DelItem( int charaindex, int MyMaxPile, int MaxPile, int * if(ITEM_getInt( itemindex, ITEM_CANBEPILE)!=1 && ITEM_getInt( itemindex, ITEM_USEPILENUMS)>1){ CHAR_setItemIndex( charaindex , Item[i], -1); CHAR_sendItemDataOne(charaindex,Item[i]); - CHAR_talkToCli(charaindex,-1,"ǷԶɾ",CHAR_COLORYELLOW); + CHAR_talkToCli(charaindex,-1,"非法道具自动删除",CHAR_COLORYELLOW); return -1; } pilenum = ITEM_getInt( itemindex, ITEM_USEPILENUMS); @@ -1155,8 +1155,8 @@ void BATTLE_Trade(void) } CHAR_charSaveFromConnect(meindexpk, FALSE); CHAR_charSaveFromConnect(toindexpk, FALSE); - CHAR_talkToCli(meindexpk, -1, "ϵͳΪԶ浵", CHAR_COLORRED); - CHAR_talkToCli(toindexpk, -1, "ϵͳΪԶ浵", CHAR_COLORRED); + CHAR_talkToCli(meindexpk, -1, "系统为你自动存档!", CHAR_COLORRED); + CHAR_talkToCli(toindexpk, -1, "系统为你自动存档!", CHAR_COLORRED); } #endif @@ -1169,10 +1169,10 @@ BOOL TRADE_HandleTrade( int meindex, STradeList *temp1, int toindex, STradeList int LostPet[5]={-1,-1,-1,-1,-1}; - MeMaxPile = CHAR_getMyMaxPilenum( meindex);//ѵ + MeMaxPile = CHAR_getMyMaxPilenum( meindex);//最大堆叠数 ToMaxPile = CHAR_getMyMaxPilenum( toindex); - //Ƴmeindex - //Ƴtoindex + //移除meindex + //移除toindex { char buf[256]; @@ -1183,7 +1183,7 @@ BOOL TRADE_HandleTrade( int meindex, STradeList *temp1, int toindex, STradeList CHAR_getInt( meindex, CHAR_FLOOR), CHAR_getInt( meindex, CHAR_X), CHAR_getInt( meindex, CHAR_Y) ); LogTrade(buf); } - //Ƴ + //移除 if( CHAR_getInt( meindex, CHAR_FLOOR)==50000 && CHAR_getInt( toindex, CHAR_FLOOR)==50000) { if( CHAR_getWorkInt( meindex, CHAR_WORKTRADEPK)==1 && CHAR_getWorkInt( toindex, CHAR_WORKTRADEPK)==2) @@ -1195,7 +1195,7 @@ BOOL TRADE_HandleTrade( int meindex, STradeList *temp1, int toindex, STradeList if( (ret=TRADE_HandleTrade_DelPet( toindex, temp2->PetTi, MePet)) == -1 ) return FALSE; if( TRADE_HandleTrade_DelGold( meindex, temp1->Golds, &ToGold) == FALSE ) return FALSE; if( TRADE_HandleTrade_DelGold( toindex, temp2->Golds, &MeGold) == FALSE ) return FALSE; - // + //加入 if( TRADE_HandleTrade_AddItem( meindex, MeItem) == FALSE ) return FALSE; if( TRADE_HandleTrade_AddItem( meindex, ToItem) == FALSE ) return FALSE; if( TRADE_HandleTrade_AddPet( meindex, MePet) == FALSE) return FALSE; @@ -1215,7 +1215,7 @@ BOOL TRADE_HandleTrade( int meindex, STradeList *temp1, int toindex, STradeList if( (ret=TRADE_HandleTrade_DelPet( toindex, temp2->PetTi, MePet)) == -1 ) return FALSE; if( TRADE_HandleTrade_DelGold( meindex, temp1->Golds, &ToGold) == FALSE ) return FALSE; if( TRADE_HandleTrade_DelGold( toindex, temp2->Golds, &MeGold) == FALSE ) return FALSE; - // + //加入 if( TRADE_HandleTrade_AddItem( toindex, MeItem) == FALSE ) return FALSE; if( TRADE_HandleTrade_AddItem( toindex, ToItem) == FALSE ) return FALSE; if( TRADE_HandleTrade_AddPet( toindex, MePet) == FALSE) return FALSE; @@ -1236,7 +1236,7 @@ BOOL TRADE_HandleTrade( int meindex, STradeList *temp1, int toindex, STradeList if( (ret=TRADE_HandleTrade_DelPet( toindex, temp2->PetTi, MePet)) == -1 ) return FALSE; if( TRADE_HandleTrade_DelGold( meindex, temp1->Golds, &ToGold) == FALSE ) return FALSE; if( TRADE_HandleTrade_DelGold( toindex, temp2->Golds, &MeGold) == FALSE ) return FALSE; - // + //加入 if( TRADE_HandleTrade_AddItem( meindex, MeItem) == FALSE ) return FALSE; if( TRADE_HandleTrade_AddItem( toindex, ToItem) == FALSE ) return FALSE; if( TRADE_HandleTrade_AddPet( meindex, MePet) == FALSE) return FALSE; @@ -1301,10 +1301,10 @@ int TRADE_CheckItembuf(int fd, int meindex, int toindex, int tofd, char* mychara if( TradeList[Tradeti][0].use != 1 || TradeList[Tradeti][1].use != 1 ) return -1; if( TRADE_getSomeTradeList( meindex, &TradeListTemp[0]) == FALSE ) return -1; if( TRADE_getSomeTradeList( toindex, &TradeListTemp[1]) == FALSE ) return -1; - //ȷλ + //确定空位 if( TRADE_CheckTradeList( meindex, &TradeListTemp[0], toindex, &TradeListTemp[1]) == FALSE ) return -1; - //Ƴ - // + //移除人物身上 + //加入人物身上 #ifdef _TRADE_PK if(CHAR_getInt( meindex, CHAR_FLOOR)==50000 && CHAR_getInt( toindex, CHAR_FLOOR)==50000) { @@ -1340,7 +1340,7 @@ int TRADE_CheckItembuf(int fd, int meindex, int toindex, int tofd, char* mychara { #endif if( TRADE_HandleTrade( meindex, &TradeListTemp[0], toindex, &TradeListTemp[1] ) == FALSE ) return -1; - //׽ + //交易结束动作 return 1; #ifdef _TRADE_PK } @@ -1351,14 +1351,14 @@ int TRADE_CheckItembuf(int fd, int meindex, int toindex, int tofd, char* mychara /* int TRADE_CheckItembuf(int fd, int meindex, int toindex, int tofd, char* mycharaname, char* tocharaname) { -#ifdef _TRADESYSTEM2 // (ɿ) Syu ADD ½ϵͳ - int myItem[42] = { -1 } ; //ҷеĽݱ - int oppItem[42] = { -1 }; //ԷеĽݱ +#ifdef _TRADESYSTEM2 // (不可开) Syu ADD 新交易系统 + int myItem[42] = { -1 } ; //我方所有的交易内容编号 + int oppItem[42] = { -1 }; //对方所有的交易内容编号 int ii , jj; - int Iitem1[15] = { 0 } ; //ҷߵindex - int Iitem2[15] = { 0 } ; //Էߵindex - int ppet1[5] = { 0 } ; //ҷindex - int ppet2[5] = { 0 } ; //Էindex + int Iitem1[15] = { 0 } ; //我方道具的index + int Iitem2[15] = { 0 } ; //对方道具的index + int ppet1[5] = { 0 } ; //我方宠物的index + int ppet2[5] = { 0 } ; //对方宠物的index BOOL tradeflag = TRUE ; int count = 0 ; #endif @@ -1378,19 +1378,19 @@ int TRADE_CheckItembuf(int fd, int meindex, int toindex, int tofd, char* mychara CONNECT_getTradeTmp(tofd, toitembuf, sizeof(toitembuf)); -#ifdef _TRADESYSTEM2 // (ɿ) Syu ADD ½ϵͳ - //ȡҷнݱ +#ifdef _TRADESYSTEM2 // (不可开) Syu ADD 新交易系统 + //取得我方所有交易内容编号 for ( ii = 0 ; ii < 42 ; ii ++ ) { if (getStringFromIndexWithDelim(itembuf, "|", 6 + ii * 2 , token, sizeof(token)) == TRUE) myItem[ii] = atoi(token); } - //ȡöԷнݱ + //取得对方所有交易内容编号 for ( ii = 0 ; ii < 42 ; ii ++ ) { if (getStringFromIndexWithDelim(toitembuf, "|", 6 + ii * 2 , token, sizeof(token)) == TRUE) oppItem[ii] = atoi(token); } #else - // ȶ˫֮ύЭ + // 比对双方之最後交易协定 if (getStringFromIndexWithDelim(itembuf, "|", 5, token, sizeof(token)) == TRUE) strcpy(a, token); if (getStringFromIndexWithDelim(itembuf, "|", 6, token, sizeof(token)) == TRUE) @@ -1442,8 +1442,8 @@ int TRADE_CheckItembuf(int fd, int meindex, int toindex, int tofd, char* mychara toitemindex6 = atoi(token); #endif -#ifdef _TRADESYSTEM2 // (ɿ) Syu ADD ½ϵͳ - //ظ׵ĵ +#ifdef _TRADESYSTEM2 // (不可开) Syu ADD 新交易系统 + //检查有无重复交易的道具 for ( ii = 0 ; ii < 15 ; ii ++ ) { for ( jj = ii + 1 ; jj < 15 ; jj ++ ) { if ( myItem[ii] == myItem[jj] ) @@ -1459,7 +1459,7 @@ int TRADE_CheckItembuf(int fd, int meindex, int toindex, int tofd, char* mychara } } #else - // shan hjj add ϴ + // shan hjj add 洗道具 if (itemindex1==itemindex2){ if (itemindex1!=-1){ return -1; @@ -1473,8 +1473,8 @@ int TRADE_CheckItembuf(int fd, int meindex, int toindex, int tofd, char* mychara // End #endif -#ifdef _TRADESYSTEM2 // (ɿ) Syu ADD ½ϵͳ - //ȶ˫׵ƷǷȷ +#ifdef _TRADESYSTEM2 // (不可开) Syu ADD 新交易系统 + //比对双方交易的物品是否都正确 for ( ii = 0 ; ii < 21 ; ii ++ ) { if ( myItem[ii] != oppItem[ii+21] ) { tradeflag = FALSE ; @@ -1487,9 +1487,9 @@ int TRADE_CheckItembuf(int fd, int meindex, int toindex, int tofd, char* mychara break; } } - //˫ȷʼд + //双方内容正确开始进行处理 if ( tradeflag == TRUE ) { - //˫ߵļӼ + //计算双方道具的加减 for ( ii = 0 ; ii < 15 ; ii ++ ) { if ( myItem[ii] != -1 ) { swapitem1--; @@ -1509,7 +1509,7 @@ int TRADE_CheckItembuf(int fd, int meindex, int toindex, int tofd, char* mychara && (itemindex3 == toitemindex6) && (itemindex4 == toitemindex1) && (itemindex5 == toitemindex2) && (itemindex6 == toitemindex3)) { - // ˫ƷǷпλ + // 检验双方物品栏是否有空位 if ((strcmp(a, "I") == 0) && (itemindex1 != -1)){ swapitem1--; swapitem2++; @@ -1533,12 +1533,12 @@ int TRADE_CheckItembuf(int fd, int meindex, int toindex, int tofd, char* mychara if (!CHAR_CHECKINDEX(toindex)) return -1; if (swapitem2 > CHAR_findTotalEmptyItem(toindex)) return -3; -#ifdef _TRADESYSTEM2 // (ɿ) Syu ADD ½ϵͳ - //ȡýĽǮ +#ifdef _TRADESYSTEM2 // (不可开) Syu ADD 新交易系统 + //取得交换的金钱 if ( myItem[20] != -1 ) gold1 += myItem[20] ; if ( myItem[41] != -1 ) gold2 += myItem[41] ; #else - // ˫Ǯ + // 检查双方金钱 if ((strcmp(a, "G") == 0) && (itemindex1 != -1)) gold1 += itemindex1; if ((strcmp(b, "G") == 0) && (itemindex2 != -1)) gold1 += itemindex2; if ((strcmp(d, "G") == 0) && (itemindex4 != -1)) gold2 += itemindex4; @@ -1551,8 +1551,8 @@ int TRADE_CheckItembuf(int fd, int meindex, int toindex, int tofd, char* mychara if ((gold2 + CHAR_getInt(meindex, CHAR_GOLD) - gold1) > CHAR_getMaxHaveGold( meindex) ) return -8; if ((gold1 + CHAR_getInt(toindex, CHAR_GOLD) - gold2) > CHAR_getMaxHaveGold( toindex)) return -9; -#ifdef _TRADESYSTEM2 // (ɿ) Syu ADD ½ϵͳ - //˫ļӼ +#ifdef _TRADESYSTEM2 // (不可开) Syu ADD 新交易系统 + //计算双方宠物的加减 for ( ii = 15 ; ii < 20 ; ii ++ ) { if ( myItem[ii] != -1 ) { pet1--; @@ -1566,7 +1566,7 @@ int TRADE_CheckItembuf(int fd, int meindex, int toindex, int tofd, char* mychara } } #else - // ˫ + // 检查双方宠物 if ((strcmp(c, "P") == 0) && (itemindex3 != -1)) { pet1--; pet2++; @@ -1577,9 +1577,9 @@ int TRADE_CheckItembuf(int fd, int meindex, int toindex, int tofd, char* mychara } #endif -#ifdef _TRADESYSTEM2 // (ɿ) Syu ADD ½ϵͳ +#ifdef _TRADESYSTEM2 // (不可开) Syu ADD 新交易系统 if ((pet1 > 5) || (pet2 > 5)) return -10; - //ȡ˫ܷŵij + //取得双方身上能放的宠物数量 for( ii = 0; ii < CHAR_MAXPETHAVE; ii ++ ) { if( CHAR_getCharPet( meindex , ii ) == -1 ) count ++ ; } @@ -1594,8 +1594,8 @@ int TRADE_CheckItembuf(int fd, int meindex, int toindex, int tofd, char* mychara if ((pet1 == 1) && (CHAR_getCharPetElement( meindex) == -1)) return -10; if ((pet2 == 1) && (CHAR_getCharPetElement( toindex) == -1)) return -11; #endif -#ifdef _TRADESYSTEM2 // (ɿ) Syu ADD ½ϵͳ - //ȡ׵ĵindex +#ifdef _TRADESYSTEM2 // (不可开) Syu ADD 新交易系统 + //取得所有欲交易的道具index for ( ii = 0 ; ii < 15 ; ii ++ ) { if ( myItem[ii] != -1 ) Iitem1[ii] = CHAR_getItemIndex(meindex, myItem[ii]); @@ -1620,8 +1620,8 @@ int TRADE_CheckItembuf(int fd, int meindex, int toindex, int tofd, char* mychara item5 = CHAR_getItemIndex(toindex, itemindex5); else item5 = -1; #endif -#ifdef _TRADESYSTEM2 // (ɿ) Syu ADD ½ϵͳ - //ȡ׳index +#ifdef _TRADESYSTEM2 // (不可开) Syu ADD 新交易系统 + //取得欲交易宠物的index for ( ii = 15 ; ii < 20 ; ii ++ ) { if ( myItem[ii] != -1 ) { if ( CHAR_getInt( meindex , CHAR_RIDEPET) == myItem[ii] ) @@ -1659,7 +1659,7 @@ int TRADE_CheckItembuf(int fd, int meindex, int toindex, int tofd, char* mychara -#ifdef _TRADESYSTEM2 // (ɿ) Syu ADD ½ϵͳ +#ifdef _TRADESYSTEM2 // (不可开) Syu ADD 新交易系统 for ( ii = 0 ; ii < 15 ; ii ++ ) { if ( ITEM_getInt( Iitem1[ii] , ITEM_VANISHATDROP ) == 1 ) return -12 ; @@ -1675,8 +1675,8 @@ int TRADE_CheckItembuf(int fd, int meindex, int toindex, int tofd, char* mychara #endif -#ifdef _TRADESYSTEM2 // (ɿ) Syu ADD ½ϵͳ - //ȼܷж +#ifdef _TRADESYSTEM2 // (不可开) Syu ADD 新交易系统 + //宠物等级能否交易判断 if( CHAR_getWorkInt( meindex, CHAR_PickAllPet) != TRUE ) { for ( ii = 0 ; ii < 5 ; ii ++ ) { if ( (ppet2[ii] != -1 ) && ( CHAR_getInt( ppet2[ii] , CHAR_LV ) @@ -1709,8 +1709,8 @@ int TRADE_CheckItembuf(int fd, int meindex, int toindex, int tofd, char* mychara return -14; } #endif -#ifdef _TRADESYSTEM2 // (ɿ) Syu ADD ½ϵͳ - //ǷΪػ +#ifdef _TRADESYSTEM2 // (不可开) Syu ADD 新交易系统 + //是否为家族守护兽 for ( ii = 0 ; ii < 5 ; ii ++ ) { if ( ( ppet1[ii] != -1 ) && (CHAR_getInt(ppet1[ii], CHAR_PETFAMILY) == 1)) return -15; @@ -1724,8 +1724,8 @@ int TRADE_CheckItembuf(int fd, int meindex, int toindex, int tofd, char* mychara return -15; #endif -#ifdef _TRADESYSTEM2 // (ɿ) Syu ADD ½ϵͳ - // ҵߡǮ +#ifdef _TRADESYSTEM2 // (不可开) Syu ADD 新交易系统 + // 交换玩家道具、金钱、宠物 for ( ii = 0 ; ii < 15 ; ii ++ ) { TRADE_ChangeItem(meindex, toindex, "I", "I", Iitem1[ii], Iitem2[ii], myItem[ii], oppItem[ii]); @@ -1745,7 +1745,7 @@ int TRADE_CheckItembuf(int fd, int meindex, int toindex, int tofd, char* mychara itemindex3, itemindex6); #endif - // д trade.log + // 写入 trade.log { char petname1[256], petname2[256]; int pet1lv, pet2lv; @@ -1803,10 +1803,10 @@ BOOL TRADE_ChangeItem(int meindex, int toindex, char *a, char *b, int gold1 = 0, gold2 = 0, eptitem = -1; if (CHAR_CHECKINDEX(meindex) == FALSE) return FALSE; if (CHAR_CHECKINDEX(toindex) == FALSE) return FALSE; - // <-> + // 道具 <-> 道具 if ((strcmp(a, "I") == 0) && (strcmp(b, "I") == 0)) { - // <-> + // 无 <-> 道具 if ((itemindex1 == -1) && (itemindex2 > 0)) { if (ITEM_CHECKINDEX(item2) == FALSE) return FALSE; @@ -1817,7 +1817,7 @@ BOOL TRADE_ChangeItem(int meindex, int toindex, char *a, char *b, ITEM_setWorkInt(item2, ITEM_WORKOBJINDEX, -1); CHAR_setItemIndex(toindex, itemindex2, -1); } - // <-> + // 道具 <-> 无 else if ((itemindex1 > 0) && (itemindex2 == -1)) { if (ITEM_CHECKINDEX(item1) == FALSE) return FALSE; @@ -1828,7 +1828,7 @@ BOOL TRADE_ChangeItem(int meindex, int toindex, char *a, char *b, ITEM_setWorkInt(item1, ITEM_WORKOBJINDEX, -1); CHAR_setItemIndex(meindex, itemindex1, -1); } - // <-> + // 道具 <-> 道具 else if (itemindex1 > 0 && itemindex2 > 0) { if (ITEM_CHECKINDEX(item1) == FALSE) return FALSE; @@ -1841,7 +1841,7 @@ BOOL TRADE_ChangeItem(int meindex, int toindex, char *a, char *b, CHAR_setItemIndex(meindex, itemindex1, item2); } } - // <-> Ǯ + // 道具 <-> 金钱 else if ((strcmp(a, "I") == 0) && (strcmp(b, "G") == 0)) { if (itemindex1 > 0) @@ -1862,7 +1862,7 @@ BOOL TRADE_ChangeItem(int meindex, int toindex, char *a, char *b, gold2 -= itemindex2; CHAR_setInt(toindex, CHAR_GOLD, gold2); } - // Ǯ <-> + // 金钱 <-> 道具 else if ((strcmp(a, "G") == 0) && (strcmp(b, "I") == 0)) { if (itemindex2 > 0) @@ -1883,7 +1883,7 @@ BOOL TRADE_ChangeItem(int meindex, int toindex, char *a, char *b, gold2 += itemindex1; CHAR_setInt(toindex, CHAR_GOLD, gold2); } - // Ǯ <-> Ǯ + // 金钱 <-> 金钱 else if ((strcmp(a, "G") == 0) && (strcmp(b, "G") == 0)) { if (itemindex1 < 0) itemindex1 = 0; @@ -1895,7 +1895,7 @@ BOOL TRADE_ChangeItem(int meindex, int toindex, char *a, char *b, gold2 = gold2 + itemindex2 - itemindex1; CHAR_setInt(meindex, CHAR_GOLD, gold2); } - // <-> + // 宠物 <-> 宠物 else if ((strcmp(a, "P") == 0) && (strcmp(b, "P") == 0)) { char category[8]; @@ -1997,13 +1997,13 @@ BOOL TRADE_HandleItem( int meindex, int showindex, char *message, char *outmess) #endif strcpy( itemname, ITEM_getChar(itemindex, ITEM_SECRETNAME));//ITEM_NAME crushe = ITEM_getItemDamageCrusheED( itemindex); - sprintf( token, ""); // + sprintf( token, "不会损坏"); //不会损坏 if( crushe >= 0 ) snprintf( token, sizeof(token), "%d%%", crushe ); char szTemp1[256]; sprintf(szTemp1," "); #ifdef _TRADE_ITEM_FIX - if(getTradeItemFix()==1 && ( ITEM_getInt(itemindex,ITEM_MERGEFLG)==TRUE || strstr(ITEM_getChar(itemindex,ITEM_NAME),"ϳ")!=NULL ) ){ + if(getTradeItemFix()==1 && ( ITEM_getInt(itemindex,ITEM_MERGEFLG)==TRUE || strstr(ITEM_getChar(itemindex,ITEM_NAME),"合成")!=NULL ) ){ char attnum[16]; sprintf(attnum,""); if(ITEM_getInt(itemindex,ITEM_MODIFYATTACK)!=0){ @@ -2015,23 +2015,23 @@ BOOL TRADE_HandleItem( int meindex, int showindex, char *message, char *outmess) } } if(strcmp(szTemp1," ")==0){ - sprintf(szTemp1,"%s%d%s ",(ITEM_getInt(itemindex,ITEM_MODIFYATTACK)>=0)?"+":"",ITEM_getInt(itemindex,ITEM_MODIFYATTACK),attnum); + sprintf(szTemp1,"攻%s%d%s ",(ITEM_getInt(itemindex,ITEM_MODIFYATTACK)>=0)?"+":"",ITEM_getInt(itemindex,ITEM_MODIFYATTACK),attnum); }else{ - sprintf(szTemp1,"%s%s%d%s ",szTemp1,(ITEM_getInt(itemindex,ITEM_MODIFYATTACK)>=0)?"+":"",ITEM_getInt(itemindex,ITEM_MODIFYATTACK),attnum); + sprintf(szTemp1,"%s攻%s%d%s ",szTemp1,(ITEM_getInt(itemindex,ITEM_MODIFYATTACK)>=0)?"+":"",ITEM_getInt(itemindex,ITEM_MODIFYATTACK),attnum); } } if(ITEM_getInt(itemindex,ITEM_MODIFYDEFENCE)!=0){ if(strcmp(szTemp1," ")==0){ - sprintf(szTemp1,"%s%d ",(ITEM_getInt(itemindex,ITEM_MODIFYDEFENCE)>=0)?"+":"",ITEM_getInt(itemindex,ITEM_MODIFYDEFENCE)); + sprintf(szTemp1,"防%s%d ",(ITEM_getInt(itemindex,ITEM_MODIFYDEFENCE)>=0)?"+":"",ITEM_getInt(itemindex,ITEM_MODIFYDEFENCE)); }else{ - sprintf(szTemp1,"%s%s%d ",szTemp1,(ITEM_getInt(itemindex,ITEM_MODIFYDEFENCE)>=0)?"+":"",ITEM_getInt(itemindex,ITEM_MODIFYDEFENCE)); + sprintf(szTemp1,"%s防%s%d ",szTemp1,(ITEM_getInt(itemindex,ITEM_MODIFYDEFENCE)>=0)?"+":"",ITEM_getInt(itemindex,ITEM_MODIFYDEFENCE)); } } if(ITEM_getInt(itemindex,ITEM_MODIFYQUICK)!=0){ if(strcmp(szTemp1," ")==0){ - sprintf(szTemp1,"%s%d ",(ITEM_getInt(itemindex,ITEM_MODIFYQUICK)>=0)?"+":"",ITEM_getInt(itemindex,ITEM_MODIFYQUICK)); + sprintf(szTemp1,"敏%s%d ",(ITEM_getInt(itemindex,ITEM_MODIFYQUICK)>=0)?"+":"",ITEM_getInt(itemindex,ITEM_MODIFYQUICK)); }else{ - sprintf(szTemp1,"%s%s%d ",szTemp1,(ITEM_getInt(itemindex,ITEM_MODIFYQUICK)>=0)?"+":"",ITEM_getInt(itemindex,ITEM_MODIFYQUICK)); + sprintf(szTemp1,"%s敏%s%d ",szTemp1,(ITEM_getInt(itemindex,ITEM_MODIFYQUICK)>=0)?"+":"",ITEM_getInt(itemindex,ITEM_MODIFYQUICK)); } } if(ITEM_getInt(itemindex,ITEM_MAGICID)>0){ @@ -2052,7 +2052,7 @@ BOOL TRADE_HandleItem( int meindex, int showindex, char *message, char *outmess) sprintf(szTemp1,"%s",ITEM_getChar(itemindex,ITEM_EFFECTSTRING)); char newitemname[128]; memset(newitemname,0,sizeof(newitemname)); - if(strstr(ITEM_getChar( itemindex, ITEM_NAME),"Ѽ")!=NULL) + if(strstr(ITEM_getChar( itemindex, ITEM_NAME),"经验搜集丹")!=NULL) strcpy(newitemname, ITEM_getChar( itemindex, ITEM_SECRETNAME)); else strcpy(newitemname , ITEM_getChar( itemindex, ITEM_NAME)); @@ -2169,12 +2169,12 @@ BOOL TRADE_CheckTradeList( int meindex, STradeList *temp1, int toindex, STradeLi int ToSurplus=0, ToNeeds=0, ToMaxPile; - MeMaxPile = CHAR_getMyMaxPilenum( meindex);//ѵ + MeMaxPile = CHAR_getMyMaxPilenum( meindex);//最大堆叠数 ToMaxPile = CHAR_getMyMaxPilenum( toindex); MeSurplus = CHAR_findSurplusItemBox( meindex); ToSurplus = CHAR_findSurplusItemBox( toindex); - // + //道具 ToNeeds=0; MeNeeds=0; for( i=0; i<15; i++ ){ int pilenum, itemindex; @@ -2209,31 +2209,31 @@ BOOL TRADE_CheckTradeList( int meindex, STradeList *temp1, int toindex, STradeLi if(CHAR_getInt(meindex,CHAR_FLOOR)==50000 && CHAR_getInt(toindex,CHAR_FLOOR)==50000 ) { if( MeSurplus < (MeNeeds+ToNeeds) ){ - CHAR_talkToCli( meindex, -1, "Ʒλ㡣", CHAR_COLORYELLOW); - CHAR_talkToCli( toindex, -1, "ԷƷλ㡣", CHAR_COLORYELLOW); + CHAR_talkToCli( meindex, -1, "交易後物品栏位不足。", CHAR_COLORYELLOW); + CHAR_talkToCli( toindex, -1, "对方交易後物品栏位不足。", CHAR_COLORYELLOW); return FALSE; } if( ToSurplus < (ToNeeds+MeNeeds) ){ - CHAR_talkToCli( toindex, -1, "Ʒλ㡣", CHAR_COLORYELLOW); - CHAR_talkToCli( meindex, -1, "ԷƷλ㡣", CHAR_COLORYELLOW); + CHAR_talkToCli( toindex, -1, "交易後物品栏位不足。", CHAR_COLORYELLOW); + CHAR_talkToCli( meindex, -1, "对方交易後物品栏位不足。", CHAR_COLORYELLOW); return FALSE; } } else { if( MeSurplus < MeNeeds ){ - CHAR_talkToCli( meindex, -1, "Ʒλ㡣", CHAR_COLORYELLOW); - CHAR_talkToCli( toindex, -1, "ԷƷλ㡣", CHAR_COLORYELLOW); + CHAR_talkToCli( meindex, -1, "交易後物品栏位不足。", CHAR_COLORYELLOW); + CHAR_talkToCli( toindex, -1, "对方交易後物品栏位不足。", CHAR_COLORYELLOW); return FALSE; } if( ToSurplus < ToNeeds ){ - CHAR_talkToCli( toindex, -1, "Ʒλ㡣", CHAR_COLORYELLOW); - CHAR_talkToCli( meindex, -1, "ԷƷλ㡣", CHAR_COLORYELLOW); + CHAR_talkToCli( toindex, -1, "交易後物品栏位不足。", CHAR_COLORYELLOW); + CHAR_talkToCli( meindex, -1, "对方交易後物品栏位不足。", CHAR_COLORYELLOW); return FALSE; } } - // + //宠物 MeSurplus = CHAR_findSurplusPetBox( meindex); ToSurplus = CHAR_findSurplusPetBox( toindex); ToNeeds=0; MeNeeds=0; @@ -2256,32 +2256,32 @@ BOOL TRADE_CheckTradeList( int meindex, STradeList *temp1, int toindex, STradeLi if(CHAR_getInt(meindex,CHAR_FLOOR)==50000 && CHAR_getInt(toindex,CHAR_FLOOR)==50000 ) { if( MeSurplus < (MeNeeds+ToNeeds) ){ - CHAR_talkToCli( meindex, -1, "λ㡣", CHAR_COLORYELLOW); - CHAR_talkToCli( toindex, -1, "Էλ㡣", CHAR_COLORYELLOW); + CHAR_talkToCli( meindex, -1, "交易後宠物栏位不足。", CHAR_COLORYELLOW); + CHAR_talkToCli( toindex, -1, "对方交易後宠物栏位不足。", CHAR_COLORYELLOW); return FALSE; } if( ToSurplus < (ToNeeds+MeNeeds) ){ - CHAR_talkToCli( meindex, -1, "Էλ㡣", CHAR_COLORYELLOW); - CHAR_talkToCli( toindex, -1, "λ㡣", CHAR_COLORYELLOW); + CHAR_talkToCli( meindex, -1, "对方交易後宠物栏位不足。", CHAR_COLORYELLOW); + CHAR_talkToCli( toindex, -1, "交易後宠物栏位不足。", CHAR_COLORYELLOW); return FALSE; } } else { if( MeSurplus < MeNeeds ){ - CHAR_talkToCli( meindex, -1, "λ㡣", CHAR_COLORYELLOW); - CHAR_talkToCli( toindex, -1, "Էλ㡣", CHAR_COLORYELLOW); + CHAR_talkToCli( meindex, -1, "交易後宠物栏位不足。", CHAR_COLORYELLOW); + CHAR_talkToCli( toindex, -1, "对方交易後宠物栏位不足。", CHAR_COLORYELLOW); return FALSE; } if( ToSurplus < ToNeeds ){ - CHAR_talkToCli( meindex, -1, "Էλ㡣", CHAR_COLORYELLOW); - CHAR_talkToCli( toindex, -1, "λ㡣", CHAR_COLORYELLOW); + CHAR_talkToCli( meindex, -1, "对方交易後宠物栏位不足。", CHAR_COLORYELLOW); + CHAR_talkToCli( toindex, -1, "交易後宠物栏位不足。", CHAR_COLORYELLOW); return FALSE; } } - //Ǯ + //金钱 MeMaxPile = CHAR_getMaxHaveGold( meindex); ToMaxPile = CHAR_getMaxHaveGold( toindex); MeSurplus = MeMaxPile - CHAR_getInt( meindex, CHAR_GOLD); @@ -2294,26 +2294,26 @@ BOOL TRADE_CheckTradeList( int meindex, STradeList *temp1, int toindex, STradeLi if(CHAR_getInt(meindex,CHAR_FLOOR)==50000 && CHAR_getInt(toindex,CHAR_FLOOR)==50000 ) { if( MeSurplus < (MeNeeds+ToNeeds) ){ - CHAR_talkToCli( meindex, -1, "ʯҳޡ", CHAR_COLORYELLOW); - CHAR_talkToCli( toindex, -1, "Էʯҳޡ", CHAR_COLORYELLOW); + CHAR_talkToCli( meindex, -1, "交易後石币超过上限。", CHAR_COLORYELLOW); + CHAR_talkToCli( toindex, -1, "对方交易後石币超过上限。", CHAR_COLORYELLOW); return FALSE; } if( ToSurplus < (ToNeeds+MeNeeds) ){ - CHAR_talkToCli( meindex, -1, "Էʯҳޡ", CHAR_COLORYELLOW); - CHAR_talkToCli( toindex, -1, "ʯҳޡ", CHAR_COLORYELLOW); + CHAR_talkToCli( meindex, -1, "对方交易後石币超过上限。", CHAR_COLORYELLOW); + CHAR_talkToCli( toindex, -1, "交易後石币超过上限。", CHAR_COLORYELLOW); return FALSE; } } else { if( MeSurplus < MeNeeds ){ - CHAR_talkToCli( meindex, -1, "ʯҳޡ", CHAR_COLORYELLOW); - CHAR_talkToCli( toindex, -1, "Էʯҳޡ", CHAR_COLORYELLOW); + CHAR_talkToCli( meindex, -1, "交易後石币超过上限。", CHAR_COLORYELLOW); + CHAR_talkToCli( toindex, -1, "对方交易後石币超过上限。", CHAR_COLORYELLOW); return FALSE; } if( ToSurplus < ToNeeds ){ - CHAR_talkToCli( meindex, -1, "Էʯҳޡ", CHAR_COLORYELLOW); - CHAR_talkToCli( toindex, -1, "ʯҳޡ", CHAR_COLORYELLOW); + CHAR_talkToCli( meindex, -1, "对方交易後石币超过上限。", CHAR_COLORYELLOW); + CHAR_talkToCli( toindex, -1, "交易後石币超过上限。", CHAR_COLORYELLOW); return FALSE; } } diff --git a/include/char.h b/include/char.h index 99cade2..a9c8db5 100644 --- a/include/char.h +++ b/include/char.h @@ -8,7 +8,7 @@ /*------------------------------------------------------------ - *ɼƼ + *color of front *------------------------------------------------------------*/ typedef enum { @@ -24,14 +24,14 @@ typedef enum CHAR_COLORGREEN2, CHAR_COLORBLACK, }CHAR_COLOR; -/*====================ƽҷ¼====================*/ +/*====================function of creat new character====================*/ void CHAR_createNewChar( int clifd, int dataplacenum,char* charname , int imgno,int faceimgno, int vital,int str,int tgh,int dex, int earth,int water,int fire,int wind, int hometown , char *cdkey ); -/*====================ƽҷ¼̼====================*/ +/*====================character login====================*/ void CHAR_login( int clifd, char* data, int saveindex ); @@ -40,8 +40,8 @@ BOOL _CHAR_warpToSpecificPoint( char *file, int line, int charaindex, int fl, int x, int y); -/*====================ƽҷ¼Ƥ====================*/ -/*====================ƽҷ¼ʧ====================*/ +/*====================character save====================*/ +/*====================character log out====================*/ BOOL CHAR_charSaveFromConnectAndChar( int fd,Char* ch, int unlock ); BOOL CHAR_charSaveFromConnect( int charaindex,int unlock ); #define CHAR_logout( charindex, save) _CHAR_logout( __FILE__, __LINE__, charindex, save) @@ -50,24 +50,24 @@ BOOL _CHAR_logout( char *file, int line, int charindex, BOOL save); /*====================watch event ====================*/ void CHAR_sendWatchEvent( int objindex, int chac, int* opt,int optlen,BOOL myflg ); -/*====================ƽ====================*/ +/*====================skill====================*/ BOOL CHAR_Skillupsend(int charaindex ); void CHAR_SkillUp( int charaindex, int skillid ); void CHAR_useSkill( int charaindex, int dir ,int skindex ); typedef enum { - CHAR_WALKSUCCESSED, /* */ - CHAR_WALKSYSTEMERROR, /* ˵ ة޷¡ indexͱ + CHAR_WALKSUCCESSED, /* successed */ + CHAR_WALKSYSTEMERROR, /* system error's array of index check * Ⱦ羮 */ - CHAR_WALKEXTEND, /* ƻڳףNPC弰*/ - CHAR_WALKHITOBJECT, /* Ͼ Ȼئ */ - CHAR_WALKPREWALK, /* prewalkìƥئ( ޼ ) */ - CHAR_WALKDIE, /* ƥлئ */ - CHAR_WALK1357, /* 껧 ڳƻئ */ + CHAR_WALKEXTEND, /* overflow of walking.just for npc*/ + CHAR_WALKHITOBJECT, /* cant walk cause hit object */ + CHAR_WALKPREWALK, /* cant walk cause prewalk event */ + CHAR_WALKDIE, /* cant walk cause death */ + CHAR_WALK1357, /* cant walk to 1357 (б) */ }CHAR_WALKRET; -/*====================ƽҷ¼ ====================*/ +/*====================function of character's walk====================*/ void CHAR_ctodirmode(char moji , int* dir , int* mode); INLINE void CHAR_getDXDY( int dir , int* dx, int* dy ); INLINE int CHAR_getDX( int dir ); @@ -273,27 +273,27 @@ typedef enum typedef enum { - CHAR_WINDOWTYPE_RETURNTOELDER=-1, /* Ӯ ū */ - CHAR_WINDOWTYPE_RESURRECTION=-2, /* ū */ + CHAR_WINDOWTYPE_RETURNTOELDER=-1, /* سϴ */ + CHAR_WINDOWTYPE_RESURRECTION=-2, /*  */ - CHAR_WINDOWTYPE_SELECTBATTLE = 1, /* ¾ ë ū */ - CHAR_WINDOWTYPE_SELECTDUEL = 2, /* DUELë ū */ - CHAR_WINDOWTYPE_SELECTTRADECARD = 3, /* ͭë ū */ - CHAR_WINDOWTYPE_SELECTPARTY = 4, /* ɡ ūë ū */ - CHAR_WINDOWTYPE_SELECTBATTLEWATCH = 5, /* ë ū */ - CHAR_WINDOWTYPE_MICMESSAGE = 6, /* MICNPCëȻū */ + CHAR_WINDOWTYPE_SELECTBATTLE = 1, /* սѡ񴰿 */ + CHAR_WINDOWTYPE_SELECTDUEL = 2, /* ѡ񴰿 DUEL = */ + CHAR_WINDOWTYPE_SELECTTRADECARD = 3, /* Ƭ */ + CHAR_WINDOWTYPE_SELECTPARTY = 4, /* ѡŶӴ */ + CHAR_WINDOWTYPE_SELECTBATTLEWATCH = 5, /* ѡս */ + CHAR_WINDOWTYPE_MICMESSAGE = 6, /* ʹMICNPCʾ */ // CoolFish: Trade 2001/4/18 CHAR_WINDOWTYPE_SELECTTRADE = 7, /* Window */ - CHAR_WINDOWTYPE_SELECTRENAMEITEM_PAGE1 = 10, /* ë ʧ ةë ū */ - CHAR_WINDOWTYPE_SELECTRENAMEITEM_PAGE2 = 11, /* ë ʧ ةë ū */ - CHAR_WINDOWTYPE_SELECTRENAMEITEM_PAGE3 = 12, /* ë ʧ ةë ū */ - CHAR_WINDOWTYPE_SELECTRENAMEITEM_PAGE4 = 13, /* ë ʧ ةë ū */ - CHAR_WINDOWTYPE_SELECTRENAMEITEM_RENAME = 14, /* ë ū */ - CHAR_WINDOWTYPE_SELECTRENAMEITEM_RENAME_ATTENTION = 15, /* ë ū */ + CHAR_WINDOWTYPE_SELECTRENAMEITEM_PAGE1 = 10, /* ѡƵ */ + CHAR_WINDOWTYPE_SELECTRENAMEITEM_PAGE2 = 11, /* ѡƵ */ + CHAR_WINDOWTYPE_SELECTRENAMEITEM_PAGE3 = 12, /* ѡƵ */ + CHAR_WINDOWTYPE_SELECTRENAMEITEM_PAGE4 = 13, /* ѡƵ */ + CHAR_WINDOWTYPE_SELECTRENAMEITEM_RENAME = 14, /* ִ */ + CHAR_WINDOWTYPE_SELECTRENAMEITEM_RENAME_ATTENTION = 15, /* ִ */ - CHAR_WINDOWTYPE_DENGON = 50, /* */ + CHAR_WINDOWTYPE_DENGON = 50, /* ԰ */ CHAR_WINDOWTYPE_WINDOWMAN_START = 100, CHAR_WINDOWTYPE_WINDOWMAN_STARTMSG = CHAR_WINDOWTYPE_WINDOWMAN_START, @@ -683,10 +683,10 @@ void CHAR_PetAddVariableAi( int petindex, int iValue ); void CHAR_PartyUpdate( int charaindex, int senddata ); char *CHAR_getUseName( int charaindex ); char *CHAR_getUseID( int charaindex ); -EXTERN int EnemyMoveNum; /* ݱ ³ļ */ +EXTERN int EnemyMoveNum; /* ͬʱƶ */ -#define DB_DUELPOINT "db_duel" // ب޻̼ì -#define DB_ADDRESSBOOK "db_addressbook" // ʧƤͷì +#define DB_DUELPOINT "db_duel" // DP ݿ +#define DB_ADDRESSBOOK "db_addressbook" // ַݿ BOOL CHAR_send_DpDBUpdate( int charaindex ); BOOL CHAR_send_DpDBUpdate_AddressBook( int charaindex, int mode ); @@ -722,15 +722,15 @@ int CHAR_CHECKJOINENEMY( int index); #define CHAR_EFFECT_SETTINGBUFFER 256 typedef struct tagCHAR_effectsetting { - int floor; // ׷ʧ - int effect; // į - int level; // 뼰ì ؼ۽ - int sendflg; // ްë˪׾ - char month[CHAR_EFFECT_SETTINGBUFFER]; // » - char day[CHAR_EFFECT_SETTINGBUFFER]; // - char hour[CHAR_EFFECT_SETTINGBUFFER]; // - char min[CHAR_EFFECT_SETTINGBUFFER]; // - char expire[CHAR_EFFECT_SETTINGBUFFER]; // ƻӮ( + int floor; // ¥ + int effect; // ݳ + int level; // ݳ𣬱ǿ + int sendflg; // Ƿeffect + char month[CHAR_EFFECT_SETTINGBUFFER]; // · + char day[CHAR_EFFECT_SETTINGBUFFER]; // + char hour[CHAR_EFFECT_SETTINGBUFFER]; // Сʱ + char min[CHAR_EFFECT_SETTINGBUFFER]; // з + char expire[CHAR_EFFECT_SETTINGBUFFER]; // ˶ }CHAR_effectsetting; diff --git a/main.c b/main.c index 21c1a67..f63a1b7 100644 --- a/main.c +++ b/main.c @@ -24,7 +24,7 @@ #ifdef _ALLBLUES_LUA #include "mylua/ablua.h" #endif -#ifdef _CHATROOMPROTOCOL // (ɿ) Syu ADD Ƶ +#ifdef _CHATROOMPROTOCOL // (不可开) Syu ADD 聊天室频道 #include "chatroom.h" #endif @@ -44,7 +44,7 @@ extern char *DebugMainFunction; #endif #ifdef _ANGEL_SUMMON -#define ANGELTIMELIMIT 3*24*60*60 // ʱ() +#define ANGELTIMELIMIT 3*24*60*60 // 完成任务时限(秒) int AngelReady =0; int AngelTimelimit = ANGELTIMELIMIT; time_t AngelNextTime; @@ -61,7 +61,7 @@ int main( int argc , char** argv, char** env ) //if(attestation()<1) // { - // print("޷֤ͨϵߣ\n"); + // print("无法通过正版验证!具体请联系购买者!\n"); // exit(0); // } //if (strcmp(getlocaltime(), TimeLimitLocal)>0)exit(0); @@ -69,7 +69,7 @@ int main( int argc , char** argv, char** env ) system("ulimit -HSn 2048"); #endif - /* ȤꤢrgOƤ */ + /* とりあえず時間を設定しておく */ setNewTime(); /* if ( argc > 1 && 0==strcmp(argv[1],"-v")) @@ -83,7 +83,7 @@ int main( int argc , char** argv, char** env ) LoadAnnounce(); // Arminius 7.12 loginannounce - /* O */ + /* 初期設定 */ memcpy( &tmOld, localtime( (time_t *)&NowTime.tv_sec), sizeof( tmNow ) ); sasql_init(); @@ -110,19 +110,19 @@ int main( int argc , char** argv, char** env ) void mainloop( void ) { - print("ʼNPC..."); + print("初始化NPC..."); NPC_generateLoop( 1 ); - print("\n"); - print("ʼsignal1..."); + print("完成\n"); + print("初始化signal1..."); signal(SIGUSR1,sigusr1); - print("\n"); - print("ʼsignal2..."); + print("完成\n"); + print("初始化signal2..."); signal(SIGUSR2,sigusr2); - print("\n"); + print("完成\n"); #ifdef _MAP_WARPPOINT - print("ʼͼ͵..."); + print("初始化地图传送点..."); MAPPOINT_InitMapWarpPoint(); - print("\n"); + print("完成\n"); if( !MAPPOINT_loadMapWarpPoint() ){ return; } @@ -131,51 +131,51 @@ void mainloop( void ) #ifdef _ASSESS_SYSEFFICACY Assess_InitSysEfficacy(); #endif -#ifdef _CHATROOMPROTOCOL // (ɿ) Syu ADD Ƶ - print("ʼƵ..."); +#ifdef _CHATROOMPROTOCOL // (不可开) Syu ADD 聊天室频道 + print("初始化聊天室频..."); InitChatRoom(); - print("\n"); + print("完成\n"); #endif #ifdef _CHANNEL_MODIFY - print("ʼְҵƵ..."); - if(!InitOccChannel()) return; // ʼְҵƵ - print("\n"); + print("初始化职业频道..."); + if(!InitOccChannel()) return; // 初始化职业频道 + print("完成\n"); #endif #ifdef _ANGEL_SUMMON - print("ʼۼʱ..."); + print("初始化精灵召奂时间..."); AngelReady = 0; #ifdef _ANGEL_TIME AngelNextTime = time(NULL) + getAngelPlayerTime(); #else AngelNextTime = time(NULL) + 1*60; #endif - print("\n"); + print("完成\n"); #endif #ifdef _JZ_NEWSCRIPT_LUA - print("ʼLNS..."); + print("初始化LNS引擎..."); NPC_Lua_Init(getLuaFile()); - print("\n"); + print("完成\n"); #endif #ifdef _ITEM_LUA - print("ʼLUA..."); + print("初始化道具LUA引擎..."); int itemluaflg=ITEM_LuaInit(getitemluafile()); if(itemluaflg==TRUE){ - print("\n"); + print("完成\n"); }else{ - print("ʧ\n"); + print("失败\n"); } #endif #ifdef _ALLBLUES_LUA - print("ʼLUAű..."); + print("初始化LUA脚本..."); LoadAllbluesLUA("data/ablua"); - print("\n"); + print("完成\n"); #endif //if (strcmp(getlocaltime(), TimeLimitLocal)>0)exit(0); //#ifdef _ALLDOMAN -// print("ʼӢ۱..."); +// print("初始化英雄表列..."); // InitHeroList(); -// print("\n"); +// print("完成\n"); //#endif int itime=0; @@ -202,7 +202,7 @@ Assess_SysEfficacy( 0 ); } setNewTime(); -#ifdef _ASSESS_SYSEFFICACY_SUB //ʾLOOPʱ +#ifdef _ASSESS_SYSEFFICACY_SUB //显示LOOP时间 //Assess_SysEfficacy_sub( 0, 1); #ifdef _GMSV_DEBUG DebugMainFunction="netloop_faster"; @@ -291,8 +291,8 @@ static void sendmsg_toall( char *msg ) } static void ShutdownProc( void) { -#define SYSINFO_SHUTDOWN_MSG "%d Ӻʼϵͳͣά, ǰݶʧ" -#define SYSINFO_SHUTDOWN_MSG_COMP "ѹرա" +#define SYSINFO_SHUTDOWN_MSG "%d 分钟后开始进行系统停机维护, 请大家提前下线以免数据丢失。" +#define SYSINFO_SHUTDOWN_MSG_COMP "服务器已关闭。" int diff,hun; diff = NowTime.tv_sec - SERVSTATE_getShutdown(); @@ -386,20 +386,20 @@ void AngelReadyProc() if( player_online <= 10 ) #endif { -// print("\nٻ:=%d\n", player_online ); +// print("\n精灵召唤:线上人数不足=%d\n", player_online ); return; } AngelReady = 1; //AngelNextTime = min( (int)(10000/player_online), 100)*60 + (unsigned long)nowTime; #ifdef _ANGEL_TIME - AngelNextTime = min( (int)(getAngelPlayerTime()/player_online) + 1, 100)*60 + (unsigned long)nowTime;//ٻʱΪʲôһֱʾ + AngelNextTime = min( (int)(getAngelPlayerTime()/player_online) + 1, 100)*60 + (unsigned long)nowTime;//精灵召唤时间为什么一直显示? #else AngelNextTime = min( (int)(5000/player_online), 100)*60 + (unsigned long)nowTime; #endif temptime = localtime( &AngelNextTime ); - sprintf( msg, "\rٻ:һλȱ ´βʱ=(%d/%d %d:%d) Ŀǰ=%d", + sprintf( msg, "\r精灵召唤:产生一位缺额 下次产生时间=(%d/%d %d:%d) 目前人数=%d", temptime->tm_mon+1, temptime->tm_mday, temptime->tm_hour, temptime->tm_min, player_online ); print( msg); //LogAngel( msg);