Menu

Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Show posts Menu

Messages - Ink.

#1
Quote from: Canute on December 31, 2020, 03:41:15 AM
Chicken plucker made many faction with special gear.
Maybe you should take a look at one of his factions.
https://ludeon.com/forums/index.php?topic=40519.0

Cordis Die is a Chicken Plucker faction that I'm referencing. After a bit more investigation I learned that how he did it was through creating tags for his own apparel. So now I just gotta figure out how to create new tags for Vanilla/other modded apparel via patch and I think I can do what I desire (god I hope so).
#2
So, I've got a new faction I've created and I'd like to make it so there is a certain list of apparel they are allowed to spawn with, and for some pawnkinds certain pieces are forced. So I've been using RH Cordis Die as a reference guide to accomplish this, but I'm not having much luck. My <apparelRequired> tags work successfully, but my <apparelTags> do not, and I suspect this is because my <apparelTags> are all filled with defnames and not tags.

See example:
<apparelTags>
<li>Apparel_CowboyHat</li>
<li>Apparel_Tuque</li>
<li>Apparel_WarVeil</li>
<li>Apparel_Pants</li>
<li>Apparel_BasicShirt</li>
<li>VAE_Headgear_Balaclava</li>
<li>VAE_Headgear_BaseballCap</li>
<li>VAE_Headgear_Sunglasses</li>
<li>VAE_Headgear_Glasses</li>
<li>VAE_Apparel_Hoodie</li>
<li>VAE_Apparel_FleeceShirt</li>
<li>VAE_Apparel_Jeans</li>
</apparelTags>
<apparelRequired>
<li>VAE_Headgear_Hood</li>
</apparelRequired>


Thus my new faction spawns with apparel I do not wish them to. Is my theory to why correct and if so, what can I do so that my faction will spawn only with the apparel pieces I desire them to, but without forcing them to wear certain pieces (for variety sake)?
#3
Help / Re: Patching a modded trader for another mod
October 12, 2020, 06:37:57 PM
Quote from: RawCode on October 12, 2020, 05:58:45 PM
what about trying to patch ONE thing at time?

it's always fun and "effective" to pack everything into single patch and ask on forum, but...

Right, that makes sense. From there, my question simply narrows down to how I can get the patch for adding the add-on ships to my trader to only add them if that mod is active. So far, I've tried to nest a findmod operation within to do this, based on an example on rimworld wiki, but I get the same error as above.

So I'm struggling to find out where I'm misunderstanding my process.
#4
Help / Patching a modded trader for another mod
October 12, 2020, 05:56:23 PM
Okay, so I'm having an issue trying to get a patch working for another mod integration with mine. What my mod does is adds a market value to the ships of the SRTS Expanded mod and then introduces a new trader that sells those ships. That works flawlessly.

But now others would like a patch that supports other add-ons that add more ships to SRTS, and to work with mine as well. And that's where I'm having issue. I'm trying to figure out how I can do the same to that mod as I do to mine. I've had success in patching the market value of the add-on ships mod, but I cannot figure out how I then patch my own mod to include those ships in the trader IF the add-on mod is installed.

The following xml is the best I've come up with but fails with the error:

Quote[SRTS Expanded: Trader Ships] Patch operation Verse.PatchOperationFindMod([RWY]SRTS Expanded: The Crimson Fleet) failed
file: C:\Program Files (x86)\Steam\steamapps\common\RimWorld\Mods\SRTS Trader Ships\Patches\Patch_CrimsonFleet.xml

<?xml version="1.0" encoding="utf-8" ?>

<!-- Potentially patching the value of all ships * 2 -->
<Patch>

<Operation Class="PatchOperationFindMod">
<mods>
<li>[RWY]SRTS Expanded: The Crimson Fleet</li>
</mods>
<match Class="PatchOperationSequence">
<success>Normal</success>
<operations>
<li Class="PatchOperationAdd">
<xpath>/Defs/ThingDef[defName="TCFSurveyor"]/statBases</xpath>
<value>
<MarketValue>11274</MarketValue>
</value>
</li>

<li Class="PatchOperationAdd">
<xpath>/Defs/ThingDef[defName="TCFComet"]/statBases</xpath>
<value>
<MarketValue>17130</MarketValue>
</value>
</li>

<li Class="PatchOperationAdd">
<xpath>/Defs/ThingDef[defName="TCFCourier"]/statBases</xpath>
<value>
<MarketValue>18908</MarketValue>
</value>
</li>

<li Class="PatchOperationAdd">
<xpath>/Defs/ThingDef[defName="TCFBasilisk"]/statBases</xpath>
<value>
<MarketValue>32620</MarketValue>
</value>
</li>

<li Class="PatchOperationAdd">
<xpath>/Defs/ThingDef[defName="TCFTitan"]/statBases</xpath>
<value>
<MarketValue>48560</MarketValue>
</value>
</li>

<li Class="PatchOperationAdd">
<xpath>/Defs/ThingDef[defName="TCFAurora"]/statBases</xpath>
<value>
<MarketValue>178200</MarketValue>
</value>
</li>

<li Class="PatchOperationFindMod">
<mods>
<li>SRTS Expanded: Trader Ships</li>
</mods>

<match Class="PatchOperationSequence">
<success>Normal</success>
<operations>
<li Class="PatchOperationAdd">
<xpath>/Defs/TraderKindDef[defName="SRTSSHIPTrader"]/stockGenerators</xpath>
<value>
<li><li Class="StockGenerator_SingleDef">
<thingDef>TCFSurveyor</thingDef>
<countRange>1~3</countRange>
</li></li>
</value>
</li>

<li Class="PatchOperationAdd">
<xpath>/Defs/TraderKindDef[defName="SRTSSHIPTrader"]/stockGenerators</xpath>
<value>
<li><li Class="StockGenerator_SingleDef">
<thingDef>TCFComet</thingDef>
<countRange>1~3</countRange>
</li></li>
</value>
</li>

<li Class="PatchOperationAdd">
<xpath>/Defs/TraderKindDef[defName="SRTSSHIPTrader"]/stockGenerators</xpath>
<value>
<li><li Class="StockGenerator_SingleDef">
<thingDef>TCFCourier</thingDef>
<countRange>1~3</countRange>
</li></li>
</value>
</li>

<li Class="PatchOperationAdd">
<xpath>/Defs/TraderKindDef[defName="SRTSSHIPTrader"]/stockGenerators</xpath>
<value>
<li><li Class="StockGenerator_SingleDef">
<thingDef>TCFBasilisk</thingDef>
<countRange>1~3</countRange>
</li></li>
</value>
</li>

<li Class="PatchOperationAdd">
<xpath>/Defs/TraderKindDef[defName="SRTSSHIPTrader"]/stockGenerators</xpath>
<value>
<li><li Class="StockGenerator_SingleDef">
<thingDef>TCFTitan</thingDef>
<countRange>1~3</countRange>
</li></li>
</value>
</li>

<li Class="PatchOperationAdd">
<xpath>/Defs/TraderKindDef[defName="SRTSSHIPTrader"]/stockGenerators</xpath>
<value>
<li><li Class="StockGenerator_SingleDef">
<thingDef>TCFAurora</thingDef>
<countRange>1~3</countRange>
</li></li>
</value>
</li>

</operations>
</match>

</li>
</operations>
</match>
</Operation>

</Patch>


I don't have immense experience with patching so I'm a bit confused about what's happening. Any info you can provide would be greatly appreciated and help my understanding of the patching process. Thank you.
#5
Help / teetotaler vs. chem interest
May 31, 2020, 10:10:44 AM
So I'm trying to artificially create cliques in my colony to make use of the brawl and divided colony mechanics of a social mod. For my playthrough, I figured the easiest and most reliable way to do this would be to crank up the opinion difference for chemical interest vs teetotaler and make sure each pawn in my colony has 1 of those traits.

So I found the Thoughts_Situation_Social file and started going through it to see how it worked, but it appears that's not what controls it so changing the opinion offset in there has had no effect. So my question was, where could I find and change the opinion modifier for chemical interest vs. teetotaler.

OR

Is there a better solution to make certain 'types' of pawns think poorly of one another while not affecting people with the same trait as them?
#6
Reviving an old mod of mine, I want to make a simple prop building (akin to VFE - Props & Decor) require a Human corpse as part of the building recipe. But I think corpses may not work in the way I require so I'm unsure how I could make this possible..

Edit - So I finally figured out how, but now I'm wondering if it's possible to only allow stranger corpses instead of colonist corpses for building purposes? I'm not sure if the filter feature could even work here, unless I made it a minified object and had it made at a workbench.

<ThingDef ParentName="BuildingBase">
<defName>HeadPike</defName>
<label>headpike</label>
<description>A head stuck on a pike, ooo scary.</description>
<graphicData>
<texPath>Things/Building/Headpike</texPath>
<graphicClass>Graphic_Single</graphicClass>
<drawSize>(2,2)</drawSize>
</graphicData>
<altitudeLayer>Building</altitudeLayer>
<defaultPlacingRot>North</defaultPlacingRot>
<rotatable>false</rotatable>
<passability>PassThroughOnly</passability>
<fillPercent>0.1</fillPercent>
<statBases>
<MaxHitPoints>20</MaxHitPoints>
<WorkToBuild>50</WorkToBuild>
<Mass>5</Mass>
<Beauty>-1</Beauty>
<Flammability>1.0</Flammability>
</statBases>
<CostList>
<WoodLog>2</WoodLog>
<!-- To be investigated
<CorpseHumanlike>1</CorpseHumanlike> -->
</CostList>
<designationCategory>Furniture</designationCategory>
<uiIconScale>.5</uiIconScale>
<leaveResourcesWhenKilled>false</leaveResourcesWhenKilled>
<building>
<isInert>true</isInert>
</building>
</ThingDef>


Cheers. I hope it's relatively simple. I don't intend on the mod being comparable to the Effigy mod.
#7
So I've added a couple simple modded factions to my game of my own creation. The problem is that for each of these factions, no matter what the case is, they always use a drop pod raid strategy in the center of my base. They never walk into the map, they never land at the edge of the map, they never prepare for awhile.

But other faction mods and the vanilla factions seem to varying raid strategies. I have <canStageAttacks> set to true and I do not have any mods active favoring/disabling certain raid strategies. I'm using vanilla story-tellers as well. I have just never once been attacked with any other strategy.
#8
Help / Assistance patching another mod
April 16, 2020, 11:02:33 AM
I've been working on a bit of a sub-mod for SRTS expanded which simply makes a new trader that sells the ships. It all works fine except for one part - the cost of the ships. It's basing the current cost on resources used and labor. However; I'd like to apply a modifier to that so that it is more expensive to buy a ship than it is to create for balancing purposes.

I'm not really sure how to do that as I do minimal xml modding for myself, and so the logic I came up with is to patch the ships to have a MarketValue tag that they currently lack with a value pre-calculated for my multiplier. My patch keeps failing and my experience looking through other mod patches to see how they've done it has yielded no results.

So I'm here to ask for more information on how patching works and what I'm not understanding about my approach. This is the error my patch gives:

[SRTS Expanded: Trader Ships] Patch operation Verse.PatchOperationFindMod(SRTS Expanded) failed
file: C:\Program Files (x86)\Steam\steamapps\common\RimWorld\Mods\SRTSTraderTests\Patches\Patch_SRTSExpanded.xml
Verse.Log:Error(String, Boolean)
Verse.PatchOperation:Complete(String)
Verse.LoadedModManager:ClearCachedPatches()
Verse.LoadedModManager:LoadAllActiveMods()
Verse.PlayDataLoader:DoPlayLoad()
Verse.PlayDataLoader:LoadAllPlayData(Boolean)
Verse.<>c:<Start>b__6_1()
Verse.LongEventHandler:RunEventFromAnotherThread(Action)
Verse.<>c:<UpdateCurrentAsynchronousEvent>b__27_0()
System.Threading.ThreadHelper:ThreadStart_Context(Object)
System.Threading.ExecutionContext:RunInternal(ExecutionContext, ContextCallback, Object, Boolean)
System.Threading.ExecutionContext:Run(ExecutionContext, ContextCallback, Object, Boolean)
System.Threading.ExecutionContext:Run(ExecutionContext, ContextCallback, Object)
System.Threading.ThreadHelper:ThreadStart()


And this is my patch

<?xml version="1.0" encoding="utf-8" ?>

<!-- Potentially patching the value of all ships * 3 -->
<Patch>

<Operation Class="PatchOperationFindMod">
<mods>
<li>SRTS Expanded</li>
</mods>
<match Class="PatchOperationSequence">
<!-- <success>Always</success> -->
<operations>
<li Class="PatchOperationAdd">
<xpath>/Defs/ThingDef[@Name="SRTSSuperpod"]/statBases</xpath>
<value>
<MarketValue>7437</MarketValue>
</value>
</li>

<li Class="PatchOperationAdd">
<xpath>/Defs/ThingDef[@Name="SRTSSkip"]/statBases</xpath>
<value>
<MarketValue>17091</MarketValue>
</value>
</li>

<li Class="PatchOperationAdd">
<xpath>/Defs/ThingDef[@Name="SRAF"]/statBases</xpath>
<value>
<MarketValue>36126</MarketValue>
</value>
</li>

<li Class="PatchOperationAdd">
<xpath>/Defs/ThingDef[@Name="SRAFTek"]/statBases</xpath>
<value>
<MarketValue>54045</MarketValue>
</value>
</li>

<li Class="PatchOperationAdd">
<xpath>/Defs/ThingDef[@Name="SRTSMkII"]/statBases</xpath>
<value>
<MarketValue>61866</MarketValue>
</value>
</li>

<li Class="PatchOperationAdd">
<xpath>/Defs/ThingDef[@Name="SRTSMkIII"]/statBases</xpath>
<value>
<MarketValue>73044</MarketValue>
</value>
</li>

<li Class="PatchOperationAdd">
<xpath>/Defs/ThingDef[@Name="SRTSMkIIIp"]/statBases</xpath>
<value>
<MarketValue>79422</MarketValue>
</value>
</li>

<li Class="PatchOperationAdd">
<xpath>/Defs/ThingDef[@Name="SRTSMkIV"]/statBases</xpath>
<value>
<MarketValue>148272</MarketValue>
</value>
</li>
</operations>
</match>
</Operation>

</Patch>


I appreciate any guidance and time taken to help me try to understand what I'm doing a bit better.
#9
Quote from: K on April 11, 2020, 09:24:22 PM
I don't think there's really all that many resources out there for how RulePacks work. I personally stumbled through getting a simple system working that didn't even have anything special such as gendered names.

I'm a bit confused at what you're trying to do though. Do you have sets of first names, last names, and nicknames and you're trying to generate names, or do you just have lists of premade names? If your names are premade then you might not need a RulePack, since they're designed to created names from parts. That approach might result in duplicate names so it's probably not the best idea, though.

I didn't find much in terms of resources through the game files either, although I'd suspect that has to do with how the game generates mix-match names.

But yes, I have premade names. I'm fine with duplicates, because I only have about 30 names as it is and it's for a very niche thing. So my goal is to just make it so when pawns from this faction mod are created, they pull from a specific set of names. Each name is self-contained so there's no mix-matching first, alias, and last names. But with regard to gender distinction (so a male pawn doesn't get Jessica Lang as a name for instance).
#10
Quote from: K on April 09, 2020, 12:21:02 PM
You can accomplish this by creating a custom RulePack for your faction. You can check out the RulePackDefs included in the game to see how it works. You can either simply add rulesFiles, like name lists, or you can make more complex sets of simpler rules and build them into your naming rules.

Once you've created your RulePack you just need to add the tag pawnNameMaker to your faction def and direct it to the pack.

I'm having a bit of trouble understanding how it all works based on the game's rule sets. I have a list of names and nicknames, and I would like it to select sets of names from that list, but to respect of which gender they are. What I mean is for instance, I have a character named 'Phoebe Yuen'. I would like this name to always be assigned to a female, and always be this pairing of names. I also have a character named Joshua 'Rambo' Choi. Would like that to be assigned to a male, nickname and all.

Do you happen to know of anywhere else I could find more resources to learn about how these RulePacks work? Seems way more complicated than any of the faction building stuff I've been doing lol =P
#11
Hey,

So I have this faction mod I created and I was wondering if there was a way to make it so they would only draw from a custom pool of names for that faction. The faction mod is based off an asian organization so I would like to create a pool of asian names to draw from for that faction. Is this something possible?
#12
Quote from: Vanitious on February 23, 2020, 09:38:37 PM
heyas. check out core/defs/pawnkingdefs_humanlikes/pawnkinds_special. strangerinblack in particular might be most useful. good luck

Legend. I didn't even think to check the men in black to see how they did theirs. Need to see about having them have a couple of colors to choose from but shouldn't be too hard to think about.

#13
Help / Making a faction mod: Forcing the color of apparel
February 20, 2020, 11:57:29 AM
Hey y'all.

So I have a quick question. I've created a faction mod and I want their pawns to arrive wearing clothing of my allowed tags that have a specific color. For instance, wearing orange colored apparel when they arrive. Ideally, I would like it so they will have an orange shirt but a normal color hat or vice versa, but I'd happily settle for all-orange clothing. The question being, how can I force apparel color on these faction pawns?

Appreciate the tips!
#14
Hey CP, I'm sure you've been asked this before but I've never found the answer. Have you ever considered creating USEC or BEAR from Escape from Tarkov? Some of the equipment is in rimmu-nation but stuff like Killa's custom Maska helmet with the face shield and some of the clothing options.

Would be cool to run a colony of USEC operators with an enemy BEAR faction and use RealRuins as our battlegrounds lmao.
#15
So currently the psychic emanator rare quest reward just gives you a +5 mood buff if a pawn is in it's range.

I want to add a global work speed buff to it that only applies while they're in that range to make production rooms with it boom. How can I make this happen?