diff --git a/1.4/Assemblies/Vampire.dll b/1.4/Assemblies/Vampire.dll index bc4c7d2..4c29507 100644 Binary files a/1.4/Assemblies/Vampire.dll and b/1.4/Assemblies/Vampire.dll differ diff --git a/About/About.xml b/About/About.xml index 17af7b9..ad0ed22 100644 --- a/About/About.xml +++ b/About/About.xml @@ -29,7 +29,7 @@
  • jecrell.jecstools
  • Dubwise.DubsBadHygiene
  • - 1.28.0.0 (10-29-2022) + 1.28.0.1 (11-17-2022) Adds vampires to RimWorld. @@ -50,6 +50,10 @@ Darcilyn Lynds (darci.andel), Luke Salinas, RainerWingel , Noisy Koi, Lea Stanna ======================== Changelog ======================== +1.28.0.1 (11-17-2022) +======================== +Biotech users can feed vampires hemogen packs, fixed job giver bug, fixed translation bug + 1.28.0.0 (10-29-2022) ======================== Updates for RimWorld 1.4; Fixes bed coffin coloration issues; Neck wounds are cleaned after biting diff --git a/About/Changelog.txt b/About/Changelog.txt index add4011..63fd13e 100644 --- a/About/Changelog.txt +++ b/About/Changelog.txt @@ -1,3 +1,7 @@ +1.28.0.1 (11-17-2022) +======================== +Biotech users can feed vampires hemogen packs, fixed job giver bug, fixed translation bug + 1.28.0.0 (10-29-2022) ======================== Updates for RimWorld 1.4; Fixes bed coffin coloration issues; Neck wounds are cleaned after biting diff --git a/About/Manifest.xml b/About/Manifest.xml index f45b586..71838ce 100644 --- a/About/Manifest.xml +++ b/About/Manifest.xml @@ -1,7 +1,7 @@  RimOfMadness-Vampires - 1.28.0.0 + 1.28.0.1
  • jecrell.jecstools
  • diff --git a/About/Version.txt b/About/Version.txt index 06513fc..6ee34ec 100644 --- a/About/Version.txt +++ b/About/Version.txt @@ -1 +1 @@ -1.28.0.0 +1.28.0.1 diff --git a/Biotech/1.4/Patches/ROMV_pHemogenPacks.xml b/Biotech/1.4/Patches/ROMV_pHemogenPacks.xml new file mode 100644 index 0000000..001f78a --- /dev/null +++ b/Biotech/1.4/Patches/ROMV_pHemogenPacks.xml @@ -0,0 +1,27 @@ + + + + + + + Always + +
  • + /Defs/ThingDef[defName='HemogenPack']/comps +
  • +
  • + /Defs/ThingDef[defName='HemogenPack']/comps + Prepend + +
  • + LowBlood + 2 +
  • + + +
    +
    + +
    diff --git a/LoadFolders.xml b/LoadFolders.xml index fcad61f..3a46da1 100644 --- a/LoadFolders.xml +++ b/LoadFolders.xml @@ -20,5 +20,6 @@
  • /
  • 1.4
  • Ideology/1.4
  • +
  • Biotech/1.4
  • diff --git a/Source/Code/HarmonyPatches/HarmonyPatches.cs b/Source/Code/HarmonyPatches/HarmonyPatches.cs index ca4b5f9..7aa9f99 100644 --- a/Source/Code/HarmonyPatches/HarmonyPatches.cs +++ b/Source/Code/HarmonyPatches/HarmonyPatches.cs @@ -10,8 +10,10 @@ static partial class HarmonyPatches static HarmonyPatches() { - var harmony = new Harmony("rimworld.jecrell.vampire"); + Harmony.DEBUG = false; + var harmony = new Harmony("rimworld.jecrell.vampire"); + HarmonyPatches_Needs(harmony); HarmonyPatches_Ingestion(harmony); diff --git a/Source/Code/HarmonyPatches/HarmonyPatches_Ingestion.cs b/Source/Code/HarmonyPatches/HarmonyPatches_Ingestion.cs index d5f7bdc..aef15b0 100644 --- a/Source/Code/HarmonyPatches/HarmonyPatches_Ingestion.cs +++ b/Source/Code/HarmonyPatches/HarmonyPatches_Ingestion.cs @@ -11,43 +11,51 @@ public partial class HarmonyPatches { public static void HarmonyPatches_Ingestion(Harmony harmony) { + //Log.Message("Ingestion: 1"); //Float Menus: Adds vampire blood consumption/consume buttons and hide regular consumption/consume harmony.Patch(AccessTools.Method(typeof(FloatMenuMakerMap), "AddHumanlikeOrders"), null, new HarmonyMethod(typeof(HarmonyPatches), nameof(Vamp_FloatMenus_Consume))); - + //Log.Message("Ingestion: 2"); //Vampires should not try to do drugs when idle. harmony.Patch(AccessTools.Method(typeof(JobGiver_IdleJoy), "TryGiveJob"), null, new HarmonyMethod(typeof(HarmonyPatches), nameof(Vamps_DontDoIdleDrugs))); - + //Log.Message("Ingestion: 3"); //Vampires should not be given food by wardens. harmony.Patch(AccessTools.Method(typeof(Pawn_GuestTracker), "get_CanBeBroughtFood"), null, new HarmonyMethod(typeof(HarmonyPatches), nameof(Vamps_DontWantGuestFood))); - + //Log.Message("Ingestion: 4"); harmony.Patch(AccessTools.Method(typeof(FoodUtility), "InappropriateForTitle"), new HarmonyMethod(typeof(HarmonyPatches), nameof(WhoNeeds___Titles))); + //Log.Message("Ingestion: 5"); harmony.Patch( AccessTools.Method(typeof(FoodUtility), "WillEat", - new[] { typeof(Pawn), typeof(Thing), typeof(Pawn), typeof(bool) }), + new[] { typeof(Pawn), typeof(Thing), typeof(Pawn), + //typeof(bool), RW1.4 unstable + typeof(bool) }), new HarmonyMethod(typeof(HarmonyPatches), nameof(WillEat_Nothing))); + //Log.Message("Ingestion: 6"); harmony.Patch( AccessTools.Method(typeof(FoodUtility), "WillEat", - new[] { typeof(Pawn), typeof(ThingDef), typeof(Pawn), typeof(bool) }), + new[] { typeof(Pawn), typeof(ThingDef), typeof(Pawn), + //typeof(bool), RW1.4 unstable + typeof(bool) }), new HarmonyMethod(typeof(HarmonyPatches), nameof(WillEat_NothingDef))); - + //Log.Message("Ingestion: 7"); harmony.Patch(AccessTools.Method(typeof(Toils_Ingest), "FinalizeIngest"), new HarmonyMethod(typeof(HarmonyPatches), nameof(VampiresDontIngestFood))); - + //Log.Message("Ingestion: 8"); //Fixes random red errors relating to food need checks in this method (WillIngestStackCountOf). harmony.Patch(AccessTools.Method(typeof(FoodUtility), "WillIngestStackCountOf"), new HarmonyMethod(typeof(HarmonyPatches), nameof(Vamp_WillIngestStackCountOf))); - //Log.Message("04"); + + //Log.Message("Ingestion: 9"); //Prevents restful times. harmony.Patch(AccessTools.Method(typeof(JoyGiver_SocialRelax), "TryFindIngestibleToNurse"), new HarmonyMethod(typeof(HarmonyPatches), nameof(INeverDrink___Wine))); @@ -120,7 +128,8 @@ public static bool WhoNeeds___Titles(ThingDef food, Pawn p, bool allowIfStarving // RimWorld.FoodUtility.WillEat (Thing) - public static bool WillEat_Nothing(Pawn p, Thing food, Pawn getter, bool careIfNotAcceptableForTitle, + public static bool WillEat_Nothing(Pawn p, Thing food, Pawn getter, bool careIfNotAcceptableForTitle, + //bool allowVenerated, RW 1.4 unstable ref bool __result) { if (p.IsVampire(true)) @@ -140,7 +149,8 @@ public static bool WillEat_Nothing(Pawn p, Thing food, Pawn getter, bool careIfN // RimWorld.FoodUtility.WillEat (ThingDef) - public static bool WillEat_NothingDef(Pawn p, ThingDef food, Pawn getter, bool careIfNotAcceptableForTitle, + public static bool WillEat_NothingDef(Pawn p, ThingDef food, Pawn getter, bool careIfNotAcceptableForTitle, + //bool allowVenerated, RW1.4 unstable ref bool __result) { if (p.IsVampire(true)) @@ -180,7 +190,7 @@ private static void Vamp_FloatMenus_Consume(Vector3 clickPos, Pawn pawn, ref Lis if (food?.def?.ingestible?.ingestCommandString == null || food.def.ingestible.ingestCommandString == "") - text = "ConsumeThing".Translate(food.LabelShort); + text = "ConsumeThing".Translate(food.LabelShort, food); else text = string.Format(food.def.ingestible.ingestCommandString, food.LabelShort); @@ -194,10 +204,7 @@ private static void Vamp_FloatMenus_Consume(Vector3 clickPos, Pawn pawn, ref Lis { string text; if (corpse.def.ingestible.ingestCommandString.NullOrEmpty()) - text = "ConsumeThing".Translate(new object[] - { - corpse.LabelShort - }); + text = "ConsumeThing".Translate(corpse.LabelShort, corpse); else text = string.Format(corpse.def.ingestible.ingestCommandString, corpse.LabelShort); @@ -212,10 +219,7 @@ private static void Vamp_FloatMenus_Consume(Vector3 clickPos, Pawn pawn, ref Lis { var text = ""; if (bloodItem.def.ingestible.ingestCommandString.NullOrEmpty()) - text = "ConsumeThing".Translate(new object[] - { - bloodItem.LabelShort - }); + text = "ConsumeThing".Translate(bloodItem.LabelShort, bloodItem); else text = string.Format(bloodItem.def.ingestible.ingestCommandString, bloodItem.LabelShort); diff --git a/Source/Code/HarmonyPatches/HarmonyPatches_UI.cs b/Source/Code/HarmonyPatches/HarmonyPatches_UI.cs index 8d8c3fe..34665a6 100644 --- a/Source/Code/HarmonyPatches/HarmonyPatches_UI.cs +++ b/Source/Code/HarmonyPatches/HarmonyPatches_UI.cs @@ -42,8 +42,10 @@ public static void Vamp_DrawCharacterCard(Rect rect, Pawn pawn, Action randomize { var guilty = pawn.guilt.IsGuilty; var royalty = pawn.royalty.AllTitlesForReading.Count > 0; + var veSkills = ModsConfig.IsActive("vanillaexpanded.skills"); var distance = guilty ? 174 : 140; distance += royalty ? 34 : 0; + distance += veSkills ? 41 : 0; var rect7 = new Rect(CharacterCardUtility.BasePawnCardSize.x - distance, 14f, 30f, 30f); TooltipHandler.TipRegion(rect7, new TipSignal( diff --git a/Source/Code/Utilities/VampSunlightPathUtility.cs b/Source/Code/Utilities/VampSunlightPathUtility.cs index e455cd2..6af5140 100644 --- a/Source/Code/Utilities/VampSunlightPathUtility.cs +++ b/Source/Code/Utilities/VampSunlightPathUtility.cs @@ -162,7 +162,7 @@ public static bool TryGoingToHomePoint(Pawn pawn, out Job gotoJob) { gotoJob = null; if (pawn.Faction == Faction.OfPlayerSilentFail && pawn.VampComp().VampLastHomePoint is { } homePoint && - homePoint.IsValid) + homePoint.IsValid && pawn.CurJobDef != VampDefOf.ROMV_GotoSafety) { //Log.Message("VSPU :: Going home"); gotoJob = new Job(VampDefOf.ROMV_GotoSafety, homePoint) { locomotionUrgency = LocomotionUrgency.Sprint }; diff --git a/Source/Directory.Build.props b/Source/Directory.Build.props index d482c65..9e9eec2 100644 --- a/Source/Directory.Build.props +++ b/Source/Directory.Build.props @@ -64,6 +64,48 @@ + + + ..\1.4\Assemblies\ + + + + + + + + + + + + + + ..\..\..\..\..\workshop\content\294100\836308268\1.4\Assemblies\BadHygiene.dll + false + + + + + ..\..\JecsTools\1.4\Assemblies\0JecsTools.dll + false + + + + ..\..\JecsTools\1.4\Assemblies\AbilityUser.dll + false + + + + ..\..\JecsTools\1.4\Assemblies\CompAnimated.dll + false + + + + diff --git a/Source/Vampire.sln b/Source/Vampire.sln index a16d53f..4810c91 100644 --- a/Source/Vampire.sln +++ b/Source/Vampire.sln @@ -11,10 +11,13 @@ Global Release|Any CPU = Release|Any CPU RW1.3|Any CPU = RW1.3|Any CPU RW1.4|Any CPU = RW1.4|Any CPU + RW1.4Unstable|Any CPU = RW1.4Unstable|Any CPU EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution - {3A4FB893-1148-4E16-B548-867647DF1724}.RW1.4|Any CPU.ActiveCfg = RW1.4|Any CPU - {3A4FB893-1148-4E16-B548-867647DF1724}.RW1.4|Any CPU.Build.0 = RW1.4|Any CPU + {3A4FB893-1148-4E16-B548-867647DF1724}.RW1.4|Any CPU.ActiveCfg = RW1.4Unstable|Any CPU + {3A4FB893-1148-4E16-B548-867647DF1724}.RW1.4|Any CPU.Build.0 = RW1.4Unstable|Any CPU + {3A4FB893-1148-4E16-B548-867647DF1724}.RW1.4Unstable|Any CPU.ActiveCfg = RW1.4Unstable|Any CPU + {3A4FB893-1148-4E16-B548-867647DF1724}.RW1.4Unstable|Any CPU.Build.0 = RW1.4Unstable|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/updateinfo b/updateinfo index 2e53c01..3527e38 100644 --- a/updateinfo +++ b/updateinfo @@ -3,14 +3,14 @@ ============================== Rim of Madness - Vampires Update -v1.27.0.0 (08-08-2022) +v1.28.0.0 (10-29-2022) ==================== -Meditation has been fixed. Vampire fangs now are added hediffs on tongues due to an underlying RimWorld issue that removes tongues if jaws are modified. Existing saves will have fangs moved to the new position. New settings for sun damage and rest added +Updates for RimWorld 1.4; Fixes bed coffin coloration issues; Neck wounds are cleaned after biting -------------------- Download now on... -- Patreon: https://www.patreon.com/posts/rim-of-madness-1-54281813 +- Patreon: https://www.patreon.com/posts/73953554 - GitHub: https://github.com/Rim-Of-Madness-Team/Rim-of-Madness---Vampires - Steam: https://steamcommunity.com/sharedfiles/filedetails/?id=1187010034 Discuss the mod on... @@ -25,12 +25,12 @@ Discuss the mod on... [img width=260]https://raw.githubusercontent.com/Rim-Of-Madness-Team/Rim-of-Madness---Vampires/master/About/Preview.png[/img] [hr] [b]Rim of Madness - Vampires -Version: 1.27.0.0 -Updated: 08-08-2022 -Description: [color=orange]Meditation has been fixed. Vampire fangs now are added hediffs on tongues due to an underlying RimWorld issue that removes tongues if jaws are modified. Existing saves will have fangs moved to the new position. New settings for sun damage and rest added[/color] +Version: 1.28.0.0 +Updated: 10-29-2022 +Description: [color=orange]Updates for RimWorld 1.4; Fixes bed coffin coloration issues; Neck wounds are cleaned after biting[/color] [hr] [b]Download now on...[/b] -[url=https://www.patreon.com/posts/rim-of-madness-1-54281813]Patreon[/url] +[url=https://www.patreon.com/posts/73953554]Patreon[/url] [url=https://github.com/Rim-Of-Madness-Team/Rim-of-Madness---Vampires]GitHub[/url] [url=https://steamcommunity.com/sharedfiles/filedetails/?id=1187010034]Steam[/url] [b]Discuss the mod on...[/b]