//------------------------------------------------------------------- // STANDARD INCLUDES: //------------------------------------------------------------------- //#include ..\..\externalobjects.cs //#include ..\..\playerAreas.cs //#include ..\..\terrainpicker.cs //#include ..\..\HuntingAreas.cs //#include ..\..\nuggetUtils.cs //#include ..\..\default_start_groupings.cs //#include ..\..\Utils_CommonTriggers.cs //#include ..\..\Utils_CivHandler.cs //#include ..\..\Utils_GameTuning.cs //#include ..\..\Utils_Helpers.cs //#include ..\..\Utils_Econ.cs //#include ..\..\Utils_TriggerConditionWrappers.cs //#include ..\..\Utils_TriggerEffectWrappers.cs //#include ..\Utils_PvESupportFunctions.cs //------------------------------------------------------------------- // This loader is the same as the NoBonusMultipliers loader, except it also replaces some units with bosses from the questfile. //------------------------------------------------------------------- // SCRIPT START: //------------------------------------------------------------------- public partial class RMScript : RandomMap { private bool _bIsRepeat; private bool _bIsElite; private bool _bIsLegendary; private int _mainPlayerId = 1; private int _coopPlayerId = 3; private bool _isMapCoop; //--------------------------------------------------------------- // MAIN: //--------------------------------------------------------------- public override void Main() { //----------------------------------------------------------- // SETUP: //----------------------------------------------------------- UtilsGT_PreInit(); SetStatusText("", 0.01f); // see if this is a repeatable _bIsRepeat = VariableGet("IsREPEAT", false); // see if this is a elite _bIsElite = VariableGet("bIsELITE", false); // see if this is a legendary _bIsLegendary = VariableGet("IsLEGENDARY", false); // fetch variable from the mission var scenarioFile = VariableGet("scenarioFile", ""); if (string.IsNullOrEmpty(scenarioFile)) { // early out on invalid scenario SetStatusText("Failed to load. Invalid scenarioFile.", 1.0f); return; } // PreInitSetup(); // terrain and scenario creation GetTerrain("Greek Inland"); InitializeFromScenario(scenarioFile); SetSkipBeautify(true); // class and mission tool data spawns var questTargetClass = new Class("questTargets"); var nuggets = new Class("nuggets"); Constraint questTargetConstraint = new ClassDistanceConstraint("quest target constraint", questTargetClass, 30.0f); Constraint avoidNuggets = new ClassDistanceConstraint("avoidNuggets", nuggets, 5.0f); PlaceExternalObjects(questTargetClass, 0.0f); // UtilsGT_Init(); _isMapCoop = _coopPlayerId != -1 && IsPlayerHuman(_coopPlayerId); // PostInitSetup(); //----------------------------------------------------------- // WRAP UP: //----------------------------------------------------------- SetStatusText("Done.", 1.0f); } private void PreInitSetup() { AddObjectReplacement("Pe_Sie_Warwagon", "BigBadWarwagon"); } private void PostInitSetup() { // report our settings if (_isMapCoop) Info("MAP SETTINGS: bIsREPEAT:[" + _bIsRepeat + "], bIsELITE:[" + _bIsElite + "], bIsLEGENDARY:[" + _bIsLegendary + "], region:[" + region + "], MainPlayerID:[" + _mainPlayerId + "], CoopPlayerID:[" + _coopPlayerId + "]"); else Info("MAP SETTINGS: bIsREPEAT:[" + _bIsRepeat + "], bIsELITE:[" + _bIsElite + "], bIsLEGENDARY:[" + _bIsLegendary + "], region:[" + region + "], MainPlayerID:[" + _mainPlayerId + "]"); CommonMapSetup(_bIsRepeat, _bIsElite, _bIsLegendary); // //AddMarketManager(bIsRepeat, bIsLegendary, teamId); //ModifyGuardians(_bIsLegendary) } }