RimWorld

RimWorld

A mod that basically adds Cyberpsychosis
MrKociak  [developer] Dec 26, 2024 @ 6:04am
Support/Compatability
Most mods that add implants and genes should work with this mod by default. If there’s one that doesn’t then please lemme know. A link to the mod’s workshop page would also help a lot!
< >
Showing 1-13 of 13 comments
Ill go ahead and be the first one to ask: How does this interact with Dub's Break Mod?
MrKociak  [developer] Dec 26, 2024 @ 8:00am 
@Depraved Arachnophile Not sure, I haven't tested this mod with that one, but I believe they shouldn't be incompatible. The way mental breaks are "forced" by this mod's need bar being low works similar to the devMode command that applies a mental state.
It's essentially a "if this bar is below X%, make a minor mental break happen" kind of deal, it doesn't touch or edit anything related to mood-induced mental breaks.
Thought, at a later date I can make the forced mental breaks toggleable in the settings, in case it does cause any issues or if the player thinks those are not needed.
Last edited by MrKociak; Dec 26, 2024 @ 8:03am
MrKociak  [developer] Dec 27, 2024 @ 10:17am 
Oh yeah, after the upgrade VE Androids don't have the Biostability need, so they can receive implants with no drawbacks.
csc001 Dec 29, 2024 @ 7:22pm 
hello dev,Visual Exceptions said your mod with VRA have not good,hope some fix ,thank your mod.
here is many many log

Exception in Verse.TickList.Tick: System.NullReferenceException: Object reference not set to an instance of an object
[Ref 769FB16]
at MKT_CyberPsycho.HediffComp_OffsetCyberPsychosisPostAdd_MKT.OffsetCyberpsychosis (System.Single offsetMultiplier) [0x00017] in <1c42505c8b1145b2bd090b9c58d815b7>:0
at MKT_CyberPsycho.HediffComp_OffsetCyberPsychosisPostAdd_MKT.CompPostPostRemoved () [0x00014] in <1c42505c8b1145b2bd090b9c58d815b7>:0
at Verse.HediffWithComps.PostRemoved () [0x0001e] in <69945a8ed6c540cf90b578de735e0605>:0
at Verse.Pawn_HealthTracker.RestorePartRecursiveInt (Verse.BodyPartRecord part, Verse.Hediff diffException) [0x00079] in <69945a8ed6c540cf90b578de735e0605>:0
- PREFIX VREAndroidsMod: Boolean VREAndroids.Pawn_HealthTracker_RestorePartRecursiveInt_Patch:Prefix(Pawn_HealthTracker __instance, BodyPartRecord part, Hediff diffException)
at Verse.Pawn_HealthTracker.RestorePartRecursiveInt (Verse.BodyPartRecord part, Verse.Hediff diffException) [0x0009e] in <69945a8ed6c540cf90b578de735e0605>:0
- PREFIX VREAndroidsMod: Boolean VREAndroids.Pawn_HealthTracker_RestorePartRecursiveInt_Patch:Prefix(Pawn_HealthTracker __instance, BodyPartRecord part, Hediff diffException)
at Verse.Pawn_HealthTracker.RestorePart (Verse.BodyPartRecord part, Verse.Hediff diffException, System.Boolean checkStateChange) [0x0000e] in <69945a8ed6c540cf90b578de735e0605>:0
at Verse.Hediff_MissingPart.PostAdd (System.Nullable`1[T] dinfo) [0x00034] in <69945a8ed6c540cf90b578de735e0605>:0
at Verse.HediffSet.AddDirect (Verse.Hediff hediff, System.Nullable`1[T] dinfo, Verse.DamageWorker+DamageResult damageResult) [0x00136] in <69945a8ed6c540cf90b578de735e0605>:0
- TRANSPILER rimworld.erdelf.alien_race.main: IEnumerable`1 AlienRace.HarmonyPatches:BodyReferenceTranspiler(IEnumerable`1 instructions)
- PREFIX VREAndroidsMod: Boolean VREAndroids.HediffSet_AddDirect_Patch:Prefix(HediffSet __instance, Pawn ___pawn, Hediff hediff)
- PREFIX Altered.Carbon: Boolean AlteredCarbon.HediffSet_AddDirect_Patch:Prefix(HediffSet __instance, Pawn ___pawn, Hediff hediff)
- PREFIX ReSpliceCharmweavers.Mod: Boolean ReSpliceCharmweavers.HediffSet_AddDirect_Patch:Prefix(HediffSet __instance, Pawn ___pawn, Hediff hediff)
- PREFIX VAEInsanityMod: Boolean VAEInsanity.HediffSet_AddDirect_Patch:Prefix(HediffSet __instance, Pawn ___pawn, Hediff hediff)
- POSTFIX ReSpliceCoreMod: Void ReSpliceCore.HediffSet_AddDirect_Patch:Postfix(HediffSet __instance, Pawn ___pawn, Hediff hediff)
- POSTFIX vanillaexpanded.aspirations: Void VAspirE.SatisfactionPatches:CheckGeneral(Pawn ___pawn)
- POSTFIX com.VEHighmate: Void VanillaRacesExpandedHighmate.HediffSet_AddDirect_Patch:Postfix(Pawn ___pawn, Hediff hediff)
at Verse.Pawn_HealthTracker.AddHediff (Verse.Hediff hediff, Verse.BodyPartRecord part, System.Nullable`1[T] dinfo, Verse.DamageWorker+DamageResult result) [0x0021b] in <69945a8ed6c540cf90b578de735e0605>:0
- TRANSPILER rimworld.erdelf.alien_race.main: IEnumerable`1 AlienRace.HarmonyPatches:BodyReferenceTranspiler(IEnumerable`1 instructions)
- PREFIX VREAndroidsMod: Boolean VREAndroids.Pawn_HealthTracker_AddHediff_Patch:Prefix(Pawn_HealthTracker __instance, Pawn ___pawn, Hediff& hediff, BodyPartRecord part, Nullable`1 dinfo, DamageResult result)
- PREFIX Altered.Carbon: Boolean AlteredCarbon.Pawn_HealthTracker_AddHediff_Patch:Prefix(Pawn_HealthTracker __instance, Pawn ___pawn, Hediff& hediff, BodyPartRecord part, Nullable`1 dinfo, DamageResult result)
- PREFIX ReSpliceCharmweavers.Mod: Boolean ReSpliceCharmweavers.Pawn_HealthTracker_AddHediff_Patch:Prefix(Pawn_HealthTracker __instance, Pawn ___pawn, Hediff& hediff, BodyPartRecord part, Nullable`1 dinfo, DamageResult result)
- PREFIX VAEInsanityMod: Boolean VAEInsanity.Pawn_HealthTracker_AddHediff_Patch:Prefix(Pawn_HealthTracker __instance, Pawn ___pawn, Hediff& hediff, BodyPartRecord part, Nullable`1 dinfo, DamageResult result)
- PREFIX Owlchemist.CherryPicker: Boolean CherryPicker.Patch_Pawn_HealthTracker_AddHediff:Prefix(Hediff hediff)
- PREFIX Helixien.ReGrowthCore: Boolean ReGrowthCore.Pawn_HealthTracker_AddHediff_Patch:Prefix(Pawn_HealthTracker __instance, Pawn ___pawn, Hediff hediff, BodyPartRecord part, Nullable`1 dinfo, DamageResult result)
- PREFIX Neronix17.TabulaRasa.RimWorld: Boolean TabulaRasa.Patch_Pawn_HealthTracker_AddHediff:Prefix(Pawn_HealthTracker __instance, Pawn ___pawn, Hediff hediff, BodyPartRecord part, Nullable`1 dinfo, DamageResult result)
- PREFIX VanillaExpanded.VFEA: Boolean VFEAncients.PowerWorker_Bones:HandleBones(Pawn_HealthTracker __instance, Hediff hediff, BodyPartRecord part, Nullable`1 dinfo, DamageResult result)
- PREFIX OskarPotocki.VanillaPsycastsExpanded: Boolean VanillaPsycastsExpanded.Pawn_HealthTracker_AddHediff_Patch:Prefix(Pawn_HealthTracker __instance, Pawn ___pawn, Hediff hediff, BodyPartRecord part, Nullable`1 dinfo, DamageResult result)
- PREFIX SmashPhil.VehicleFramework: Boolean Vehicles.HealthAndStats:VehiclesDontAddHediffs(Pawn ___pawn)
- POSTFIX rimworld.erdelf.alien_race.main: Void AlienRace.HarmonyPatches:AddHediffPostfix(Pawn ___pawn, Hediff hediff)
- POSTFIX legodude17.mvcf: Void MVCF.PatchSets.Trackers.PatchSet_Hediffs:AddHediff_Postfix(Hediff hediff, Pawn_HealthTracker __instance)
at RimWorld.CompHarbingerTreeConsumable.GetNutritionFromCorpse (Verse.Corpse corpse, System.Boolean applyDigestion) [0x000ce] in <69945a8ed6c540cf90b578de735e0605>:0
- TRANSPILER rimworld.erdelf.alien_race.main: IEnumerable`1 AlienRace.HarmonyPatches:BodyReferenceTranspiler(IEnumerable`1 instructions)
at RimWorld.CompHarbingerTreeConsumable.AvailableNutrition (System.Boolean applyDigestion) [0x00039] in <69945a8ed6c540cf90b578de735e0605>:0
at RimWorld.CompHarbingerTreeConsumable.TryConsume () [0x00000] in <69945a8ed6c540cf90b578de735e0605>:0
at RimWorld.CompHarbingerTreeConsumable.CompTickRare () [0x00079] in <69945a8ed6c540cf90b578de735e0605>:0
at Verse.Corpse.TickRareInt () [0x00024] in <69945a8ed6c540cf90b578de735e0605>:0
at Verse.Corpse.TickRare () [0x00000] in <69945a8ed6c540cf90b578de735e0605>:0
- POSTFIX VanillaExpanded.VFEA: Void VFEAncients.PowerWorker_Resurrect:CorpseTick(Corpse __instance)
- POSTFIX RedMattis.BetterPrerequisites: Void BigAndSmall.Pawn_TickRare_Patch:Postfix(Corpse __instance)
at Verse.TickList.Tick () [0x0018f] in <69945a8ed6c540cf90b578de735e0605>:0
- TRANSPILER net.pardeike.rimworld.lib.harmony: IEnumerable`1 VisualExceptions.ExceptionsAndActivatorHandler:Transpiler(IEnumerable`1 instructions, MethodBase original)
- POSTFIX Uuugggg.rimworld.TD_Enhancement_Pack.main: Void TD_Enhancement_Pack.TickGrow_PlantHarvest:Postfix(TickerType ___tickType)
- POSTFIX Uuugggg.rimworld.TD_Enhancement_Pack.main: Void TD_Enhancement_Pack.TickGrow:Postfix(TickerType ___tickType)
MrKociak  [developer] Jan 3 @ 6:16am 
@csc001 To figure out what the problem is, I'll need to know what kind of implant you were adding/removing and what pawn/creature the operation was performed on.
I sadly cannot figure it out from just this log, sorry.

If you still remember what items and pawns were involved then I'd appreciate if you were to let me know!
csc001 Jan 3 @ 5:29pm 
Hi author, the only android in my colony used to have an Altered Carbon 2: ReSleeved Empty stack implanted, and I'm guessing that might be the reason. Have a nice life.
MrKociak  [developer] Jan 4 @ 4:33am 
@csc001 oh that's very useful info! I checked my test colony just now and I think I know what the issue is.
The error seems to happen when a pawn has one of their implants removed/uninstalled/lost when they're dead, probably because all of their needs are disabled when they're dead.
I'll take a proper look and hopefully make a fix soon, I gotta finish my breakfast first. But if this is how I think it is then it should be quite easy to fix.
csc001 Jan 4 @ 4:57am 
thank you,have a good day:steamthumbsup:
Minibonz Mar 27 @ 11:45am 
There might be some compatibly issues between this and Altered Carbon 2: ReSleeved and/or Medical System Expansion 2.

When installing arms and legs bionics from MSE2, the modules slots that are part of that mod disappear and triggers this error:

JobDriver threw exception in toil FinishRecipeAndStartStoringProduct's initAction for pawn Hewlett driver=JobDriver_DoBill (toilIndex=33) driver.job=(DoBill (Job_4965323) A = Thing_Human1588362 B = Thing_DMS_ProstheticLeg3213769 C = (141, 0, 136) Giver = JobGiver_Work [workGiverDef: DoBillsMedicalHumanOperation])
System.NullReferenceException: Object reference not set to an instance of an object
[Ref 927145DC]
at MKT_CyberPsycho.HediffComp_OffsetCyberPsychosisPostAdd_MKT.OffsetCyberpsychosis (System.Single offsetMultiplier) [0x0005f] in <ac72c296a358420baeb990917a9937ac>:0
at MKT_CyberPsycho.HediffComp_OffsetCyberPsychosisPostAdd_MKT.CompPostPostAdd (System.Nullable`1[T] dinfo) [0x00014] in <ac72c296a358420baeb990917a9937ac>:0
at Verse.HediffWithComps.PostAdd (System.Nullable`1[T] dinfo) [0x0001f] in <630e2863bc9a4a3493f2eff01e3a9556>:0
at Verse.Hediff_Implant.PostAdd (System.Nullable`1[T] dinfo) [0x00000] in <630e2863bc9a4a3493f2eff01e3a9556>:0
at Verse.Hediff_AddedPart.PostAdd (System.Nullable`1[T] dinfo) [0x00099] in <630e2863bc9a4a3493f2eff01e3a9556>:0
- TRANSPILER MSE2.Core: IEnumerable`1 MSE2.HarmonyPatches.AddedPart_PostAdd:Transpiler(IEnumerable`1 instructions)
at Verse.HediffSet.AddDirect (Verse.Hediff hediff, System.Nullable`1[T] dinfo, Verse.DamageWorker+DamageResult damageResult) [0x00114] in <630e2863bc9a4a3493f2eff01e3a9556>:0
- TRANSPILER rimworld.erdelf.alien_race.main: IEnumerable`1 AlienRace.HarmonyPatches:BodyReferenceTranspiler(IEnumerable`1 instructions)
- PREFIX Altered.Carbon: Boolean AlteredCarbon.HediffSet_AddDirect_Patch:Prefix(HediffSet __instance, Pawn ___pawn, Hediff hediff)
- PREFIX VAEInsanityMod: Boolean VAEInsanity.HediffSet_AddDirect_Patch:Prefix(HediffSet __instance, Pawn ___pawn, Hediff hediff)
- PREFIX MSE2.Core: Boolean MSE2.HarmonyPatches.Hediff_AddDirect+AddDirect:ErrorOnIgnoredPart(HediffSet __instance, Hediff hediff)
- POSTFIX vanillaexpanded.aspirations: Void VAspirE.SatisfactionPatches:CheckGeneral(Pawn ___pawn)
- POSTFIX com.VEHighmate: Void VanillaRacesExpandedHighmate.HediffSet_AddDirect_Patch:Postfix(Pawn ___pawn, Hediff hediff)
- POSTFIX V1024.EBFramework: Void EBF.Patches.PostFix_HediffSet_AddDirect:ResetCacheSpecifically(Pawn ___pawn, Hediff hediff)
- POSTFIX MSE2.Core: Void MSE2.HarmonyPatches.PastAddHediffCheckForEffectors:AddPotentialEffectors(Hediff hediff)
at Verse.Pawn_HealthTracker.AddHediff (Verse.Hediff hediff, Verse.BodyPartRecord part, System.Nullable`1[T] dinfo, Verse.DamageWorker+DamageResult result) [0x00190] in <630e2863bc9a4a3493f2eff01e3a9556>:0
- TRANSPILER rimworld.erdelf.alien_race.main: IEnumerable`1 AlienRace.HarmonyPatches:BodyReferenceTranspiler(IEnumerable`1 instructions)
- PREFIX Altered.Carbon: Boolean AlteredCarbon.Pawn_HealthTracker_AddHediff_Patch:Prefix(Pawn_HealthTracker __instance, Pawn ___pawn, Hediff& hediff, BodyPartRecord part, Nullable`1 dinfo, DamageResult result)
- PREFIX VAEInsanityMod: Boolean VAEInsanity.Pawn_HealthTracker_AddHediff_Patch:Prefix(Pawn_HealthTracker __instance, Pawn ___pawn, Hediff& hediff, BodyPartRecord part, Nullable`1 dinfo, DamageResult result)
- PREFIX Neronix17.TabulaRasa.RimWorld: Boolean TabulaRasa.Patch_Pawn_HealthTracker_AddHediff:Prefix(Pawn_HealthTracker __instance, Pawn ___pawn, Hediff hediff, BodyPartRecord part, Nullable`1 dinfo, DamageResult result)
- PREFIX com.communityframework.harmonypatches: Void CF.OnHediffAddedPatch+AddHediff:Prefix(Hediff hediff, Pawn_HealthTracker __instance)
- PREFIX VanillaExpanded.VFEA: Boolean VFEAncients.PowerWorker_Bones:HandleBones(Pawn_HealthTracker __instance, Hediff hediff, BodyPartRecord part, Nullable`1 dinfo, DamageResult result)
- PREFIX OskarPotocki.VanillaPsycastsExpanded: Boolean VanillaPsycastsExpanded.Pawn_HealthTracker_AddHediff_Patch:Prefix(Pawn_HealthTracker __instance, Pawn ___pawn, Hediff hediff, BodyPartRecord part, Nullable`1 dinfo, DamageResult result)
- PREFIX SmashPhil.VehicleFramework: Boolean Vehicles.HealthAndStats:VehiclesDontAddHediffs(Pawn ___pawn)
- POSTFIX vanillaexpanded.achievements: Void AchievementsExpanded.AchievementHarmony:HediffAdded(Hediff hediff, BodyPartRecord part, Nullable`1 dinfo, DamageResult result)
- POSTFIX Andromeda.NiceHealthTab: Void NiceHealthTab.Patches+Pawn_HealthTracker_AddHediff:Postfix(Pawn_HealthTracker __instance)
- POSTFIX rimworld.erdelf.alien_race.main: Void AlienRace.HarmonyPatches:AddHediffPostfix(Pawn ___pawn, Hediff hediff)
- POSTFIX legodude17.mvcf: Void MVCF.PatchSets.Trackers.PatchSet_Hediffs:AddHediff_Postfix(Hediff hediff, Pawn_HealthTracker __instance)
at Verse.Pawn_HealthTracker.AddHediff (Verse.HediffDef def, Verse.BodyPartRecord part, System.Nullable`1[T] dinfo, Verse.DamageWorker+DamageResult result) [0x0000e] in <630e2863bc9a4a3493f2eff01e3a9556>:0
at MSE2.Recipe_InstallArtificialBodyPartWithChildren.ApplyOnPawn (Verse.Pawn pawn, Verse.BodyPartRecord part, Verse.Pawn billDoer, System.Collections.Generic.List`1[T] ingredients, RimWorld.Bill bill) [0x00204] in <d3d1cd229f5b4516b271e7ddeb0530a8>:0
- PREFIX QualityBionicsContinued: Void QualityBionicsContinued.Patch.RecipeWorker_ApplyOnPawn:Prefix(RecipeWorker __instance, Object[] __args)
- POSTFIX QualityBionicsContinued: Void QualityBionicsContinued.Patch.RecipeWorker_ApplyOnPawn:Postfix(RecipeWorker __instance, Object[] __args)
at RimWorld.Bill_Medical.Notify_IterationCompleted (Verse.Pawn billDoer, System.Collections.Generic.List`1[T] ingredients) [0x00030] in <630e2863bc9a4a3493f2eff01e3a9556>:0
at Verse.AI.Toils_Recipe+<>c__DisplayClass3_0.<FinishRecipeAndStartStoringProduct>b__1 () [0x0018d] in <630e2863bc9a4a3493f2eff01e3a9556>:0
at Verse.AI.JobDriver.TryActuallyStartNextToil () [0x00203] in <630e2863bc9a4a3493f2eff01e3a9556>:0
- POSTFIX CM_Grab_Your_Tool: Void CM_Grab_Your_Tool.ToilPatches+JobDriver_TryActuallyStartNextToil:Postfix(Pawn ___pawn, JobDriver __instance)

Or at least, thats how I see it; pulling this mod solved the issue and I hope that it's an easy fix because I like this mod and its idea.

I don't recall any issues when installed other types of bionics, so it might be an issue with how MSE2 applies its modules to the arms and legs post surgery, but thats just my best guess given what I could make out from the log.
MrKociak  [developer] Mar 27 @ 12:29pm 
@Minibonz
Would you be able to provide what exact bionic you were trying to install? I've tried installing bionics with both MSE2 and Altered Carbon 2: ReSleeved enabled and have not encountered any errors, but I have noticed "Thing_DMS_ProstheticLeg" being mentioned in the log.
Neither of those mods or the base game have any items with that defName, so it has to some kind of item from a different mod [the vanilla one would be called "SimpleProstheticLeg"].

The item should say what mod it is from in its info window.
MrKociak  [developer] Mar 27 @ 12:55pm 
@Minibonz
Update: I think I found the REAL issue actually.
The issue is that I did something quite stupid in the newest update.
Gimme a few minutes, it should be solved soon
MrKociak  [developer] Mar 27 @ 1:01pm 
M'kay so.
Yeah, the issue was caused by me doing something quite stupid in the code...forgot to null check a modExtensions, so basically anything without it would cause errors cuz the game would have no idea what to do without it being there.

The update should be out by the time I post this commect
Minibonz Mar 28 @ 1:29pm 
Good to hear that it was something simple and easy to fix. Keep up the good work bro!
< >
Showing 1-13 of 13 comments
Per page: 1530 50