Code Monkey home page Code Monkey logo

rimworld_commonsense's Introduction

rimworld_commonsense's People

Contributors

catgirlfighter avatar chrisxlite avatar codeoptimist avatar cparks1 avatar fyaunen avatar hawnhan avatar lak4cyut avatar lilwhitemouse avatar nkuznia avatar qw3r3wq avatar thorbane avatar tk421storm avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

rimworld_commonsense's Issues

common sense mod for 1.3

well, call me a maroon, but how do i get the mod? all i see are a list of html files, and a few other directories that i have no idea what to do with. I found nowhere to contact you privately, either.

Patients don't stay in bed despite being gravely ill

I have an incredibly frustrating issue where patients who are very seriously ill simply refuse to stay in bed. I've even seen them leave the hospital before being treated. It can be for a wide number of things: to pick up a meal for the inventory, to change gear/clothes, like pick up a shield belt, go across to the other side of the base to do any of these things, do some type of social relaxation etc, clean the hospital>then do whatever else after, or go back to bed. Sometimes this happens with a doctor practically ready to patch them together, which then aborts the job, and the doctor can leave to do any number of inane other things.

It's frustrating beyond words. Because this isn't an exception now and then, it's pretty much the rule. Almost without fail, when I see a message in the top left corner about a patient no longer being incapacited/able to walk, I'll click on that message and see the genius leaving bed and sloooooowly crawling across the floor to do something utterly unimportant like grab a meal or change dusters. I've had to use workarounds like setting up a hospital zone and putting the patients in that. Which ofc has negative side effects in me forgetting about it for a while, until I see the patient just standing around in the hospital zone when finally healthy again.

Can't think of any other mod that could affect this than Common Sense (very unfortunate name in this case). I'm not running a thousand mods, so not a whole lot change behaviour nor add content. And the game didn't operate like this in vanilla. According to a modder I mentioned this to, it could be due to weird ThinkingTree decisions, or some term like that.

Could you please take a look at this and try to ensure that patients actually stay in bed? This stuff is driving me up a wall, and I have no idea how to fix it. Could remove the mod ofc, but don't want to do that either, as other features are really quite nice.

I've attached one picture with this behaviour in action. This time the person has a whopping 29% movement speed. Other times it's at 16% (probably when they can 'just' walk again), and it takes forever to go to the freezer to pick up a meal, even if it's just next door. And after doing that, the loon will quite frequently move on to play poker or whatever, spending another eternity getting there. Since I know about this now, I tend to catch it and try to order them back to bed. Which works for a little while, until he or she gets back up again to do something. And really, they shouldn't even get up to sweep the floor. That is the doctors' job, or other people. Their "job" is to stay in bed and heal up.

Don't think there is anything amiss with my work priorities, with "patient" on 1 across the board (with the mod that adds a 1-9 spectrum), but attached a picture just in case.

Patient refuses to stay in bed
Work priority

Conflict with PickUpAndHault

Hello.
When PUAH unloading hauled items from inventory (second, third items, etc), interrupded pawn put item back to inventory and forget about it.
Disabling PutBackToBackpack didn't affect, I found issue in PCT module (bool SneakyMoveToInventory). Disabling it get things normally.
Please, add option to disable PCT module with (or without) PutBackToBackpack feature in cfg.

Throwing MissingMethodException: FoodUtility.WillEat

No idea what's going on here, but I got an exception when using your mod:

Exception filling tab RimWorld.ITab_Pawn_Gear: System.MissingMethodException: bool RimWorld.FoodUtility.WillEat(Verse.Pawn,Verse.Thing,Verse.Pawn,bool)
  at (wrapper dynamic-method) RimWorld.FoodUtility.RimWorld.FoodUtility.WillIngestFromInventoryNow_Patch1(Verse.Pawn,Verse.Thing)
  at (wrapper dynamic-method) RimWorld.ITab_Pawn_Gear.RimWorld.ITab_Pawn_Gear.DrawThingRow_Patch1(RimWorld.ITab_Pawn_Gear,single&,single,Verse.Thing,bool)
  at RimWorld.ITab_Pawn_Gear.FillTab () [0x00357] in <4b0e501518c44dd29e11fabe5e13ce53>:0 
  at Verse.InspectTabBase+<>c__DisplayClass16_0.<DoTabGUI>b__0 () [0x00039] in <4b0e501518c44dd29e11fabe5e13ce53>:0 
UnityEngine.StackTraceUtility:ExtractStackTrace ()
Verse.Log:Error (string)
Verse.Log:ErrorOnce (string,int)
Verse.InspectTabBase/<>c__DisplayClass16_0:<DoTabGUI>b__0 ()
Verse.ImmediateWindow:DoWindowContents (UnityEngine.Rect)
Verse.Window:InnerWindowOnGUI (int)
UnityEngine.GUI:CallWindowDelegate (UnityEngine.GUI/WindowFunction,int,int,UnityEngine.GUISkin,int,single,single,UnityEngine.GUIStyle)

The only patch around there is:

__result = (inv.def.IsNutritionGivingIngestible || inv.def.IsDrug) && inv.IngestibleNow && pawn.WillEat(inv, null, true);

Any ideas? It may not be a Common Sense bug, but it's easily reproducible for me, and it goes away if I disable CommonSense? Is it possible the .dll is built in a weird way?

Wrong or missing application of drug policies.

Re-post from the issue thread on Steam:

The application of drug policies for bringing joy-food and social drugs to sick patients seems to not work correctly.

I had a chemical interest pawn on addiction detox with no drugs allowed, but my doctors kept feeding him all manner of drugs (Wake-Up, Flake, mod teas) and I couldn't for the life of me figure out why. - Some of those drugs are forbidden in every policy I have.

I'm not sure if they apply their own policy or the patients for bringing this stuff, or even if his chemical fascination overrides the check, but turning the option off fixed the issue.

Some discussion and screenshots here: https://www.reddit.com/r/RimWorld/comments/p6ed2i/why_do_my_pawns_feed_all_manner_of_drugs_to_my/

Animals cant be butchered at a butcher table

Hi.

I have an issue where my pawns will bring an animal to butcher, then try, fail, and just let go of the animal.
I have narrowed the modlist down to Common Sense, as it doesnt happen with Harmony, Core, Royalty, Ideology, Mod Error Checker and Biotech installed, and enabled in that order.

Here is the stack trace for when a pawn tries to butcher an animal:

UnityEngine.StackTraceUtility:ExtractStackTrace ()
Verse.Log:Message (string)
RimWorld.VersionControl:LogVersionNumber ()
Verse.Root:CheckGlobalInit ()
Verse.Root:Start ()
Verse.Root_Entry:Start ()

Loading game from file New Arrivals8 with mods:
  - brrainz.harmony
  - Ludeon.RimWorld
  - Ludeon.RimWorld.Royalty
  - Ludeon.RimWorld.Ideology
  - Ludeon.RimWorld.Biotech
  - Taranchuk.ModErrorChecker
  - avilmask.CommonSense
UnityEngine.StackTraceUtility:ExtractStackTrace ()
Verse.Log:Message (string)
Verse.SavedGameLoaderNow:LoadGameFromSaveFileNow (string)
Verse.Root_Play/<>c:<Start>b__1_1 ()
Verse.LongEventHandler:RunEventFromAnotherThread (System.Action)
Verse.LongEventHandler/<>c:<UpdateCurrentAsynchronousEvent>b__27_0 ()
System.Threading.ThreadHelper:ThreadStart_Context (object)
System.Threading.ExecutionContext:RunInternal (System.Threading.ExecutionContext,System.Threading.ContextCallback,object,bool)
System.Threading.ExecutionContext:Run (System.Threading.ExecutionContext,System.Threading.ContextCallback,object,bool)
System.Threading.ExecutionContext:Run (System.Threading.ExecutionContext,System.Threading.ContextCallback,object)
System.Threading.ThreadHelper:ThreadStart ()

Exception in CheckCurrentToilEndOrFail for pawn Wolf driver=JobDriver_DoBill (toilIndex=24) driver.job=(DoBill (Job_15046) A=Thing_TableButcher38343 B=Thing_Corpse_Raccoon42975 C=(100, 0, 128))
System.ArgumentException: Value does not fall within the expected range.
  at Verse.AI.Job.GetTarget (Verse.AI.TargetIndex ind) [0x0002b] in <a00f98f6defb48d0a26adc267eeace6e>:0 
  at Verse.AI.ToilFailConditions+<>c__DisplayClass27_0.<FailOnDespawnedNullOrForbiddenPlacedThings>b__0 () [0x00046] in <a00f98f6defb48d0a26adc267eeace6e>:0 
  at Verse.AI.Toil+<>c__DisplayClass18_0.<AddFailCondition>b__0 () [0x00000] in <a00f98f6defb48d0a26adc267eeace6e>:0 
  at Verse.AI.JobDriver.CheckCurrentToilEndOrFail () [0x000e2] in <a00f98f6defb48d0a26adc267eeace6e>:0 
UnityEngine.StackTraceUtility:ExtractStackTrace ()
Verse.Log:Error (string)
Verse.AI.JobUtility:TryStartErrorRecoverJob (Verse.Pawn,string,System.Exception,Verse.AI.JobDriver)
Verse.AI.JobDriver:CheckCurrentToilEndOrFail ()
Verse.AI.JobDriver:TryActuallyStartNextToil ()
Verse.AI.JobDriver:ReadyForNextToil ()
Verse.AI.JobDriver:TryActuallyStartNextToil ()
Verse.AI.JobDriver:ReadyForNextToil ()
Verse.AI.JobDriver:Notify_PatherArrived ()
Verse.AI.Pawn_PathFollower:PatherArrived ()
Verse.AI.Pawn_PathFollower:StartPath (Verse.LocalTargetInfo,Verse.AI.PathEndMode)
Verse.AI.Toils_Goto/<>c__DisplayClass1_0:<GotoThing>b__0 ()
Verse.AI.JobDriver:TryActuallyStartNextToil ()
Verse.AI.JobDriver:ReadyForNextToil ()
Verse.AI.JobDriver:JumpToToil (Verse.AI.Toil)
Verse.AI.Toils_Jump/<>c__DisplayClass1_0:<JumpIf>b__0 ()
Verse.AI.JobDriver:TryActuallyStartNextToil ()
Verse.AI.JobDriver:ReadyForNextToil ()
Verse.AI.JobDriver:TryActuallyStartNextToil ()
Verse.AI.JobDriver:ReadyForNextToil ()
Verse.AI.JobDriver:TryActuallyStartNextToil ()
Verse.AI.JobDriver:ReadyForNextToil ()
Verse.AI.JobDriver:TryActuallyStartNextToil ()
Verse.AI.JobDriver:ReadyForNextToil ()
Verse.AI.JobDriver:TryActuallyStartNextToil ()
Verse.AI.JobDriver:ReadyForNextToil ()
Verse.AI.JobDriver:Notify_PatherArrived ()
Verse.AI.Pawn_PathFollower:PatherArrived ()
Verse.AI.Pawn_PathFollower:StartPath (Verse.LocalTargetInfo,Verse.AI.PathEndMode)
Verse.AI.Toils_Goto/<>c__DisplayClass1_0:<GotoThing>b__0 ()
Verse.AI.JobDriver:TryActuallyStartNextToil ()
Verse.AI.JobDriver:ReadyForNextToil ()
Verse.AI.JobDriver:TryActuallyStartNextToil ()
Verse.AI.JobDriver:ReadyForNextToil ()
Verse.AI.JobDriver:TryActuallyStartNextToil ()
Verse.AI.JobDriver:ReadyForNextToil ()
Verse.AI.JobDriver:TryActuallyStartNextToil ()
Verse.AI.JobDriver:ReadyForNextToil ()
Verse.AI.JobDriver:Notify_PatherArrived ()
Verse.AI.Pawn_PathFollower:PatherArrived ()
Verse.AI.Pawn_PathFollower:TryEnterNextPathCell ()
Verse.AI.Pawn_PathFollower:PatherTick ()
Verse.Pawn:Tick ()
Verse.TickList:Tick ()
Verse.TickManager:DoSingleTick ()
Verse.TickManager:TickManagerUpdate ()
Verse.Game:UpdatePlay ()
Verse.Root_Play:Update ()

Can the issue be reproduced?

Pawn randomly gets stuck standing - possibly limited to mech gestator work

I've run into this issue where my mechinator sometimes gets stuck "standing" when attempting mech gestator work, but I haven't been able to narrow down what exactly triggers the issue.

Attached are two save files that should demonstrate the behaviour - the second of which can demonstrate inability to even force the buggy work

I've run this by @CodeOptimist on their discord as well

Common Sense Bug.zip

Common Sense Bug 2.zip

RimWorldWin64_6WODuloe4u

image

System.ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: index
  at System.ThrowHelper.ThrowArgumentOutOfRangeException (System.ExceptionArgument argument, System.ExceptionResource resource) [0x00029] in <eae584ce26bc40229c1b1aa476bfa589>:0 
  at System.ThrowHelper.ThrowArgumentOutOfRangeException () [0x00000] in <eae584ce26bc40229c1b1aa476bfa589>:0 
  at CommonSense.JobDriver_DoBill_MakeNewToils_CommonSensePatch+<>c__DisplayClass1_1.<DoMakeToils>b__9 () [0x000af] in <03fc2660d7ff47aaae75e681b4ba70c1>:0 
  at Verse.AI.JobDriver.TryActuallyStartNextToil () [0x001b0] in <1ea541f48818430abd724fc665f76dc4>:0 
UnityEngine.StackTraceUtility:ExtractStackTrace ()
(wrapper dynamic-method) Verse.Log:Verse.Log.Error_Patch1 (string)
(wrapper dynamic-method) Verse.AI.JobUtility:Verse.AI.JobUtility.TryStartErrorRecoverJob_Patch1 (Verse.Pawn,string,System.Exception,Verse.AI.JobDriver)
Verse.AI.JobDriver:TryActuallyStartNextToil ()
Verse.AI.JobDriver:ReadyForNextToil ()
Verse.AI.JobDriver:TryActuallyStartNextToil ()
Verse.AI.JobDriver:ReadyForNextToil ()
Verse.AI.JobDriver:JumpToToil (Verse.AI.Toil)
Verse.AI.JobDriver_DoBill/<>c__DisplayClass17_0:<JumpIfTargetInsideBillGiver>b__0 ()
Verse.AI.JobDriver:TryActuallyStartNextToil ()
Verse.AI.JobDriver:ReadyForNextToil ()
Verse.AI.JobDriver:TryActuallyStartNextToil ()
Verse.AI.JobDriver:ReadyForNextToil ()
Verse.AI.JobDriver:JumpToToil (Verse.AI.Toil)
Verse.AI.Toils_Jump/<>c__DisplayClass1_0:<JumpIf>b__0 ()
Verse.AI.JobDriver:TryActuallyStartNextToil ()
Verse.AI.JobDriver:ReadyForNextToil ()
Verse.AI.JobDriver:JumpToToil (Verse.AI.Toil)
Verse.AI.JobDriver_DoBill/<>c__DisplayClass17_0:<JumpIfTargetInsideBillGiver>b__0 ()
Verse.AI.JobDriver:TryActuallyStartNextToil ()
Verse.AI.JobDriver:ReadyForNextToil ()
Verse.AI.JobDriver:TryActuallyStartNextToil ()
Verse.AI.JobDriver:ReadyForNextToil ()
Verse.AI.JobDriver:TryAct

uallyStartNextToil ()
Verse.AI.JobDriver:ReadyForNextToil ()
Verse.AI.JobDriver:TryActuallyStartNextToil ()
Verse.AI.JobDriver:ReadyForNextToil ()
Verse.AI.JobDriver:TryActuallyStartNextToil ()
Verse.AI.JobDriver:ReadyForNextToil ()
(wrapper dynamic-method) Verse.AI.Pawn_JobTracker:Verse.AI.Pawn_JobTracker.StartJob_Patch2 (Verse.AI.Pawn_JobTracker,Verse.AI.Job,Verse.AI.JobCondition,Verse.AI.ThinkNode,bool,bool,Verse.ThinkTreeDef,System.Nullable`1<Verse.AI.JobTag>,bool,bool,System.Nullable`1<bool>,bool,bool)
Verse.AI.Pawn_JobTracker:TryFindAndStartJob ()
(wrapper dynamic-method) Verse.AI.Pawn_JobTracker:Verse.AI.Pawn_JobTracker.EndCurrentJob_Patch3 (Verse.AI.Pawn_JobTracker,Verse.AI.JobCondition,bool,bool)
Verse.AI.Pawn_JobTracker:JobTrackerTick ()
Verse.Pawn:Tick ()
Verse.TickList:Tick ()
(wrapper dynamic-method) Verse.TickManager:Verse.TickManager.DoSingleTick_Patch2 (Verse.TickManager)
Verse.TickManager:TickManagerUpdate ()
Verse.Game:UpdatePlay ()
Verse.Root_Play:Update ()

Hello brake incompatabiliti with pickup and haul mod(

That mod https://github.com/Mehni/PickUpAndHaul
You has conflickt when turn on options Settings.adv_haul_all_ings
Can you plz fix it(
What happen when both mod work.
Pawn take order to make some items in table, afeter thay take order haul items to invenroy and go tryin find another items for more hauling, and its can go to loop and pawn will make it all day, and not craft any items ( If you can tell me how i can solve that i will try solve that inside on mod via merge request in PickUpAndHaul, or you will make some little patch for this mod. PLZ help(
Sorry for my bad eng(

Food taking priority.

I have a scenario, it look like not make sense for me.. XD
I am like to know whether this mod can solve it.

I have a restaurant and there is a door combine to my big freezer room. I keep a lot food in my restaurant (in a small refrigerator, come from another MOD, or put on floor)
But my people often try to take food from freezer room and go back to restaurant, eating at the table, without to pick up food from the restaurant.

I mean, people should get their food from the nearest place if all the food is no longer rotten.
If it can be done, I will very grateful. Thanks.

ToxicFallout IndexOutOfRangeException for pawns in trade ships

This is fairly niche, and the exception is mostly in vanilla code, but it results in error spam and I think the Need_NeedInterval_CommonSensePatch patch can be updated to avoid it.

  1. A trade ship passes by containing pawns
  2. This error spam starts:
Exception while recalculating ToxicFallout thought state for pawn Gorilla: System.IndexOutOfRangeException: Index was outside the bounds of the array.
  at Verse.RoofGrid.Roofed (Verse.IntVec3 c) [0x00017] in <2ac9ff1464ea49a284d37555c9c1f6ec>:0 
  at Verse.GridsUtility.Roofed (Verse.IntVec3 c, Verse.Map map) [0x00000] in <2ac9ff1464ea49a284d37555c9c1f6ec>:0 
  at RimWorld.ThoughtWorker_ToxicFallout.CurrentStateInternal (Verse.Pawn p) [0x00014] in <2ac9ff1464ea49a284d37555c9c1f6ec>:0 
  at RimWorld.ThoughtWorker.CurrentState (Verse.Pawn p) [0x00010] in <2ac9ff1464ea49a284d37555c9c1f6ec>:0 
  at (wrapper dynamic-method) RimWorld.SituationalThoughtHandler.RimWorld.SituationalThoughtHandler.TryCreateThought_Patch1(RimWorld.SituationalThoughtHandler,RimWorld.ThoughtDef)
UnityEngine.StackTraceUtility:ExtractStackTrace ()
(wrapper dynamic-method) Verse.Log:Verse.Log.Error_Patch1 (string)
(wrapper dynamic-method) RimWorld.SituationalThoughtHandler:RimWorld.SituationalThoughtHandler.TryCreateThought_Patch1 (RimWorld.SituationalThoughtHandler,RimWorld.ThoughtDef)
RimWorld.SituationalThoughtHandler:CheckRecalculateMoodThoughts ()
RimWorld.SituationalThoughtHandler:AppendMoodThoughts (System.Collections.Generic.List`1<RimWorld.Thought>)
RimWorld.ThoughtHandler:GetAllMoodThoughts (System.Collections.Generic.List`1<RimWorld.Thought>)
RimWorld.ThoughtHandler:GetDistinctMoodThoughtGroups (System.Collections.Generic.List`1<RimWorld.Thought>)
RimWorld.ThoughtHandler:TotalMoodOffset ()
RimWorld.Need_Mood:get_CurInstantLevel ()
CommonSense.Need_NeedInterval_CommonSensePatch:Postfix (RimWorld.Need_Mood)
(wrapper dynamic-method) RimWorld.Need_Mood:RimWorld.Need_Mood.NeedInterval_Patch1 (RimWorld.Need_Mood)
RimWorld.Pawn_NeedsTracker:NeedsTrackerTick ()
(wrapper dynamic-method) Verse.Pawn:Verse.Pawn.Tick_Patch1 (Verse.Pawn)
RimWorld.TradeShip:PassingShipTick ()
RimWorld.PassingShipManager:PassingShipManagerTick ()
(wrapper dynamic-method) Verse.Map:Verse.Map.MapPostTick_Patch3 (Verse.Map)
(wrapper dynamic-method) Verse.TickManager:Verse.TickManager.DoSingleTick_Patch2 (Verse.TickManager)
Verse.TickManager:TickManagerUpdate ()

Ok... so that's a big ol pile of other people's code. But it seems like it's kicked off from Need_NeedInterval_CommonSensePatch:Postfix reading a current need level from a pawn in a trade ship... and that seems like you could probably bail out of the method earlier and avoid their bugs. Maybe check to see if the pawn isn't on the current map, or isn't spawned, or something? I don't know exactly which property you'd check.

Based on the error it seems likely that it could happen for most worldpawns, not just tradeship pawns, but who knows.

Pawn's don't use Replimat

Pawn's don't use the Replimat Terminal from Replimat Mod.
I switched any mod options, but only disabling the mod let the pawn's use the Replimat.
I use the Master from Github.

Error popping really often

Hi,
This is from my first times adding a problem to a mod. Anything to improve is welcome.
I added your mod to my mod list. I debugged an error that ends in its mod where this error appears very frequently (several times in the same second).
Here is the log.
Maybe my modlist makes some incompatibilities with your mod.
I have no more information on my hands of this error.

On the other hand, I have seen that in the configuration of mods a section should appear to configure your mod. It does not appear to me.

It may also be because I am using its latest updated version on git and it is not a release version.
If so, my apologies for being muddled.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.