diff --git a/README.md b/README.md index 476d68e6..cee11e72 100644 --- a/README.md +++ b/README.md @@ -24,13 +24,15 @@ This mod can be used alongside the official version of Starstorm 2. Be sure to g | ![](https://raw.githubusercontent.com/Moffein/Starstorm2Unofficial/main/README%20Images/portraitPyro.png) | Pyro | The Pyro will stop at nothing to burn down everything in sight. | | ![](https://raw.githubusercontent.com/Moffein/Starstorm2Unofficial/main/README%20Images/portraitNucleator.png) | Nucleator | The Nucleator is a radioactive juggernaut with rad-proof armor, which allows him to manipulate nuclear components for long periods of time. | -## 10 New Items +## 12 New Items | Icon | Name | Description | |:--:|:--:|--| | Common | | | | ![](https://raw.githubusercontent.com/Moffein/Starstorm2Unofficial/main/README%20Images/itemDetritiveTrematode.png) | Detritive Trematode | Enemies below **25% health** are infested for **100%** *(+100%)* base damage per second. | | ![](https://raw.githubusercontent.com/Moffein/Starstorm2Unofficial/main/README%20Images/itemDiary.png) | Diary | Increases **movement speed** by **10%** *(+10%)* and **armor** by **3** *(+3)*. | +| ![](https://raw.githubusercontent.com/Moffein/Starstorm2Unofficial/main/README%20Images/itemDungus.png) | Dormant Fungus | Heals for **1.2%** *(+0.6%)* of your **health** every second **while sprinting**. | +| Rare | | | | ![](https://raw.githubusercontent.com/Moffein/Starstorm2Unofficial/main/README%20Images/itemFork.png) | Fork | Increases your base damage by **2.4** *(+2.4)*. | | ![](https://raw.githubusercontent.com/Moffein/Starstorm2Unofficial/main/README%20Images/itemMoltenCoin.png) | Molten Coin | **6%** chance to **ignite on hit** for **320%** *(+320%)* base damage and earn **$1**. Scales with time. | | Uncommon | | | @@ -42,6 +44,8 @@ This mod can be used alongside the official version of Starstorm 2. Be sure to g | Equipment | | | | ![](https://raw.githubusercontent.com/Moffein/Starstorm2Unofficial/main/README%20Images/equipCloakingHeadband.png) | Cloaking Headband | Become **invisible** for 10 seconds. | | ![](https://raw.githubusercontent.com/Moffein/Starstorm2Unofficial/main/README%20Images/equipGreaterWarbanner.png) | Greater Warbanner | Place a greater warbanner which strengthens all allies within **25m**. Raises **critical chance** by **25%**. Every second, **reduces skill cooldowns by 0.5s** and **heals** for **2.5%** of your **health**. Only **1** banner may be active at a time. | +| Lunar | | | +| ![](https://raw.githubusercontent.com/Moffein/Starstorm2Unofficial/main/README%20Images/itemMass.png) | Relic of Mass | **Increase maximum health** by **100%** *(+100%)*. **Reduce acceleration and deceleration** by a factor of **8** *(+8)*. | ## Disabled Items Can be re-enabled in config. @@ -51,12 +55,8 @@ Can be re-enabled in config. |:--:|:--:|--| | Common | | | | ![](https://raw.githubusercontent.com/Moffein/Starstorm2Unofficial/main/README%20Images/itemCoffeeBag.png) | Coffee Bag | Increases **movement speed** by **7%** *(+7%)* and **attack speed** by **7.5%** *(+7.5%)*. Disabled due to being officially implemented as **Mocha**. | -| ![](https://raw.githubusercontent.com/Moffein/Starstorm2Unofficial/main/README%20Images/itemDungus.png) | Dormant Fungus | Heals for **1.2%** *(+0.6%)* of your **health** every second **while sprinting**. Disabled due to being officially implemented as **Weeping Fungus**. | -| Rare | | | | ![](https://raw.githubusercontent.com/Moffein/Starstorm2Unofficial/main/README%20Images/itemErraticGadget.png) | Erratic Gadget | Gain **10% critical chance**. **Critical strikes** hit an additional time for **50%** *(+50%)* TOTAL damage. Disabled due to being similar to **Laser Scope**, same damage boost but applied in a different way. | | ![](https://raw.githubusercontent.com/Moffein/Starstorm2Unofficial/main/README%20Images/itemNkota.png) | Nkota's Heritage | **Receive an item** on **level up** or starting the **Teleporter event**. Rerolls for a higher item tier **0** *(+1)* times. **Unaffected by luck**. | -| Lunar | | | -| ![](https://raw.githubusercontent.com/Moffein/Starstorm2Unofficial/main/README%20Images/itemMass.png) | Relic of Mass | **Increase maximum health** by **100%** *(+100%)*. **Reduce acceleration and deceleration** by a factor of **8** *(+8)*. Disabled due to being similar to **Stone Flux Pauldron**, though the movement penalty works very differently. | diff --git a/Starstorm 2/ModCompat.cs b/Starstorm 2/ModCompat.cs index 7d9821d1..0e9a4461 100644 --- a/Starstorm 2/ModCompat.cs +++ b/Starstorm 2/ModCompat.cs @@ -32,7 +32,6 @@ public static class RiskyMod public static void InitCompat() { pluginLoaded = BepInEx.Bootstrap.Chainloader.PluginInfos.ContainsKey("com.RiskyLives.RiskyMod"); - RoR2Application.onLoad += OnLoadActions; } @@ -50,6 +49,7 @@ private static void OnLoadActions() public static class SS2OCompat { public static bool pluginLoaded = false; + public static bool autoConfig; public static bool enableNemMercInvasion = true; public static bool enableNemCommandoInvasion = true; @@ -59,6 +59,7 @@ public static class SS2OCompat public static void InitCompat() { + pluginLoaded = BepInEx.Bootstrap.Chainloader.PluginInfos.ContainsKey("com.TeamMoonstorm.Starstorm2"); RoR2Application.onLoad += OnLoadActions; } private static void OnLoadActions() diff --git a/Starstorm 2/Modules/Config.cs b/Starstorm 2/Modules/Config.cs index dccc157d..49e7ccf3 100644 --- a/Starstorm 2/Modules/Config.cs +++ b/Starstorm 2/Modules/Config.cs @@ -1,5 +1,6 @@ using BepInEx.Configuration; using RiskOfOptions; +using Starstorm2Unofficial.Cores.Equipment; using Starstorm2Unofficial.Modules.Achievements; using Starstorm2Unofficial.Survivors.Cyborg; using Starstorm2Unofficial.Survivors.Cyborg.Components.Crosshair; @@ -53,6 +54,10 @@ internal static class Config internal static void Initialize() { + ModCompat.SS2OCompat.autoConfig = StarstormPlugin.instance.Config.Bind("Starstorm 2 :: Compatibility", + "SS2 Official - Autoconfig", + true, + "Automatically disable duplicated features that exist in SS2 Official. Disable this if you want to pick and choose which things to keep.").Value; ModCompat.SurvariantsCompat.useVariants = StarstormPlugin.instance.Config.Bind("Starstorm 2 :: Compatibility", "Survariants", @@ -329,6 +334,14 @@ internal static void Initialize() { RiskOfOptionsCompat(); } + + if (ModCompat.SS2OCompat.pluginLoaded && ModCompat.SS2OCompat.autoConfig) + { + EnableEvents.Value = false; + EnableVoid.Value = false; + EnableTyphoon.Value = false; + //Item/Equipment doorstop is handle separately. + } } // this helper automatically makes config entries for enabling/disabling survivors diff --git a/Starstorm 2/Starstorm2Release/CHANGELOG.md b/Starstorm 2/Starstorm2Release/CHANGELOG.md index 778f0d1b..41bbbb88 100644 --- a/Starstorm 2/Starstorm2Release/CHANGELOG.md +++ b/Starstorm 2/Starstorm2Release/CHANGELOG.md @@ -1,3 +1,18 @@ +`0.21.0` + +- SS2 Official Autoconfig (Enabled by default, Untested) + - If it detects SS2 Official is loaded, it'll automatically turn off Storms/Events, Void Invasion, Typhoon, and duplicated Items/Equipments that exist in the Official version. + - The list of features disabled is manually set, and won't automatically update when SS2 Official updates. + - Does not affect Survivors since they're already nested under Variants. + - If you want to manually configure which features to keep, disable this option. + +- Re-enabled Dormant Fungus by default. (Existing config unaffected) + - It's a nice item to have in the pool, and can be considered different from Vanilla Wungus by having lower numbers but being usable alongside Bungus. + +- Re-enabled Relic of Mass by default. (Existing config unaffected) + - Acceleration reduction is funny, different enough from Stone Flux Pauldron to warrant keeping. + + `0.20.9` - Fixed TemporaryOverlay nullrefs on Executioner and other survivors. diff --git a/Starstorm 2/Starstorm2Release/README.md b/Starstorm 2/Starstorm2Release/README.md index 476d68e6..cee11e72 100644 --- a/Starstorm 2/Starstorm2Release/README.md +++ b/Starstorm 2/Starstorm2Release/README.md @@ -24,13 +24,15 @@ This mod can be used alongside the official version of Starstorm 2. Be sure to g | ![](https://raw.githubusercontent.com/Moffein/Starstorm2Unofficial/main/README%20Images/portraitPyro.png) | Pyro | The Pyro will stop at nothing to burn down everything in sight. | | ![](https://raw.githubusercontent.com/Moffein/Starstorm2Unofficial/main/README%20Images/portraitNucleator.png) | Nucleator | The Nucleator is a radioactive juggernaut with rad-proof armor, which allows him to manipulate nuclear components for long periods of time. | -## 10 New Items +## 12 New Items | Icon | Name | Description | |:--:|:--:|--| | Common | | | | ![](https://raw.githubusercontent.com/Moffein/Starstorm2Unofficial/main/README%20Images/itemDetritiveTrematode.png) | Detritive Trematode | Enemies below **25% health** are infested for **100%** *(+100%)* base damage per second. | | ![](https://raw.githubusercontent.com/Moffein/Starstorm2Unofficial/main/README%20Images/itemDiary.png) | Diary | Increases **movement speed** by **10%** *(+10%)* and **armor** by **3** *(+3)*. | +| ![](https://raw.githubusercontent.com/Moffein/Starstorm2Unofficial/main/README%20Images/itemDungus.png) | Dormant Fungus | Heals for **1.2%** *(+0.6%)* of your **health** every second **while sprinting**. | +| Rare | | | | ![](https://raw.githubusercontent.com/Moffein/Starstorm2Unofficial/main/README%20Images/itemFork.png) | Fork | Increases your base damage by **2.4** *(+2.4)*. | | ![](https://raw.githubusercontent.com/Moffein/Starstorm2Unofficial/main/README%20Images/itemMoltenCoin.png) | Molten Coin | **6%** chance to **ignite on hit** for **320%** *(+320%)* base damage and earn **$1**. Scales with time. | | Uncommon | | | @@ -42,6 +44,8 @@ This mod can be used alongside the official version of Starstorm 2. Be sure to g | Equipment | | | | ![](https://raw.githubusercontent.com/Moffein/Starstorm2Unofficial/main/README%20Images/equipCloakingHeadband.png) | Cloaking Headband | Become **invisible** for 10 seconds. | | ![](https://raw.githubusercontent.com/Moffein/Starstorm2Unofficial/main/README%20Images/equipGreaterWarbanner.png) | Greater Warbanner | Place a greater warbanner which strengthens all allies within **25m**. Raises **critical chance** by **25%**. Every second, **reduces skill cooldowns by 0.5s** and **heals** for **2.5%** of your **health**. Only **1** banner may be active at a time. | +| Lunar | | | +| ![](https://raw.githubusercontent.com/Moffein/Starstorm2Unofficial/main/README%20Images/itemMass.png) | Relic of Mass | **Increase maximum health** by **100%** *(+100%)*. **Reduce acceleration and deceleration** by a factor of **8** *(+8)*. | ## Disabled Items Can be re-enabled in config. @@ -51,12 +55,8 @@ Can be re-enabled in config. |:--:|:--:|--| | Common | | | | ![](https://raw.githubusercontent.com/Moffein/Starstorm2Unofficial/main/README%20Images/itemCoffeeBag.png) | Coffee Bag | Increases **movement speed** by **7%** *(+7%)* and **attack speed** by **7.5%** *(+7.5%)*. Disabled due to being officially implemented as **Mocha**. | -| ![](https://raw.githubusercontent.com/Moffein/Starstorm2Unofficial/main/README%20Images/itemDungus.png) | Dormant Fungus | Heals for **1.2%** *(+0.6%)* of your **health** every second **while sprinting**. Disabled due to being officially implemented as **Weeping Fungus**. | -| Rare | | | | ![](https://raw.githubusercontent.com/Moffein/Starstorm2Unofficial/main/README%20Images/itemErraticGadget.png) | Erratic Gadget | Gain **10% critical chance**. **Critical strikes** hit an additional time for **50%** *(+50%)* TOTAL damage. Disabled due to being similar to **Laser Scope**, same damage boost but applied in a different way. | | ![](https://raw.githubusercontent.com/Moffein/Starstorm2Unofficial/main/README%20Images/itemNkota.png) | Nkota's Heritage | **Receive an item** on **level up** or starting the **Teleporter event**. Rerolls for a higher item tier **0** *(+1)* times. **Unaffected by luck**. | -| Lunar | | | -| ![](https://raw.githubusercontent.com/Moffein/Starstorm2Unofficial/main/README%20Images/itemMass.png) | Relic of Mass | **Increase maximum health** by **100%** *(+100%)*. **Reduce acceleration and deceleration** by a factor of **8** *(+8)*. Disabled due to being similar to **Stone Flux Pauldron**, though the movement penalty works very differently. | diff --git a/Starstorm 2/Starstorm2Release/VideogameMod2Unofficial.zip b/Starstorm 2/Starstorm2Release/VideogameMod2Unofficial.zip index e261d0f3..83d7328a 100644 Binary files a/Starstorm 2/Starstorm2Release/VideogameMod2Unofficial.zip and b/Starstorm 2/Starstorm2Release/VideogameMod2Unofficial.zip differ diff --git a/Starstorm 2/Starstorm2Release/manifest.json b/Starstorm 2/Starstorm2Release/manifest.json index c5b0578d..1913b98e 100644 --- a/Starstorm 2/Starstorm2Release/manifest.json +++ b/Starstorm 2/Starstorm2Release/manifest.json @@ -1,6 +1,6 @@ { "name": "Videogame_Mod_2_Unofficial", - "version_number": "0.20.9", + "version_number": "0.21.0", "website_url": "https://github.com/Moffein/Starstorm2Unofficial", "description": "A restoration of the pre-SotV Videogame Mod 2. Compatible with the official Videogame Mod 2!", "dependencies": [ diff --git a/Starstorm 2/Starstorm2Release/plugins/ChirrLover-Starstorm2Unofficial/Starstorm2Unofficial.dll b/Starstorm 2/Starstorm2Release/plugins/ChirrLover-Starstorm2Unofficial/Starstorm2Unofficial.dll index 51e6730b..c1c1305c 100644 Binary files a/Starstorm 2/Starstorm2Release/plugins/ChirrLover-Starstorm2Unofficial/Starstorm2Unofficial.dll and b/Starstorm 2/Starstorm2Release/plugins/ChirrLover-Starstorm2Unofficial/Starstorm2Unofficial.dll differ diff --git a/Starstorm 2/StarstormPlugin.cs b/Starstorm 2/StarstormPlugin.cs index f0cba6f3..c301cd21 100644 --- a/Starstorm 2/StarstormPlugin.cs +++ b/Starstorm 2/StarstormPlugin.cs @@ -54,7 +54,7 @@ public class StarstormPlugin : BaseUnityPlugin { internal const string guid = "com.ChirrLover.Starstorm2Unofficial"; internal const string modName = "Starstorm 2 Unofficial"; - internal const string version = "0.20.9"; + internal const string version = "0.21.0"; public static StarstormPlugin instance; @@ -170,8 +170,11 @@ private void Initialize() if (Modules.Config.EnableEquipment.Value) { equipmentCore = new EquipmentCore(); - AddEquipmentIfEnabled(new CloakingHeadband(), EquipmentCore.instance.equipment); - AddEquipmentIfEnabled(new GreaterWarbanner(), EquipmentCore.instance.equipment); + if (ModCompat.SS2OCompat.pluginLoaded && ModCompat.SS2OCompat.autoConfig) + { + AddEquipmentIfEnabled(new CloakingHeadband(), EquipmentCore.instance.equipment); + AddEquipmentIfEnabled(new GreaterWarbanner(), EquipmentCore.instance.equipment); + } //AddEquipmentIfEnabled(new PressurizedCanister(), EquipmentCore.instance.equipment); //fuck this equipment in particular EquipmentCore.instance.InitEquipment(); } @@ -180,24 +183,26 @@ private void Initialize() { itemCore = new ItemCore(); - AddItemIfEnabled(new Fork(), ItemCore.instance.items); - AddItemIfEnabled(new MoltenCoin(), ItemCore.instance.items); + if (ModCompat.SS2OCompat.pluginLoaded && ModCompat.SS2OCompat.autoConfig) + { + AddItemIfEnabled(new Fork(), ItemCore.instance.items); + AddItemIfEnabled(new MoltenCoin(), ItemCore.instance.items); + AddItemIfEnabled(new DetritiveTrematode(), ItemCore.instance.items); + AddItemIfEnabled(new CoffeeBag(), ItemCore.instance.items, false); + AddItemIfEnabled(new WatchMetronome(), ItemCore.instance.items); + AddItemIfEnabled(new DormantFungus(), ItemCore.instance.items); + AddItemIfEnabled(new DroidHead(), ItemCore.instance.items); + AddItemIfEnabled(new GreenChocolate(), ItemCore.instance.items); + AddItemIfEnabled(new NkotasHeritage(), ItemCore.instance.items, false); + AddItemIfEnabled(new RelicOfMass(), ItemCore.instance.items); + AddItemIfEnabled(new StirringSoul(), ItemCore.instance.items); + } + AddItemIfEnabled(new Diary(), ItemCore.instance.items); - AddItemIfEnabled(new DetritiveTrematode(), ItemCore.instance.items); - AddItemIfEnabled(new DormantFungus(), ItemCore.instance.items, false); - AddItemIfEnabled(new CoffeeBag(), ItemCore.instance.items, false); - AddItemIfEnabled(new WatchMetronome(), ItemCore.instance.items); AddItemIfEnabled(new StrangeCan(), ItemCore.instance.items); - AddItemIfEnabled(new DroidHead(), ItemCore.instance.items); - AddItemIfEnabled(new GreenChocolate(), ItemCore.instance.items); AddItemIfEnabled(new ErraticGadget(), ItemCore.instance.items, false); - AddItemIfEnabled(new NkotasHeritage(), ItemCore.instance.items, false); - - AddItemIfEnabled(new RelicOfMass(), ItemCore.instance.items, false); - - AddItemIfEnabled(new StirringSoul(), ItemCore.instance.items); //AddItemIfEnabled(new Malice(), ItemCore.instance.items); //AddItemIfEnabled(new BrokenBloodTester(), ItemCore.instance.items);