Exemplo n.º 1
0
 private void Awake()
 {
     cachedOxygenManager = Player.main.oxygenMgr;
     cachedDayNight      = DayNightCycle.main;
     cachedTemp          = WaterTemperatureSimulation.main;
     SeraLogger.Message(Main.modName, "SpecialtyTanks is Awake() and running!");
 }
Exemplo n.º 2
0
        public static void Patch()
        {
            SeraLogger.PatchStart(modName, "1.0.0");
            try
            {
                var harmony = new Harmony("seraphimrisen.biochemicalbattery.mod");

                BioPlasmaItems.PatchBioPlasmaItems();

                // First, you instantiate PrimeSonic's service class
                var cbservice = new CustomBatteriesService();
                // Create a new instance for your custom pack
                var bcpack = new Items.BiochemicalPack();
                // Use CustomBatteries' API to add it to the game
                cbservice.AddPluginPackFromMod(bcpack);


                harmony.PatchAll(Assembly.GetExecutingAssembly());

                SeraLogger.PatchComplete(modName);
            }
            catch (Exception ex)
            {
                SeraLogger.PatchFailed(modName, ex);
            }
        }
Exemplo n.º 3
0
        internal static void PatchBatteries()
        {
            if (!TechTypeHandler.ModdedTechTypeExists("DeepPowerCell"))
            {
                var tabIcon = ImageUtils.LoadSpriteFromFile(@"./Qmods/" + Assets + @"/TabIcon.png");
                CraftTreeHandler.AddTabNode(CraftTree.Type.Fabricator, BatCraftTab, "Batteries and Power Cells", tabIcon, ResCraftTab, ElecCraftTab);
                SeraLogger.Message(Main.modName, "MidGameBatteries not installed, creating new crafting tab");

                CraftTreeHandler.RemoveNode(CraftTree.Type.Fabricator, ResCraftTab, ElecCraftTab, TechType.Battery.ToString());
                CraftTreeHandler.RemoveNode(CraftTree.Type.Fabricator, ResCraftTab, ElecCraftTab, TechType.PrecursorIonBattery.ToString());
                CraftTreeHandler.RemoveNode(CraftTree.Type.Fabricator, ResCraftTab, ElecCraftTab, TechType.PowerCell.ToString());
                CraftTreeHandler.RemoveNode(CraftTree.Type.Fabricator, ResCraftTab, ElecCraftTab, TechType.PrecursorIonPowerCell.ToString());

                CraftTreeHandler.AddCraftingNode(CraftTree.Type.Fabricator, TechType.Battery, CraftPath);
                CraftTreeHandler.AddCraftingNode(CraftTree.Type.Fabricator, TechType.PowerCell, CraftPath);
                CraftTreeHandler.AddCraftingNode(CraftTree.Type.Fabricator, TechType.PrecursorIonBattery, CraftPath);
                CraftTreeHandler.AddCraftingNode(CraftTree.Type.Fabricator, TechType.PrecursorIonPowerCell, CraftPath);
            }
            else
            {
                SeraLogger.Message(Main.modName, "MidGameBatteries installed, adding to crafting tab");
            }
            var enzBatt = new EnzymeBattery(1000f);

            enzBatt.Patch();
            var enzPowerCell = new EnzymePowerCell(enzBatt);

            enzPowerCell.Patch();
        }
Exemplo n.º 4
0
        public static void Patch()
        {
            SeraLogger.PatchStart(modName, "2.1.0");
            try
            {
                AssetBundle ab = AssetBundle.LoadFromFile(assetBundle);
                BiomeHUD = ab.LoadAsset("biomeCanvas") as GameObject;

                CompassCore.PatchCompasses();

                BiomeDisplayOptions savedSettings = new BiomeDisplayOptions();
                OptionsPanelHandler.RegisterModOptions(savedSettings);
                animationsEnabled = savedSettings.animationEnabled;
                imagesEnabled     = savedSettings.imageEnabled;
                imageAlpha        = savedSettings.alphaValue;
                showCoords        = savedSettings.coordsEnabled;

                var harmony = HarmonyInstance.Create("seraphimrisen.biomehudindicator.mod");
                harmony.PatchAll(Assembly.GetExecutingAssembly());

                SeraLogger.PatchComplete(modName);
            }
            catch (Exception ex)
            {
                SeraLogger.PatchFailed(modName, ex);
            }
        }
 private void ReadSettings()
 {
     if (!File.Exists(configFile))
     {
         SeraLogger.ConfigNotFound(Main.modName);
         SaveSettings();
     }
     else
     {
         try
         {
             SaveData loadedData = (SaveData)ConfigMaker.ReadData(configFile, typeof(SaveData));
             nitroEnabled          = Boolean.Parse(loadedData.NitrogenEnabled);
             nitroLethal           = Boolean.Parse(loadedData.IsLethal);
             damageScaler          = float.Parse(loadedData.DamageScaler);
             crushEnabled          = Boolean.Parse(loadedData.CrushEnabled);
             specialtyTanksEnabled = Boolean.Parse(loadedData.SpecialtyEnabled);
             decompressionVehicles = Boolean.Parse(loadedData.DecompressionVehiclesEnabled);
         }
         catch (Exception ex)
         {
             SeraLogger.ConfigReadError(Main.modName, ex);
             nitroEnabled          = true;
             nitroLethal           = true;
             damageScaler          = 1f;
             crushEnabled          = false;
             specialtyTanksEnabled = true;
             decompressionVehicles = false;
             SaveSettings();
         }
         Main.specialtyTanks = specialtyTanksEnabled;
     }
 }
Exemplo n.º 6
0
        public static void Patch()
        {
            SeraLogger.PatchStart(modName, "1.4.2");
            try
            {
                var harmony = HarmonyInstance.Create("seraphimrisen.nitrogenmod.mod");

                AssetBundle ab = AssetBundle.LoadFromFile(assetBundle);
                N2HUD = ab.LoadAsset("NMHUD") as GameObject;

                NitrogenOptions savedSettings = new NitrogenOptions();
                OptionsPanelHandler.RegisterModOptions(savedSettings);

                NitroDamagePatcher.Lethality(savedSettings.nitroLethal);
                NitroDamagePatcher.AdjustScaler(savedSettings.damageScaler);
                BreathPatcher.EnableCrush(savedSettings.crushEnabled);
                nitrogenEnabled = savedSettings.nitroEnabled;

                harmony.PatchAll(Assembly.GetExecutingAssembly());

                DummySuitItems.PatchDummyItems();
                ReinforcedSuitsCore.PatchSuits();
                if (specialtyTanks)
                {
                    O2TanksCore.PatchTanks();
                }

                SeraLogger.PatchComplete(modName);
            }
            catch (Exception ex)
            {
                SeraLogger.PatchFailed(modName, ex);
            }
        }
Exemplo n.º 7
0
 private void ReadSettings()
 {
     if (!File.Exists(configFile))
     {
         SeraLogger.ConfigNotFound(Main.modName);
         SaveSettings();
     }
     else
     {
         try
         {
             SaveData loadedData = (SaveData)ConfigMaker.ReadData(configFile, typeof(SaveData));
             animationEnabled = Boolean.Parse(loadedData.AnimationsEnabled);
             imageEnabled     = Boolean.Parse(loadedData.ImagesEnabled);
             alphaValue       = byte.Parse(loadedData.ImageAlpha);
             sliderFloat      = float.Parse(loadedData.SliderValue);
         }
         catch (Exception ex)
         {
             SeraLogger.ConfigReadError(Main.modName, ex);
             animationEnabled = true;
             imageEnabled     = true;
             alphaValue       = 255;
             sliderFloat      = 100f;
             SaveSettings();
         }
     }
 }
Exemplo n.º 8
0
        internal static void PatchCompasses()
        {
            var tabIcon = ImageUtils.LoadSpriteFromFile(@"./Qmods/" + Assets + @"/TabIcon.png");

            CraftTreeHandler.AddTabNode(CraftTree.Type.Workbench, craftTab, "HUD Chip Upgrades", tabIcon);
            SeraLogger.Message(Main.modName, "Creating new crafting tab");

            var BiomeChip = new BiomeHUDIndicator();

            BiomeChip.Patch();
        }
Exemplo n.º 9
0
 public static void Patch()
 {
     SeraLogger.PatchStart(modName, "1.1.0");
     try
     {
         var harmony = HarmonyInstance.Create("seraphimrisen.bzseamoth.mod");
         harmony.PatchAll(Assembly.GetExecutingAssembly());
         SeraLogger.PatchComplete(modName);
     }
     catch (Exception ex)
     {
         SeraLogger.PatchFailed(modName, ex);
     }
 }
Exemplo n.º 10
0
 public static void Patch()
 {
     SeraLogger.PatchStart(modName, "1.0.3");
     try
     {
         EnzymeBatteryCore.PatchBatteries();
         var harmony = HarmonyInstance.Create("seraphimrisen.enzymechargedbatteries.mod");
         harmony.PatchAll(Assembly.GetExecutingAssembly());
         SeraLogger.PatchComplete(modName);
     }
     catch (Exception ex)
     {
         SeraLogger.PatchFailed(modName, ex);
     }
 }
Exemplo n.º 11
0
 public static void Patch()
 {
     SeraLogger.PatchStart(modName, "1.0.2");
     try
     {
         var harmony = HarmonyInstance.Create("seraphimrisen.noobservatorymusic.mod");
         harmony.PatchAll(Assembly.GetExecutingAssembly());
         OptionsPanelHandler.RegisterModOptions(new ObservatoryOptions());
         SeraLogger.PatchComplete(modName);
     }
     catch (Exception ex)
     {
         SeraLogger.PatchFailed(modName, ex);
     }
 }
Exemplo n.º 12
0
        public static void Patch()
        {
            string modName = "[BrineDamageFix]";

            SeraLogger.PatchStart(modName, "1.0.0");
            try
            {
                var harmony = HarmonyInstance.Create("seraphimrisen.brinedamagefix.mod");
                harmony.PatchAll(Assembly.GetExecutingAssembly());
                SeraLogger.PatchComplete(modName);
            }
            catch (Exception ex)
            {
                SeraLogger.PatchFailed(modName, ex);
            }
        }
Exemplo n.º 13
0
        public static void Patch()
        {
            string modName = "[CyclopsThermodynamics]";

            SeraLogger.PatchStart(modName, "1.0.0");
            try
            {
                var harmony = HarmonyInstance.Create("seraphimrisen.cyclopsthermodynamics.mod");
                harmony.PatchAll(Assembly.GetExecutingAssembly());
                SeraLogger.PatchComplete(modName);
            }
            catch (Exception ex)
            {
                SeraLogger.PatchFailed(modName, ex);
            }
        }
Exemplo n.º 14
0
        public static void Patch()
        {
            string modName = "[TimeCapsuleLogger]";

            SeraLogger.PatchStart(modName, "1.0.2");
            try
            {
                var harmony = HarmonyInstance.Create("seraphimrisen.timecapsulelogger.mod");
                harmony.PatchAll(Assembly.GetExecutingAssembly());
                SeraLogger.PatchComplete(modName);
            }
            catch (Exception ex)
            {
                SeraLogger.PatchFailed(modName, ex);
            }
        }
Exemplo n.º 15
0
 private void NitrogenEnabled(object sender, ToggleChangedEventArgs args)
 {
     if (args.Id != nitroEnablerName)
     {
         return;
     }
     nitroEnabled = args.Value;
     try
     {
         DevConsole.SendConsoleCommand("nitrogen");
     }
     catch (Exception ex)
     {
         SeraLogger.GenericError(Main.modName, ex);
     }
     SaveSettings();
 }
Exemplo n.º 16
0
        private void Awake()
        {
            _animationsEnabled = Main.animationsEnabled;
            _thumbnailFlag     = Main.imagesEnabled;
            imageAlpha         = Main.imageAlpha;
            _coordsFlag        = Main.showCoords;

            _BiomeHUDObject = Instantiate <GameObject>(Main.BiomeHUD);

            // Cache objects we will call frequently
            canvasTransform        = _BiomeHUDObject.transform;
            nowEntering            = canvasTransform.GetChild(2).GetComponent <Text>();
            biomeText              = canvasTransform.GetChild(3).GetComponent <Text>();
            currentCoords          = canvasTransform.GetChild(28).gameObject.GetComponent <Text>();
            backgroundThumbnails   = canvasTransform.GetChild(0).gameObject.GetComponent <Image>();
            backgroundNoThumbnails = canvasTransform.GetChild(1).gameObject.GetComponent <Image>();
            biomeTextAnimator      = biomeText.GetComponent <Animator>();
            nowEnteringAnimator    = nowEntering.GetComponent <Animator>();

            backgroundThumbnails.enabled   = false;
            backgroundNoThumbnails.enabled = false;
            nowEntering.enabled            = true;
            biomeText.enabled     = false;
            currentCoords.enabled = false;
            int i = 4;

            while (i <= 27)
            {
                canvasTransform.GetChild(i).gameObject.GetComponent <Image>().enabled = false;
                canvasTransform.GetChild(i).gameObject.GetComponent <Image>().color   = new Color32(255, 255, 255, imageAlpha);
                i++;
            }
            biomeTextAnimator.enabled = true;
            biomeTextAnimator.SetBool("idle", true);
            nowEnteringAnimator.enabled = true;
            nowEnteringAnimator.SetBool("idle", true);

            hudTransform = GameObject.Find("ScreenCanvas").transform.Find("HUD");
            canvasTransform.SetParent(hudTransform, false);
            canvasTransform.SetSiblingIndex(0);

            _started          = true;
            BiomeDisplay.main = this;

            SeraLogger.Message(Main.modName, "BiomeDisplay is awake and running!");
        }
Exemplo n.º 17
0
        internal static void PatchTanks()
        {
            var tabIcon = ImageUtils.LoadSpriteFromFile(@"./Qmods/" + Assets + @"/TankTabIcon.png");

            CraftTreeHandler.AddTabNode(CraftTree.Type.Workbench, craftTab, "Specialty O2 Tanks", tabIcon);
            SeraLogger.Message(Main.modName, "Creating new O2 tank crafting tab");

            var smallPhotoTank = new PhotosynthesisSmallTank();
            var photoTank      = new PhotosynthesisTank();
            var chemoTank      = new ChemosynthesisTank();

            smallPhotoTank.Patch();
            photoTank.Patch();
            chemoTank.Patch();

            CraftDataHandler.SetItemSize(PhotosynthesisSmallID, new Vector2int(2, 3));
            CraftDataHandler.SetItemSize(PhotosynthesisTankID, new Vector2int(2, 3));
            CraftDataHandler.SetItemSize(ChemosynthesisTankID, new Vector2int(2, 3));
        }
        internal static void PatchSuits()
        {
            var tabIcon = ImageUtils.LoadSpriteFromFile(@"./Qmods/" + Assets + @"/SuitTabIcon.png");

            CraftTreeHandler.AddTabNode(CraftTree.Type.Workbench, craftTab, "Dive Suit Upgrades", tabIcon);
            SeraLogger.Message(Main.modName, "Creating new dive suit crafting tab");

            var DiveSuitMk2  = new ReinforcedSuitMark2();
            var DiveSuitMk3  = new ReinforcedSuitMark3();
            var StillSuitMk2 = new ReinforcedStillSuit();

            DiveSuitMk2.Patch();
            DiveSuitMk3.Patch();
            StillSuitMk2.Patch();

            CraftDataHandler.SetItemSize(ReinforcedSuit2ID, new Vector2int(2, 2));
            CraftDataHandler.SetItemSize(ReinforcedSuit3ID, new Vector2int(2, 2));
            CraftDataHandler.SetItemSize(ReinforcedStillSuit, new Vector2int(2, 2));
        }
Exemplo n.º 19
0
 private void ReadSettings()
 {
     if (!File.Exists(Config))
     {
         SeraLogger.ConfigNotFound(Main.modName);
         SaveSettings();
     }
     else
     {
         try
         {
             biomeDisabled = (bool)ConfigMaker.ReadData(Config, typeof(bool));
         }
         catch (Exception ex)
         {
             SeraLogger.ConfigReadError(Main.modName, ex);
             biomeDisabled = true;
             SaveSettings();
         }
     }
 }
Exemplo n.º 20
0
        public static void Patch()
        {
            SeraLogger.PatchStart(modName, "1.5.1");
            try
            {
                var harmony = new Harmony("seraphimrisen.nitrogenmod.mod");

                AssetBundle ab = AssetBundle.LoadFromFile(assetBundle);
                N2HUD = ab.LoadAsset("NMHUD") as GameObject;

                NitrogenOptions savedSettings = new NitrogenOptions();
                OptionsPanelHandler.RegisterModOptions(savedSettings);

                nitrogenEnabled       = savedSettings.nitroEnabled;
                decompressionVehicles = savedSettings.decompressionVehicles;
                NitroDamagePatcher.Lethality(savedSettings.nitroLethal);
                NitroDamagePatcher.AdjustScaler(savedSettings.damageScaler);
                NitroDamagePatcher.SetDecomVeh(decompressionVehicles);
                BreathPatcher.EnableCrush(savedSettings.crushEnabled);

                harmony.PatchAll(Assembly.GetExecutingAssembly());

                DummySuitItems.PatchDummyItems();
                ReinforcedSuitsCore.PatchSuits();
                if (specialtyTanks)
                {
                    O2TanksCore.PatchTanks();
                }

                AddDiveSuit(ReinforcedSuitsCore.ReinforcedStillSuit, 1300f, 0.75f, 15f);
                AddDiveSuit(ReinforcedSuitsCore.ReinforcedSuit2ID, 1300f, 0.75f, 20f);
                AddDiveSuit(ReinforcedSuitsCore.ReinforcedSuit3ID, 8000f, 0.55f, 35f);
                Console.WriteLine(typeof(NitroDamagePatcher).AssemblyQualifiedName);
                SeraLogger.PatchComplete(modName);
            }
            catch (Exception ex)
            {
                SeraLogger.PatchFailed(modName, ex);
            }
        }