📄 nationsys.h
字号:
}
int GetSecretOpenedWarfieldNo()
{
if (Warfield[0].CheckSecretPlaceOpen()) return 0;
if (Warfield[1].CheckSecretPlaceOpen()) return 1;
if (Warfield[2].CheckSecretPlaceOpen()) return 2;
if (m_NewWarfieldStatus[0]==NW_SOPEN) return 3;
return -1;
}
void SetRemainTime(int WarfieldNo,DWORD RemainTime)
{
if (WarfieldNo>=0&&WarfieldNo<=2)
Warfield[WarfieldNo].SetRemainTime(RemainTime);
else
if (WarfieldNo>=3)
m_NewWarfieldRemainTime[WarfieldNo-3]=RemainTime;
}
DWORD GetRemainTime(int WarfieldNo)
{
switch(WarfieldNo)//030116 lsw 况醋 力芭
{
case 0:
case 1:
case 2:
{
return Warfield[WarfieldNo].GetRemainTime();
}break;
case 3:
default:
{
return m_NewWarfieldRemainTime[WarfieldNo-3];
}break;
}
return 0;
}
void GetWarRemainTime(char* ReturnStr);
void GetNewWarRemainTime(char* ReturnStr);
void SetSecretOpen(int WarfieldNo,bool isActive) { Warfield[WarfieldNo].SetSecretOpen(isActive); } // 011025 LTS
void SetLocalWarStatus(int isStart);
void SetLocalWarStatus2(int isStart); // LTS NEW LOCALWAR
int GetLocalWarStatus() { return m_LocalWarStart; }
//LocalWarfield_Info GetLocalWarfieldInfo(int Index) { return LocalWarfield[Index].GetLocalWarfieldInfo(); }
//void SetLocalWarfieldInfo(int Index, LocalWarfield_Info LF) { LocalWarfield[Index].SetLocalWarfieldInfo(LocalWarfield_Info LF); }
int ConvertNation2Index(int Nation) { return LocalWarfield[0].ConvertNation2Index(Nation); }
short GetLocalWarfieldManCount(int NationIndex);
short GetLocalWarfieldManCount(int Index,int NationIndex) {return LocalWarfield[Index].GetManCount(NationIndex); }
void IncLocalWarfieldManCount(int Index,int NationIndex);
void DecLocalWarfieldManCount(int Index,int NationIndex);
void ClearLocalWarfieldManCount();
/*short GetLocalWarfieldPoint(int NationIndex);
short GetLocalWarfieldPoint(int Index,int NationIndex) { return LocalWarfield[Index].GetPoint(NationIndex); }
void IncLocalWarfieldPoint(int Index,int NationIndex,int Value) { LocalWarfield[Index].IncPoint(NationIndex,Value); }
void ClearLocalWarfieldPoint();*/
short GetLocalWarPoint(int NationIndex) { return m_LocalWarPoint[NationIndex]; }
void IncLocalWarPoint(int NationIndex,int Value) { m_LocalWarPoint[NationIndex]+=Value; }
void ClearLocalWarPoint() { m_LocalWarPoint[0]=0;m_LocalWarPoint[1]=0;m_LocalWarPoint[2]=0; }
void ClearLocalWarDefencePoint() {m_LocalWarDefencePoint[0]=100;m_LocalWarDefencePoint[1]=100;m_LocalWarDefencePoint[2]=100;}
void ClearLocalWarRemainTime() { g_LocalWarRemainTime=0; }
__int64 GetLocalWarRemainTime() { return g_LocalWarRemainTime; } // 020115 LTS
void SetSealStoneStatus(int NationIndex,int SealNo,int Status, int nHP);// 030516 kyo // LTS NEW LOCALWAR
void CheckSealStoneStatus(); // LTS NEW LOCALWAR
inline int CheckAllSealStoneBroked(int NationIndex); // LTS NEW LOCALWAR
void ClearLocalWarResult(); // LTS NEW LOCALWAR
inline void SetLocalWarResult(int NationIndex,int Result); // LTS NEW LOCALWAR
void CalcDefencePoint(int NationIndex); // LTS NEW LOCALWAR
int CheckWinNation(); // LTS NEW LOCALWAR
int CheckLocalWarResult(); // LTS NEW LOCALWAR
void ClearSealStoneStatus(); // LTS NEW LOCALWAR
int GetLocalWarDefencePoint(int NationIndex); // LTS NEW LOCALWAR
cWarfield* GetWarfield(int WarfieldNo); // LTS NEW_NATION_WAR
void UpdateStatus(); // LTS NEW_NATION_WAR
bool LoadWarStartupData(); // LTS NEW_NATION_WAR
bool LoadNewWarStartupData();
void LoadWarNo(); // LTS NEW_NATION_WAR
void SaveWarNo(); // LTS NEW_NATION_WAR
bool CheckWarStart(); // LTS NEW_NATION_WAR
int GetNewWarfieldStatus(int Index); // LTS NEW_NATION_WAR
void SetNewWarfieldStatus(int Index,int Status); // LTS NEW_NATION_WAR
bool InitNewWarfield();
void CheckAndSendWarStart(t_packet* p);
void ClearAllLocalSealStoneHP(); //030506 kyo // m_nAllLocalWarSealStoneHP檬扁拳
void GetAllLocalSealStoneHP(); //030506 kyo // 惫瘤傈俊辑 葛电 搬拌籍狼 HP樊
unsigned long GetLocalWarAllSealStoneHP(const int nNationIndex) const { return m_nAllLocalWarSealStoneHP[nNationIndex]; };
public:
void SetWarStartInfo(CWarStartInfo* pWarStartInfo)
{ //< CSD-030723
Dbg_Assert(pWarStartInfo != NULL);
m_pWarStartInfo = pWarStartInfo;
} //> CSD-030723
CWarStartInfo* GetWarStartInfo()
{ //< CSD-030723
return m_pWarStartInfo;
} //> CSD-030723
private:
CWarStartInfo* m_pWarStartInfo; // CSD-030723
};
typedef void *LPVOID,**LP2VOID;
typedef class CTeam // Team Class 绰 盒府...
{
typedef list<SquadMember*> TeamList;
typedef TeamList::iterator TeamItor;
TeamList m_TeamList;
int m_iTeamNo; // A or B Team
int m_iTeamMemberCount; // 030509 kyo // m_TeamList.Size();
int m_iDeathCount;
POINT m_LivePoint;
int m_NationMember[3];
public :
CTeam();
~CTeam();
void Clear();
void InsertTeamMember(int cn);
void DeleteMember(int cn);
void SendMessage(t_packet* p);
int GetTeamCount();
int GetTeamNo();
void SetTeamNo(int TeamNo);
bool CheckTeam(int cn);
void KickTeamAll();
void KickUser(int ID);
void GiveFame(LPCHARLIST pCaster,LPCHARLIST pTarget,int Range,int AddFame);
void GiveFame2All(int AddFame);
int GetNationCount(int Nation);
void AddDesthCount();
int GetDeathCount();
void RemoveArmor();
void SetLivePoint(POINT lPoint);
POINT GetLivePoint();
int GetNationMemberCount(int Nation);
} *LPTEAM;
typedef struct GDATA
{
int NPCType;
int NpcIndex;
int GenPosX;
int GenPosY;
int NPC_ID;
int Status;
int DontNo;
}*LPGDATA;
typedef class CGuardStone
{
int m_iWarfieldNo;
int m_iTeamNo;
LPGDATA m_pGData;
int m_iGDataCount;
int m_iTypeCount[3]; // 0 : 焊胶, 1 : 啊靛, 2 己巩
public :
CGuardStone();
~CGuardStone();
void Clear();
void SetWarfieldNo(int WarfieldNo);
int GetWarfieldNo();
void SetTeamNo(int TeamNo);
int GetTeamNo();
int SetGDataSize(); // private,protected Calc Data Size From DB
bool LoadGData();
bool LoadData();
void FirstMakeNPCPtr();
void MakeNPCPtr();
bool MakeGuardStone(const int iIndex, const int iCallType);//030102 lsw //FirstMakeNPCPtr() MakeNPCPtr() 俊辑父 龋免 钦聪促.
void SetDontData();
// XXX GetDontData();
//int GetDontSize(int No)
bool CheckTypeAllBroke(int Type);
int GetBrokeStatus(); // 3->1 己巩 肚绰 啊靛胶沛... 焊胶胶沛..
bool CheckNPC(int NpcNo);
bool CheckAndUpdateStatus(LPCHARLIST lpChar);
void MakeDontTable();
void GetTileDont(DONT_DATA* lpDontData);
void GetStatus(char* lpStatus);
void SendBrokeBBS(int Team,int Type,int No,LPCHARLIST pTarget);
LPGDATA GetGData(const int nIndex); // 030506 kyo
int GetCount(){return m_iGDataCount;}; // 030506 kyo
}*LPGUARDSTONE;
struct WarTimeData
{
DWORD WarTime;
DWORD SOpenTime;
};
#define WARFIELD_PEACE 0
#define WARFIELD_BATTLE 1
#define WARFIELD_SOPEN 2
class CNewWarfield
{
LPTEAM m_pTeam;
LPGUARDSTONE m_pGuard;
int m_iTeamCount;
int m_iWarfieldNo;
WarTimeData m_Time;
int m_iStatus; // 0 : PEACE, 1:WAR, 2 : SOPEN
__int64 m_64LoopTime;
int m_iWinTeam;
int MemberMAX[3];
MonsterList m_MonsterList; // 老矫利栏肺 积己登绰 阁胶飘狼 府胶飘 焊呈胶 鸥烙俊..
long m_nFinalGStoneHP[2]; // 030506 kyo
long m_nAllNormalGStoneHP[2]; // 030506 kyo
long m_nAllGatelHP[2]; // 030506 kyo
public :
CNewWarfield();
~CNewWarfield();
bool InitWarfield();
bool LoadWarfieldData();
bool LoadSMonster(WORD WarfieldNo);
void TeamClear();
void GuardClear();
void SetTeamCount(int Count);
DWORD GetRemainTime();
int GetWarfieldStatus();
void LoadTimeData();
LPTEAM GetTeam(int TeamNo);
LPGUARDSTONE GetGuard(int TeamNo);
void SetWarfieldStatus(int Status);
void Update();
void UpdatePeace();
void UpdateWar();
void UpdateSOpen();
bool isMyTeam(LPCHARLIST lpChar,int NPCNo);
int GetTeamNo(LPCHARLIST lpChar);
bool CanAttackGuard(LPCHARLIST pCaster,LPCHARLIST pTarget);
void KickAllUser2Home();
void SetWinTeam(int TeamNo);
int GetWinTeam();
void UpdateGuardStatus(LPCHARLIST pCaster,LPCHARLIST pTarget);
void GiveFame(int TeamNo,LPCHARLIST pCaster,LPCHARLIST pTarget);
void SendWarResult();
void CountDeath(LPCHARLIST lpChar);
void CheckAndKickUser(int cn);
void GetTileDont(DONT_DATA* lpDontData);
void DeleteMember(int cn);
void LoopTimeChange(t_packet* p);
void SendSquadChat(LPCHARLIST lpChar,t_packet* p);
POINT GetLivePoint(LPCHARLIST lpChar);
int GetNationMemberMax(int Nation);
int GetNationMemberCount(int Nation);
void InsertMonsterData(t_WeaponStruct Monster);
void DeleteAllMonsterData();
void MakeMonster();
//<< 030506 kyo
long GetAllGDataTypeHP(const int nTeamNum , const int nType); // 030506 kyo
void GetAllGuardsHP(); // 030506 kyo
void CheckWinTeam(); //030506 kyo //拌魂秦辑 捞变评捞 绢凋瘤 舅酒焊备.. 搬苞档 汲沥茄促.
long GetFinalGStoneHP(const int nTeamNum );
long GetAllNormalGStoneHP(const int nTeamNum );
long GetAllGatelHP(const int nTeamNum );
void SetFinalGStoneHP(const int nTeamNum, long lAllHP );
void SetAllNormalGStoneHP(const int nTeamNum, long lAllHP );
void SetAllGatelHP(const int nTeamNum, long lAllHP );
void ClearFinalGStoneHP();
void ClearAllNormalGStoneHP();
void ClearAllGatelHP();
//>> 030506 kyo
};
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -