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
Just one small inconsistency I noticed though: quite a few of the traits with two words in the name randomly have the second word capitalized (e.g. Psychic Prodigy, High Bandwidth, Prison Guard, etc), while the rest are normal (e.g. Natural genius, Crack shot, Field medic, etc). As none of the traits in the base game have the second word capitalized, I hope you can fix the capitalization so that they're all uniform. Small issue I know, but it's been bugging me lol.
For example, new creep joiners can come with a whole assortment of unique traits, ranging from Body Mastery which removes all food, sleep and comfort needs to Joybringer which acts as a small yet constant psychic sooth for your colony. Expanding on the anomalous traits these joiners can have would add more interesting quirks to consider when recruiting these folks.
To give you some suggestions to start off with if possible, you could add a Psychic Sight or Third Eye trait that forces the pawn to have a minimum of 100% or above sight, even when missing their eyes all together. A Telepath trait would be cool, similar to VFR Fungoid's gene but allowing them to start social interactions with any pawn.
firstly, if you use github, you could grab the files from it before you broke them! (and if you don't, you really should use it)
or, if you are willing to deal with steam shennanigins, you can use steams "revert version" to revert this mod to a state before you broke it. You then subscribe to the mod, meaning you have 2 copies of your mod:
1 mod is the local copy (what your making), with the broken 1.4
1 mod is the steam one, without 1.5 (since you reverted it).
Then, just copy the steam mods 1.4 into your mod, and upload this new one! (Not sure if steam stores versions far enbough back to
just some thoughts on if you want to fix it!
I know mods are getting updated all over the place, and I don't know enough to figure out what might be causing the issue. Any advice is greatly appreciated. The super soldier program must continue.
Just a thought!
Verse.GenThreading/<>c__DisplayClass7_1`1<Verse.DirectXmlCrossRefLoader/WantedRef>:<ParallelForEach>b__0 (object)
System.Threading.QueueUserWorkItemCallback:WaitCallback_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.QueueUserWorkItemCallback:System.Threading.IThreadPoolWorkItem.ExecuteWorkItem ()
System.Threading.ThreadPoolWorkQueue:Dispatch ()
System.Threading._ThreadPoolWaitCallback:PerformWaitCallback ()
Could not resolve cross-reference to RimWorld.TraitDef named peasant (wanter=positiveTraitDefs)
UnityEngine.StackTraceUtility:ExtractStackTrace ()
(wrapper dynamic-method) Verse.Log:Verse.Log.Error_Patch3 (string)
Verse.DirectXmlCrossRefLoader:TryResolveDef<RimWorld.TraitDef> (string,Verse.FailMode,object)
Verse.DirectXmlCrossRefLoader/WantedRefForList`1<RimWorld.TraitDef>:TryResolve (Verse.FailMode)
Verse.DirectXmlCrossRefLoader/<>c__DisplayClass16_1:<ResolveAllWantedCrossReferences>b__0 (Verse.DirectXmlCrossRefLoader/WantedRef)
Is there any chance to see a trait that would allow Non-Tribals to link with Anima Trees, if its even possible? And/or giving a bonus for treating Guaranlen trees, like some kinda Royalty/Ideology crossover 'Dendrophile' trait?
on social lvl 0 the pawn have a multiplier of x5%, and on lvl 20 a multiplier of x50%
it is on purpose that on lvl 20 the maximun supression is only 50%
i don't know what is the math that the game does for the calculation but i think it will follow the basic math rules, that is: allways multiplication and division before addition and subtraction
so if you want to add 65% to the social max level (50%) you need to change it from a multiplier (x65%) to a addition (+65%)
if your intend is to increase as a multiplier, the you need the number to be x165%
when you are multipling %, to simplify the calculation what you can do is, remove the % and down 2 houses on the number
so 100% = 1,00, 5% = 0,05, 50% = 0,50, 65% = 0,65, 165% = 1,65
continue below \/
with your mod it becomes: 1,00 x 0,65 x 0,50 = 0,325
if you change to +65% the result will depend of how the game do the math it can become either: 1,00 x 0,50 + 0,65 = 1,15 or (1,00 + 0,65) x 0,50 = 0,825 or even 1,00 + 0,65 * 0,50 = 1,325 <-- this last one is a cientifc methode math so probably it is not how the game will do the calculation
and lastly, if you use x165% then the math goes: 1,00 x 1,65 x 0,50 = 0,825
when multipling by 0,65 the calculation always will end on a broken number such 0,825 or 0,325, the game don't round up them and will only show (and i think also only use) the 2 decimals below zero, so 0,825 = 0,82 and 0,325 = 0,32
i expect that this have explained better the problem on your mod :3
I meant to multiply the suppression stat so it is more effective.
I haven't played much since ideology release. However when i was making that trait i looked at a level 20 social pawn. The level 20 had a multiplier that went down as the social skill went up. It was not intuitive and did not follow logic but i followed it anyway. Again, this was at ideology release and may have been bugged in one way or another and may be fixed now.
im not quite sure what you mean with your explanation on the second half of your message. Are you saying a better social skill (now) multiplies 'Suppression Power' by a factor of greater than 1?
What is the suppression power multiplier for a level 1 social pawn vs a level 20 social pawn? does it follow the same pattern as i mentioned, an inverse relation?
Both work like a charm.
Thank you.
Like Kaedys mentioned, you might want to add a prefix to all new traits and at some point to the old ones to avoid this from the get go.
1. Renamed the RoM folder and the file in it both to Patches
2. Put Patches folder into the Ideology folder
3. Changed the patch operation to the one below (lifted from another mod)
Tested with a savegame that had the Priest magic class but your stats (so, RoM loads before SYN).
Now the pawn has still the magic class but the correct stats with it and a seperate Priest trait appears in trait list. Both traits can be used simultaneously without conflict. Horray for Priest Priest or Double Priest! (coming to a theater near you
<?xml version="1.0" encoding="utf-8" ?>
<Patch>
<Operation Class="PatchOperationSequence">
<operations>
<li Class="PatchOperationReplace">
<xpath>/Defs/TraitDef[@Name="SN_Priest"]/defName</xpath>
<value><defName>SN_Priest</defName></value>
</li>
</operations>
</Operation>
</Patch>
Unfortunately it does not. Same behaviour as before, lower load order mod overrides the stats of the trait, while always giving the magic class. And only one instance of the Priest trait exists.
Just played around with the def file and changed defName from Priest to SN_Priest too (like the TraitDef Name) and it woked, now I got seperate Priest traits that only give the boni they are supposed too.
I therefor assume that the patch operation doesn't do what it should.
So what you could do is add the above attribute, using the "SN_" prefix in it, to your def, and then use that to positively identify only your trait for the patch without trampling RoM's def as well. Essentially:
(In your main def file)
<TraitDef Name="SN_Priest">
(In your patch file)
[FindMod RoM]
<match Class="PatchOperationReplace">
<xpath>/Defs/TraitDef[@Name="SN_Priest"]/defName</xpath>
<value><defName>SN_Priest</defName></value>
Funnily enough, deactivating the class via the mod menu still gives the magic tab but clicking it breaks the ui. ... am i glad not to be a programmer, bug fixing would drive me crazy.
I posted the problem on AROM too, so I'll wait and see if it gets fixed there.
Not tthat I really mind, It is just strange that my Commisar moral guide is an actual healing priest, but i guess he heals those he tries to break, to try another day. :3
Anyway, basic skeleton would be:
<check RoM>
<match Class="PatchOperationReplace">
<xpath>/Defs/TraitDef[defName="Priest" and not(disabledWorkTags)]/defName</xpath>
<value><defName>SN_Priest</defName></value>
</match>
Now, I think that conditional will work, but you should test it. It seemed like the most obvious single-point difference between the defs, and one rather unlikely to ever be the same between them, as RoM Priest's class fantasy is being entirely non-violent in exchange for amazeballs heals. Another option that could work would be Commonality, which is 0 in RoM and 0.3 in this mod, but that felt more brittle to breakage.
Also, a good case example for why it's recommended to prefix/suffix your defnames with something mod-specific/unique, to avoid conflicts like this. (2/2)
A RimWorld of Magic
https://steamcommunity.com/sharedfiles/filedetails/?id=1201382956
has a has a Priest Class (with same trait name) giving pawns both the magic class but your traits stats.
According to the character editor mod the priest trait is missing from the AROM trait list if filtered only for that mod.
XML format error: Raw text found inside a list element. Did you mean to surround it with list item <li> tags? <supportedVersions><li>1.1</li><li>1.2</li>.
<li>1.3</li></supportedVersions>
(Filename: C:\buildslave\unity\build\Runtime/Export/Debug/Debug.bindings.h Line: 35)
You have an extra period after the list end tag for 1.2.