NQualityOfLife.XML.PatchIfSetTo - Niilo007/RimWorld-NQoL GitHub Wiki

PatchIfSetTo

Related:


XML

<Operation Class="NQualityOfLife.XML.PatchIfSetTo">
    <settingKey>string</settingKey>
    <fromVar>string</fromVar>
    <mode>string</mode>
    <debugAlwaysEnabled>bool</debugAlwaysEnabled> <!-- false -->
    <inverse>bool</inverse> <!-- false -->
    <enabled Class="PatchOperation">

    </enabled>
    <disabled Class="PatchOperation">

    </disabled>
    <done Class="PatchOperation"> <!-- Optional -->

    </done>
    <error Class="PatchOperation"> <!-- Optional -->

    </error>
</Operation>

Usage

Does not currently support using settings from other mods, but this is a planned feature.


Errors


Examples

Used In Example:

<Operation Class="NQualityOfLife.XML.PatchIfEnabled">
    <settingKey>NiilosQoL_Settings_Adjust_FloorWealth_Bool</settingKey>
    <enabled Class="NQualityOfLife.XML.PatchIfSetTo">
        <settingKey>NiilosQoL_RadioKey_Floor_Wealth_Mode</settingKey>
        <mode>NiilosQoL_RadioKey_Floor_Wealth_Mode_XML</mode>
        <enabled Class="PatchOperationSequence">
            <operations>
                <li Class="NQualityOfLife.XML.AddTextVariable">
                    <toVar>{NiilosQoL_Settings_Adjust_FloorWealth_Slider_Default}</toVar>
                    <settingKey>NiilosQoL_Settings_Adjust_FloorWealth_Slider_Default</settingKey>
                </li>
                <li Class="NQualityOfLife.XML.AddIfMissing">
                    <xpath>Defs/TerrainDef[@Name="FloorBase"][not(statBases/MarketValue)]</xpath>
                    <value>
                        <statBases/>
                    </value>
                    <error Class="NQualityOfLife.XML.Log">
                        <error>Error while patching floor wealth! (NiilosQoL_Settings_Adjust_FloorWealth_Bool, NiilosQoL_RadioKey_Floor_Wealth_Mode_XML)</error>
                    </error>
                </li>
                <li Class="NQualityOfLife.XML.Add">
                    <xpath>Defs/TerrainDef[@Name="FloorBase"][not(statBases/MarketValue)]/statBases</xpath>
                    <value>
                        <MarketValue>{NiilosQoL_Settings_Adjust_FloorWealth_Slider_Default}</MarketValue>
                    </value>
                    <error Class="NQualityOfLife.XML.Log">
                        <warning>Failed to patch the wealth of: 'FloorBase' (NiilosQoL_Settings_Adjust_FloorWealth_Bool, NiilosQoL_RadioKey_Floor_Wealth_Mode_XML)</warning>
                    </error>
                </li>
                <li Class="NQualityOfLife.XML.AddIfMissing">
                    <xpath>Defs/TerrainTemplateDef[not(statBases/MarketValue)]</xpath>
                    <value>
                        <statBases/>
                    </value>
                    <error Class="NQualityOfLife.XML.Log">
                        <error>Error while patching floor wealth! (NiilosQoL_Settings_Adjust_FloorWealth_Bool, NiilosQoL_RadioKey_Floor_Wealth_Mode_XML)</error>
                    </error>
                </li>
                <li Class="NQualityOfLife.XML.Add">
                    <xpath>Defs/TerrainTemplateDef[not(statBases/MarketValue)]/statBases</xpath>
                    <value>
                        <MarketValue>{NiilosQoL_Settings_Adjust_FloorWealth_Slider_Default}</MarketValue>
                    </value>
                    <error Class="NQualityOfLife.XML.Log">
                        <warning>Failed to patch the wealth of: 'TerrainTemplateDef's (NiilosQoL_Settings_Adjust_FloorWealth_Bool, NiilosQoL_RadioKey_Floor_Wealth_Mode_XML)</warning>
                    </error>
                </li>
                <li Class="NQualityOfLife.XML.ClearVariable">
                    <name>{NiilosQoL_Settings_Adjust_FloorWealth_Slider_Default}</name>
                </li>
            </operations>
        </enabled>
    </enabled>
</Operation>

⚠️ **GitHub.com Fallback** ⚠️