public override void Process(PDAEncyclopediaEntryAdd packet) { using (packetSender.Suppress <PDAEncyclopediaEntryAdd>()) { PDAEncyclopedia.Add(packet.Key, true); } }
void Start() { health = gameObject.AddComponent <TurbineHealth>(); health.SetData(); health.health = 200f; PDAEncyclopedia.Add("WindTurbine", true); }
private static void UpdatePostfix(LeakingRadiation __instance) { if (__instance.radiationFixed && !CrafterLogic.IsCraftRecipeUnlocked(DeathRun.filterChip.TechType) && Config.POISONED.Equals(DeathRun.config.surfaceAir)) { PDAEncyclopedia.Add("FilterChip", true); KnownTech.Add(DeathRun.filterChip.TechType, true); //DeathRun.saveData.playerSave.setCue("FilterChip", 5); } }
void Start() { health = gameObject.EnsureComponent <TurbineHealth>(); //gameObject.AddComponent<TurbineHealth>(); health.SetData(); health.health = 200f; #if SUBNAUTICA PDAEncyclopedia.Add("WindTurbine", true); #elif BELOWZERO PDAEncyclopedia.Add("WindTurbine", true, false); #endif }
private void SetEncyclopediaEntry(List <string> entries) { Log.Info("Received initial sync packet with " + entries.Count + " encyclopedia entries"); using (packetSender.Suppress <PDAEncyclopediaEntryAdd>()) { foreach (string entry in entries) { PDAEncyclopedia.Add(entry, false); } } }
public void Start() { PDAEncyclopedia.Add(DeepEngine._ClassID, true); //Activate PowerRelay solarPowerRelay = CraftData.GetPrefabForTechType(TechType.SolarPanel).GetComponent <PowerRelay>(); _powerSource = this.gameObject.AddComponent <PowerSource>(); _powerSource.maxPower = QPatch.Config.MaxPowerAllowed; _powerFX = this.gameObject.AddComponent <PowerFX>(); _powerFX.vfxPrefab = solarPowerRelay.powerFX.vfxPrefab; _powerFX.attachPoint = this.gameObject.transform; _powerRelay = this.gameObject.AddComponent <PowerRelay>(); _powerRelay.powerFX = _powerFX; _powerRelay.maxOutboundDistance = 15; _powerRelay.internalPowerSource = _powerSource; // Play Audio SetupAudio(); //Start coroutines StartCoroutine(EmitEnergy()); StartCoroutine(UpdateUI()); }
public static void IsCraftRecipeUnlocked_Postfix(ref bool __result, TechType techType) { if (techType != TechType.None && __result && GameModeUtils.RequiresBlueprints()) { if (techType == SeamothDoll || techType == SeamothFragment1 || techType == SeamothFragment2 || techType == SeamothFragment3 || techType == SeamothFragment4 || techType == SeamothFragment5) { if (ConfigSwitcher.AddItemsWhenDiscovered && KnownTech.GetTechUnlockState(TechType.Seamoth) != TechUnlockState.Available) { __result = false; } } else if (techType == ExosuitDoll) { if (ConfigSwitcher.AddItemsWhenDiscovered && KnownTech.GetTechUnlockState(TechType.Exosuit) != TechUnlockState.Available) { __result = false; } } else if (techType == CyclopsDoll) { if (ConfigSwitcher.AddItemsWhenDiscovered && KnownTech.GetTechUnlockState(TechType.Cyclops) != TechUnlockState.Available) { __result = false; } } else if (techType == CuddleFishDoll) { if (ConfigSwitcher.AddItemsWhenDiscovered && !PDAEncyclopedia.ContainsEntry("CuteFish")) { __result = false; } } else if (techType == GhostLeviathanDoll) { if (ConfigSwitcher.AddItemsWhenDiscovered && !PDAEncyclopedia.ContainsEntry("GhostLeviathan") && !PDAEncyclopedia.ContainsEntry("GhostLeviathanJuvenile")) { __result = false; } } else if (techType == ReaperLeviathanDoll) { if (ConfigSwitcher.AddItemsWhenDiscovered && !PDAEncyclopedia.ContainsEntry("ReaperLeviathan")) { __result = false; } } else if (techType == ReefBackDoll) { if (ConfigSwitcher.AddItemsWhenDiscovered && !PDAEncyclopedia.ContainsEntry("Reefback")) { __result = false; } } else if (techType == SeaDragonDoll) { if (ConfigSwitcher.AddItemsWhenDiscovered && !PDAEncyclopedia.ContainsEntry("SeaDragon")) { __result = false; } } else if (techType == SeaEmperorDoll) { if (ConfigSwitcher.AddItemsWhenDiscovered && !PDAEncyclopedia.ContainsEntry("SeaEmperorLeviathan") && !PDAEncyclopedia.ContainsEntry("SeaEmperorBaby")) { __result = false; } } else if (techType == SeaTreaderDoll) { if (ConfigSwitcher.AddItemsWhenDiscovered && !PDAEncyclopedia.ContainsEntry("SeaTreader")) { __result = false; } } else if (techType == ReaperSkeletonDoll || techType == ReaperSkullDoll) { if (ConfigSwitcher.AddItemsWhenDiscovered && !PDAEncyclopedia.ContainsEntry("LavaZone_ReaperSkeleton")) { __result = false; } } else if (techType == SeaDragonSkeleton) { if (ConfigSwitcher.AddItemsWhenDiscovered && !PDAEncyclopedia.ContainsEntry("LostRiverBase_SeaDragonSkeleton")) { __result = false; } } else if (techType == GenericSkeleton1 || techType == GenericSkeleton2 || techType == GenericSkeleton3) { if (ConfigSwitcher.AddItemsWhenDiscovered && !PDAEncyclopedia.ContainsEntry("Precursor_LostRiverBase_Bones") && !PDAEncyclopedia.ContainsEntry("Precursor_LostRiverBase_GiantFishSkeleton") && !PDAEncyclopedia.ContainsEntry("Precursor_LostRiverBase_SeaDragonSkeleton") && !PDAEncyclopedia.ContainsEntry("LostRiver_BonesfieldHugeSkeleton") && !PDAEncyclopedia.ContainsEntry("Precursor_LostRiverBase_CaveSkeletonScan") && !PDAEncyclopedia.ContainsEntry("LavaZone_ReaperSkeleton") && !PDAEncyclopedia.ContainsEntry("Precursor_Cache_LostRiverBonesScan")) { __result = false; } } else if (techType == AlienArtefact1) { if (ConfigSwitcher.AddItemsWhenDiscovered && !PDAEncyclopedia.ContainsEntry("PrecursorPrisonArtifact1")) { __result = false; } } else if (techType == AlienArtefact2) { if (ConfigSwitcher.AddItemsWhenDiscovered && !PDAEncyclopedia.ContainsEntry("PrecursorPrisonArtifact2")) { __result = false; } } else if (techType == AlienArtefact3) { if (ConfigSwitcher.AddItemsWhenDiscovered && !PDAEncyclopedia.ContainsEntry("PrecursorPrisonArtifact3")) { __result = false; } } else if (techType == AlienArtefact4) { if (ConfigSwitcher.AddItemsWhenDiscovered && !PDAEncyclopedia.ContainsEntry("PrecursorPrisonArtifact4")) { __result = false; } } else if (techType == AlienArtefact5) { if (ConfigSwitcher.AddItemsWhenDiscovered && !PDAEncyclopedia.ContainsEntry("PrecursorPrisonArtifact5")) { __result = false; } } else if (techType == AlienArtefact6) { if (ConfigSwitcher.AddItemsWhenDiscovered && !PDAEncyclopedia.ContainsEntry("PrecursorPrisonArtifact6")) { __result = false; } } else if (techType == AlienArtefact7) { if (ConfigSwitcher.AddItemsWhenDiscovered && !PDAEncyclopedia.ContainsEntry("PrecursorPrisonArtifact7")) { __result = false; } } else if (techType == AlienArtefact8) { if (ConfigSwitcher.AddItemsWhenDiscovered && !PDAEncyclopedia.ContainsEntry("PrecursorPrisonArtifact8")) { __result = false; } } else if (techType == AlienArtefact9) { if (ConfigSwitcher.AddItemsWhenDiscovered && !PDAEncyclopedia.ContainsEntry("PrecursorPrisonArtifact10")) { __result = false; } } else if (techType == AlienArtefact10) { if (ConfigSwitcher.AddItemsWhenDiscovered && !PDAEncyclopedia.ContainsEntry("PrecursorPrisonArtifact11")) { __result = false; } } else if (techType == AlienArtefact11) { if (ConfigSwitcher.AddItemsWhenDiscovered && !PDAEncyclopedia.ContainsEntry("PrecursorPrisonArtifact12")) { __result = false; } } else if (techType == BenchSmall || techType == BenchMedium) { if (ConfigSwitcher.AddItemsWhenDiscovered && KnownTech.GetTechUnlockState(TechType.Bench) != TechUnlockState.Available) { __result = false; } } else if (techType == SofaCorner || techType == Sofa1 || techType == Sofa2 || techType == Sofa3) { if (ConfigSwitcher.AddItemsWhenDiscovered && !(KnownTech.GetTechUnlockState(TechType.Bench) == TechUnlockState.Available && KnownTech.GetTechUnlockState(TechType.StarshipChair) == TechUnlockState.Available && KnownTech.GetTechUnlockState(TechType.StarshipChair2) == TechUnlockState.Available && KnownTech.GetTechUnlockState(TechType.StarshipChair3) == TechUnlockState.Available)) { __result = false; } } else if (techType == Stool) { if (ConfigSwitcher.AddItemsWhenDiscovered && !(KnownTech.GetTechUnlockState(TechType.StarshipChair) == TechUnlockState.Available || KnownTech.GetTechUnlockState(TechType.StarshipChair2) == TechUnlockState.Available || KnownTech.GetTechUnlockState(TechType.StarshipChair3) == TechUnlockState.Available)) { __result = false; } } else if (techType == LongPlanterA) { if (ConfigSwitcher.AddItemsWhenDiscovered && KnownTech.GetTechUnlockState(TechType.PlanterBox) != TechUnlockState.Available) { __result = false; } } else if (techType == LongPlanterB) { if (ConfigSwitcher.AddItemsWhenDiscovered && KnownTech.GetTechUnlockState(TechType.FarmingTray) != TechUnlockState.Available) { __result = false; } } else if (techType == EmptyDesk) { if (ConfigSwitcher.AddItemsWhenDiscovered && KnownTech.GetTechUnlockState(TechType.StarshipDesk) != TechUnlockState.Available) { __result = false; } } else if (techType == CustomizablePictureFrame) { if (ConfigSwitcher.AddItemsWhenDiscovered && KnownTech.GetTechUnlockState(TechType.PictureFrame) != TechUnlockState.Available) { __result = false; } } else if (techType == ReactorLamp) { if (ConfigSwitcher.AddItemsWhenDiscovered && !(KnownTech.GetTechUnlockState(TechType.Spotlight) == TechUnlockState.Available || KnownTech.GetTechUnlockState(TechType.LEDLight) == TechUnlockState.Available || KnownTech.GetTechUnlockState(TechType.Techlight) == TechUnlockState.Available)) { __result = false; } } else if (techType == AlienPillar) { if (ConfigSwitcher.AddItemsWhenDiscovered && !(PDAEncyclopedia.ContainsEntry("PrecursorTeleporter") || PDAEncyclopedia.ContainsEntry("PrecursorKeyTerminal") || PDAEncyclopedia.ContainsEntry("PrecursorEnergyCore") || PDAEncyclopedia.ContainsEntry("Precursor_Cache_LostRiverLabTable"))) { __result = false; } } else if (techType == WarperPart1) { if (ConfigSwitcher.AddItemsWhenDiscovered && !PDAEncyclopedia.ContainsEntry("Precursor_LostRiverBase_WarperScan")) { __result = false; } } else if (techType == WarperPart2 || techType == WarperPart3 || techType == WarperPart4 || techType == WarperPart5 || techType == WarperPart6 || techType == WarperPart7 || techType == WarperPart8 || techType == WarperPart9 || techType == WarperPart10 || techType == WarperPart11 || techType == WarperPart12) { if (ConfigSwitcher.AddItemsWhenDiscovered && !(PDAEncyclopedia.ContainsEntry("Precursor_LostRiverBase_ProductionLine") || PDAEncyclopedia.ContainsEntry("Precursor_LostRiverBase_WarperParts"))) { __result = false; } } else if (techType == LabCart || techType == SpecimenAnalyzer || techType == LabRobotArm) { if (ConfigSwitcher.AddItemsWhenDiscovered && KnownTech.GetTechUnlockState(TechType.BaseWaterPark) != TechUnlockState.Available) { __result = false; } } else if (techType == FloatingStone1) { if (ConfigSwitcher.AddWaterSeedsWhenDiscovered && !PDAEncyclopedia.ContainsEntry("FloatingStones")) { __result = false; } } else if (techType == BrineLily) { if (ConfigSwitcher.AddWaterSeedsWhenDiscovered && !PDAEncyclopedia.ContainsEntry("BlueLostRiverLilly")) { __result = false; } } else if (techType == Amoeba) { if (ConfigSwitcher.AddWaterSeedsWhenDiscovered && !PDAEncyclopedia.ContainsEntry("BlueAmoeba")) { __result = false; } } else if (techType == PyroCoral1 || techType == PyroCoral2 || techType == PyroCoral3) { if (ConfigSwitcher.AddWaterSeedsWhenDiscovered && !PDAEncyclopedia.ContainsEntry("RedTipRockThings")) { __result = false; } } else if (techType == CrabClawKelp1 || techType == CrabClawKelp2 || techType == CrabClawKelp3) { if (ConfigSwitcher.AddWaterSeedsWhenDiscovered && !PDAEncyclopedia.ContainsEntry("BlueTipLostRiverPlant")) { __result = false; } } else if (techType == BrownTubes1 || techType == BrownTubes2 || techType == BrownTubes3) { if (ConfigSwitcher.AddWaterSeedsWhenDiscovered && !PDAEncyclopedia.ContainsEntry("EarthenCoralTubes")) { __result = false; } } else if (techType == CoveTree || techType == GiantCoveTree) { if (ConfigSwitcher.AddWaterSeedsWhenDiscovered && !PDAEncyclopedia.ContainsEntry("TreeCoveTree")) { __result = false; } } else if (techType == MushroomTree1 || techType == MushroomTree2) { if (ConfigSwitcher.AddWaterSeedsWhenDiscovered && !PDAEncyclopedia.ContainsEntry("TreeLeech") && !PDAEncyclopedia.ContainsEntry("TreeMushroom") && !PDAEncyclopedia.ContainsEntry("TreeMushroomPiece")) { __result = false; } } else if (techType == MarbleMelonTiny) { if (ConfigSwitcher.AddAirSeedsWhenDiscovered && !PDAEncyclopedia.ContainsEntry("MelonPlant") && !PDAEncyclopedia.ContainsEntry("MelonSeed") && !PDAEncyclopedia.ContainsEntry("SmallMelon") && !PDAEncyclopedia.ContainsEntry("Melon")) { __result = false; } } else if (!ConfigSwitcher.EnableEggsAtStart) { if (techType == GhostLeviathanEggs) { if (ConfigSwitcher.EnableEggsWhenCreatureScanned) { if (!PDAEncyclopedia.ContainsEntry("TreeCoveTree") && !PDAEncyclopedia.ContainsEntry("GhostLeviathan") && !PDAEncyclopedia.ContainsEntry("GhostLeviathanJuvenile")) { __result = false; } } else if (!PDAEncyclopedia.ContainsEntry("TreeCoveTree")) { __result = false; } } else if (techType == SeaDragonEgg) { if (ConfigSwitcher.EnableEggsWhenCreatureScanned) { if (!PDAEncyclopedia.ContainsEntry("Precursor_LostRiverBase_LeviathanEggShellScan") && !PDAEncyclopedia.ContainsEntry("SeaDragon")) { __result = false; } } else if (!PDAEncyclopedia.ContainsEntry("Precursor_LostRiverBase_LeviathanEggShellScan")) { __result = false; } } else if (techType == SeaEmperorEgg) { if (ConfigSwitcher.EnableEggsWhenCreatureScanned) { if (!PDAEncyclopedia.ContainsEntry("PrecursorPrisonEggChamberEmperorEgg") && !PDAEncyclopedia.ContainsEntry("PrecursorPrisonAquariumIncubatorEggs") && !PDAEncyclopedia.ContainsEntry("SeaEmperor") && !PDAEncyclopedia.ContainsEntry("SeaEmperorLeviathan") && !PDAEncyclopedia.ContainsEntry("SeaEmperorBaby")) { __result = false; } } else if (!PDAEncyclopedia.ContainsEntry("PrecursorPrisonEggChamberEmperorEgg") && !PDAEncyclopedia.ContainsEntry("PrecursorPrisonAquariumIncubatorEggs")) { __result = false; } } else if (ConfigSwitcher.EnableEggsWhenCreatureScanned) { switch (techType) { case TechType.BonesharkEgg: if (!PDAEncyclopedia.ContainsEntry("Boneshark")) { __result = false; } break; case TechType.CrabsnakeEgg: if (!PDAEncyclopedia.ContainsEntry("Crabsnake")) { __result = false; } break; case TechType.CrabsquidEgg: if (!PDAEncyclopedia.ContainsEntry("Crabsquid")) { __result = false; } break; case TechType.CrashEgg: if (!PDAEncyclopedia.ContainsEntry("Crash") && !PDAEncyclopedia.ContainsEntry("CrashLair")) { __result = false; } break; case TechType.CutefishEgg: if (!PDAEncyclopedia.ContainsEntry("CuteFish")) { __result = false; } break; case TechType.GasopodEgg: if (!PDAEncyclopedia.ContainsEntry("Gasopod")) { __result = false; } break; case TechType.JellyrayEgg: if (!PDAEncyclopedia.ContainsEntry("Jellyray")) { __result = false; } break; case TechType.JumperEgg: if (!PDAEncyclopedia.ContainsEntry("Shuttlebug")) { __result = false; } break; case TechType.LavaLizardEgg: if (!PDAEncyclopedia.ContainsEntry("LavaLizard")) { __result = false; } break; case TechType.MesmerEgg: if (!PDAEncyclopedia.ContainsEntry("Mesmer")) { __result = false; } break; case TechType.RabbitrayEgg: if (!PDAEncyclopedia.ContainsEntry("RabbitRay")) { __result = false; } break; case TechType.ReefbackEgg: if (!PDAEncyclopedia.ContainsEntry("Reefback")) { __result = false; } break; case TechType.SandsharkEgg: if (!PDAEncyclopedia.ContainsEntry("SandShark")) { __result = false; } break; case TechType.ShockerEgg: if (!PDAEncyclopedia.ContainsEntry("Ampeel")) { __result = false; } break; case TechType.SpadefishEgg: if (!PDAEncyclopedia.ContainsEntry("Spadefish")) { __result = false; } break; case TechType.StalkerEgg: if (!PDAEncyclopedia.ContainsEntry("Stalker")) { __result = false; } break; default: break; } } } } }
private void Process(ClientScanEncyclopedia msg) { using (new MessageBlocker()) { PDAEncyclopedia.Add(msg.key, false); } }
public static void Postfix() { // Don't do anything if we're holding on the "press any key to continue" screen or intro cinematic if (DeathRunUtils.isIntroStillGoing()) { return; } // Adds our "Data Bank" entries if (!DeathRun.encyclopediaAdded && (DeathRun.saveData.playerSave.startedGame > 0)) { DeathRun.encyclopediaAdded = true; PDAEncyclopedia.Add("DeathRun", false); PDAEncyclopedia.Add("Aggression", false); PDAEncyclopedia.Add("Atmosphere", false); PDAEncyclopedia.Add("CrushDepth", false); PDAEncyclopedia.Add("Explosion", false); PDAEncyclopedia.Add("Nitrogen", false); PDAEncyclopedia.Add("Radiation", false); PDAEncyclopedia.Add("PowerCosts", false); PDAEncyclopedia.Add("LifePodSank", false); PDAEncyclopedia.Add("ExitVehicles", false); } // Officially start our mod's timer/monitor, if we haven't if (DeathRun.saveData.playerSave.startedGame == 0) { DeathRun.saveData.playerSave.startedGame = DayNightCycle.main.timePassedAsFloat; DeathRun.playerMonitor.Update(DayNightCycle.main.timePassedAsFloat); DeathRun.playerIsDead = false; return; } if (DeathRun.saveData.podSave.spotPicked) { DeathRun.saveData.runData.startNewRun(); DeathRun.saveData.podSave.spotPicked = false; DeathRun.playerIsDead = false; } // If any difficulty settings have changed, make sure we register any lower ones against the score stats if ((DeathRun.configDirty > 0) && (Time.time > DeathRun.configDirty + 5)) { DeathRun.saveData.runData.countSettings(); DeathRun.configDirty = 0; } DeathRun.playerMonitor.Update(DayNightCycle.main.timePassedAsFloat); float interval = DeathRun.playerMonitor.currValue - DeathRun.playerMonitor.prevValue; // Update our "time alive" DeathRun.saveData.playerSave.currentLife += interval; DeathRun.saveData.playerSave.allLives += interval; // Roll the "Mod Intro" messages if (!DeathRun.saveData.playerSave.killOpening && (DayNightCycle.main.timePassedAsFloat - DeathRun.saveData.playerSave.startedGame < 200)) { doIntroMessages(); } else { DeathRun.saveData.playerSave.killOpening = true; } // Respawn messages if ((DeathRun.saveData.playerSave.timeOfDeath > 0) && ((DayNightCycle.main.timePassedAsFloat - DeathRun.saveData.playerSave.timeOfDeath < 200))) { doRespawnMessages(); } // Delayed encyclopedia entries if ((DeathRun.saveData.playerSave.cueTime > 0) && (DayNightCycle.main.timePassedAsFloat > DeathRun.saveData.playerSave.cueTime)) { if (!"".Equals(DeathRun.saveData.playerSave.cueKey)) { PDAEncyclopedia.Add(DeathRun.saveData.playerSave.cueKey, true); if (KnownTechInitPatcher.UnlockSound != null) { try { PDASounds.queue.PlayQueued(KnownTechInitPatcher.UnlockSound); } catch (Exception exception) { Debug.LogException(exception); } } } DeathRun.saveData.playerSave.cueTime = 0; } }