From b315a94cdec3a43d08a0d52d303419e95e97ed41 Mon Sep 17 00:00:00 2001 From: Andreas Pardeike Date: Mon, 12 Nov 2018 22:11:48 +0100 Subject: [PATCH] v2.3.1 adds more options and fixes some bugs --- About/Manifest.xml | 2 +- About/ModSync.xml | 2 +- Assemblies/AchtungMod.dll | Bin 118784 -> 120320 bytes Languages/English/Keyed/Text.xml | 7 +++ Languages/German/Keyed/Text.xml | 7 +++ Languages/Spanish/Keyed/Text.xml | 7 +++ Languages/SpanishLatin/Keyed/Text.xml | 7 +++ Languages/Swedish/Keyed/Text.xml | 7 +++ Source/ForcedJob.cs | 4 +- Source/Main.cs | 77 +++++++++++++++++++------- Source/Properties/AssemblyInfo.cs | 4 +- Source/Settings.cs | 19 ++++++- Source/Tools.cs | 5 +- 13 files changed, 119 insertions(+), 29 deletions(-) diff --git a/About/Manifest.xml b/About/Manifest.xml index 6db632c..6a25ea6 100644 --- a/About/Manifest.xml +++ b/About/Manifest.xml @@ -1,7 +1,7 @@  net.pardeike.rimworld.mod.achtung - 2.3.0.0 + 2.3.1.0
  • 0.19.0
  • 1.0.0
  • diff --git a/About/ModSync.xml b/About/ModSync.xml index 69ce473..f759b1e 100644 --- a/About/ModSync.xml +++ b/About/ModSync.xml @@ -2,7 +2,7 @@ be673269-db56-463b-8c36-e074881e0d77 Achtung! - 2.3.0.0 + 2.3.1.0 False pardeike diff --git a/Assemblies/AchtungMod.dll b/Assemblies/AchtungMod.dll index 1a6f18e03ac7c183fe873f787f6995eee84c8f09..5931788fdcba3320bcc394c403e9938fd654747e 100644 GIT binary patch delta 50375 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
  • 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 T;L`{}nO%nW;gbxVNvi(`Lnyca delta 49230 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 wd;UnTPI@JO9@xJM7q~aX(~f1Y8yaNm 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 Needs medical rest In pain shock + Ignore forbidden things + Ignores forbidden (red crossed) items when doing forced work + Ignore restricted areas + Ignore zone restrictions when doing forced work + Ignore work type assignments + Ignores unset work priorities + Cancelled: {0} {0}: {1} {0} is in bad shape diff --git a/Languages/German/Keyed/Text.xml b/Languages/German/Keyed/Text.xml index 2c4a592..4684dd7 100644 --- a/Languages/German/Keyed/Text.xml +++ b/Languages/German/Keyed/Text.xml @@ -46,6 +46,13 @@ Die Formation kann während der Bewegung mit Q und E rotiert werdenNotwendige Bettruhe Schockzustand + Ignoriere verbotene Dinge + Ignoriert verbotene (rotes Kreuz) Dinge während erzwungener Arbeit + Ignoriere Zonenbegrenzungen + Ignoriert Zonen während erzwungener Arbeit + Ignoriere Arbeitseinstellungen + Ignoriert leere, unzugewiesene Arbeitsprioriteten + Abgebrochen: {0} {0}: {1} {0} ist in schlechter gesundheitlicher Verfassung diff --git a/Languages/Spanish/Keyed/Text.xml b/Languages/Spanish/Keyed/Text.xml index 0ababd7..6e5327a 100644 --- a/Languages/Spanish/Keyed/Text.xml +++ b/Languages/Spanish/Keyed/Text.xml @@ -45,6 +45,13 @@ La formación puede rotar usando las teclas Q y E. Necesita descanso médico En estado de shock + Ignorar las cosas prohibidas + Ignora los artículos prohibidos (cruzados en rojo) al realizar trabajos forzados + Ignorar las áreas restringidas + Ignorar las restricciones de zona al hacer trabajos forzados + Ignorar asignaciones de tipo de trabajo + Ignora las prioridades de trabajo que no están establecidas + Cancelado: {0} {0}: {1} {0} se encuentra mal diff --git a/Languages/SpanishLatin/Keyed/Text.xml b/Languages/SpanishLatin/Keyed/Text.xml index c714a1c..990ab57 100644 --- a/Languages/SpanishLatin/Keyed/Text.xml +++ b/Languages/SpanishLatin/Keyed/Text.xml @@ -45,6 +45,13 @@ La formación puede rotar usando las teclas Q y E. Necesita descanso médico En estado de shock + Ignorar las cosas prohibidas + Ignora los artículos prohibidos (cruzados en rojo) al realizar trabajos forzados + Ignorar las áreas restringidas + Ignorar las restricciones de zona al hacer trabajos forzados + Ignorar asignaciones de tipo de trabajo + Ignora las prioridades de trabajo que no están establecidas + Cancelado: {0} {0}: {1} {0} se encuentra mal diff --git a/Languages/Swedish/Keyed/Text.xml b/Languages/Swedish/Keyed/Text.xml index 9a47f31..b910765 100644 --- a/Languages/Swedish/Keyed/Text.xml +++ b/Languages/Swedish/Keyed/Text.xml @@ -45,6 +45,13 @@ Höll i för att flytta kolonister i deras formation. Formationen kan roteras me Sängbunden I shock + Ignorera förbjudna saker + Ignorerar förbjudna (röd kors) föremål vid tvångsarbete + Ignorera begränsade områden + Ignorera zonbegränsningar vid tvångsarbete + Ignorera arbetstypsuppdrag + Ignorerar tomma arbetsprioriteringar + Avbruten: {0} {0}: {1} {0} har låg hälsa diff --git a/Source/ForcedJob.cs b/Source/ForcedJob.cs index 46a07b5..7ae3d17 100644 --- a/Source/ForcedJob.cs +++ b/Source/ForcedJob.cs @@ -421,8 +421,8 @@ public static Job GetThingJob(this Thing thing, Pawn pawn, WorkGiver_Scanner wor var job = workgiver.JobOnThing(pawn, thing, true); if (job != null) { - if (ignoreRestrictions || thing.IsForbidden(pawn) == false) - if (ignoreRestrictions || thing.Position.InAllowedArea(pawn)) + if ((Achtung.Settings.ignoreForbidden && ignoreRestrictions) || thing.IsForbidden(pawn) == false) + if ((Achtung.Settings.ignoreRestrictions && ignoreRestrictions) || thing.Position.InAllowedArea(pawn)) { var ok1 = (ignoreReserve == false && pawn.CanReserveAndReach(thing, workgiver.PathEndMode, Danger.Deadly)); var ok2 = (ignoreReserve && pawn.CanReach(thing, workgiver.PathEndMode, Danger.Deadly)); diff --git a/Source/Main.cs b/Source/Main.cs index 1dec434..df4f213 100644 --- a/Source/Main.cs +++ b/Source/Main.cs @@ -86,11 +86,14 @@ static class HaulAIUtility_PawnCanAutomaticallyHaulFast_Patch { static bool Prefix(Pawn p, Thing t, bool forced, ref bool __result) { - var forcedWork = Find.World.GetComponent(); - if (forced || forcedWork.HasForcedJob(p)) + if (Achtung.Settings.ignoreRestrictions) { - __result = true; - return false; + var forcedWork = Find.World.GetComponent(); + if (forced || forcedWork.HasForcedJob(p)) + { + __result = true; + return false; + } } return true; } @@ -104,15 +107,21 @@ static class ForbidUtility_InAllowedArea_Patch { static void Postfix(IntVec3 c, Pawn forPawn, ref bool __result) { - if (__result == false) - return; var forcedWork = Find.World.GetComponent(); if (forcedWork.HasForcedJob(forPawn)) - __result = true; - else - __result = forcedWork - .AllForcedCellsForMap(forPawn.Map) - .Contains(c) == false; + { + if (Achtung.Settings.ignoreRestrictions) + { + __result = true; + return; + } + } + else if (__result == true) + { + // ignore forced work cells if colonist is not forced + if (forcedWork.AllForcedCellsForMap(forPawn.Map).Contains(c)) + __result = false; + } } } @@ -247,7 +256,6 @@ static IEnumerable Transpiler(IEnumerable inst } // ignore forbidden for forced jobs - // TODO: make this optional // [HarmonyPatch(typeof(ForbidUtility))] [HarmonyPatch(nameof(ForbidUtility.IsForbidden))] @@ -256,11 +264,14 @@ static class ForbidUtility_IsForbidden_Patch { static bool Prefix(Thing t, Pawn pawn, ref bool __result) { - var forcedWork = Find.World.GetComponent(); - if (forcedWork.HasForcedJob(pawn)) + if (Achtung.Settings.ignoreForbidden) { - __result = false; - return false; + var forcedWork = Find.World.GetComponent(); + if (forcedWork.HasForcedJob(pawn)) + { + __result = false; + return false; + } } return true; } @@ -364,14 +375,37 @@ static void Postfix(Pawn pawn, ForcedWork __state) __state.Unprepare(pawn); } + static int GetPriority(Pawn pawn, WorkTypeDef w) + { + if (Achtung.Settings.ignoreAssignments) + return pawn.story.WorkTypeIsDisabled(w) ? 0 : 1; + return pawn.workSettings.GetPriority(w); + } + static IEnumerable Transpiler(IEnumerable instructions) { + var m_GetPriority = AccessTools.Method(typeof(Pawn_WorkSettings), nameof(Pawn_WorkSettings.GetPriority)); var c_FloatMenuOption = AccessTools.FirstConstructor(typeof(FloatMenuOption), c => c.GetParameters().Count() > 1); var m_ForcedFloatMenuOption = AccessTools.Method(typeof(ForcedFloatMenuOption), nameof(ForcedFloatMenuOption.CreateForcedMenuItem)); var list = instructions.ToList(); var foundCount = 0; + while (true) + { + var idx = list.FirstIndexOf(instr => instr.operand == m_GetPriority); + if (idx < 2 || idx >= list.Count) + break; + foundCount++; + list[idx - 2].opcode = OpCodes.Nop; + list[idx].opcode = OpCodes.Call; + list[idx].operand = SymbolExtensions.GetMethodInfo(() => GetPriority(null, WorkTypeDefOf.Doctor)); + } + + if (foundCount != 2) + Log.Error("Cannot find 2x Pawn_WorkSettings.GetPriority in RimWorld.FloatMenuMakerMap::AddJobGiverWorkOrders"); + + foundCount = 0; Enumerable.Range(0, list.Count) .DoIf(i => list[i].opcode == OpCodes.Isinst && list[i].operand == typeof(WorkGiver_Scanner), i => { @@ -470,10 +504,13 @@ static void Postfix(Pawn ___pawn) var breakNote = Tools.PawnOverBreakLevel(___pawn); if (breakNote != null) { - ___pawn.Map.pawnDestinationReservationManager.ReleaseAllClaimedBy(___pawn); - var jobName = ___pawn.jobs?.curJob.GetReport(___pawn).CapitalizeFirst() ?? "-"; - var label = "JobInterruptedLabel".Translate(new object[] { jobName }); - Find.LetterStack.ReceiveLetter(LetterMaker.MakeLetter(label, "JobInterruptedBreakdown".Translate(new object[] { ___pawn.Name.ToStringShort, breakNote }), LetterDefOf.NegativeEvent, ___pawn)); + if (breakNote != "") + { + ___pawn.Map.pawnDestinationReservationManager.ReleaseAllClaimedBy(___pawn); + var jobName = ___pawn.jobs?.curJob.GetReport(___pawn).CapitalizeFirst() ?? "-"; + var label = "JobInterruptedLabel".Translate(new object[] { jobName }); + Find.LetterStack.ReceiveLetter(LetterMaker.MakeLetter(label, "JobInterruptedBreakdown".Translate(new object[] { ___pawn.Name.ToStringShort, breakNote }), LetterDefOf.NegativeEvent, ___pawn)); + } forcedWork.Remove(___pawn); ___pawn.jobs?.EndCurrentJob(JobCondition.InterruptForced, true); diff --git a/Source/Properties/AssemblyInfo.cs b/Source/Properties/AssemblyInfo.cs index dffeb78..f4963ec 100644 --- a/Source/Properties/AssemblyInfo.cs +++ b/Source/Properties/AssemblyInfo.cs @@ -31,5 +31,5 @@ // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("2.3.0.0")] -[assembly: AssemblyFileVersion("2.3.0.0")] +[assembly: AssemblyVersion("2.3.1.0")] +[assembly: AssemblyFileVersion("2.3.1.0")] diff --git a/Source/Settings.cs b/Source/Settings.cs index a05ca47..c009d43 100644 --- a/Source/Settings.cs +++ b/Source/Settings.cs @@ -37,6 +37,9 @@ public class AchtungSettings : ModSettings public AchtungModKey forceCommandMenuKey = AchtungModKey.Ctrl; public BreakLevel breakLevel = BreakLevel.AlmostExtreme; public HealthLevel healthLevel = HealthLevel.InPainShock; + public bool ignoreForbidden = false; + public bool ignoreRestrictions = false; + public bool ignoreAssignments = false; public override void ExposeData() { @@ -46,11 +49,16 @@ public override void ExposeData() Scribe_Values.Look(ref forceCommandMenuKey, "forceCommandMenuKey", AchtungModKey.Ctrl, true); Scribe_Values.Look(ref breakLevel, "BreakLevel", BreakLevel.AlmostExtreme, true); Scribe_Values.Look(ref healthLevel, "HealthLevel", HealthLevel.InPainShock, true); + Scribe_Values.Look(ref ignoreForbidden, "ignoreForbidden", false, true); + Scribe_Values.Look(ref ignoreRestrictions, "ignoreRestrictions", false, true); + Scribe_Values.Look(ref ignoreAssignments, "ignoreAssignments", false, true); } + static Vector2 scrollPosition = Vector2.zero; public void DoWindowContents(Rect canvas) { - var list = new Listing_Standard { ColumnWidth = canvas.width / 2 }; + var columnWidth = canvas.width * 0.6f; + var list = new Listing_Standard { ColumnWidth = columnWidth }; list.Begin(canvas); list.Gap(); @@ -63,8 +71,15 @@ public void DoWindowContents(Rect canvas) list.ValueLabeled("BreakLevel", ref Achtung.Settings.breakLevel); list.Gap(); list.ValueLabeled("HealthLevel", ref Achtung.Settings.healthLevel); + list.Gap(); + list.CheckboxEnhanced("IgnoreForbidden", ref Achtung.Settings.ignoreForbidden); + list.CheckboxEnhanced("IgnoreRestrictions", ref Achtung.Settings.ignoreRestrictions); + list.CheckboxEnhanced("IgnoreAssignments", ref Achtung.Settings.ignoreAssignments); + + list.NewColumn(); + list.ColumnWidth = canvas.width - columnWidth; - list.Gap(18f); + list.Gap(); list.Note("Notes"); list.Gap(6f); list.Note("Note1"); diff --git a/Source/Tools.cs b/Source/Tools.cs index 21cacea..2985be0 100644 --- a/Source/Tools.cs +++ b/Source/Tools.cs @@ -65,6 +65,9 @@ public static void Debug(Thing thing, string text) { } public static string PawnOverBreakLevel(Pawn pawn) { + if (pawn.InMentalState) + return ""; + var mb = pawn.mindState.mentalBreaker; switch (Achtung.Settings.breakLevel) { @@ -540,7 +543,7 @@ public static void Note(this Listing_Standard listing, string name) { if (name.CanTranslate()) { - Text.Font = GameFont.Tiny; + Text.Font = GameFont.Small; listing.ColumnWidth -= 34; GUI.color = Color.white; listing.Label(name.Translate());