diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 0000000..7a175df --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,18 @@ +# To get started with Dependabot version updates, you'll need to specify which +# package ecosystems to update and where the package manifests are located. +# Please see the documentation for all configuration options: +# https://docs.github.com/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file + +version: 2 +updates: + - package-ecosystem: "github-actions" # See documentation for possible values + directory: "/" # Location of package manifests + schedule: + interval: "weekly" + target-branch: "develop" + + - package-ecosystem: "nuget" # See documentation for possible values + directory: "/" # Location of package manifests + schedule: + interval: "daily" + target-branch: "develop" diff --git a/Source/1.5/AMRetextureSupport/AMRetextureSupport.csproj b/Source/1.5/AMRetextureSupport/AMRetextureSupport.csproj index ebe9405..2f18365 100644 --- a/Source/1.5/AMRetextureSupport/AMRetextureSupport.csproj +++ b/Source/1.5/AMRetextureSupport/AMRetextureSupport.csproj @@ -18,7 +18,7 @@ all runtime; build; native; contentfiles; analyzers; buildtransitive - + diff --git a/Source/1.5/AlienRacesPatch/AlienRacesPatch.csproj b/Source/1.5/AlienRacesPatch/AlienRacesPatch.csproj index 91bd978..8e45a5a 100644 --- a/Source/1.5/AlienRacesPatch/AlienRacesPatch.csproj +++ b/Source/1.5/AlienRacesPatch/AlienRacesPatch.csproj @@ -12,7 +12,7 @@ - + diff --git a/Source/1.5/AnimationMod/AnimationMod.csproj b/Source/1.5/AnimationMod/AnimationMod.csproj index e7e9362..56eb9fc 100644 --- a/Source/1.5/AnimationMod/AnimationMod.csproj +++ b/Source/1.5/AnimationMod/AnimationMod.csproj @@ -32,7 +32,7 @@ all runtime; build; native; contentfiles; analyzers; buildtransitive - + diff --git a/Source/1.5/AnimationMod/Idle/IdleControllerComp.cs b/Source/1.5/AnimationMod/Idle/IdleControllerComp.cs index 2a55df5..c8f0798 100644 --- a/Source/1.5/AnimationMod/Idle/IdleControllerComp.cs +++ b/Source/1.5/AnimationMod/Idle/IdleControllerComp.cs @@ -437,6 +437,13 @@ public virtual void NotifyPawnDidMeleeAttack(Thing target, Verb_MeleeAttack verb // Check valid state. var pawn = parent as Pawn; var weapon = GetMeleeWeapon(); + + // If there is no weapon, and Fists of Fury is not active, then don't play an attack animation. + if (weapon == null && !Core.IsFistsOfFuryActive) + { + return; + } + var rot = pawn.Rotation; var anims = GetAttackAnimationsFor(pawn, weapon, out bool allowPauseEver); if (anims == null || anims.Count == 0) diff --git a/Source/1.5/AnimationMod/Outcome/OutcomeUtility.cs b/Source/1.5/AnimationMod/Outcome/OutcomeUtility.cs index c28a366..ba5527c 100644 --- a/Source/1.5/AnimationMod/Outcome/OutcomeUtility.cs +++ b/Source/1.5/AnimationMod/Outcome/OutcomeUtility.cs @@ -418,7 +418,7 @@ private static bool Failure(Pawn attacker, Pawn target, in AdditionalArgs _) private static bool IsDeathless(Pawn pawn) { - return pawn.genes?.HasGene(GeneDefOf.Deathless) ?? false; + return pawn.genes?.HasActiveGene(GeneDefOf.Deathless) ?? false; } private static bool Kill(Pawn killer, Pawn pawn, in AdditionalArgs args) diff --git a/Source/1.5/AnimationMod/Patches/Patch_PawnRenderTree_ParallelPreDraw.cs b/Source/1.5/AnimationMod/Patches/Patch_PawnRenderTree_ParallelPreDraw.cs new file mode 100644 index 0000000..177588f --- /dev/null +++ b/Source/1.5/AnimationMod/Patches/Patch_PawnRenderTree_ParallelPreDraw.cs @@ -0,0 +1,41 @@ +using HarmonyLib; +using Verse; + +namespace AM.Patches; + +/// +/// This patch is only used to prevent pawns from rendering as invisible when they are in the portrait. +/// +[HarmonyPatch(typeof(PawnRenderTree), nameof(PawnRenderTree.ParallelPreDraw))] +public class Patch_PawnRenderTree_ParallelPreDraw +{ + [HarmonyPriority(Priority.First)] + public static void Prefix(PawnDrawParms parms, ref State __state) + { + if (!parms.flags.HasFlag(PawnRenderFlags.Portrait)) + { + __state = default; + return; + } + + if (!Patch_InvisibilityUtility_IsPsychologicallyInvisible.IsRendering) + { + __state.DidChangeIsRenderingToTrue = true; + Patch_InvisibilityUtility_IsPsychologicallyInvisible.IsRendering = true; + } + } + + [HarmonyPriority(Priority.First)] + public static void Postfix(ref State __state) + { + if (__state.DidChangeIsRenderingToTrue) + { + Patch_InvisibilityUtility_IsPsychologicallyInvisible.IsRendering = false; + } + } + + public struct State + { + public bool DidChangeIsRenderingToTrue; + } +} \ No newline at end of file diff --git a/Source/1.5/CAI5000Patch/CAI5000Patch.csproj b/Source/1.5/CAI5000Patch/CAI5000Patch.csproj index b70e716..f85a477 100644 --- a/Source/1.5/CAI5000Patch/CAI5000Patch.csproj +++ b/Source/1.5/CAI5000Patch/CAI5000Patch.csproj @@ -29,7 +29,7 @@ all runtime; build; native; contentfiles; analyzers; buildtransitive - + diff --git a/Source/1.5/CombatExtendedPatch/CombatExtendedPatch.csproj b/Source/1.5/CombatExtendedPatch/CombatExtendedPatch.csproj index 17fd7f8..3180498 100644 --- a/Source/1.5/CombatExtendedPatch/CombatExtendedPatch.csproj +++ b/Source/1.5/CombatExtendedPatch/CombatExtendedPatch.csproj @@ -30,7 +30,7 @@ False all - + diff --git a/Source/1.5/FacialAnimationPatch/FacialAnimationPatch.csproj b/Source/1.5/FacialAnimationPatch/FacialAnimationPatch.csproj index 6872a6f..2a37ef3 100644 --- a/Source/1.5/FacialAnimationPatch/FacialAnimationPatch.csproj +++ b/Source/1.5/FacialAnimationPatch/FacialAnimationPatch.csproj @@ -12,7 +12,7 @@ - + runtime diff --git a/Source/1.5/FacialAnimationPatch/PatchCore.cs b/Source/1.5/FacialAnimationPatch/PatchCore.cs index 47e313b..9ada2c1 100644 --- a/Source/1.5/FacialAnimationPatch/PatchCore.cs +++ b/Source/1.5/FacialAnimationPatch/PatchCore.cs @@ -4,6 +4,11 @@ namespace AM.FacialAnimationPatch; +/// +/// Note to future maintainers: This patch assembly currently does nothing, it +/// used to have some Harmony patches, now they are no longer required. +/// Removing the patch csproj, and doing the build pipeline changes required would be annoying, so I'm keeping it. +/// [UsedImplicitly] [HotSwapAll] public sealed class PatchCore : Mod diff --git a/Source/1.5/FacialAnimationPatch/Patch_DrawFaceGraphicsComp_CompRenderNodes.cs b/Source/1.5/FacialAnimationPatch/Patch_DrawFaceGraphicsComp_CompRenderNodes.cs deleted file mode 100644 index 561686c..0000000 --- a/Source/1.5/FacialAnimationPatch/Patch_DrawFaceGraphicsComp_CompRenderNodes.cs +++ /dev/null @@ -1,44 +0,0 @@ -using AM.Patches; -using FacialAnimation; -using HarmonyLib; - -namespace AM.FacialAnimationPatch; - -/// -/// DrawFaceGraphicsComp.CompRenderNodes draws all of the facial animation stuff, including a replacement head. -/// The pawns are considered invisible inside animations, and facial animation will use the 'invisible' -/// shader if it detects this. -/// This patch makes it so that during the facial animation rendering, the patch to make pawns be considered invisible is disabled. -/// -[HarmonyPatch(typeof(DrawFaceGraphicsComp), nameof(DrawFaceGraphicsComp.CompRenderNodes))] -public static class Patch_DrawFaceGraphicsComp_CompRenderNodes -{ - private static void Prefix(DrawFaceGraphicsComp __instance, ref bool __state) - { - __state = false; - - // Don't bother checking if invisible pawns are not enabled. - if (!Core.Settings.AllowInvisiblePawns) - return; - - var pawn = __instance.pawn; - if (pawn == null) - return; - - var animator = pawn.TryGetAnimator(); - if (animator != null) - { - __state = true; - __instance.SetDirty(); - Patch_InvisibilityUtility_IsPsychologicallyInvisible.IsRendering = true; - } - } - - private static void Postfix(bool __state) - { - if (__state) - { - Patch_InvisibilityUtility_IsPsychologicallyInvisible.IsRendering = false; - } - } -} \ No newline at end of file diff --git a/Source/1.5/FacialAnimationPatch/refs/FacialAnimation.dll b/Source/1.5/FacialAnimationPatch/refs/FacialAnimation.dll index 7626468..b6d6b41 100644 Binary files a/Source/1.5/FacialAnimationPatch/refs/FacialAnimation.dll and b/Source/1.5/FacialAnimationPatch/refs/FacialAnimation.dll differ diff --git a/Source/1.5/LightsaberPatch/LightsaberPatch.csproj b/Source/1.5/LightsaberPatch/LightsaberPatch.csproj index 1bbe271..c8f8a70 100644 --- a/Source/1.5/LightsaberPatch/LightsaberPatch.csproj +++ b/Source/1.5/LightsaberPatch/LightsaberPatch.csproj @@ -20,7 +20,7 @@ False all - + diff --git a/Source/1.5/ModRequestAPI/ModRequestAPI.csproj b/Source/1.5/ModRequestAPI/ModRequestAPI.csproj index ad00ba7..80e6786 100644 --- a/Source/1.5/ModRequestAPI/ModRequestAPI.csproj +++ b/Source/1.5/ModRequestAPI/ModRequestAPI.csproj @@ -11,7 +11,7 @@ - + diff --git a/Source/1.5/PerformanceOptimizerPatch/PerformanceOptimizerPatch.csproj b/Source/1.5/PerformanceOptimizerPatch/PerformanceOptimizerPatch.csproj index 2641b1a..7ea854a 100644 --- a/Source/1.5/PerformanceOptimizerPatch/PerformanceOptimizerPatch.csproj +++ b/Source/1.5/PerformanceOptimizerPatch/PerformanceOptimizerPatch.csproj @@ -31,7 +31,7 @@ all - + diff --git a/Source/1.5/TacticowlPatch/TacticowlPatch.csproj b/Source/1.5/TacticowlPatch/TacticowlPatch.csproj index b93ba88..539cc32 100644 --- a/Source/1.5/TacticowlPatch/TacticowlPatch.csproj +++ b/Source/1.5/TacticowlPatch/TacticowlPatch.csproj @@ -20,7 +20,7 @@ False all - +