📄 nationsys.h
字号:
void InitCommanderCandidater();
inline t_CommanderInformation* GetCommanderInfo(int Kind)
{ return &m_tSquad[Kind].Commander; }
inline t_CommanderInformation* GetCandidaterInfo(int Kind,int CandidaterNo)
{ return &m_tSquad[Kind].Candidater[CandidaterNo];}
inline void IncCommanderVoteData(int Kind,int CandidaterNo)
{ m_tSquad[Kind].Candidater[CandidaterNo].VoteCount++; }
inline int GetCommanderVoteData(int Kind,int CandidaterNo)
{ return m_tSquad[Kind].Candidater[CandidaterNo].VoteCount; }
bool CanRegCommanderCandidater(int Kind,int CandidaterNo);
void SetCandidaterInfo(int Kind,int CandidaterNo,t_CommanderInformation* CandidaterInfo);
void AllGuardStoneWasBroked(); // 傈里铰菩狼 搬沥..
void ProcessNationWarEnd(bool AttackerWin); //傈里狼 贸府 //牢磊 妮鸥涝.. 矫埃, 荐龋籍..
void FirstMakeWeaponData();
void MakeWeaponData(); //NPC积己
void WeaponDataList(); // 叼滚弊侩
void GiveSquadPoint2Other(int cn,int Point);
void GiveGuildPoint2Other(int cn,int Point);
void ReturnFame(); // 目池记捞 够 何继促搁 蔼阑 府畔茄促.
void CalcFame(bool AttackerWin); // FAME拌魂
void SendCheckWarfieldStatus();
void SendWarfieldStatus();
void ChangeWarfieldStatus(int Result);
void SendCMD_REQUEST_VOTE_RESULT();
void RecvCMD_ANSWER_VOTE_RESULT(t_packet *p, t_connection c[], int cn );
void SendStartUpMapPossession();
void SendMapPossessChanged();
void ClearAllSquad(int Nation);
void MoneySpread(double TotalMoney);
void DisplaySquadMember(int Type,int SquadNo);
void DisplayMember(SquadList* g_SquadList);
void DeleteSquadMember(const int cn); //020903 lsw
void DeleteSquadMember(const int Type,const int SquadNo,const int ID);
void DeleteMember(SquadList* g_SquadList,int ID); // Type : Attacker, Defender
void SendSquadMessage(int Type,int SquadNo,t_packet* p);
void SendMessage(SquadList* g_SquadList,t_packet* p);
void DeleteSquadHash(SquadList* g_SquadList);
void DeleteAllSquadMember();
void InsertSquadMember(int cn,int Status=1);
void InsertSquadMember(int Type,int SquadNo,int ID,int Status=1); // Type : Attacker, Defender, Reinforce, Commander
void InsertMember(SquadList* g_SquadList,int ID,int Status=1);
void DeleteAllKiller();
void DeleteKiller(char* Name);
void InsertKiller(char* Name,int KillSprNo);
void DeleteAllMonsterData();
void InsertMonsterData(t_WeaponStruct Monster);
void CommanderEnter(int Type);
void CommanderLeave(int Type);
void SquadLeaderEnter(int Type,int SquadNo);
void SquadLeaderLeave(int Type,int SquadNo);
inline bool CommanderExist(int Type) { return m_bCommanderExist[Type]; }
inline bool SquadLeaderExist(int Type,int SquadNo) { return m_bSquadLeaderExist[Type][SquadNo]; }
inline const char* GetCommanderName(int Kind) { return m_tSquad[Kind].Commander.CO_Name; }
inline const char* GetCandidaterName(int Kind,int CandidaterNo)
{ return m_tSquad[Kind].Candidater[CandidaterNo].CO_Name; }
inline const int GetCandidaterVoteCount(int Kind,int CandidaterNo)
{ return m_tSquad[Kind].Candidater[CandidaterNo].VoteCount; }
void ActiveBonusTime();
void FirstMakeMonster();
void MakeMonster();
void PrepareSquadForWar();
inline bool isBonusTime() { return m_bBonusActive; }
SquadList* GetSquadListPointer(int iBattleType, int iSqaudNo)
{
switch(iBattleType)
{
case NW_ATTACKER:
return &g_AttackSquadList[iSqaudNo];
case NW_DEFENCER:
return &g_DefenceSquadList[iSqaudNo];
case NW_REINFORCE:
return &g_ReinforceSquadList[iSqaudNo];
}
return NULL;
}
inline void IncKilledCount(int Kind) { m_KilledCount[Kind]++; }
inline int GetKilledCount(int Kind) { return m_KilledCount[Kind]; }
inline POINTS GetLivePoints(int Kind) { return m_LivePoints[Kind]; } // 011015 LTS
inline char GetSquadLoadingPoint(int Kind,int SquadNo)
{ return m_tSquad[Kind].SquadInfo[SquadNo].LoadingPoint; }
inline char GetSquadRareSok(int Kind,int SquadNo,int SokNo)
{ return m_tSquad[Kind].SquadInfo[SquadNo].Sok[SokNo]; } //裹困俊矾
inline char* GetSquadRareSok2(int Kind,int SquadNo) { return m_tSquad[Kind].SquadInfo[SquadNo].Sok; } //裹困俊矾
inline void SetSquadRareSok(int Kind,int SquadNo,int SokNo,int Sok)
{ m_tSquad[Kind].SquadInfo[SquadNo].Sok[SokNo]=Sok; }
char* GetLeadCandidaterName(int Kind);
inline bool ElectCommander() { return m_bRequestCommanderVotingResult; }
inline bool CheckSecretPlaceOpen() { return m_bBonusActive; }
inline void SetRemainTime(DWORD RemainTime) { m_dRemainTime=RemainTime;}
inline DWORD GetRemainTime() { return m_dRemainTime; }
DWORD GetWarLoopTime(); // 011025 LTS
void SetWarLoopTime(DWORD LoopTime); // 011025 LTS
inline void SetSecretOpen(bool isActive) { m_bBonusActive=isActive; } // 011025 LTS
void SendSecretActiveMessage2Manager();
void InitWarLoopDefine(); // 011101 LTS
void IncNationMemberCount(int Nation);
void DecNationMemberCount(int Nation);
int GetNationMemberCount(int Nation);
int GetNationMemberMax(int Nation);
void ClearGainedFame();
void CalcNationWar_Exp();
void UpdateProgressofWar(); // LTS NEW_NATION_WAR
void UpdateStatusofWar(); // LTS NEW_NATION_WAR
void SetStatusVote(); // LTS NEW_NATION_WAR
void LoopTimeChange(t_packet* p);
public:
cWarfield& operator[](int nIndex);
};
struct tSealStoneIndex // LTS NEW LOCALWAR
{
int SealStoneNo;
int Status;
int Hp; // 030516 kyo
};
class cNation
{
cWarfield* Warfield;
cLocalWarfield* LocalWarfield; // LTS LOCALWAR
int m_VoteData[NW_WARFIELD_COUNT];
DWORD m_WarNo;
int m_LocalWarfieldSize;
int m_LocalWarStart; //惫瘤傈捞 矫累登菌促.
int m_WarStart;
unsigned short m_LocalWarPoint[NW_NATION_COUNT]; // BY,ZY,YL LocalWar Point // 020130 LTS
__int64 g_LocalWarRemainTime; // 020115 LTS
tSealStoneIndex LocalWarSealStoneStatus[3][9]; // LTS NEW LOCALWAR
unsigned short m_LocalWarDefencePoint[3]; // LTS NEW LOCALWAR
int m_LocalWarResult[3]; // LTS NEW LOCALWAR
unsigned short m_nAllLocalWarSealStoneHP[3]; // 惫瘤傈 葛电 搬拌籍HP荐
LP_START_WAR_TIME m_pStartWarTime; // LTS NEW_NATION_WAR
int m_iStartWarTimeCount; // LTS NEW_NATION_WAR
TimeData m_tTimeData; // LTS NEW_NATION_WAR
LP_START_WAR_TIME m_pNewStartWarTime; // LTS NEW_NATION_WAR
int m_iNewStartWarTimeCount;
int m_NewWarfieldStatus[MAX_NEW_WARFIELD]; // LTS NEW_NATION_WAR
DWORD m_NewWarfieldRemainTime[MAX_NEW_WARFIELD];
inline int GetPointMAXIndex(unsigned short Point[3]); // LTS NEW LOCALWAR
inline int GetPointMAXIndex(); //030505 kyo 茄锅父俊 惫瘤傈铰府惫啊甫 府畔茄促.
inline int GetPointEqual(int Index,unsigned short Point[3]); // LTS NEW LOCALWAR
inline int GetLPointEqual(int Index,unsigned short Point[3],unsigned short DPoint[3]); // LTS NEW LOCALWAR
public :
cNation();
~cNation();
bool InitNation();
bool LoadWarfieldData();
bool InitLocalWarfield();
void SetWarFieldStatus(int WarfieldNo,int Status);
void CheckWarFieldStatus(int WarfieldNo,int Status);
int GetWarfieldStatus(int WarfieldNo);
void CheckStartWarfieldWar(); // New Day of Week
void CheckAndActive(int Index);
void NewCheckAndActive(int Index);
void GetDayofWeek();
int GetVoteData(int WarfieldNo) { return m_VoteData[WarfieldNo]; }
void IncVoteData(int WarfieldNo) { m_VoteData[WarfieldNo]++; }
void InitVoteData(int WarfieldNo) { m_VoteData[WarfieldNo]=0; }
void ClearWarfieldData(int Warfieldno);
DWORD GetWarCount() { return (DWORD)m_WarNo%128; }
int GetWarNo() { return m_WarNo; }
int GetSquadKind(int Nation,int WarfieldNo)
{
int tempNation=Warfield[WarfieldNo].GetNationCode();
if (Nation==NW_YL) return NW_REINFORCE;
if (Nation==tempNation) return NW_DEFENCER;
else return NW_ATTACKER;
}
int GetAttacker(int WarfieldNo)
{
if (Warfield[WarfieldNo].GetNationCode()==NW_BY) return NW_ZY;
else return NW_BY;
}
int GetDefender(int WarfieldNo)
{
if (Warfield[WarfieldNo].GetNationCode()==NW_BY) return NW_BY;
else return NW_ZY;
}
int GetReinforce(int WarfieldNo)
{
return NW_YL;
}
int GetNation(int WarfieldNo,int Kind)
{
int tempNation=Warfield[WarfieldNo].GetNationCode();
switch(Kind)
{
case NW_ATTACKER :
if (tempNation==NW_BY) return NW_ZY;
else return NW_BY;
break;
case NW_DEFENCER :
return tempNation;
break;
case NW_REINFORCE :
return NW_YL;
break;
}
}
t_SquadInformation* GetSquadInfo(int Nation,int WarfieldNo,int SquadNo)
{
return Warfield[WarfieldNo].GetSquadInfo(GetSquadKind(Nation,WarfieldNo),SquadNo);
}
void IncSquadMemberCount(int Nation,int WarfieldNo,int SquadNo)
{
Warfield[WarfieldNo].IncSquadMemberCount(GetSquadKind(Nation,WarfieldNo),SquadNo);
}
void DecSquadMemberCount(int Nation,int WarfieldNo,int SquadNo)
{
Warfield[WarfieldNo].DecSquadMemberCount(GetSquadKind(Nation,WarfieldNo),SquadNo);
}
int GetSquadMemberCount(int Nation,int WarfieldNo,int SquadNo)
{
return Warfield[WarfieldNo].GetSquadMemberCount(GetSquadKind(Nation,WarfieldNo),SquadNo);
}
void SetSquadLoadingPoint(int Nation,int WarfieldNo,int SquadNo,int LoadingPoint)
{
Warfield[WarfieldNo].SetSquadLoadingPoint(GetSquadKind(Nation,WarfieldNo),SquadNo,LoadingPoint);
}
void SetSquadLeader(int Nation,int WarfieldNo,int SquadNo,t_CommanderInformation* SquadLeaderInfo)
{
Warfield[WarfieldNo].SetSquadLeader(GetSquadKind(Nation,WarfieldNo),SquadNo,SquadLeaderInfo);
}
t_CommanderInformation* GetCommanderInfo(int Nation,int WarfieldNo)
{
return Warfield[WarfieldNo].GetCommanderInfo(GetSquadKind(Nation,WarfieldNo));
}
t_CommanderInformation* GetCommanderInfoByKind(int Kind,int WarfieldNo)
{
return Warfield[WarfieldNo].GetCommanderInfo(Kind);
}
t_CommanderInformation* GetCandidaterInfo(int Nation,int WarfieldNo,int CandidaterNo)
{
return Warfield[WarfieldNo].GetCandidaterInfo(GetSquadKind(Nation,WarfieldNo),CandidaterNo);
}
void IncCommanderVoteData(int Nation,int WarfieldNo,int CandidaterNo)
{
Warfield[WarfieldNo].IncCommanderVoteData(GetSquadKind(Nation,WarfieldNo),CandidaterNo);
}
int GetCommanderVoteData(int Nation,int WarfieldNo,int CandidaterNo)
{
return Warfield[WarfieldNo].GetCommanderVoteData(GetSquadKind(Nation,WarfieldNo),CandidaterNo);
}
int GetCommanderVoteDataByKind(int WarfieldNo,int Kind,int CandidaterNo)
{
return Warfield[WarfieldNo].GetCommanderVoteData(Kind,CandidaterNo);
}
bool CanRegCommanderCandidater(int Nation,int WarfieldNo,int CandidaterNo)
{
return Warfield[WarfieldNo].CanRegCommanderCandidater(GetSquadKind(Nation,WarfieldNo),CandidaterNo);
}
void SetCandidaterInfo(int Nation,int WarfieldNo,int CandidaterNo,t_CommanderInformation* CandidaterInfo)
{
Warfield[WarfieldNo].SetCandidaterInfo(GetSquadKind(Nation,WarfieldNo),CandidaterNo,CandidaterInfo);
}
void SetCommander(int WarfieldNo,int Kind,int CandidaterNo)
{
Warfield[WarfieldNo].SetCommander(Kind,CandidaterNo);
}
int GetWarfieldNationCode(int WarfieldNo) { return Warfield[WarfieldNo].GetNationCode(); }
int GetWarfieldNationCode()
{
if (Warfield[0].GetStatus()>=2) return Warfield[0].GetNationCode();
if (Warfield[1].GetStatus()>=2) return Warfield[1].GetNationCode();
if (Warfield[2].GetStatus()>=2) return Warfield[2].GetNationCode();
}
void SetWarfieldNationCode(int WarfieldNo,int Code) {Warfield[WarfieldNo].SetNationCode(Code); }
const char* GetCommanderName(int WarfieldNo,int Nation) { return Warfield[WarfieldNo].GetCommanderName(GetSquadKind(Nation,WarfieldNo)); }
const char* GetCandidaterName(int WarfieldNo,int Nation,int CandidaterNo) { return Warfield[WarfieldNo].GetCandidaterName(GetSquadKind(Nation,WarfieldNo),CandidaterNo); }
const int GetCandidaterVoteCount(int WarfieldNo,int Nation,int CandidaterNo) { return Warfield[WarfieldNo].GetCandidaterVoteCount(GetSquadKind(Nation,WarfieldNo),CandidaterNo); }
char GetSquadLoadingPoint(int WarfieldNo,int Kind,int SquadNo) { return Warfield[WarfieldNo].GetSquadLoadingPoint(Kind,SquadNo); }
char GetSquadRareSok(int WarfieldNo,int Kind,int SquadNo,int SokNo) { return Warfield[WarfieldNo].GetSquadRareSok(Kind,SquadNo,SokNo); }
char* GetSquadRareSok2(int WarfieldNo,int Kind,int SquadNo) { return Warfield[WarfieldNo].GetSquadRareSok2(Kind,SquadNo); }
char* GetLeadCandidaterName(int WarfieldNo,int Kind)
{
return Warfield[WarfieldNo].GetLeadCandidaterName(Kind);
}
bool ElectCommander(int WarfieldNo) { return Warfield[WarfieldNo].ElectCommander(); }
bool CheckSecretPlaceOpen(int WarfieldNo) { return Warfield[WarfieldNo].CheckSecretPlaceOpen(); }
bool CheckSecretPlaceOpen()
{
if (Warfield[0].CheckSecretPlaceOpen()) return true;
if (Warfield[1].CheckSecretPlaceOpen()) return true;
if (Warfield[2].CheckSecretPlaceOpen()) return true;
if (m_NewWarfieldStatus[0]==NW_SOPEN) return true;
return false;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -