From 4edd5bf77d2d835d51151480ff9d1d8ff4e8a0a3 Mon Sep 17 00:00:00 2001 From: RickGrymes <81042907+RickGrymes@users.noreply.github.com> Date: Thu, 5 Feb 2026 23:07:36 -0600 Subject: [PATCH] Config refactor; pawn null-check; csproj changes Add updated FCP_StimPacks.dll under Source and update the distributed assembly. Clean up ModConfig code: normalize namespace/bracing style, move Config fields into the Configs class, and implement ExposeData method body. Add a null-check in PawnPatches to return early if __instance.story is null to prevent potential NREs. Update Stims.csproj to target C# 7.3, disable implicit usings and global usings generation for compatibility. --- 1.6/Assemblies/FCP_StimPacks.dll | Bin 12288 -> 10240 bytes Source/Stims/1.6/Assemblies/FCP_StimPacks.dll | Bin 0 -> 10240 bytes Source/Stims/ModConfig/ConfigUI.cs | 51 +++++++++--------- Source/Stims/ModConfig/Configs.cs | 19 +++---- Source/Stims/Patches/PawnPatches.cs | 2 + Source/Stims/Stims.csproj | 5 +- 6 files changed, 41 insertions(+), 36 deletions(-) create mode 100644 Source/Stims/1.6/Assemblies/FCP_StimPacks.dll diff --git a/1.6/Assemblies/FCP_StimPacks.dll b/1.6/Assemblies/FCP_StimPacks.dll index 1b162797bd6be33125066faea1b7ccfa6d4a9ad8..ac4025d464aa4b672116acab5452eb03fc79474a 100644 GIT binary patch delta 4883 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 delta 7113 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 B3wi(m diff --git a/Source/Stims/1.6/Assemblies/FCP_StimPacks.dll b/Source/Stims/1.6/Assemblies/FCP_StimPacks.dll new file mode 100644 index 0000000000000000000000000000000000000000..ac4025d464aa4b672116acab5452eb03fc79474a GIT binary patch literal 10240 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®HY%)H`~#JuEGkP+#r42V!>@N~&6F32wig*Zb{XWU&df{CNo5Gl%PgsM%}dYBOVxAEFG_`kFgQ5f6LV9+jF8Oa>|!tv zNi{=IYHog6sz+){W?EW!Mrxi*eqJgA$PxyZqSADi)Z)ydR73z4r7}Pqma!F0|Ph)_17s3uHO3W;QFd^~?Sq5+#cS%hHc@wM%9?ygI9i1NMbrea7kuvKw@%sv7T>!3MAb_tYHAfk8fsPW^QS&Q))?hYHFTG zYGO`iUOGf3u>y-scw$i=SVdxbdTI)!>CX_74`o2pC4*0XIs+(sxFqH#rl$rZmLzAu zauI~%n^=+oN?g8)6(BoHG8i&a6LU&3;I0KFbLafLlGMBskmJFT4azbgH#7L;=Vvqc zrB;-Hcp&`@A^BhmY`9}i4uhL>Ks>_ZDLFad1nF6lnhQ-@3?ZqhC7@iATI5(-k`GeL z;G3Dp;FOx4naALgn&z9I;#yIXng>b_3?7NaD16Vn^wi>#%%q%DkVb?$SW0pPXL_)m z0g2^#43Kc}%uCB>@X1e3%n3;>N>42T^HVZGqLBClr6N$t;+|RpW`Ya{`97d1zktE9 zxHvU8DW_7`IXEM+sDL53B(Wqj**QP2xTL5wxg@{HKQFi>v8bf90P00OpUk{MXjJAU zrl%G$lw>An`zAuz`6U^tMW8eSDz}QDNf5#YIXNDbdWsU0vr~&0zjq32sk_-qRR0V>30dX?Sqs0sbMfnBApy==g8J?F8 zs$Yto^K*0a^BnV%Q;SRTi;5YN^K%QFa}tY-8A?FKS}}u5KFl}anRzMs<)HXZ%_}Kp z2u@DSNd*ONYKmiSera9_$OVv!DzhXYKNF-T1I_|D$}uMgY$pRq7t|4;A`l|zmS2>c zSON~_;L_aO#G*=&vXYE|)S_fi%;gp&CYLZ|<^`oDmoWGzWq~M2v<0V@Kw|{N0vE?1 zMo?;6QEG7ps7wh@%q(GWNlh<#h@qyCoqPB#3GOo$iL2| zMPPO^q}&60&9N-CC^0?N0~#=3F=tTdF(iXYke^`z3W_TbKQk{K62f5BpwNQGc|0@_ z!9tKS4B~VK=h6}e-~6&vP@xJhsUfX2hNS$IN(KXHBZvVOyUvLvsp6GM45Qm_b2KLa<6Rm{L3h#@P9F5<$F%23RZ%)p>ajOhr~TnruzsbE)RGUPF&Gbn)F zlg3cOpuk|opukYgV8Bqzpupe(9_u=#H_76%5R2cc>!+mE7EM0Lz@os&$ib|@z{sk= z$S5cXCPmp4m>7i|`Gnb7MTHC*g>;2kAG72+*L?$u{>2fGAfOH8nuz@HcT^0ofVFs|EDWi}ro2U?o0`Ubc89|D`2D7jU zHB4n<1G$8WU4e;Fm_e8k2yOGUFn%0s{vt0}}@ahax+t zP$W1wB84J(z}{(S6>4Y&aRh4_1sfVc#tML~z6sKM7eqW{hxj}aPJ#R#$;!aUBoxW4 zz`z6YEe|Is>`WPj8d}+*2J?X33l3sA239VR6v()*AP3uWGcXH93N?Hcauu>=Rbb>1 za%EOv;A3H6WaMKPg}6mffrU{hQpgs{6>4NJ2lTX$=p2AG}+Y5 z(9+l>)xg41lre-!AUHd-APn5_PX@Qs89@OA&KFEXa)v3(CA_a zlUR6BVu4?No@+&ND!BI;l2MdjUd+hB2=2@?Fo4IP^B5T-L0(MN1GS}e6wumo2>%=E zndw=Y7+dHWn_C#06Ap&F(wrQAP`lW%pdhCbQYA4kF!Vs@m_cRgG7uX)S_tByV%S_X zL^R$xzsMyg$2T!E57N<1P1OT6ok6nyRT&gO6Z;_cD5hQrfJUSl7$g|Lt0<6+1*I+q z1_LbOAVr{c4G|6u3^9^1<>d z;8CFvaNV89P|T3SkO;1?LA5wo0mBBCJ&Yh*LA7rY1EfyGG-(D{jR6A;nlL1R!hk`C z0W=B*QxB_ULFN>o*aJ%D1`HewjBr(); - } + public class ConfigUI : Mod + { + public static Configs Config; + public ConfigUI(ModContentPack content) : base(content) + { + Config = GetSettings(); + } - public override string SettingsCategory() - { - return "Stims"; - } - - public override void DoSettingsWindowContents(Rect inRect) - { - Listing_Standard listing = new Listing_Standard(); - listing.Begin(inRect); + public override string SettingsCategory() + { + return "Stims"; + } - listing.CheckboxLabeled("AutoStim".Translate(), ref Config.AutoStim, "AutoStimDesc".Translate()); - - listing.CheckboxLabeled("TeetotalerAutoStim".Translate(), ref Config.TeetotalerAutoStim, "TeetotalerAutoStimDesc".Translate()); - - listing.End(); - - base.DoSettingsWindowContents(inRect); - } + public override void DoSettingsWindowContents(Rect inRect) + { + Listing_Standard listing = new Listing_Standard(); + listing.Begin(inRect); + + listing.CheckboxLabeled("AutoStim".Translate(), ref Config.AutoStim, "AutoStimDesc".Translate()); + + listing.CheckboxLabeled("TeetotalerAutoStim".Translate(), ref Config.TeetotalerAutoStim, "TeetotalerAutoStimDesc".Translate()); + + listing.End(); + + base.DoSettingsWindowContents(inRect); + } + } } \ No newline at end of file diff --git a/Source/Stims/ModConfig/Configs.cs b/Source/Stims/ModConfig/Configs.cs index 5683af8..e1d5a1f 100644 --- a/Source/Stims/ModConfig/Configs.cs +++ b/Source/Stims/ModConfig/Configs.cs @@ -1,15 +1,16 @@ using Verse; -namespace StimPacks.ModConfig; - -public class Configs : ModSettings +namespace StimPacks.ModConfig { - public bool AutoStim = true; - public bool TeetotalerAutoStim = false; - public override void ExposeData() + public class Configs : ModSettings { - Scribe_Values.Look(ref AutoStim, "MaxLevel", true); - Scribe_Values.Look(ref TeetotalerAutoStim, "TeetotalerAutoStim", false); - base.ExposeData(); + public bool AutoStim = true; + public bool TeetotalerAutoStim = false; + public override void ExposeData() + { + Scribe_Values.Look(ref AutoStim, "MaxLevel", true); + Scribe_Values.Look(ref TeetotalerAutoStim, "TeetotalerAutoStim", false); + base.ExposeData(); + } } } diff --git a/Source/Stims/Patches/PawnPatches.cs b/Source/Stims/Patches/PawnPatches.cs index 2bf009a..669d919 100644 --- a/Source/Stims/Patches/PawnPatches.cs +++ b/Source/Stims/Patches/PawnPatches.cs @@ -23,6 +23,8 @@ namespace StimPacks.Patches { if(!ConfigUI.Config.AutoStim) return; + if(__instance.story == null) + return; if(!ConfigUI.Config.TeetotalerAutoStim && __instance.story.traits.DegreeOfTrait(TraitDefOf.DrugDesire) < 0) return; if (totalDamageDealt > 0) diff --git a/Source/Stims/Stims.csproj b/Source/Stims/Stims.csproj index 6b2f883..b2e8dad 100644 --- a/Source/Stims/Stims.csproj +++ b/Source/Stims/Stims.csproj @@ -4,8 +4,9 @@ StimPacks FCP_StimPacks Fallout Stimpacks Module - 14 - enable + 7.3 + disable + false disable