📄 ltssupprot.cpp
字号:
PutCompressedImage(ch->x-Mapx,ch->y-Mapy,s);
}
}
void SendCMD_HERO_ACTION_CHANGED(LPCHARACTER ch) // 011214 LTS
{
if (ch->nCurrentAction==ACTION_SITDOWN)
{
t_packet packet;
packet.h.header.type=CMD_HERO_ACTION_CHANGED;
packet.u.LocalWar.CommonDataC.Data=ch->nCurrentAction;
packet.h.header.size=sizeof(t_CommonDataC);
QueuePacket(&packet,1);
}
}
void SendCMD_CHECK_ABILITY_CHANGE_MONEY() // LTS HORSERIDER //绢呼犁盒硅...
{
t_packet packet;
if (!Hero->aStepInfo[CLS_STEP])
{
packet.h.header.type=CMD_CHECK_ABILITY_CHANGE_MONEY;
packet.h.header.size=0;
QueuePacket(&packet,1);
}
else CallOkCancelMessageBox(TRUE, 0,0, lan->OutputMessage(0,334), FALSE); // 绢呼犁盒硅甫 窍看嚼聪促.
}
void RecvCMD_CHECK_ABILITY_CHANGE_MONEY(t_packet* p) // 020115 LTS
{
switch (p->u.NationWar.CommonDataC.Data)
{
case 0 : CallOkCancelMessageBox(TRUE, 0,0, lan->OutputMessage(0,336), FALSE); break; // 篮青 儡绊啊 何练窍咯 绢呼犁盒硅甫 窍瘤 给沁嚼聪促.
case 1 : CallOkCancelMessageBox(TRUE, 0,0, lan->OutputMessage(0,335), FALSE); break;// 绢呼犁盒硅甫 窍看嚼聪促.
case 5 : CallOkCancelMessageBox(TRUE, 0,0, lan->OutputMessage(0,348), FALSE); break;// 掂倔努贰胶绰 绢呼府萍 犁盒硅甫且 荐 绝嚼聪促.
}
}
void LocalWarMapMoveClick(int MapNo) // LTS NEW LOCALWAR
{
g_LocalWarMapMoveIndex=MapNo;
}
void CloseLocalWarInfo() // LTS NEW LOCALWAR
{
g_LocalWarMapMoveIndex=-1; // 急琶等芭 秦力秦 霖促.
}
int GetLocalWarMapMoveIndex() // LTS NEW LOCALWAR
{
return g_LocalWarMapMoveIndex;
}
void ChangeHeroLocalWarArmor()
{
LPCHARACTER ch=Hero; // 矫具狼 葛电 荤恩狼 渴阑 官槽促.
if (ch->sprno<=1)
{
if (g_LocalWarBegin)
{
if (ch->JoinLocalWar)
{
switch (ch->name_status.nation)
{
case NW_BY : ch->accessory[0] = fight_map_acc_num[1]; break;
case NW_ZY : ch->accessory[0] = fight_map_acc_num[0]; break;
case NW_YL : ch->accessory[0] = fight_map_acc_num[2]; break;
}
ch->accessory[1] = 1;
LoadHeroClothAccessoryDataOne( ch->sprno, ch->accessory[0] );
LoadHeroClothAccessoryDataOne( ch->sprno, ch->accessory[1] );
}
}
}
}
void ChangeUserLocalWarArmor()
{
LPCHARACTER ch=Hero; // 矫具狼 葛电 荤恩狼 渴阑 官槽促.
while (ch!=NULL)
{
if (ch->sprno<=1)
{
if (g_LocalWarBegin)
{
if (ch->JoinLocalWar)
{
switch (ch->name_status.nation)
{
case NW_BY : ch->accessory[0] = fight_map_acc_num[1]; break;
case NW_ZY : ch->accessory[0] = fight_map_acc_num[0]; break;
case NW_YL : ch->accessory[0] = fight_map_acc_num[2]; break;
}
ch->accessory[1] = 1;
LoadHeroClothAccessoryDataOne( ch->sprno, ch->accessory[0] );
LoadHeroClothAccessoryDataOne( ch->sprno, ch->accessory[1] );
}
}
}
ch=ch->lpNext;
}
}
int GetNationFromIndex(int NationIndex) // LTS NEW HORSERIDER
{
switch(NationIndex)
{
case 0 : return NW_BY;
case 1 : return NW_ZY;
case 2 : return NW_YL;
}
return NW_BY;
}
void SetLocalWarArmor(t_server_change_equip *p,LPCHARACTER ch) // NetWork.cpp RecvChangeEquip() Call
{
if (g_LocalWarBegin)
{
if (ch->JoinLocalWar)
{
switch(ch->name_status.nation)
{
case NW_BY : p->equip[0]=fight_map_acc_num[1]; break;
case NW_ZY : p->equip[0]=fight_map_acc_num[0]; break;
case NW_YL : p->equip[0]=fight_map_acc_num[2]; break;
}
p->equip[1]=1;
LoadHeroClothAccessoryDataOne( ch->sprno, p->equip[0] );
LoadHeroClothAccessoryDataOne( ch->sprno, p->equip[1] );
}
}
}
void SetLocalWarArmor(t_server_user_add *c) // NetWork.cpp RecvUserAdd() Call
{
if (g_LocalWarBegin)
{
if (c->JoinLocalWar)
{
switch(c->nation)
{
case NW_BY : c->equip0=fight_map_acc_num[1]; break;
case NW_ZY : c->equip0=fight_map_acc_num[0]; break;
case NW_YL : c->equip0=fight_map_acc_num[2]; break;
}
c->equip1=1;
LoadHeroClothAccessoryDataOne( c->spr_no, c->equip0 );
LoadHeroClothAccessoryDataOne( c->spr_no, c->equip1 );
}
}
}
void SendCMD_LOCALWAR_STATUS() //惫瘤傈 惑怕
{
t_packet packet;
packet.h.header.type=CMD_LOCALWAR_STATUS;
packet.h.header.size=0;
QueuePacket(&packet,1);
}
void SendCMD_REQUEST_LOCALWAR_INFO()
{
t_packet packet;
packet.h.header.type=CMD_REQUEST_LOCALWAR_INFO; //沥焊夸没
packet.h.header.size=0;
QueuePacket(&packet,1);
}
void RecvCMD_LOCALWAR_STATUS(t_packet* p) // 惫瘤傈 惑怕
{
if (p->u.LocalWar.CommonDataC.Data)
{
g_LocalWarBegin=1;
SendCMD_REQUEST_LOCALWAR_INFO();
}
else CallOkCancelMessageBox(TRUE, 0,0, lan->OutputMessage(0,258), FALSE); //"[傈里吝] 扁埃俊父 荤侩且 荐 乐嚼聪促."
}
void RecvCMD_ANSWER_LOCALWAR_INFO(t_packet* p)
{
short BY_Point=0,ZY_Point=0,YL_Point=0;
short BY_Count=0,ZY_Count=0,YL_Count=0;
for (int i=0;i<7;i++) // 配呕 墨款飘 // too Many
{
BY_Count+=p->u.LocalWar.LocalWarInfo.LocalWarInfo1[i].ManCount[0]; // 惫瘤傈 曼咯 牢盔 备窃 眠饶 荤侩 抗沥
ZY_Count+=p->u.LocalWar.LocalWarInfo.LocalWarInfo1[i].ManCount[1];
YL_Count+=p->u.LocalWar.LocalWarInfo.LocalWarInfo1[i].ManCount[2];
g_AreaCount[i][0]=p->u.LocalWar.LocalWarInfo.LocalWarInfo1[i].ManCount[0];
g_AreaCount[i][1]=p->u.LocalWar.LocalWarInfo.LocalWarInfo1[i].ManCount[1];
g_AreaCount[i][2]=p->u.LocalWar.LocalWarInfo.LocalWarInfo1[i].ManCount[2];
}
g_LocalWarRemainTime=(g_ClientTime/1000)+p->u.LocalWar.LocalWarInfo.LocalWarPointChanged.RemainTime; // 020115 LTS
g_LocalWarPoint[0]=p->u.LocalWar.LocalWarInfo.LocalWarPointChanged.Point[0];
g_LocalWarPoint[1]=p->u.LocalWar.LocalWarInfo.LocalWarPointChanged.Point[1];
g_LocalWarPoint[2]=p->u.LocalWar.LocalWarInfo.LocalWarPointChanged.Point[2];
sprintf(SMenu[MN_LOCALWAR_JOIN].nField[9].temp, "%4d",g_LocalWarPoint[0]);
sprintf(SMenu[MN_LOCALWAR_JOIN].nField[10].temp, "%4d",g_LocalWarPoint[1]);
sprintf(SMenu[MN_LOCALWAR_JOIN].nField[11].temp, "%4d",g_LocalWarPoint[2]);
g_SealStoneStatus[0][0]=p->u.LocalWar.LocalWarInfo.LocalWarInfo2.SealStoneInfo[0][0]; // LOOP UNROLL
g_SealStoneStatus[0][1]=p->u.LocalWar.LocalWarInfo.LocalWarInfo2.SealStoneInfo[0][1];
g_SealStoneStatus[0][2]=p->u.LocalWar.LocalWarInfo.LocalWarInfo2.SealStoneInfo[0][2];
g_SealStoneStatus[0][3]=p->u.LocalWar.LocalWarInfo.LocalWarInfo2.SealStoneInfo[0][3];
g_SealStoneStatus[0][4]=p->u.LocalWar.LocalWarInfo.LocalWarInfo2.SealStoneInfo[0][4];
g_SealStoneStatus[0][5]=p->u.LocalWar.LocalWarInfo.LocalWarInfo2.SealStoneInfo[0][5];
g_SealStoneStatus[0][6]=p->u.LocalWar.LocalWarInfo.LocalWarInfo2.SealStoneInfo[0][6];
g_SealStoneStatus[0][7]=p->u.LocalWar.LocalWarInfo.LocalWarInfo2.SealStoneInfo[0][7];
g_SealStoneStatus[0][8]=p->u.LocalWar.LocalWarInfo.LocalWarInfo2.SealStoneInfo[0][8];
g_SealStoneStatus[1][0]=p->u.LocalWar.LocalWarInfo.LocalWarInfo2.SealStoneInfo[1][0]; // LOOP UNROLL
g_SealStoneStatus[1][1]=p->u.LocalWar.LocalWarInfo.LocalWarInfo2.SealStoneInfo[1][1];
g_SealStoneStatus[1][2]=p->u.LocalWar.LocalWarInfo.LocalWarInfo2.SealStoneInfo[1][2];
g_SealStoneStatus[1][3]=p->u.LocalWar.LocalWarInfo.LocalWarInfo2.SealStoneInfo[1][3];
g_SealStoneStatus[1][4]=p->u.LocalWar.LocalWarInfo.LocalWarInfo2.SealStoneInfo[1][4];
g_SealStoneStatus[1][5]=p->u.LocalWar.LocalWarInfo.LocalWarInfo2.SealStoneInfo[1][5];
g_SealStoneStatus[1][6]=p->u.LocalWar.LocalWarInfo.LocalWarInfo2.SealStoneInfo[1][6];
g_SealStoneStatus[1][7]=p->u.LocalWar.LocalWarInfo.LocalWarInfo2.SealStoneInfo[1][7];
g_SealStoneStatus[1][8]=p->u.LocalWar.LocalWarInfo.LocalWarInfo2.SealStoneInfo[1][8];
g_SealStoneStatus[2][0]=p->u.LocalWar.LocalWarInfo.LocalWarInfo2.SealStoneInfo[2][0]; // LOOP UNROLL
g_SealStoneStatus[2][1]=p->u.LocalWar.LocalWarInfo.LocalWarInfo2.SealStoneInfo[2][1];
g_SealStoneStatus[2][2]=p->u.LocalWar.LocalWarInfo.LocalWarInfo2.SealStoneInfo[2][2];
g_SealStoneStatus[2][3]=p->u.LocalWar.LocalWarInfo.LocalWarInfo2.SealStoneInfo[2][3];
g_SealStoneStatus[2][4]=p->u.LocalWar.LocalWarInfo.LocalWarInfo2.SealStoneInfo[2][4];
g_SealStoneStatus[2][5]=p->u.LocalWar.LocalWarInfo.LocalWarInfo2.SealStoneInfo[2][5];
g_SealStoneStatus[2][6]=p->u.LocalWar.LocalWarInfo.LocalWarInfo2.SealStoneInfo[2][6];
g_SealStoneStatus[2][7]=p->u.LocalWar.LocalWarInfo.LocalWarInfo2.SealStoneInfo[2][7];
g_SealStoneStatus[2][8]=p->u.LocalWar.LocalWarInfo.LocalWarInfo2.SealStoneInfo[2][8];
g_LocalWarDefencePoint[0]=p->u.LocalWar.LocalWarInfo.LocalWarDefencePoint[0]; // LTS NEW LOCALWAR
g_LocalWarDefencePoint[1]=p->u.LocalWar.LocalWarInfo.LocalWarDefencePoint[1];
g_LocalWarDefencePoint[2]=p->u.LocalWar.LocalWarInfo.LocalWarDefencePoint[2];
CallSmallMenu(MN_LOCALWAR_JOIN);
}
void SendCMD_LOCALWAR_JOIN() // LTS NEW LOCALWAR
{
if (g_LocalWarBegin)
{
int Nation=GetNationIndex(Hero->name_status.nation);
if (g_LocalWarDefencePoint[Nation]>0)
{
t_packet packet;
packet.h.header.type=CMD_LOCALWAR_JOIN;
packet.h.header.size=0;
QueuePacket(&packet,1);
}
else
{
CallOkCancelMessageBox(TRUE, 0,0,lan->OutputMessage(0,372),FALSE); // 惫瘤傈俊 菩硅窍看栏骨肺 曼 啊且荐 绝嚼聪促.
}
}
else
{
CallOkCancelMessageBox(TRUE, 0,0,lan->OutputMessage(0,371),FALSE); // 惫瘤傈捞 矫累登瘤 臼疽嚼聪促.
}
}
void SendCMD_LOCALWAR_MAPMOVE() // LT SNEW LOCALWAR
{
if (g_LocalWarMapMoveIndex>=0)
{
t_packet packet;
packet.h.header.type=CMD_LOCALWAR_MAPMOVE;
packet.u.LocalWar.CommonDataC.Data=g_LocalWarMapMoveIndex;
packet.h.header.size=sizeof(t_CommonDataC);
QueuePacket(&packet,1);
g_LocalWarMapMoveIndex=-1; // 檬扁拳
}
else
{
AddCurrentStatusMessage(255,255,0,lan->OutputMessage(0,371),FALSE); // "捞悼窍角 甘阑 急琶秦具 钦聪促.");
}
}
void RecvCMD_LOCALWAR_JOIN_RESULT(t_packet* p)
{
if (p->u.LocalWar.CommonDataC.Data)
{
Hero->JoinLocalWar=TRUE;
ChangeHeroLocalWarArmor();
//CallOkCancelMessageBox(TRUE, 0,0,"惫瘤傈俊 曼咯 钦聪促.", FALSE);
strcpy(SMenu[MN_LOCALWAR_OK].nField[3].temp, lan->OutputMessage(0,378)); // LTS LOCALWAR MENU
PlayListAutoSounds(62,0,0,FALSE); // 020115 LTS
CallSmallMenu(MN_LOCALWAR_OK);
}
else CallOkCancelMessageBox(TRUE, 0,0, lan->OutputMessage(0,337), FALSE);
}
// 031110 YGI
void LocalWarDoneBoxText(bool Button) // LTS LOCALWAR MENU
{
#ifdef USA_LOCALIZING_
int MessageNo[6]={378,390,379,391,380,392}; // MessageNo
const int iMaxPage = 5;
#else
int MessageNo[3]={378,379,380}; // MessageNo
const int iMaxPage = 2;
#endif
switch(Button)
{
case false : // PREV
{
SMenu[MN_LOCALWAR_OK].work--;
if (SMenu[MN_LOCALWAR_OK].work<0) SMenu[MN_LOCALWAR_OK].work=0;
strcpy(SMenu[MN_LOCALWAR_OK].nField[3].temp, lan->OutputMessage(0,MessageNo[SMenu[MN_LOCALWAR_OK].work]));
break;
}
case true : // NEXT
{
SMenu[MN_LOCALWAR_OK].work++;
if (SMenu[MN_LOCALWAR_OK].work>iMaxPage) SMenu[MN_LOCALWAR_OK].work=iMaxPage;
strcpy(SMenu[MN_LOCALWAR_OK].nField[3].temp, lan->OutputMessage(0,MessageNo[SMenu[MN_LOCALWAR_OK].work]));
break;
}
}
}
void SendCMD_REQUEST_COMPARE_PHASE()
{
t_packet packet;
packet.h.header.type=CMD_REQUEST_COMPARE_PHASE;
packet.h.header.size=0;
QueuePacket(&packet,1);
}
void RecvCMD_USER_JOIN_LOCALWAR(t_packet* p)
{
LPCHARACTER ch=FindHim(p->u.LocalWar.UserJoinLocalWar.ServerID);
if (NULL!=ch)
{
ch->JoinLocalWar=TRUE;
ChangeUserLocalWarArmor();
}
}
void RecvCMD_LOCALWAR_BEGIN(t_packet* p) // 011217 LTS
{
g_LocalWarBegin=TRUE;
SendCMD_REQUEST_LOCALWAR_INFO();
AddCurrentStatusMessage(255,255,0,lan->OutputMessage(0,284));
switch (Hero->name_status.nation)
{
case NW_BY : AddCurrentStatusMessage(255,255,0,lan->OutputMessage(0,285)); break;
case NW_ZY : AddCurrentStatusMessage(255,255,0,lan->OutputMessage(0,286)); break;
case NW_YL : AddCurrentStatusMessage(255,255,0,lan->OutputMessage(0,287)); break;
}
PlayListAutoSounds(271,0,0,FALSE);
}
void RecvCMD_LOCALWAR_END(t_packet* p) // LTS NEW LOCALWAR
{
if (g_LocalWarDefencePoint[GetNationIndex(Hero->name_status.nation)]!=0) // 捞固 惫瘤傈俊辑 菩硅茄 唱扼绰 促矫 靛肺雷 窍瘤 臼绰促.
{
g_LocalWarBegin=FALSE;
if (Hero->JoinLocalWar) Hero->JoinLocalWar=0;
if (Hero->name_status.nation==p->u.LocalWar.CommonDataC.Data)
{
g_LocalWarResult=1; // WIN
AddCurrentStatusMessage( 255,255,0,lan->OutputMessage(0,338));
}
else
{
g_LocalWarResult=2; // LOOSE
AddCurrentStatusMessage( 255,255,0,lan->OutputMessage(0,366));//"磊惫啊狼 搬拌籍阑 焊龋窍瘤 臼酒 傈里俊 菩硅沁嚼聪促"
}
}
}
void RecvCMD_SEALSTONE_BROKED(t_packet* p)
{
AddCurrentStatusMessage( 255,255,0,lan->OutputMessage(0,340),
MapInfo[p->u.LocalWar.SealStoneBroked.MapNumber].mapname,
p->u.LocalWar.SealStoneBroked.LocateX,
p->u.LocalWar.SealStoneBroked.LocateY);
PlayListAutoSounds(262,0,0,FALSE); // 0215 LTS
}
void RecvCMD_SEALSTONE_ATTACKED(t_packet* p)
{
AddCurrentStatusMessage( 255,255,0,lan->OutputMessage(0,341),
MapInfo[p->u.LocalWar.SealStoneAttacked.MapNumber].mapname,
p->u.LocalWar.SealStoneAttacked.LocateX,
p->u.LocalWar.SealStoneAttacked.LocateY);
}
void RecvCMD_LOCALWAR_POINT_BBS(t_packet* p) // LTS BUG
{
g_LocalWarRemainTime=(g_ClientTime/1000)+p->u.LocalWar.LocalWarPointChanged.RemainTime; // 020115 LTS
g_LocalWarPoint[0]=p->u.LocalWar.LocalWarPointChanged.Point[0];
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -