⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 nationsys.h

📁 网络游戏龙族 完整的登陆器 C++ 源代码
💻 H
字号:
#ifndef _NATION_SYS_H_
#define _NATION_SYS_H_

#define	NW_NATION_COUNT					3


// 010730 lsw
// Nation War Main Interface Button No Definition
//_______________________________
#define	BUTTON_NATION_INFO				100		// Nation Explanation
#define	BUTTON_NATION_STATUS			101		// Nation Warfield Status
#define	BUTTON_NATION_SQUAD				102		// Nation Warfield Squad Organization
#define	BUTTON_NATION_JOIN				103		// Nation War Participation
#define	BUTTON_HALLOFFAME				104		// Hall of Fame	
#define BUTTON_HALLOFWAR				105		// Hall of War
#define	BUTTON_JOIN_FREELANCER			106
#define BUTTON_WAR_DESCRIPTION			107
#define BUTTON_NATION_NOTICE			108

//010901 lsw
#define BUTTON_NATION_LOADING_POINT		109


#define BUTTON_NATION_CHECK_COMMANDER	110		// Commander Election 
#define BUTTON_SQUAD_JOIN				111		// Squad Join
#define BUTTON_SQUAD_LODINGPOINT		112		// Set Loading Point

#define BUTTON_COMMANDER_REG			120		// Commander Regist
#define BUTTON_COMMANDER_VOTE			121		// Commander Elect

#define BUTTON_NATIONWAR_JOIN_VOTE		130		// NATION JOIN Interface

#define BUTTON_WARFIELD_STATUS_REFRESH	140		// NATION Warfield Status Refresh 

#define BUTTON_FREELANCER_SQUAD			150		// Nation Freelancer Squad 
#define	BUTTON_BY_JOIN					151		// Join BY FreeLancer
#define BUTTON_ZY_JOIN					152		// Join ZY FreeLancer
//_______________________________	

// War BBS BBS Type Define
//_______________________________	
#define		BBS_GENERAL						0
#define		BBS_WAR_BEGIN					1
#define		BBS_GUARDSTONE_BROKED			2
#define		BBS_CASTLEGATEWAY_BROKED		3
#define		BBS_WAR_VICTORY					4
#define		BBS_WAR_DEFEAT					5
#define		BBS_COMMANDER_ELECT				6
#define		BBS_WAR_JOIN_VOTE				7
#define		BBS_PEACE						8
#define		BBS_WAR_PREPARE					9
#define		BBS_COMMANDER_DEATH				10
#define		BBS_COMMANDER_CHAT				11
#define		BBS_BONUS_OPEN					12
#define		BBS_KILLER						13
#define		BBS_SQUADLEADER_ELECT			14 
#define		BBS_NATION_MONEY_USE			15
#define		BBS_NATION_MONEY_NOT_USE		16
//_______________________________	

#define MAX_MONSTER_POINT					6			// 011025 LTS

//________________________________ // 010906 LTS
#define	MAP0_133							32		
#define	MAP0_138							24
#define	MAP0_203							24
#define	MAP0_198							34
#define	MAP0_263							32
#define	MAP0_268							23

#define	MAP1_450							32		
#define	MAP1_527							32
#define	MAP1_524							32

#define	MAP2_114							28//32	// 011015 LTS	
#define	MAP2_119							32//26  // 011015 LTS
#define	MAP2_151							33//28  // 011015 LTS
#define	MAP2_156							26//23  // 011015 LTS 
#define	MAP2_274							36//30  // 011015 LTS
#define	MAP2_279							20//19  // 011015 LTS

//________________________________ // 010906 LTS

#define	NW_BY							3
#define NW_ZY							4
#define NW_YL							6

#define	WARFIELD_PORT1					5991
#define	WARFIELD_PORT2					5992
#define	WARFIELD_PORT3					5993

#define BASE_WARFIELD_PORT				5991
#define BASE_NEW_WARFIELD_PORT			5980
#define MAX_NEW_WARFIELD				1

#define	WARFIELD_COUNT					3
#define NEW_WARFIELD_COUNT				1

#define	NW_PEACE						1
#define	NW_VOTE							2
#define	NW_PREPARE						3
#define	NW_WAR							4
#define	NW_WAIT_VOTE					7
#define	NW_WAIT_PREPARE					8
#define	NW_WAIT_WAR						9
#define	NW_WAIT_PEACE					10

// War Condition

///////////////////////////////////////////////////////////////////////////lms 011226
#if defined (CHINA_LOCALIZING_) || defined (TAIWAN_LOCALIZING_) || defined (HONGKONG_LOCALIZING_)		// 020115 LTS

	#define		NW_NATION_VOTE_MIN				50				// 011028 LTS
	#define		NW_SQUADLEADER_LEVEL_MIN		60
	#define		NW_SQUADLEADER_LADDER_MIN		0
	#define		NW_COMMANDER_LEVEL_MIN			70
	#define		NW_COMMANDER_LADDER_MIN			2000
	#define		NW_COMMANDER_FAME_MIN			1200

	// Squad Condition
	#define		NW_SQUAD1_LEVEL_MIN				60
	#define		NW_SQUAD1_LEVEL_MAX				255
	#define		NW_SQUAD2_LEVEL_MIN				60
	#define		NW_SQUAD2_LEVEL_MAX				255			// 011028 LTS
	#define		NW_SQUAD3_LEVEL_MIN				60			// 011028 LTS
	#define		NW_SQUAD3_LEVEL_MAX				255			// 011028 LTS
	#define		NW_SQUAD4_LEVEL_MIN				60			// 011028 LTS
	#define		NW_SQUAD4_LEVEL_MAX				255			// 011213 LTS

	#define		NW_SQUAD1_MAN_MIN				5
	#define		NW_SQUAD1_MAN_MAX				70			// 011028 LTS
	#define		NW_SQUAD2_MAN_MIN				5
	#define		NW_SQUAD2_MAN_MAX				70			// 011028 LTS
	#define		NW_SQUAD3_MAN_MIN				5
	#define		NW_SQUAD3_MAN_MAX				70			// 011028 LTS
	#define		NW_SQUAD4_MAN_MIN				5
	#define		NW_SQUAD4_MAN_MAX				70			// 011028 LTS

#else

	#define		NW_NATION_VOTE_MIN				50				// 011028 LTS
	#define		NW_SQUADLEADER_LEVEL_MIN		20
	#define		NW_SQUADLEADER_LADDER_MIN		0
	#define		NW_COMMANDER_LEVEL_MIN			70
	#define		NW_COMMANDER_LADDER_MIN			2000
	#define		NW_COMMANDER_FAME_MIN			1200

	// Squad Condition

	#define		NW_SQUAD1_LEVEL_MIN				20
	#define		NW_SQUAD1_LEVEL_MAX				50
	#define		NW_SQUAD2_LEVEL_MIN				40
	#define		NW_SQUAD2_LEVEL_MAX				70			// 011028 LTS
	#define		NW_SQUAD3_LEVEL_MIN				60			// 011028 LTS
	#define		NW_SQUAD3_LEVEL_MAX				90			// 011028 LTS
	#define		NW_SQUAD4_LEVEL_MIN				80			// 011028 LTS
	#define		NW_SQUAD4_LEVEL_MAX				255			// 011213 LTS

	#define		NW_SQUAD1_MAN_MIN				5
	#define		NW_SQUAD1_MAN_MAX				80			// 011028 LTS
	#define		NW_SQUAD2_MAN_MIN				5
	#define		NW_SQUAD2_MAN_MAX				70			// 011028 LTS
	#define		NW_SQUAD3_MAN_MIN				5
	#define		NW_SQUAD3_MAN_MAX				60			// 011028 LTS
	#define		NW_SQUAD4_MAN_MIN				5
	#define		NW_SQUAD4_MAN_MAX				50			// 011028 LTS

#endif

// Castle GateWay 
#define		NW_WARFIRLD1					6
#define		NW_WARFIRLD2					3
#define		NW_WARFIRLD3					6

#define		NW_SQUAD_KIND					3

#define		NW_ATTACKER						0
#define		NW_DEFENCER						1
#define		NW_REINFORCE					2		


// 011017 LTS <
#define		NW_NOTICE_JOIN_ATTACK			1
#define		NW_NOTICE_JOIN_DEFENCE			2
#define		NW_NOTICE_JOIN_REINFORCE		3

#define		NW_NOTICE_PREPARE1				4			// In Case, Not Unified Warfield
#define		NW_NOTICE_PREPARE1_REINFORCE	5

#define		NW_NOTICE_PREPARE2				6
#define		NW_NOTICE_PREPARE2_REINFORCE	7

#define		NW_NOTICE_PREPARE3				8			// In Case, Unified Warfield
#define		NW_NOTICE_PREPARE3_REINFORCE	9

#define		NW_NOTICE_PREPARE4				10
#define		NW_NOTICE_PREPARE4_REINFORCE	11

#define		NW_NOTICE_WAR1A					12			// In Case, Not Unified Warfield
#define		NW_NOTICE_WAR1_REINFORCE		13

#define		NW_NOTICE_WAR2A					14			// In Case, Unified Warfield
#define		NW_NOTICE_WAR2_REINFORCE		15

#define		NW_NOTICE_PEACE1_VICTORY		16
#define		NW_NOTICE_PEACE1_DEFEAT			17
#define		NW_NOTICE_PEACE1_REINFORCE		18

#define		NW_NOTICE_PEACE2				19
#define		NW_NOTICE_PEACE2_REINFORCE		20

#define		NW_NOTICE_WAR1D					21			// In Case, Not Unified Warfield
#define		NW_NOTICE_WAR2D					22			// In Case, Unified Warfield

#define		NW_NOTICE_SOPEN					23
#define		NW_NOTICE_SOPEN_ERROR			24
// 011017 LTS >


#define		MAX_NEW_WARFIELD				1



typedef struct MonPoint
{
	int		MonsterIndex;
	int		Size;
	POINTS* Points;
}	t_MonPoint;


class cNation
{
	BYTE m_Status[WARFIELD_COUNT];
	BYTE m_Possession[WARFIELD_COUNT];				// 家蜡
	t_MonPoint	m_tMonsterPoint[NW_NATION_COUNT][MAX_MONSTER_POINT];
	BYTE m_NewStatus[MAX_NEW_WARFIELD];

public :
	cNation();
	~cNation();

	void SetStatus(int WarfieldNo, int Status);
	int  GetStatus(int WarfieldNo);
	void SetNewStatus(int WarfieldNo,int Status);
	int  GetNewStatus(int WarfieldNo);
	void SetWarfieldPoss(int WarfieldNo,int Nation);
	int  GetWarfieldPoss(int WarfieldNo);
	bool LoadMonsterPoint();
	void SaveMonsterPoint();
	void SetTileDont(int WarfieldNo,int MonNo,int type); //阁胶磐 SQL 鞘靛 INDEX, 0,1 : 
	void TileDont(int WarfieldNo,int TypeNum,int Value);
};

typedef struct DONTDATA
{
	int		FieldSize;
	POINT*	lpPoint;
}*LPDONTDATA;

class CDontManager
{
	int			m_iSize;
	LPDONTDATA	m_pDontData;

public :

	CDontManager();
	~CDontManager();

	void Clear();
	void LoadData();
	void ActiveDont(int DontNo,int Type);
};

extern CDontManager*	g_pDontManager;
#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -