Ejemplo n.º 1
0
        private static List <IPatch> GetMethodPatches()
        {
            var patches = new List <IPatch>
            {
                BuildingAIPatches.GetConstructionTime,
                BuildingAIPatches.HandleWorkers,
                BuildingAIPatches.CommercialSimulation,
                BuildingAIPatches.PrivateShowConsumption,
                BuildingAIPatches.PlayerShowConsumption,
                ResidentAIPatch.Location,
                ResidentAIPatch.ArriveAtTarget,
                TouristAIPatch.Location,
                TransferManagerPatch.AddOutgoingOffer,
                WorldInfoPanelPatches.UpdateBindings,
                UIGraphPatches.MinDataPoints,
                UIGraphPatches.VisibleEndTime,
                UIGraphPatches.BuildLabels,
                WeatherManagerPatch.SimulationStepImpl
            };

            if (Compatibility.IsModActive(Compatibility.CitizenLifecycleRebalanceId))
            {
                Log.Info("The 'Real Time' mod will not change the citizens aging because the 'Citizen Lifecycle Rebalance' mod is active.");
            }
            else
            {
                patches.Add(ResidentAIPatch.UpdateAge);
                patches.Add(ResidentAIPatch.CanMakeBabies);
            }

            patches.AddRange(TimeControlCompatibility.GetCompatibilityPatches());

            return(patches);
        }
Ejemplo n.º 2
0
        private static List <IPatch> GetMethodPatches(Compatibility compatibility)
        {
            var patches = new List <IPatch>
            {
                BuildingAIPatch.GetConstructionTime,
                BuildingAIPatch.HandleWorkers,
                BuildingAIPatch.CommercialSimulation,
                BuildingAIPatch.FishingMarketSimulation,
                BuildingAIPatch.GetColor,
                BuildingAIPatch.CalculateUnspawnPosition,
                BuildingAIPatch.ProduceGoods,
                BuildingAIPatch.TrySpawnBoot,
                ResidentAIPatch.Location,
                ResidentAIPatch.ArriveAtTarget,
                ResidentAIPatch.StartMoving,
                ResidentAIPatch.InstanceSimulationStep,
                TouristAIPatch.Location,
                TransferManagerPatch.AddOutgoingOffer,
                WorldInfoPanelPatch.UpdateBindings,
                UIGraphPatch.MinDataPoints,
                UIGraphPatch.VisibleEndTime,
                UIGraphPatch.BuildLabels,
                WeatherManagerPatch.SimulationStepImpl,
                ParkPatch.DistrictParkSimulation,
                OutsideConnectionAIPatch.DummyTrafficProbability,
            };

            if (compatibility.IsAnyModActive(WorkshopMods.CitizenLifecycleRebalance, WorkshopMods.LifecycleRebalanceRevisited))
            {
                Log.Info("The 'Real Time' mod will not change the citizens aging because a 'Lifecycle Rebalance' mod is active.");
            }
            else
            {
                patches.Add(ResidentAIPatch.UpdateAge);
                patches.Add(ResidentAIPatch.CanMakeBabies);
                patches.Add(CitizenManagerPatch.CreateCitizenPatch1);
                patches.Add(CitizenManagerPatch.CreateCitizenPatch2);
            }

            if (compatibility.IsAnyModActive(
                    WorkshopMods.BuildingThemes,
                    WorkshopMods.ForceLevelUp,
                    WorkshopMods.PloppableRico,
                    WorkshopMods.PloppableRicoHighDensityFix,
                    WorkshopMods.PloppableRicoRevisited,
                    WorkshopMods.PlopTheGrowables))
            {
                Log.Info("The 'Real Time' mod will not change the building construction and upgrading behavior because some building mod is active.");
            }
            else
            {
                patches.Add(BuildingAIPatch.GetUpgradeInfo);
                patches.Add(BuildingAIPatch.CreateBuilding);
            }

            patches.AddRange(TimeControlCompatibility.GetCompatibilityPatches());

            return(patches);
        }
Ejemplo n.º 3
0
        private static List <IPatch> GetMethodPatches()
        {
            var patches = new List <IPatch>
            {
                BuildingAIPatches.GetConstructionTime,
                BuildingAIPatches.HandleWorkers,
                BuildingAIPatches.CommercialSimulation,
                BuildingAIPatches.GetColor,
                BuildingAIPatches.CalculateUnspawnPosition,
                BuildingAIPatches.GetUpgradeInfo,
                BuildingAIPatches.CreateBuilding,
                BuildingAIPatches.ProduceGoods,
                ResidentAIPatch.Location,
                ResidentAIPatch.ArriveAtTarget,
                ResidentAIPatch.StartMoving,
                ResidentAIPatch.InstanceSimulationStep,
                TouristAIPatch.Location,
                TransferManagerPatch.AddOutgoingOffer,
                WorldInfoPanelPatches.UpdateBindings,
                UIGraphPatches.MinDataPoints,
                UIGraphPatches.VisibleEndTime,
                UIGraphPatches.BuildLabels,
                WeatherManagerPatch.SimulationStepImpl,
                ParkPatches.DistrictParkSimulation,
                OutsideConnectionAIPatch.DummyTrafficProbability,
            };

            if (Compatibility.IsModActive(Compatibility.CitizenLifecycleRebalanceId))
            {
                Log.Info("The 'Real Time' mod will not change the citizens aging because the 'Citizen Lifecycle Rebalance' mod is active.");
            }
            else
            {
                patches.Add(ResidentAIPatch.UpdateAge);
                patches.Add(ResidentAIPatch.CanMakeBabies);
            }

            patches.AddRange(TimeControlCompatibility.GetCompatibilityPatches());

            return(patches);
        }