From 7e8ccb061aafd6c906d3fe1982a7c5ac14e78f60 Mon Sep 17 00:00:00 2001 From: Gabriel Kaszewski Date: Sat, 23 Aug 2025 22:59:22 +0200 Subject: [PATCH] Add FollowersPerSecond modifications to various unlocks; adjust values for game progression --- Mods/Miracles/divine_mandate.json | 2 +- Mods/Miracles/unlock_age_of_industry.json | 6 ++++++ Mods/Miracles/unlock_settlement.json | 6 ++++++ Mods/Miracles/unlock_space_age.json | 8 +++++++- Scripts/Components/ActiveBuffsManager.cs | 1 - Scripts/Core/GameLogic.cs | 1 + Scripts/Core/GameState.cs | 3 ++- 7 files changed, 23 insertions(+), 4 deletions(-) diff --git a/Mods/Miracles/divine_mandate.json b/Mods/Miracles/divine_mandate.json index e8ede94..c256055 100644 --- a/Mods/Miracles/divine_mandate.json +++ b/Mods/Miracles/divine_mandate.json @@ -9,7 +9,7 @@ "type": "ModifyStat", "targetStat": "FollowersPerSecond", "op": "Add", - "value": 0.1 + "value": 0.1 }, { "type": "DestroySelf" diff --git a/Mods/Miracles/unlock_age_of_industry.json b/Mods/Miracles/unlock_age_of_industry.json index 23e7922..feec533 100644 --- a/Mods/Miracles/unlock_age_of_industry.json +++ b/Mods/Miracles/unlock_age_of_industry.json @@ -19,6 +19,12 @@ "unlock_space_age" ] }, + { + "type": "ModifyStat", + "targetStat": "FollowersPerSecond", + "op": "Add", + "value": 0.75 + }, { "type": "DestroySelf" } ], "advancesToAge": "The Industrial Age" diff --git a/Mods/Miracles/unlock_settlement.json b/Mods/Miracles/unlock_settlement.json index f0a7365..f626244 100644 --- a/Mods/Miracles/unlock_settlement.json +++ b/Mods/Miracles/unlock_settlement.json @@ -18,6 +18,12 @@ "unlock_age_of_industry" ] }, + { + "type": "ModifyStat", + "targetStat": "FollowersPerSecond", + "op": "Add", + "value": 0.5 + }, { "type": "DestroySelf" } ], "advancesToAge": "The Settlement Age" diff --git a/Mods/Miracles/unlock_space_age.json b/Mods/Miracles/unlock_space_age.json index ed7bc5a..0ccab8e 100644 --- a/Mods/Miracles/unlock_space_age.json +++ b/Mods/Miracles/unlock_space_age.json @@ -7,7 +7,13 @@ "effects": [ { "type": "UnlockMiracle", - "miraclesToUnlock": [ "global_network", "orbital_calculations" ] + "miraclesToUnlock": ["global_network", "orbital_calculations"] + }, + { + "type": "ModifyStat", + "targetStat": "FollowersPerSecond", + "op": "Add", + "value": 1.0 }, { "type": "DestroySelf" } ], diff --git a/Scripts/Components/ActiveBuffsManager.cs b/Scripts/Components/ActiveBuffsManager.cs index 1e002bb..873bf20 100644 --- a/Scripts/Components/ActiveBuffsManager.cs +++ b/Scripts/Components/ActiveBuffsManager.cs @@ -1,7 +1,6 @@ using System; using System.Collections.Generic; using Godot; -using ParasiticGod.Scripts; using ParasiticGod.Scripts.Core.Effects; using ParasiticGod.Scripts.Singletons; diff --git a/Scripts/Core/GameLogic.cs b/Scripts/Core/GameLogic.cs index 9a60456..6d82086 100644 --- a/Scripts/Core/GameLogic.cs +++ b/Scripts/Core/GameLogic.cs @@ -1,5 +1,6 @@ using System; using System.Linq; +using Godot; using ParasiticGod.Scripts.Singletons; namespace ParasiticGod.Scripts.Core; diff --git a/Scripts/Core/GameState.cs b/Scripts/Core/GameState.cs index ecadf9c..47be1bf 100644 --- a/Scripts/Core/GameState.cs +++ b/Scripts/Core/GameState.cs @@ -1,6 +1,7 @@ using System; using System.Collections.Generic; using ParasiticGod.Scripts.Core.Effects; +using static System.Double; namespace ParasiticGod.Scripts.Core; @@ -30,7 +31,7 @@ public class GameState public double Get(Stat stat) => _stats[stat].Value; - public void Set(Stat stat, double value) => _stats[stat].Set(value); + public void Set(Stat stat, double value) => _stats[stat].Set(Math.Clamp(value, 0, MaxValue)); public void Modify(Stat stat, double delta) => _stats[stat].Set(Get(stat) + delta);