📄 nationsys.cpp
字号:
#include "..\stdafx.h"
#include "DefaultHeader.h"
#include "NationSys.h"
#include "..\LowerLayers\//MyLog.h"
#include "SealStone.h"
#include "..\LowerLayers\servertable.h"
#include "Scrp_exe.h"
#include "CItem.h"//020505 lsw
#include "LogManager.h"
#include "UserManager.h"
cWarfield* g_pWarfield=NULL;
cNation* g_pNation=NULL;
CNewWarfield* g_pNewWarfield=NULL;
__int64 g_WarTime=0; // 傈里矫埃 // 011015 LTS // g_curr_time狼 滚弊肺 背眉 抗沥
WORD g_wMapServerPort=0;
int g_pLoadingPoint[NW_WARFIELD_COUNT][NW_SQUAD_MAX]; // g_pWarfield, g_pNation捞 绝绰 版快
t_Warfield g_pWarfieldStatus[NW_WARFIELD_COUNT]; // g_pWarfield, g_pNation捞 绝绰 版快
int* g_pNationWar_Exp=NULL; // LTS NEW LOCALWAR
int g_pNewWarfieldStatus[MAX_NEW_WARFIELD];
//int bMoveLevelMax[MAX_NEW_WARFIELD]; // MAX_NEW_WARFIELD
//int bMoveLevelMin[MAX_NEW_WARFIELD]; // MAX_NEW_WARFIELD
int MoveLevelMax[MAX_NEW_WARFIELD]; // MAX_NEW_WARFIELD
int MoveLevelMin[MAX_NEW_WARFIELD]; // MAX_NEW_WARFIELD
// Tile Concern__________________________________________________________________________________
const POINTS Map0_133[MAP0_133]={ // 010927 LTS
{131,259},{131,260},{131,261},{131,262},{131,263},{131,264},{131,265},
{131,266},{132,258},{132,259},{132,260},{132,261},{132,262},{132,263},
{132,264},{132,265},{133,257},{133,258},{133,259},{133,260},{133,261},
{133,262},{133,263},{133,264},{134,256},{134,257},{134,258},{134,259},
{134,260},{134,261},{134,262},{134,263} };
const POINTS Map0_138[MAP0_138]={
{135,255},{135,256},{135,257},{135,258},{135,259},{135,260},{135,261},
{135,262},{136,255},{136,256},{136,257},{136,258},{136,259},{136,260},
{136,261},{137,256},{137,257},{137,258},{137,259},{137,260},{138,257},
{138,258},{138,259},{139,258} };
const POINTS Map0_203[MAP0_203] ={
{200,192},{200,193},{200,194},{200,195},{200,196},{200,197},{200,198},
{200,199},{201,192},{201,193},{201,194},{201,195},{201,196},{201,197},
{201,198},{202,193},{202,194},{202,195},{202,196},{202,197},{203,194},
{203,195},{203,196},{204,195} };
const POINTS Map0_198[MAP0_198] = {
{199,193},{199,194},{199,195},{199,196},{199,197},{199,198},{199,199},
{199,200},{198,194},{198,195},{198,196},{198,197},{198,198},{198,199},
{198,200},{198,201},{197,195},{197,196},{197,197},{197,198},{197,199},
{197,200},{197,201},{197,202},{196,196},{196,197},{196,198},{196,199},
{196,200},{196,201},{196,202},{196,203},{195,196},{195,197} };
const POINTS Map0_263[MAP0_263] ={
{261,133},{261,134},{261,135},{261,136},{261,137},{261,138},{261,139},
{261,140},{262,132},{262,133},{262,134},{262,135},{262,136},{262,137},
{262,138},{262,139},{263,131},{263,132},{263,133},{263,134},{263,135},
{263,136},{263,137},{263,138},{264,130},{264,131},{264,132},{264,133},
{264,134},{264,135},{264,136},{264,137} };
const POINTS Map0_268[MAP0_268] ={ // 010927 LTS
{265,129},{265,130},{265,131},{265,132},{265,133},{265,134},{265,135},
{265,136},{266,129},{266,130},{266,131},{266,132},{266,133},{266,134},
{266,135},{267,130},{267,131},{267,132},{267,133},{267,134},{268,131},
{268,132},{268,133} };
//________________________________________________________________________________________________
const POINTS Map1_450[MAP1_450]=
{ {451,521},{451,522},{451,523},{451,524},{451,525},{451,526},
{450,522},{450,523},{450,524},{450,525},{450,526},{450,527},
{449,523},{449,524},{449,525},{449,526},{449,527},{449,528},
{448,524},{448,525},{448,526},{448,527},{448,528},{448,529},
{447,525},{447,526},{447,527},{447,528},{447,529},{446,526},
{446,527},{446,527} };
const POINTS Map1_527[MAP1_527]= // 010927 LTS
{ {528,525},{528,526},{528,527},{528,528},{528,529},{528,530},
{527,526},{527,527},{527,528},{527,529},{527,530},{527,531},
{526,527},{526,528},{526,529},{526,530},{526,531},{526,532},
{525,528},{525,529},{525,530},{525,531},{525,532},{525,533},
{524,529},{524,530},{524,531},{524,532},{524,533},{523,530},
{523,531},{523,532} };
const POINTS Map1_524[MAP1_524]=
{ {525,451},{525,452},{525,453},{525,454},{525,455},{525,456},
{524,452},{524,453},{524,454},{524,455},{524,456},{524,457},
{523,453},{523,454},{523,455},{523,456},{523,457},{523,458},
{522,454},{522,455},{522,456},{522,457},{522,458},{522,459},
{521,455},{521,456},{521,457},{521,458},{521,459},{520,456},
{520,457},{520,458} };
const POINTS Map1_E450[15]=
{ {451,523},{451,524},{451,525},{450,524},{450,525},{450,526},
{449,525},{449,526},{449,527},{448,526},{448,527},{448,528},
{447,527},{447,528},{447,529} };
const POINTS Map1_E527[15]=
{ {528,527},{528,528},{528,529},{527,528},{527,529},{527,530},
{526,529},{526,530},{526,531},{525,530},{525,531},{525,532},
{524,531},{524,532},{524,533} };
const POINTS Map1_E524[15]=
{ {525,453},{525,454},{525,455},{524,454},{524,455},{524,456},
{523,455},{523,456},{523,457},{522,456},{522,457},{522,458},
{521,457},{521,458},{521,459} };
//________________________________________________________________________________________________
const POINTS Map2_114[MAP2_114]=
{ {112,166},{113,165},{114,164},{115,163},{112,165},{113,164},
{114,163},{115,162},{112,164},{113,163},{114,162},{115,161},
{112,163},{113,162},{114,161},{115,160},{112,163},{113,162},
{114,161},{115,160},{112,162},{113,161},{114,160},{115,159},
{112,161},{113,160},{114,159},{115,158},{111,160},{112,159},
{113,158},{114,157} };
const POINTS Map2_119[MAP2_119]=
{ {116,162},{117,161},{118,160},{119,159},{116,161},{117,160},
{118,159},{119,158},{116,160},{117,159},{118,158},{116,159},
{117,158},{118,157},{116,159},{117,158},{118,157},{116,158},
{117,157},{118,156},{116,157},{117,156},{118,155},{115,156},
{116,155},{117,154} };
const POINTS Map2_151[MAP2_151]=
{ {149,130},{150,129},{151,128},{152,127},{149,129},{150,128},
{151,127},{152,126},{149,128},{150,127},{151,126},{152,125},
{149,127},{150,126},{151,125},{152,124},{149,126},{150,125},
{151,124},{152,123},{149,125},{150,124},{151,123},{152,122},
{149,124},{150,123},{151,122},{152,121} };
const POINTS Map2_156[MAP2_156]=
{ {153,126},{154,127},{155,128},{156,127},{153,125},{154,124},
{155,123},{156,122},{153,124},{154,123},{155,122},{153,123},
{154,122},{155,121},{153,122},{154,121},{155,120},{153,121},
{154,120},{155,119},{153,120},{154,119},{155,118} };
const POINTS Map2_274[MAP2_274]=
{ {272,286},{273,285},{274,284},{275,283},{272,285},{273,284},
{274,283},{275,282},{272,284},{273,283},{274,282},{275,281},
{272,283},{273,282},{274,281},{275,280},{272,282},{273,281},
{274,280},{275,279},{271,282},{272,281},{273,280},{274,279},
{275,278},{271,281},{272,280},{273,279},{274,278},{275,277} };
const POINTS Map2_279[MAP2_279]=
{ {276,282},{277,281},{278,280},{279,279},{276,281},{277,280},
{278,279},{279,278},{276,280},{277,279},{278,278},{276,279},
{277,278},{278,277},{276,278},{277,277},{276,277},{277,276},
{276,276} };
const POINTS Map2_E114[8]=
{ {112,165},{113,164},{114,163},{115,162},{112,164},{113,163},
{114,162},{115,161} };
const POINTS Map2_E119[8]=
{ {116,161},{117,160},{118,159},{119,158},{116,160},{117,159},
{118,158},{119,157} };
const POINTS Map2_E151[8]=
{ {149,129},{150,128},{151,127},{152,126},{149,128},{150,127},
{151,126},{152,125} };
const POINTS Map2_E156[9]=
{ {153,125},{154,124},{155,123},{156,122},{157,121},{153,124},
{154,123},{155,122},{156,121} };
const POINTS Map2_E274[8]=
{ {272,285},{273,284},{274,283},{275,282},{272,284},{273,283},
{274,282},{275,281} };
const POINTS Map2_E279[8]={ {276,281},{277,280},{278,279},{279,278},{276,280},{277,279},
{278,278},{279,277} };
// Tile Concern End_______________________________________________________________________________
const POINTS AttackPoint[3][4] = { { {321,338}, {182,357}, {382,169}, {382,169} }, // Nation1
{ {629,629}, {425,657}, {667,445}, {667,445} }, // Nation2
{ {415,407}, {388,303}, { 11, 11}, { 16,126} } }; // Nation3
const POINTS DefencePoint[3] = { {127,120}, // Nation1
{449,456}, // Nation2
{214,312}, }; // Nation3
const POINT NEW_BYPoint={20,20};
const POINT NEW_ZYPoint={231,20};
// Extern Function________________________________________________________________________________
extern tagNationInfo NationInfo[MAX_NATION]; //惫啊沥焊 备炼眉..
extern bool g_MainNationMap[MAX_NATION]; // 淬寸窍绰 唱扼 锅龋
extern void SaveNationInfo( int nation ); // 叼厚 单阁俊 历厘茄促.
extern int ExistHe( char *name );//020903 lsw
extern void MakeSealStoneNumber(char* SrcString,int SealNo[4]); // LTS NEW LOCALWAR
extern void LoadAIConfig(); // LTS AI
extern int g_LocalWarBegin;
extern void SendCMD_LOCALWAR_BEGIN2Client(); // LTSSupport.cpp
extern void SendCMD_LOCALWAR_END2Client();
extern void SendCMD_LOCALWAR_RESULT();
extern void GiveLife2SealStone();
extern void CheckAndFreeLocalWar(int NationIndex,int Result); // LTS NEW LOCALWAR
extern CHARLIST* CheckServerId(WORD id);
extern void SendCharacterCondition( CHARLIST*, int);
extern bool NewSendGameToLoginChangeMapData( short int cn, WORD wMyAgentServerID, WORD wTargetServerID);
extern inline void CallClient( short int id, short int type );
extern void tempCount( CHARLIST *ch, int send );
extern void SquadRareReSet(int iBattleType, int cn,int iSquadItemStatus);
extern void MovePc( short int cn, int x, int y); // 011015 LTS
extern void GetSquadRare(char *Squadrare,int squadNo/*char [3]*/);
extern int CheckHandleByLTSSupport( t_packet *p, t_connection c[], int cn ); // 011112 LTS
extern void DecLocalWarfieldMemberCount(const int cn);
extern void SendCMD_LOCALWAR_END();
extern void ClearAIData(); // LTS NEW AI
extern void SendCMD_REQUEST_DELIVERY(const WORD Port,t_packet *p, t_connection c[], const int cn);//020903 lsw
extern void ProcessCMD_REQUEST_WARFIELD_STATUS(t_packet *ReturnPacket,t_packet* ReceivePacket); // 关俊急攫
extern int CheckMaxPoint(int nPoint1, int nPoint2); // 030506 kyo
extern int CheckMaxArrayPoint(int nIndex1, int nIndex2, unsigned short Array_1[3] ,unsigned short Array_2[3], unsigned short Array_3[3]);// 030506 kyo
extern cLocalWarfield* g_pLocalWarfield; // 030506 kyo
extern bool isLevelUp(CHARLIST*);
// Extern Function End____________________________________________________________________________
// Extern Variable _______________________________________________________________________________
extern HENV hEnv;
extern HDBC hDBC;
// Extern Variable End____________________________________________________________________________
int NW_SQUADLEADER_LEVEL_MIN = 60;
int NW_SQUADLEADER_LADDER_MIN = 0;
int NW_COMMANDER_LEVEL_MIN = 70;
int NW_COMMANDER_LADDER_MIN = 2000;
int NW_COMMANDER_FAME_MIN = 1200;
// Squad Condition
int NW_SQUAD1_LEVEL_MIN = 60;
int NW_SQUAD1_LEVEL_MAX = 255;
int NW_SQUAD2_LEVEL_MIN = 60;
int NW_SQUAD2_LEVEL_MAX = 255;
int NW_SQUAD3_LEVEL_MIN = 60 ;
int NW_SQUAD3_LEVEL_MAX = 255 ;
int NW_SQUAD4_LEVEL_MIN = 60 ;
int NW_SQUAD4_LEVEL_MAX = 255 ;
int NW_SQUAD1_MAN_MIN = 5;
int NW_SQUAD1_MAN_MAX = 70;
int NW_SQUAD2_MAN_MIN = 5;
int NW_SQUAD2_MAN_MAX = 70;
int NW_SQUAD3_MAN_MIN = 5;
int NW_SQUAD3_MAN_MAX = 70;
int NW_SQUAD4_MAN_MIN = 5;
int NW_SQUAD4_MAN_MAX = 70;
int NW_NATION_VOTE_MIN = 0;
void InitNationValues()
{
if(LocalMgr.IsFreeBeta())
{
NW_NATION_VOTE_MIN =5;
}
else
{
NW_NATION_VOTE_MIN =50;
}
if(LocalMgr.IsAbleNation(CHINA|TAIWAN|HONGKONG))
{
NW_SQUADLEADER_LEVEL_MIN = 60;
NW_SQUADLEADER_LADDER_MIN = 0;
NW_COMMANDER_LEVEL_MIN = 70;
NW_COMMANDER_LADDER_MIN = 2000;
NW_COMMANDER_FAME_MIN = 1200;
NW_SQUAD1_LEVEL_MIN = 60;
NW_SQUAD1_LEVEL_MAX = 255;
NW_SQUAD2_LEVEL_MIN = 60;
NW_SQUAD2_LEVEL_MAX = 255;
NW_SQUAD3_LEVEL_MIN = 60 ;
NW_SQUAD3_LEVEL_MAX = 255 ;
NW_SQUAD4_LEVEL_MIN = 60 ;
NW_SQUAD4_LEVEL_MAX = 255 ;
NW_SQUAD1_MAN_MIN = 5;
NW_SQUAD1_MAN_MAX = 70;
NW_SQUAD2_MAN_MIN = 5;
NW_SQUAD2_MAN_MAX = 70;
NW_SQUAD3_MAN_MIN = 5;
NW_SQUAD3_MAN_MAX = 70;
NW_SQUAD4_MAN_MIN = 5;
NW_SQUAD4_MAN_MAX = 70;
}
//< BBD 031214 need thai seting
else if(LocalMgr.IsAbleNation(THAI))
{
NW_SQUADLEADER_LEVEL_MIN = 20;
NW_SQUADLEADER_LADDER_MIN = 0;
NW_COMMANDER_LEVEL_MIN = 70;
NW_COMMANDER_LADDER_MIN = 2000;
NW_COMMANDER_FAME_MIN = 1200;
NW_SQUAD1_LEVEL_MIN = 20;
NW_SQUAD1_LEVEL_MAX = 50;
NW_SQUAD2_LEVEL_MIN = 40;
NW_SQUAD2_LEVEL_MAX = 70;
NW_SQUAD3_LEVEL_MIN = 60;
NW_SQUAD3_LEVEL_MAX = 90;
NW_SQUAD4_LEVEL_MIN = 80;
NW_SQUAD4_LEVEL_MAX = 255;
NW_SQUAD1_MAN_MIN = 5;
NW_SQUAD1_MAN_MAX = 30;
NW_SQUAD2_MAN_MIN = 5;
NW_SQUAD2_MAN_MAX = 60;
NW_SQUAD3_MAN_MIN = 5;
NW_SQUAD3_MAN_MAX = 80;
NW_SQUAD4_MAN_MIN = 5;
NW_SQUAD4_MAN_MAX = 90;
}
//> BBD 031214 need thai seting
else
{
NW_SQUADLEADER_LEVEL_MIN = 20;
NW_SQUADLEADER_LADDER_MIN = 0;
NW_COMMANDER_LEVEL_MIN = 70;
NW_COMMANDER_LADDER_MIN = 2000;
NW_COMMANDER_FAME_MIN = 1200;
NW_SQUAD1_LEVEL_MIN = 20;
NW_SQUAD1_LEVEL_MAX = 50;
NW_SQUAD2_LEVEL_MIN = 40;
NW_SQUAD2_LEVEL_MAX = 70;
NW_SQUAD3_LEVEL_MIN = 60;
NW_SQUAD3_LEVEL_MAX = 90;
NW_SQUAD4_LEVEL_MIN = 80;
NW_SQUAD4_LEVEL_MAX = 255;
NW_SQUAD1_MAN_MIN = 5;
NW_SQUAD1_MAN_MAX = 80;
NW_SQUAD2_MAN_MIN = 5;
NW_SQUAD2_MAN_MAX = 70;
NW_SQUAD3_MAN_MIN = 5;
NW_SQUAD3_MAN_MAX = 60;
NW_SQUAD4_MAN_MIN = 5;
NW_SQUAD4_MAN_MAX = 50;
}
}
// Usage : Checking Nation Server
bool isNationManageServer()
{
if (g_wMapServerPort==NATION_MANAGE_SERVER)
{
return true;
}
else
{
return false;
}
return false;
}
int LoadNewWarMaxMin()
{
// 030919 HK YGI
// char NetworkDir[MAX_PATH];
// char MapServerConfigFileName[MAX_PATH];
/*
if (GetPrivateProfileString("Network","path","",NetworkDir,MAX_PATH,MAP_SERVER_INI_)<=0)
{
MyLog(0,"Error!! Check... Mapserver.ini Path Setting..!!");
return false;
}
sprintf(MapServerConfigFileName,"%s/data/MapServerConfig.ini",NetworkDir);
*/// 030919 HK YGI
char tempString[MAX_PATH];
for (int i=0;i<MAX_NEW_WARFIELD;i++)
{
sprintf(tempString,"LevelMin%d",i);
MoveLevelMin[i]=GetPrivateProfileInt("NewWarMove",tempString,10,MapServerConfigFileName);
sprintf(tempString,"LevelMax%d",i);
MoveLevelMax[i]=GetPrivateProfileInt("NewWarMove",tempString,255,MapServerConfigFileName);
}
return true;
}
// Usage : Checking Nation Warfield Server
bool isNationWarfieldServer()
{
if ((g_wMapServerPort==WARFIELD_PORT1)||
(g_wMapServerPort==WARFIELD_PORT2)||
(g_wMapServerPort==WARFIELD_PORT3))
{
return true;
}
else
{
return false;
}
return false;
}
bool isNewWarfieldServer()
{
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -