RimWorld

RimWorld

TerrainMovementKit
25 Comments
Ender Wiggin 2 Aug, 2023 @ 11:54pm 
This mod replaces some pathfinding methods instead of patching them, which breaks other mods that try to patch those methods.
Hoddrock 22 May, 2023 @ 10:19am 
Does this mod make lava dangerous because I don’t have this mod and pawns can walk on lava naked with not even a debuff or a tick of damage
ShauaPuta 23 Jan, 2023 @ 6:40am 
Ah, sad to hear
I was hoping to make some wheeled animals move faster on smooth terrains like concrete
pyrce  [author] 17 Jan, 2023 @ 5:44pm 
@shauaputa It's probably that the underlying terrain has a floor layer ontop. So it's finding the original terrain under rather than the built planks or concrete. I think the mod would need to be updated / modified some to identify built terrain.
ShauaPuta 9 Jan, 2023 @ 6:45pm 
Excuse me mod author sir dude fella
I have been trying to add terrain costs for my mod, but I have been unable to even after following the wiki and using biomes islands as a base
For some reason, I can patch my custom stats to sand, soil, and other natural terrains just fine, but artificial terrains like planks and concrete ignore my stat and use the default move instead
Could you gib me any tips on what I've been doing wrong?
pyrce  [author] 29 Oct, 2022 @ 4:47pm 
Updated to 1.4
Tec 16 Aug, 2022 @ 5:38am 
@pyrce darn was hoping to avoid c# XD
pyrce  [author] 15 Aug, 2022 @ 8:05pm 
@Tec Yes you can still patch those. You have to do it from C# though. You need to add an instance of `TerrainMovementStatDef` to the `modExtensions` of the terrain that's generated by code. You run this after the other mod is done generating terrain, usually by making your mod load after and running your code inside a `StaticConstructorOnStartup` block
Tec 9 Aug, 2022 @ 6:58am 
thought you should know. if you disable normal movement and try and set the speed for each TerrainDef. You cant actually seem to xpath patch the #RockBaseType#_Rough/_RoughHewn/-Smooth terrains as they are generated via code and dont produce a patchable def to add extensions or stat bases to. If there is a way to do this, i would like to know.
pyrce  [author] 18 Jul, 2021 @ 11:32am 
Ok yeah, doesn't look like this mod, but I'll try to reproduce to make sure. Thanks for checking on the fix working!
StarMan_Dx 18 Jul, 2021 @ 9:28am 
Standing bug is gone. Had two new errors pop up. A pawn attempting to haul to a place that doesn't exist, it was hunting a dead animal. I cleared what it was doing and that seemed to fix it with no return of the error.
This popped up while pawns attempted to attack an animal that was attacking another pawn:

Assitant started 10 jobs in 10 ticks.
Verse.Log:Error(String, Boolean)
Verse.AI.JobUtility:TryStartErrorRecoverJob(Pawn, String, Exception, JobDriver)
Verse.AI.Pawn_JobTracker:FinalizeTick()
Verse.AI.Pawn_JobTracker:Verse.AI.Pawn_JobTracker.JobTrackerTick_Patch0(Pawn_JobTracker)
Verse.Pawn:Verse.Pawn.Tick_Patch3(Pawn)
Verse.TickList:Tick()
Verse.TickManager:Verse.TickManager.DoSingleTick_Patch2(TickManager)
Verse.TickManager:Verse.TickManager.TickManagerUpdate_Patch1(TickManager)
Verse.Game:UpdatePlay()
Verse.Root_Play:Verse.Root_Play.Update_Patch1(Root_Play)


Can't recreate it. I think its unrelated and could be a problem from another mod. If any else pops up I'll let you know.
StarMan_Dx 18 Jul, 2021 @ 8:55am 
Sure, I'll pop it back in. Let you know in about 10 minutes.
pyrce  [author] 18 Jul, 2021 @ 8:47am 
Thanks for narrowing it down. I just pushed a fix that I think should remove t he error. Someone else reported a similar issue in beta testing Islands mod and I fixed that one which was the same error message. Can you confirm if the update fixes it for you?
StarMan_Dx 18 Jul, 2021 @ 8:39am 
Just an edited Crashlanded scenario that disables the incidents Self Tame, Toxic Fallout, Wander Joins, Mass and Single Animal Insanity, made through the game itself and not a custom script.

This was used to start the current save I am on now, which I've been on for a few days. TerrainMovementKit was present when I made it and was functioning fine. The standing bug started today when I loaded the save, which is what led me to check what updated overnight and troubleshooting each mod that was.
pyrce  [author] 18 Jul, 2021 @ 8:02am 
Were you starting a custom scenario start? Like Fell Tribe?
StarMan_Dx 18 Jul, 2021 @ 6:41am 
Just a heads up, Pyrce, but I had a standing bug error this morning. After going through every mod that updated over night, removing yours was what fixed it. All of it seems food related, but not related to any one mod that adds food.


TryMakePreToilReservations() returned false for a non-queued job right after StartJob(). This should have been checked before. curJob=Ingest (Job_598379) A=Thing_MealSimple539574
Verse.Log:Warning(String, Boolean)


Don't know if its self contained to TerrainMovementKit, but I figured I'd let you know.
pyrce  [author] 17 Jul, 2021 @ 10:25pm 
Fixed a long-standing issue where pawns could get jobs to cells they couldn't reach on the 1.3 update.
Hcup 1 Jan, 2021 @ 9:45am 
I wish many modders also use this mod cause it makes the world so lively. Along with the nocturnal animal mod.
pyrce  [author] 10 Dec, 2020 @ 5:02pm 
Thanks Fox! I've released the patch you made now
Fox with a Shotgun 9 Dec, 2020 @ 2:09am 
Done, you now have a PR to approve :D
Fox with a Shotgun 8 Dec, 2020 @ 2:16pm 
Alright, I'll do that once Visual Studio stops derping around and lets me open up a pull request >.<
pyrce  [author] 8 Dec, 2020 @ 1:57pm 
Thanks for letting me know! I've been a bit disconnected with a newborn, but if you wanted to submit the patch to https://github.com/MSeal/RimworldTerrainMovementKit I'd be happy to merge. Otherwise I can also get back to it when I get free cycles for modding again
Fox with a Shotgun 5 Dec, 2020 @ 6:07pm 
Hiya. Just a heads up, there's a really subtle error that can come about in the function BestTerrainMovementStatDefs.

You have a line in there that is looking for a pawn's current job, in order to determine locomotion urgency. Normally, a pawn's list of jobs is present, and this isn't a problem. The problem exists when this function is invoked during PostSpawnSetup of a pawn; e.g. when adding a hediff as part of PostSpawnSetup.

At this point, the pawn's job list isn't initialised and is null, therefore causing a null ref when you call

var curJob = pawn.jobs.curJob.

Changing this to have a null-conditional assignment will fix the error.

var curJob = pawn.jobs?.curJob

Found this one while investigating a message-log spam on my race mod.
pyrce  [author] 8 Aug, 2020 @ 12:00am 
:D ty!
Killian_Hart 4 Aug, 2020 @ 6:22am 
this is a stroke of genius. the alpha animals guys need to see this, it's one of those very simple changes that has massive effects on other systems, great idea, well done