Install Steam
login
|
language
简体中文 (Simplified Chinese)
繁體中文 (Traditional Chinese)
日本語 (Japanese)
한국어 (Korean)
ไทย (Thai)
Български (Bulgarian)
Čeština (Czech)
Dansk (Danish)
Deutsch (German)
Español - España (Spanish - Spain)
Español - Latinoamérica (Spanish - Latin America)
Ελληνικά (Greek)
Français (French)
Italiano (Italian)
Bahasa Indonesia (Indonesian)
Magyar (Hungarian)
Nederlands (Dutch)
Norsk (Norwegian)
Polski (Polish)
Português (Portuguese - Portugal)
Português - Brasil (Portuguese - Brazil)
Română (Romanian)
Русский (Russian)
Suomi (Finnish)
Svenska (Swedish)
Türkçe (Turkish)
Tiếng Việt (Vietnamese)
Українська (Ukrainian)
Report a translation problem
Better GC: Mothballed and World Pawns
和这个可以一起使用吗?
So Iv decided to change the patch in NRTAM with a new condition check,
<li Class="PatchOperationConditional"><!-- test if it exists -->
<xpath>Defs/HediffDef[defName="Malnutrition"]/allowMothballIfLowPriorityWorldPawn</xpath>
<match Class="PatchOperationReplace"><!-- replace if it does exist -->
<xpath>Defs/HediffDef[defName="Malnutrition"]/allowMothballIfLowPriorityWorldPawn</xpath>
<value>
<allowMothballIfLowPriorityWorldPawn>true</allowMothballIfLowPriorityWorldPawn>
</value>
</match>
<nomatch Class="PatchOperationAdd"><!-- add if it doesn't exist -->
<xpath>Defs/HediffDef[defName="Malnutrition"]</xpath>
<value>
<allowMothballIfLowPriorityWorldPawn>true</allowMothballIfLowPriorityWorldPawn>
</value>
</nomatch>
</li>
And add a loadsequence,
<loadAfter>
<li>Ludeon.RimWorld</li>
<li>Ludeon.RimWorld.Royalty</li>
<li>Ludeon.RimWorld.Ideology</li>
<li>Ludeon.RimWorld.Biotech</li>
<li>Ludeon.RimWorld.Anomaly</li>
<li>GwinnBleidd.MothballedAndDeadPawns</li>
</loadAfter>
Thank you for the feedback.
In details, both mods are patching the same hediff "Malnutrition",
in BetterGC the patch looks like this,
<Operation Class="PatchOperationAdd">
<xpath>Defs/HediffDef[defName="Malnutrition"]</xpath>
<value>
<allowMothballIfLowPriorityWorldPawn>true</allowMothballIfLowPriorityWorldPawn>
</value>
</Operation>
Its a patch without any condition check, means in any case the patch will add the term <allowMothballIfLowPriorityWorldPawn>true</allowMothballIfLowPriorityWorldPawn> . This would case a conflict when other mods try to patch the same term according to the rule "There should be no duplicated terms".
[No Reasons To Avoid Mothballing - Start of stack trace]
Verse.PatchOperationAdd(xpath="/Defs/HediffDef[defName="Malnutrition" and not(allowMothballIfLowPriorityWorldPawn="true")]"): Failed to find a node with the given xpath
Verse.PatchOperationSequence: Error in the operation at position=1
[End of stack trace]
Probably because its already patched.
hediffs last more than a day
hediffs donot expired on its own
combat damages(stab, bruise, cut ... etc.)
these hediffs will not be patched:
disease
toxic buildup
pregnant
your guys beated him hard and he started to flee, he was still "alive" before he walked out the map.
finally he walked out the map and you can not track him anymore, but since he had a Go-juice and the effect(hediff) was still on going, the game had to simulate him. He is now a "worldpawn" and "alive"
after some time the Go-juice effect has gone, there was no need to monitor him anymore, calculate his hunger or sleep need seemed useless. The game then decided every 1/4 day only update his age record, this is so called "mothballing a worldpawn".
from the story you may find 3 basic status when the game running a pawn simulation:
"alive" - the pawn's all parameters have to be simulated every game tick
"mothballing" - only the age will be updated every 1/4 ingame day
"dead" - somebody is dead but not sleeping
and generally 2 types of pawns:
pawn at home(map)
worldpawn(caravan or backstage)
It's that I've never heard about it before, and so I would like to hear a general summary of it and alongside preferably an explanation too if you have the time, thank you in advance
1. say that we have mods ABCDEFG and corresponded patches A'B'C'D'E'F'G', and you only want to load mods ABC without DEFG, then only patches A'B'C' will be loaded into the game. Each patch has its own check condition. There is no point to add an extra condition check again in about.xml.
2.Iv said the word "load this mod at the bottom of the list", this happens when somebody else made another patch A'' to mod A. In this case, load this mod at the bottom of the list, only patches B'C'D' and so on will be activated if mods BCD etc have been loaded.
3. the game decided to load the Defs before patches, so it doesnt matter where i put my patches. In fact, iv tried to load the patches right after Core, even before Royalty and Biotech, still works with no red popup.
<loadAfter>
<li>Ludeon.RimWorld</li>
<li>Ludeon.RimWorld.Royalty</li>
<li>Ludeon.RimWorld.Ideology</li>
<li>Ludeon.RimWorld.Biotech</li>
<li>brrainz.harmony</li>
<li>oskarpotocki.vanillafactionsexpanded.core</li>
<li>vanillaracesexpanded.saurid</li>
<li>vanillaracesexpanded.phytokin</li>
<li>vanillaracesexpanded.hussar</li>
<li>vera.bug</li>
<li>rooboid.minotaur</li>
<li>albion.sparklingworlds.addon.bluemoon</li>
<li>sarg.alphagenes</li>
</loadAfter>
Its not all of them as im not gonna downlaod mods ill never even wanna be seen in my mod list like rjw but this should help for most people
for the 2nd question, the universal solution is "load this mod at the bottom of the list"
1.I was not sure if i should patch these, but maybe regarding this mod "more patched hediffs" = "better performance"
2.assume pawns who walked out of the map could take a break and tend themselves, it sounds a bit realistic
This is good for things like bleeding, where if they go off the edge of the map 1s before death they should still be able to die instead of going into stasis. This is bad for things like genetic drug dependencies, where this has no right to leave that pawn giving you a performance impact for the next several months.
The mod fixes these silly cases.