Пример #1
0
void InitStrategicLayer( void )
{
	// Clear starategic layer!
	SetupNewStrategicGame();
	InitQuestEngine();

	//Setup a new campaign via the enemy perspective.
	InitNewCampaign();
	// Init Squad Lists
	InitSquads();
	// Init vehicles
	InitVehicles( );
	// init town loyalty
	InitTownLoyalty();
	// init the mine management system
	InitializeMines();
	// initialize map screen flags
	InitMapScreenFlags();
	// initialize NPCs, select alternate maps, etc
	InitNPCs();
	// init Skyrider and his helicopter
	InitializeHelicopter();
	//Clear out the vehicle list
	ClearOutVehicleList();

	InitBloodCatSectors();

	InitializeSAMSites();

	// make Orta, Tixa, SAM sites not found
	InitMapSecrets();


	// free up any leave list arrays that were left allocated
	ShutDownLeaveList( );
	// re-set up leave list arrays for dismissed mercs
	InitLeaveList( );

	// reset time compression mode to X0 (this will also pause it)
	SetGameTimeCompressionLevel( TIME_COMPRESS_X0 );

	// select A9 Omerta as the initial selected sector
	ChangeSelectedMapSector( 9, 1, 0 );

	// Reset these flags or mapscreen could be disabled and cause major headache.
	fDisableDueToBattleRoster = FALSE;
	fDisableMapInterfaceDueToBattle = FALSE;
}
Пример #2
0
void CCQuestLevel::Init(int nScenarioID, int nDice, CCMATCH_GAMETYPE eGameType)
{
	CCQuestScenarioInfo* pScenario = NULL;
	CCMatchQuest* pQuest = CCMatchServer::GetInstance()->GetQuest();

	if (CCGetGameTypeMgr()->IsQuestOnly(eGameType))
	{
		pScenario = CCMatchServer::GetInstance()->GetQuest()->GetScenarioInfo(nScenarioID);
	}
	else if (CCGetGameTypeMgr()->IsSurvivalOnly(eGameType))
	{
		pScenario = CCMatchServer::GetInstance()->GetQuest()->GetSurvivalScenarioInfo(nScenarioID);
	}
	else
	{
		ASSERT(0);
		return;
	}

	m_StaticInfo.pScenario = pScenario;

	m_StaticInfo.nDice = nDice - 1;		// 0부터 5까지

	if (m_StaticInfo.pScenario)
	{
		InitSectors(eGameType);
		InitNPCs();
	}

	m_DynamicInfo.nCurrSectorIndex = 0;

	InitStaticInfo(eGameType);	// 난이도 상수, NPC 난이도 조절 계수 등을 설정
	
#ifdef _DEBUG_QUEST
	if( nScenarioID == 100)
		m_StaticInfo.nQLD = 1;
#endif
	
	InitCurrSector(eGameType);
}