diff --git a/1.3/Assemblies/CustomPrisonerInteractions.dll b/1.3/Assemblies/CustomPrisonerInteractions.dll index 172a9dc..9cffd94 100644 Binary files a/1.3/Assemblies/CustomPrisonerInteractions.dll and b/1.3/Assemblies/CustomPrisonerInteractions.dll differ diff --git a/About/About.xml b/About/About.xml index 9c5e099..db283fb 100644 --- a/About/About.xml +++ b/About/About.xml @@ -38,10 +38,37 @@ This mod instead adds an option-button for the Convert and the Release-choice so The other difference is that this mod enables you to select options per prisoner. So you can for example select to release a hurt prisoner without waiting for them to be healthy without changing any global options. There is also options in the mod-settings if you want to change what option is set by default. +The mod adds an option for Releasing prisoners: +Release when healthy - will wait to release the prisoner until they are considered healthy + +It also adds the following options for the Convert option +[list] +[*]Recruit after +[*]Lower resistance first +[*]Lower resistance first, Recruit after +[*]Enslave after +[*]Lower will first +[*]Lower will first, Enslave after +[*]Release after +[*]Lower resistance first, Release after +[/list] + You can use this mod without owning Ideology, as it will still show for the release-option. If you have suggestions for more options, please leave a comment and Ill see if I can add them to the mod. +[url=https://steamcommunity.com/sharedfiles/filedetails/?edit=true&id=2841412975]Chinese translation[/url] by Chiwei + +This mod replaces the following mods +[list] +[*][url=https://steamcommunity.com/sharedfiles/filedetails/?id=2702584632]Convert Then Recruit[/url] +[*][url=https://steamcommunity.com/sharedfiles/filedetails/?id=2705395014]Convert Then Enslave[/url] +[*][url=https://steamcommunity.com/sharedfiles/filedetails/?id=2838846353]Convert Then Release[/url] +[*][url=https://steamcommunity.com/sharedfiles/filedetails/?id=2506029522]Release When Healthy[/url] +[/list] + +NOTICE: If any of your current prisoners have any of the custom interactions added by the above mods, please change these to the ”No action” setting before switching to this mod as the game will have trouble showing the prisoner tab if the selected saved action is missing. + [table] [tr] [td][url=https://invite.gg/Mlie][img]https://i.imgur.com/zdzzBrc.png[/img][/url][/td] diff --git a/About/Changelog.txt b/About/Changelog.txt index 4cfbe26..d279b5d 100644 --- a/About/Changelog.txt +++ b/About/Changelog.txt @@ -1,4 +1,7 @@ # Changelog for CustomPrisonerInteractions +1.3.1 - Hurt prisoners that are not incapacitated and are set to release when healthy should now be brought food, thanks MaxIssaKitsune for the detailed report! + + 1.3.0 - First publish diff --git a/About/Manifest.xml b/About/Manifest.xml index 20f42d8..a1dc90b 100644 --- a/About/Manifest.xml +++ b/About/Manifest.xml @@ -1,11 +1,11 @@ -<?xml version="1.0" encoding="UTF-8" standalone="yes"?> +<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <Manifest> <identifier>CustomPrisonerInteractions</identifier> - <version>1.3.0</version> + <version>1.3.1</version> <dependencies /> <incompatibleWith /> <loadBefore /> <loadAfter /> <manifestUri>https://raw.githubusercontent.com/emipa606/CustomPrisonerInteractions/master/About/Manifest.xml</manifestUri> <downloadUri>https://github.com/emipa606/CustomPrisonerInteractions/releases</downloadUri> -</Manifest> \ No newline at end of file +</Manifest> diff --git a/About/ModSync.xml b/About/ModSync.xml index 8638130..0909a3f 100644 --- a/About/ModSync.xml +++ b/About/ModSync.xml @@ -2,7 +2,7 @@ <ModSyncNinjaData> <ID>74b7df5b-73c0-4825-884b-61df997d22b7</ID> <ModName>Custom Prisoner Interactions</ModName> - <Version>1.3.0</Version> + <Version>1.3.1</Version> <SaveBreaking>False</SaveBreaking> <Host name="Github"> <Owner>emipa606</Owner> @@ -12,7 +12,3 @@ <Branch>master</Branch> </Host> </ModSyncNinjaData> - - - - diff --git a/About/PublishedFileId.txt b/About/PublishedFileId.txt new file mode 100644 index 0000000..3f28c74 --- /dev/null +++ b/About/PublishedFileId.txt @@ -0,0 +1 @@ +2841231775 \ No newline at end of file diff --git a/README.md b/README.md index 29fe2ab..4ff3c6d 100644 --- a/README.md +++ b/README.md @@ -13,10 +13,41 @@ This mod instead adds an option-button for the Convert and the Release-choice so The other difference is that this mod enables you to select options per prisoner. So you can for example select to release a hurt prisoner without waiting for them to be healthy without changing any global options. There is also options in the mod-settings if you want to change what option is set by default. +The mod adds an option for Releasing prisoners: +Release when healthy - will wait to release the prisoner until they are considered healthy + +It also adds the following options for the Convert option + + +- Recruit after +- Lower resistance first +- Lower resistance first, Recruit after +- Enslave after +- Lower will first +- Lower will first, Enslave after +- Release after +- Lower resistance first, Release after + + + You can use this mod without owning Ideology, as it will still show for the release-option. If you have suggestions for more options, please leave a comment and Ill see if I can add them to the mod. +https://steamcommunity.com/sharedfiles/filedetails/?edit=true&id=2841412975]Chinese translation by Chiwei + +This mod replaces the following mods + + +- https://steamcommunity.com/sharedfiles/filedetails/?id=2702584632]Convert Then Recruit +- https://steamcommunity.com/sharedfiles/filedetails/?id=2705395014]Convert Then Enslave +- https://steamcommunity.com/sharedfiles/filedetails/?id=2838846353]Convert Then Release +- https://steamcommunity.com/sharedfiles/filedetails/?id=2506029522]Release When Healthy + + + +NOTICE: If any of your current prisoners have any of the custom interactions added by the above mods, please change these to the ”No action” setting before switching to this mod as the game will have trouble showing the prisoner tab if the selected saved action is missing. + ![Image](https://i.imgur.com/O0IIlYj.png) Since modding is just a hobby for me I expect no donations to keep modding. If you still want to show your support you can gift me anything from my https://store.steampowered.com/wishlist/id/Mlie]Wishlist or buy me a cup of tea. diff --git a/Source/CustomPrisonerInteractions/CustomPrisonerInteractions.csproj b/Source/CustomPrisonerInteractions/CustomPrisonerInteractions.csproj index 19d3f44..f4307df 100644 --- a/Source/CustomPrisonerInteractions/CustomPrisonerInteractions.csproj +++ b/Source/CustomPrisonerInteractions/CustomPrisonerInteractions.csproj @@ -6,7 +6,7 @@ <AppendRuntimeIdentifierToOutputPath>false</AppendRuntimeIdentifierToOutputPath> <DebugType>None</DebugType> <LangVersion>latest</LangVersion> - <FileVersion>1.3.0</FileVersion> + <FileVersion>1.3.1</FileVersion> </PropertyGroup> <ItemGroup> <PackageReference Include="Krafs.Rimworld.Ref"> @@ -18,6 +18,6 @@ <Version>*</Version> <ExcludeAssets>runtime</ExcludeAssets> </PackageReference> - <PackageReference Include="Mlie_Rimworld_VersionFromManifest" Version="*" /> + <PackageReference Include="Mlie_Rimworld_VersionFromManifest" Version="*" /> </ItemGroup> </Project> \ No newline at end of file diff --git a/Source/CustomPrisonerInteractions/Pawn_GuestTracker_CanBeBroughtFood.cs b/Source/CustomPrisonerInteractions/Pawn_GuestTracker_CanBeBroughtFood.cs new file mode 100644 index 0000000..974ef57 --- /dev/null +++ b/Source/CustomPrisonerInteractions/Pawn_GuestTracker_CanBeBroughtFood.cs @@ -0,0 +1,30 @@ +using HarmonyLib; +using RimWorld; +using Verse; + +namespace CustomPrisonerInteractions; + +[HarmonyPatch(typeof(Pawn_GuestTracker), "CanBeBroughtFood", MethodType.Getter)] +public static class Pawn_GuestTracker_CanBeBroughtFood +{ + public static void Postfix(Pawn_GuestTracker __instance, Pawn ___pawn, ref bool __result) + { + if (__result) + { + return; + } + + if (__instance.interactionMode != PrisonerInteractionModeDefOf.Release) + { + return; + } + + var extraInterractionsTracker = ___pawn.Map.GetExtraInteractionsTracker(); + if (extraInterractionsTracker == null || !extraInterractionsTracker.Has(___pawn)) + { + return; + } + + __result = extraInterractionsTracker[___pawn] == CustomPrisonerInteractions.ExtraMode.ReleaseWhenHealthy; + } +} \ No newline at end of file