From 481a1c75f3bf4798df4bc4c500def98b21dac8a5 Mon Sep 17 00:00:00 2001 From: jonathan-robertson Date: Tue, 30 May 2023 07:20:41 -0500 Subject: [PATCH 1/9] fix positive outlook bonus xp color close #65 --- CHANGELOG.md | 4 ++++ Config/Localization.txt | 4 ++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 21186d6..67710ca 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,10 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [UNRELEASED] + +- fix positive outlook bonus xp color + ## [1.1.1] - 2023-02-19 - update xp debt prevention text diff --git a/Config/Localization.txt b/Config/Localization.txt index 52dbb9c..282f6a6 100644 --- a/Config/Localization.txt +++ b/Config/Localization.txt @@ -18,8 +18,8 @@ buffAmnesiaMemoryLossDesc,buffs,Buffs,"You feel a sense that mistakes were made, buffAmnesiaMemoryLossTooltip,buffs,Buffs,"You experienced [ff007f]Memory Loss[-] due to being incapacitated" buffAmnesiaPositiveOutlookName,buffs,Buffs,"Positive Outlook" -buffAmnesiaPositiveOutlookDesc,buffs,Buffs,"You're feeling especially positive about your situation and the future.\n\nSure, the world has gone to hell, but that doesn't mean your attitude needs to!\n\n[00FF00]XP Gain is Doubled!" -buffAmnesiaPositiveOutlookTooltip,buffs,Buffs,"Positive Outlook: [00FF00]XP Gain Doubled!" +buffAmnesiaPositiveOutlookDesc,buffs,Buffs,"You're feeling especially positive about your situation and the future.\n\nSure, the world has gone to hell, but that doesn't mean your attitude needs to!\n\n[00ff80]XP Gain is Doubled!" +buffAmnesiaPositiveOutlookTooltip,buffs,Buffs,"Positive Outlook: [00ff80]XP Gain Doubled!" buffAmnesiaBloodmoonLifeProtectionName,buffs,Buffs,"Blood Moon Life Protection" buffAmnesiaBloodmoonLifeProtectionDesc,buffs,Buffs,"You feel something in the air that seems to provide you with a sense of peace and clarity of thought... perhaps this is the same 'something' causing the zombies to go wild.\n\n[00ff80]You [00ff80]CANNOT[-] lose memory during or otherwise experience harm to your memory if you die during this event[-].\n\n... but still, try to play it safe." From 4fb4a9961819f4aa07d477a4472b53931e7e292e Mon Sep 17 00:00:00 2001 From: jonathan-robertson Date: Tue, 30 May 2023 08:02:34 -0500 Subject: [PATCH 2/9] move default console command to players param --- CHANGELOG.md | 1 + src/Commands/ConsoleCmdAmnesia.cs | 7 +++++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 67710ca..9d8d416 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [UNRELEASED] - fix positive outlook bonus xp color +- move default console command to players param ## [1.1.1] - 2023-02-19 diff --git a/src/Commands/ConsoleCmdAmnesia.cs b/src/Commands/ConsoleCmdAmnesia.cs index f061265..e8617a9 100644 --- a/src/Commands/ConsoleCmdAmnesia.cs +++ b/src/Commands/ConsoleCmdAmnesia.cs @@ -17,7 +17,7 @@ internal class ConsoleCmdAmnesia : ConsoleCmdAbstract public ConsoleCmdAmnesia() { var dict = new Dictionary() { - { "", "show players and their amnesia-related info" }, + { "players", "show players and their amnesia-related info" }, { "grant ", "grant player some bonus xp time" }, { "config", "show current amnesia configuration" }, { "set", "show the single-value fields you can adjust" }, @@ -56,11 +56,14 @@ public override void Execute(List _params, CommandSenderInfo _senderInfo { if (_params.Count == 0) { - HandleShowPlayers(); + SdtdConsole.Instance.Output("A parameter is required"); return; } switch (_params[0].ToLower()) { + case "players": + HandleShowPlayers(); + return; case "test": HandleTest(_params, _senderInfo); return; From 2cae0098d1e053dac199dfb38f7eedfedd23ebae Mon Sep 17 00:00:00 2001 From: jonathan-robertson Date: Tue, 30 May 2023 08:03:34 -0500 Subject: [PATCH 3/9] update mod log to newer structure --- src/ModApi.cs | 1 + src/Utilities/ModLog.cs | 32 +++++++++++++++----------------- 2 files changed, 16 insertions(+), 17 deletions(-) diff --git a/src/ModApi.cs b/src/ModApi.cs index 4f4dc01..ad4a7c8 100644 --- a/src/ModApi.cs +++ b/src/ModApi.cs @@ -6,6 +6,7 @@ namespace Amnesia { internal class ModApi : IModApi { + public static bool DebugMode { get; set; } = false; public static Dictionary Obituary { get; private set; } = new Dictionary(); public void InitMod(Mod _modInstance) diff --git a/src/Utilities/ModLog.cs b/src/Utilities/ModLog.cs index 02dab42..f722920 100644 --- a/src/Utilities/ModLog.cs +++ b/src/Utilities/ModLog.cs @@ -2,57 +2,55 @@ namespace Amnesia.Utilities { - internal static class ModLog - { - internal static bool DebugMode { get; set; } = false; - } - internal class ModLog { - private readonly string className; + private readonly string _className; public ModLog() { - className = typeof(T).FullName; + _className = typeof(T).FullName; } public void Trace(string message) { - if (ModLog.DebugMode) + if (ModApi.DebugMode) { - Log.Out($"[{className}] TRACE: {message}"); + Log.Out($"[{_className}] TRACE: {message}"); } } public void Debug(string message) { - if (ModLog.DebugMode) + if (ModApi.DebugMode) { - Log.Out($"[{className}] DEBUG: {message}"); + Log.Out($"[{_className}] DEBUG: {message}"); } } public void Info(string message) { - Log.Out($"[{className}] {message}"); + Log.Out($"[{_className}] {message}"); } public void Warn(string message, Exception e = null) { - Log.Warning($"[{className}] {message}"); + Log.Warning($"[{_className}] {message}"); if (e != null) { - Log.Warning($"[{className}] {message}\n{e.Message}\n{e.StackTrace}"); + Log.Warning($"[{_className}] {message}\n{e.Message}\n{e.StackTrace}"); Log.Exception(e); } } public void Error(string message, Exception e = null) { - Log.Error($"[{className}] {message}"); - if (e != null) + if (e == null) + { + Log.Error($"[{_className}] {message}"); + } + else { - Log.Error($"[{className}] {message}\n{e.Message}\n{e.StackTrace}"); + Log.Error($"[{_className}] {message}\n{e.Message}\n{e.StackTrace}"); Log.Exception(e); } } From 79dc077de6984d1d5d377ed8b40d4d94df5c2ff4 Mon Sep 17 00:00:00 2001 From: jonathan-robertson Date: Tue, 30 May 2023 08:07:26 -0500 Subject: [PATCH 4/9] add debug toggle console command close #74 --- CHANGELOG.md | 1 + src/Commands/ConsoleCmdAmnesia.cs | 13 ++++++++++--- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9d8d416..9939b18 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [UNRELEASED] +- add debug toggle console command - fix positive outlook bonus xp color - move default console command to players param diff --git a/src/Commands/ConsoleCmdAmnesia.cs b/src/Commands/ConsoleCmdAmnesia.cs index e8617a9..d91e804 100644 --- a/src/Commands/ConsoleCmdAmnesia.cs +++ b/src/Commands/ConsoleCmdAmnesia.cs @@ -8,7 +8,8 @@ namespace Amnesia.Commands { internal class ConsoleCmdAmnesia : ConsoleCmdAbstract { - private static readonly string[] Commands = new string[] { + private static readonly string[] Commands = new string[] + { "amnesia", "amn" }; @@ -16,7 +17,9 @@ internal class ConsoleCmdAmnesia : ConsoleCmdAbstract public ConsoleCmdAmnesia() { - var dict = new Dictionary() { + var dict = new Dictionary() + { + { "debug", "toggle debug logging mode" }, { "players", "show players and their amnesia-related info" }, { "grant ", "grant player some bonus xp time" }, { "config", "show current amnesia configuration" }, @@ -56,11 +59,15 @@ public override void Execute(List _params, CommandSenderInfo _senderInfo { if (_params.Count == 0) { - SdtdConsole.Instance.Output("A parameter is required"); + SdtdConsole.Instance.Output($"A parameter is required; run 'help {Commands[0]}' for more info"); return; } switch (_params[0].ToLower()) { + case "debug": + ModApi.DebugMode = !ModApi.DebugMode; + SdtdConsole.Instance.Output($"Debug Mode has successfully been {(ModApi.DebugMode ? "enabled" : "disabled")}."); + return; case "players": HandleShowPlayers(); return; From 0e7aef327d32308d78883df0e2144e5f2c5e11ec Mon Sep 17 00:00:00 2001 From: jonathan-robertson Date: Tue, 30 May 2023 08:53:53 -0500 Subject: [PATCH 5/9] improve performance of blood moon triggers close #62 --- CHANGELOG.md | 1 + References/0Harmony.dll | Bin 0 -> 178176 bytes src/Amnesia.csproj | 6 +- src/Handlers/GameUpdate.cs | 66 -------------------- src/ModApi.cs | 6 +- src/Patches/AIDirectorBloodMoonComponent.cs | 54 ++++++++++++++++ 6 files changed, 65 insertions(+), 68 deletions(-) create mode 100644 References/0Harmony.dll delete mode 100644 src/Handlers/GameUpdate.cs create mode 100644 src/Patches/AIDirectorBloodMoonComponent.cs diff --git a/CHANGELOG.md b/CHANGELOG.md index 9939b18..4556884 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - add debug toggle console command - fix positive outlook bonus xp color +- improve performance of blood moon triggers - move default console command to players param ## [1.1.1] - 2023-02-19 diff --git a/References/0Harmony.dll b/References/0Harmony.dll new file mode 100644 index 0000000000000000000000000000000000000000..eec61353d103716141feee83922ebd3d3c683a87 GIT binary patch literal 178176 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 I|33=+Z>L;|!2kdN literal 0 HcmV?d00001 diff --git a/src/Amnesia.csproj b/src/Amnesia.csproj index a45dc10..d93adb8 100644 --- a/src/Amnesia.csproj +++ b/src/Amnesia.csproj @@ -31,6 +31,10 @@ 4 + + ..\References\0Harmony.dll + False + ..\References\Assembly-CSharp.dll False @@ -58,13 +62,13 @@ + - diff --git a/src/Handlers/GameUpdate.cs b/src/Handlers/GameUpdate.cs deleted file mode 100644 index 215ea74..0000000 --- a/src/Handlers/GameUpdate.cs +++ /dev/null @@ -1,66 +0,0 @@ -using Amnesia.Data; -using Amnesia.Utilities; -using System; - -namespace Amnesia.Handlers -{ - internal class GameUpdate - { - private static readonly ModLog log = new ModLog(); - private static readonly uint _ceiling = 100; - private static uint _counter = 0; - private static bool isBloodmoon = false; - - internal static void Handle() - { - if (!Config.Loaded || !Config.ProtectMemoryDuringBloodmoon) { return; } - try - { - _counter++; - if (_counter > _ceiling) - { - _counter = 0; - HandleBloodMoon(); - } - } - catch (Exception e) - { - log.Error("Failed to handle GameUpdate event.", e); - } - } - - private static void HandleBloodMoon() - { - // TODO: this should probably be injected into triggers when bloodmoon starts and ends, honestly - try - { - if (isBloodmoon == GameManager.Instance.World.aiDirector.BloodMoonComponent.BloodMoonActive) - { - return; - } - isBloodmoon = !isBloodmoon; - - var players = GameManager.Instance.World.Players.list; - if (isBloodmoon) - { - for (var i = 0; i < players.Count; i++) - { - _ = players[i].Buffs.AddBuff(Values.BuffBloodmoonLifeProtection); - } - } - else - { - for (var i = 0; i < players.Count; i++) - { - _ = players[i].Buffs.AddBuff(Values.BuffPostBloodmoonLifeProtection); - players[i].Buffs.RemoveBuff(Values.BuffBloodmoonLifeProtection); - } - } - } - catch (Exception e) - { - log.Error("Failed to handle bloodmoon.", e); - } - } - } -} diff --git a/src/ModApi.cs b/src/ModApi.cs index ad4a7c8..0b656ad 100644 --- a/src/ModApi.cs +++ b/src/ModApi.cs @@ -1,6 +1,8 @@ using Amnesia.Data; using Amnesia.Handlers; +using HarmonyLib; using System.Collections.Generic; +using System.Reflection; namespace Amnesia { @@ -11,8 +13,10 @@ internal class ModApi : IModApi public void InitMod(Mod _modInstance) { + var harmony = new Harmony(GetType().ToString()); + harmony.PatchAll(Assembly.GetExecutingAssembly()); + ModEvents.GameStartDone.RegisterHandler(Config.Load); - ModEvents.GameUpdate.RegisterHandler(GameUpdate.Handle); ModEvents.PlayerSpawnedInWorld.RegisterHandler(PlayerSpawnedInWorld.Handle); ModEvents.GameMessage.RegisterHandler(GameMessage.Handle); ModEvents.SavePlayerData.RegisterHandler(SavePlayerData.Handle); diff --git a/src/Patches/AIDirectorBloodMoonComponent.cs b/src/Patches/AIDirectorBloodMoonComponent.cs new file mode 100644 index 0000000..40d7f3e --- /dev/null +++ b/src/Patches/AIDirectorBloodMoonComponent.cs @@ -0,0 +1,54 @@ +using Amnesia.Data; +using Amnesia.Utilities; +using HarmonyLib; +using System; + +namespace Amnesia.Patches +{ + [HarmonyPatch(typeof(AIDirectorBloodMoonComponent), "StartBloodMoon")] + internal class AIDirectorBloodMoonComponent_StartBloodMoon_Patches + { + private static readonly ModLog _log = new ModLog(); + + public static void Postfix() + { + try + { + _log.Trace("Prefix: StartBloodMoon triggered"); + var players = GameManager.Instance.World.Players.list; + for (var i = 0; i < players.Count; i++) + { + _ = players[i].Buffs.AddBuff(Values.BuffBloodmoonLifeProtection); + } + } + catch (Exception e) + { + _log.Error("Postfix", e); + } + } + } + + [HarmonyPatch(typeof(AIDirectorBloodMoonComponent), "EndBloodMoon")] + internal class AIDirectorBloodMoonComponent_EndBloodMoon_Patches + { + private static readonly ModLog _log = new ModLog(); + + public static void Postfix() + { + try + { + _log.Trace("Prefix: EndBloodMoon triggered"); + var players = GameManager.Instance.World.Players.list; + for (var i = 0; i < players.Count; i++) + { + _ = players[i].Buffs.AddBuff(Values.BuffPostBloodmoonLifeProtection); + players[i].Buffs.RemoveBuff(Values.BuffBloodmoonLifeProtection); + } + } + catch (Exception e) + { + _log.Error("Postfix", e); + } + } + } +} From 5f79109c71cdca01673c4182a94c2306e434a640 Mon Sep 17 00:00:00 2001 From: jonathan-robertson Date: Tue, 30 May 2023 08:54:35 -0500 Subject: [PATCH 6/9] add clarification for blood moon protection buff ref #62 --- CHANGELOG.md | 1 + Config/Localization.txt | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4556884..3bbec62 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [UNRELEASED] +- add clarification for blood moon protection buff - add debug toggle console command - fix positive outlook bonus xp color - improve performance of blood moon triggers diff --git a/Config/Localization.txt b/Config/Localization.txt index 282f6a6..4c990b1 100644 --- a/Config/Localization.txt +++ b/Config/Localization.txt @@ -22,7 +22,7 @@ buffAmnesiaPositiveOutlookDesc,buffs,Buffs,"You're feeling especially positive a buffAmnesiaPositiveOutlookTooltip,buffs,Buffs,"Positive Outlook: [00ff80]XP Gain Doubled!" buffAmnesiaBloodmoonLifeProtectionName,buffs,Buffs,"Blood Moon Life Protection" -buffAmnesiaBloodmoonLifeProtectionDesc,buffs,Buffs,"You feel something in the air that seems to provide you with a sense of peace and clarity of thought... perhaps this is the same 'something' causing the zombies to go wild.\n\n[00ff80]You [00ff80]CANNOT[-] lose memory during or otherwise experience harm to your memory if you die during this event[-].\n\n... but still, try to play it safe." +buffAmnesiaBloodmoonLifeProtectionDesc,buffs,Buffs,"You feel something in the air that seems to provide you with a sense of peace and clarity of thought... perhaps this is the same 'something' causing the zombies to go wild.\n\n[00ff80]You [00ff80]CANNOT[-] lose memory or otherwise experience harm to your memory if you die during this event[-].\n\n... but still, try to play it safe.\n\nBefore level [007fff]{cvar(amnesiaLongTermMemoryLevel)}[-], this buff has no practical effect since your young, healthy brain wards off the mental impact of the apocalypse." buffAmnesiaBloodmoonLifeProtectionTooltip,buffs,Buffs,"You [00ff80]CANNOT[-] lose memory if you die during this event" buffAmnesiaBloodmoonLifeProtectionEndTooltip,buffs,Buffs,"Blood Moon Memory Protection [ff007f]HAS ENDED[-]" From 3b9e5493d0db1f7d495a39d0584da6a10d2d160d Mon Sep 17 00:00:00 2001 From: jonathan-robertson Date: Tue, 30 May 2023 09:30:18 -0500 Subject: [PATCH 7/9] add clarifying text to amnesia buffs --- CHANGELOG.md | 1 + Config/buffs.xml | 11 ++++++++++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3bbec62..4415048 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - add clarification for blood moon protection buff - add debug toggle console command +- add clarifying text to amnesia buffs - fix positive outlook bonus xp color - improve performance of blood moon triggers - move default console command to players param diff --git a/Config/buffs.xml b/Config/buffs.xml index 4aa1e7d..11097ce 100644 --- a/Config/buffs.xml +++ b/Config/buffs.xml @@ -10,7 +10,7 @@ @amnesiaLongTermMemoryLevel - +