📄 skill_lsw.cpp
字号:
case 2:
{
f->nImageNumber = 14;
f->nRectImage = 13;
}break;
case 0:
{
f->nImageNumber = 24;
f->nRectImage = 23;
}break;
default:
break;
}
f = &SMenu[MN_COMBAT_SKILL_POINT].nField[5];
switch(GetKnowCSGroupType(2))
{
case 1:
{
f->nImageNumber = 16;
f->nRectImage = 15;
}break;
case 2:
{
f->nImageNumber = 18;
f->nRectImage = 17;
}break;
case 0:
{
f->nImageNumber = 26;
f->nRectImage = 25;
}break;
default:
break;
}
f = &SMenu[MN_COMBAT_SKILL_POINT].nField[6];
switch(GetKnowCSGroupType(3))
{
case 1:
{
f->nImageNumber = 20;
f->nRectImage = 19;
}break;
case 2:
{
f->nImageNumber = 22;
f->nRectImage = 21;
}break;
case 0:
{
f->nImageNumber = 28;
f->nRectImage = 27;
}break;
default:
break;
}
switch(iSelected)//急琶等巴篮 灌篮 滚瓢栏肺
{
case 1:
{
f = &SMenu[MN_COMBAT_SKILL_POINT].nField[4];
f->nImageNumber = f->nRectImage;
}break;
case 2:
{
f = &SMenu[MN_COMBAT_SKILL_POINT].nField[5];
f->nImageNumber = f->nRectImage;
}break;
case 3:
{
f = &SMenu[MN_COMBAT_SKILL_POINT].nField[6];
f->nImageNumber = f->nRectImage;
}break;
default:
break;
}
//弊缝 鸥涝 滚瓢 弊覆 府悸
SMenu[MN_COMBAT_SKILL_POINT].nField[13].nRectImage = 34;
SMenu[MN_COMBAT_SKILL_POINT].nField[13].nImageNumber = 33;
SMenu[MN_COMBAT_SKILL_POINT].nField[14].nRectImage = 35;
SMenu[MN_COMBAT_SKILL_POINT].nField[14].nImageNumber = 32;
}
void SetCSPIconImageANDnWillDo(const int iGroupNo,const int iForceGroupType)//急琶等 弊缝俊 蝶扼 CSP狼 滚瓢 弊覆苞 nWillDo甫 悸泼茄促
{
int iGroupType =0;
if(iForceGroupType)
{
iGroupType = iForceGroupType;
}
else
{
iGroupType = GetKnowCSGroupType(iGroupNo);
}
int iCombatSkillIndex = GetCombatSkillIndexStart(iGroupNo, iGroupType);
const int iGroup1Start = iCSCovertSkillID+iCombatSkillIndex-1;//1锅 弊缝何磐 矫累窍聪鳖
const int iGroup1End = iGroup1Start+6;
int iStartField = 7;//SMenu[MN_COMBAT_SKILL_POINT].nField[7] 何磐 SC酒捞能 捞扁 锭巩捞促
int i = 0;
for(i = iGroup1Start; i <iGroup1End; i++)
{
SFIELD *f = &SMenu[MN_COMBAT_SKILL_POINT].nField[iStartField];
if(SCharacterData.SkillId[i])//酒绰芭
{
f->nImageNumber = SkillIdToCombatSkillIconImage(i,true);//i绰 胶懦 逞滚绊 iCSCovertSkillID锅 何磐 矫累捞聪鳖 iCSCovertSkillID甫 力寇茄促
f->nRectImage = SkillIdToCombatSkillIconImage(i,false);//i绰 胶懦 逞滚绊 iCSCovertSkillID锅 何磐 矫累捞聪鳖 iCSCovertSkillID甫 力寇茄促 捞固瘤 弓篮芭俊 36 锅何磐 货肺款芭扼辑 +35 茄促
}
else //葛福绰芭
{
f->nImageNumber = 73+(iGroupNo-1)*2+(iGroupType-1);
f->nRectImage = SkillIdToCombatSkillIconImage(i,false);//i绰 胶懦 逞滚绊 iCSCovertSkillID锅 何磐 矫累捞聪鳖 iCSCovertSkillID甫 力寇茄促 捞固瘤 弓篮芭俊 36 锅何磐 货肺款芭扼辑 +35 茄促
}
f->nWillDo = iCombatSkillIndex++;//t_CombatSkill狼 牢郸胶 历厘 1 何磐 矫累 0锅篮 Doing狼 皋牢 酒捞能 蔼
iStartField++;
}
if( iGroupNo >0)
{
for(int xx = 0; xx < 12;xx++)
{
const int iStartCSIndex = ((iGroupNo-1) * 12 +1);
SMenu[MN_COMBAT_SKILL_POINT].nField[18+xx].nWillDo =iStartCSIndex+xx;//汲疙 何盒俊 棵府绰芭 FT_CS_EXPLAIN 狼nWillDo 悸泼
}
}
}
void CallCombatSkillPointMenu()
{
if(!SMenu[MN_COMBAT_SKILL_POINT].bActive)
{
CloseAllMenu();
SMenu[MN_COMBAT_SKILL_POINT].bActive = true;
}
else
{
SMenu[MN_COMBAT_SKILL_POINT].bActive = false;
}
if(0 >= Hero->hp)
{
CloseAllMenu();
return;
}
const int iDefaultGroup =1;
InitCombatSkill();
SMenu[MN_COMBAT_SKILL_POINT].work = iDefaultGroup;//work俊 泅犁 急琶等 弊缝蔼捞 甸绢乐促
SetCSPButtonType(iDefaultGroup);//困俊 3俺 乐绰 弊缝 滚瓢阑 穿福绰芭 弊 滚瓢狼 nWillDo 蔼捞 滚瓢捞 啊柳 弊缝 蔼捞促
SetCSPGroupButtonImage(iDefaultGroup);//弊缝 滚瓢 捞固瘤甫 悸泼 茄促//SkillId 甫 啊瘤绊 惶绰芭促
SetCSPIconImageANDnWillDo(iDefaultGroup);//牢磐眉捞胶俊 哆绰 6俺狼 酒捞能 滚瓢 捞固瘤客 nWillDo 悸泼
// CallSmallMenu(MN_COMBAT_SKILL_POINT);
}
int iCSReservPoint = 10;
//鸥涝篮 绢叼促 历厘 秦 滴瘤?
void SendCSLvUp(const int iCombatSkillIndex)//iSkillNo(1~6)
{
if( !iCombatSkillIndex )
{
if( GetSysInfo(SI_GAME_MAKE_MODE ) ) // 020925 YGI
AddCurrentStatusMessage(255,255,255,"傈捧胶懦 牢郸胶啊 捞惑钦聪促");
return;
}
if (iCSReservPoint > 0)
{
g_mgrBattle.SendCombatLearn(iCombatSkillIndex + 214, Hero);
}
}
void InitCombatSkill()
{
memset(CombatSkill,0,sizeof(t_CombatSkill)*MAX_COMBAT_SKILL_STRUCT);
int iCSN = 1;
for(int i = 1; i < 36+1 ; i++)
{ //1-6 7-12 //13-18 19-24 //25-30 31-36
CombatSkill[i].iGroup = (i-1)/12 +1 ; //傈捧 胶懦 弊缝
CombatSkill[i].iGroupType = (i-1)%12 /6 +1 ; //傈捧 胶懦 鸥涝
CombatSkill[i].iCombatSkillNo = iCSN++ ; //傈捧 胶懦 逞滚
CombatSkill[i].iSkillNo = iCSCovertSkillID + i - 1 ; //SkillID 狼 逞滚
CombatSkill[i].iSkillLv = SCharacterData.SkillId[CombatSkill[i].iSkillNo]; //傈捧 胶懦 饭骇//SCharacterData.SkilID[iSkillNo]窍搁 唱坷绰 蔼
if(6 < iCSN)
{
iCSN=1;
}
}
iCSReservPoint = Hero->aStepInfo[CSP_STEP];
}
/////////////////////////////////////////////////////// 傈捧 胶懦 Doing
int iCpMax = 100;
int iCpNow = 50;
int iCpCountMax = 100;
int iCpCountNow = 50;
bool SetCSDFlied(const int iGroupNo, const int iGroupType, const int iStartFlieddNo)
{
//傈捧胶懦 弊缝 鸥涝捞 乐促搁. CombatSkill阑 八荤 窍咯(ex>1~^)乐栏搁 持绊 绝栏搁 牧萍春 茄促
int iFNo = iStartFlieddNo;//矫累鞘靛 逞滚 鞘靛甫 急屈利栏肺 硅摹 且巴
int iCSIndex = GetCombatSkillIndexStart(iGroupNo, iGroupType);
bool bForceNoneType = false;
bool iReturnValue = false;//府畔登绰 蔼. 鞘靛 窍唱扼档 悸泼 登搁 促澜 鞘靛肺 刮促
if( !iGroupType)
{
bForceNoneType = true;
}
const int iCSIndexTarget = iCSIndex+6;
//努府绢 棵 鞘靛 扼绰吧 笼绢 持磊.
SMenu[MN_COMBAT_SKILL_DOING].nField[iStartFlieddNo].nWillDo = 0;
SMenu[MN_COMBAT_SKILL_DOING].nField[iStartFlieddNo+1].nWillDo = 0;
SMenu[MN_COMBAT_SKILL_DOING].nField[iStartFlieddNo+2].nWillDo = 0;
SMenu[MN_COMBAT_SKILL_DOING].nField[iStartFlieddNo+3].nWillDo = 0;
SMenu[MN_COMBAT_SKILL_DOING].nField[iStartFlieddNo+4].nWillDo = 0;
SMenu[MN_COMBAT_SKILL_DOING].nField[iStartFlieddNo+5].nWillDo = 0;
for(; iCSIndex<iCSIndexTarget ;iCSIndex++)
{
SFIELD *f = &SMenu[MN_COMBAT_SKILL_DOING].nField[iFNo];
// if( iCSIndex != (iCSIndexTarget-1)
// ||
// (iGroupNo==3 && iGroupType ==2) )//5锅捞 酒聪搁 弊赴促 3锅 弊缝俊 2锅 鸥涝( 官恩 捞搁 弊赴促 )
// {
if(CombatSkill[iCSIndex].iSkillLv&&(bForceNoneType == 0))//硅款芭促.. 1肪 捞惑捞聪鳖
{
f->nImageNumber = SkillIdToCombatSkillIconImage(CombatSkill[iCSIndex].iSkillNo,true);
f->nRectImage = SkillIdToCombatSkillIconImage(CombatSkill[iCSIndex].iSkillNo,false);
SetRect(f->rCheakBox, f->x, f->y, f->x+42, f->y+42);
f->nWillDo = iCSIndex;
iFNo++;//促澜 鞘靛肺
iReturnValue = true;
}
// }
else//镜荐 乐绰 胶懦 酒聪搁 康开苞 nWillDo甫 0栏肺 悸泼
{
f->nWillDo = 0;
SetRect(f->rCheakBox, 0, 0, 0, 0);
}
}
return iReturnValue;
}
void SetCSDIconRectAndnWillDo()
{
int iSkillId = iCSCovertSkillID;
int iFieldNo = 17;//鞘靛 逞滚 剐扁
int iGroupNo = 1;
// ( SetCSDFlied(1,GetKnowCSGroupType(1),17) );
// ( SetCSDFlied(2,GetKnowCSGroupType(2),17) );
// ( SetCSDFlied(3,GetKnowCSGroupType(3),5) );
for ( iGroupNo =1; iGroupNo<4;iGroupNo++)
{
if( SetCSDFlied(iGroupNo,GetKnowCSGroupType(iGroupNo),iFieldNo) )
{
iFieldNo-=6;
}
}
}
void SetSCDMainAndOtherClear(const iCombatSkillIndex)
{
SMenu[MN_COMBAT_SKILL_DOING].nField[1].nWillDo = 0;
SMenu[MN_COMBAT_SKILL_DOING].work = 0;//霸捞瘤啊 免仿 吝捞促
for(int iFNo=5 ; iFNo <=22 ;iFNo++)//鞘靛傈何 努府绢 (努腐 规瘤 殿殿)
{
SFIELD *f = &SMenu[MN_COMBAT_SKILL_DOING].nField[iFNo];
f->nWillDo = 0;
SetRect(f->rCheakBox, 0, 0, 0, 0);//
}
if(!iCombatSkillIndex)
{
return;
}//胶懦 牢郸胶啊 捞矾搁 救登瘤
SMenu[MN_COMBAT_SKILL_DOING].nField[1].nWillDo = iCombatSkillIndex;//nWillDo 悸泼
SMenu[MN_COMBAT_SKILL_DOING].work = 2;//霸捞瘤啊 免仿 吝捞促
}
bool IsSelectCombat()
{ //< CSD-TW-030606
return (SMenu[MN_COMBAT_SKILL_DOING].nField[1].nWillDo == 0) ? false:true;
} //> CSD-TW-030606
void CallCombatSkillDoingMenu()
{ //公炼扒 勘聪促
if(!SMenu[MN_COMBAT_SKILL_DOING].bActive)
{
SMenu[MN_COMBAT_SKILL_DOING].bActive = true;
}
/*
else
{
SMenu[MN_COMBAT_SKILL_DOING].bActive = true;
}
InitCombatSkill();
SetCSDIconRectAndnWillDo();
SetSCDMainAndOtherClear(0);
*/
}
int iCSPMax = 0;
int iCSPNow = 0;
int iCSPCMax = 0;
int iCSPCNow = 0;
void CSDMainIconClear()
{ //< CSD-TW-030627
g_mgrBattle.SendCombatClear();
} //> CSD-TW-030627
inline void ReadCombatSkillExplain(char * buf,int i)
{
char *token;
token = strtok(buf, "\t\n\r"); if( token == NULL ) return;
const int iIndex = CombatSkillExplain[i].iSkillNo = atoi(token);
token = strtok(NULL,"\t\n\r"); if( token == NULL ) return;
strcpy(CombatSkillExplain[iIndex].EngName ,token);
// CombatSkillExplain[iIndex].EngName[30] = 0;
EatRearWhiteChar( CombatSkillExplain[iIndex].EngName);
token = strtok(NULL,"\t\n\r"); if( token == NULL ) return;
strcpy(CombatSkillExplain[iIndex].LocalName,token);
// CombatSkillExplain[iIndex].LocalName[30] = 0;
EatRearWhiteChar( CombatSkillExplain[iIndex].LocalName);
token = strtok(NULL,"\t\n\r"); if( token == NULL ) return;//荤侩过
strcpy(CombatSkillExplain[iIndex].ClassName,token);
// CombatSkillExplain[iIndex].ClassName[50] = 0;
EatRearWhiteChar( CombatSkillExplain[iIndex].ClassName);
token = strtok(NULL,"\t\n\r"); if( token == NULL ) return;//荤侩过
strcpy(CombatSkillExplain[iIndex].WeaponTactic,token);
// CombatSkillExplain[iIndex].WeaponTactic[30] = 0;
EatRearWhiteChar( CombatSkillExplain[iIndex].WeaponTactic);
token = strtok(NULL,"\t\n\r"); if( token == NULL ) return;CombatSkillExplain[iIndex].iNeedLv[0] = atoi(token);
token = strtok(NULL,"\t\n\r"); if( token == NULL ) return;CombatSkillExplain[iIndex].iNeedLv[1] = atoi(token);
token = strtok(NULL,"\t\n\r"); if( token == NULL ) return;CombatSkillExplain[iIndex].iNeedLv[2] = atoi(token);
token = strtok(NULL,"\t\n\r"); if( token == NULL ) return;CombatSkillExplain[iIndex].iLvCp[0] = atoi(token);
token = strtok(NULL,"\t\n\r"); if( token == NULL ) return;CombatSkillExplain[iIndex].iLvCp[1] = atoi(token);
token = strtok(NULL,"\t\n\r"); if( token == NULL ) return;CombatSkillExplain[iIndex].iLvCp[2] = atoi(token);
for(int xx = 0; xx < 3; xx++)
{
token = strtok(NULL,"\t\n\r"); if( token == NULL ) return;//荤侩过
strcpy(CombatSkillExplain[iIndex].MicroExplain[xx],token);
// CombatSkillExplain[iIndex].MicroExplain[xx][50] = 0;
EatRearWhiteChar( CombatSkillExplain[iIndex].MicroExplain[xx]);
}
token = strtok(NULL,"\t\n\r"); if( token == NULL ) return;//荤侩过
strcpy(CombatSkillExplain[iIndex].Use,token);
// CombatSkillExplain[iIndex].Use[50] = 0;
EatRearWhiteChar( CombatSkillExplain[iIndex].Use);
token = strtok(NULL,"\t\n\r"); if( token == NULL ) return;
strcpy(CombatSkillExplain[iIndex].Explain,token);
// CombatSkillExplain[iIndex].Explain[100] = 0;
EatRearWhiteChar( CombatSkillExplain[iIndex].Explain);
ConvertSpecialWord(CombatSkillExplain[iIndex].Explain,"\\n",'\n');
ConvertSpecialWord(CombatSkillExplain[iIndex].Explain,"\\t",'\t');
ConvertSpecialWord(CombatSkillExplain[iIndex].Explain,"\\r",'\r');
return;
}
bool LoadCombatSkillExplain()
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -