working on xml templates

This commit is contained in:
Christoph J. Scherr 2024-06-01 14:15:34 +02:00
commit ad992df7a5
2 changed files with 254 additions and 0 deletions

25
About/About.xml Normal file
View File

@ -0,0 +1,25 @@
<?xml version="1.0" encoding="utf-8"?>
<ModMetaData>
<!-- This is the internal identifier for your mod. -->
<!-- It is recommended that you make it unique to as to avoid potential collisions with other authors; -->
<!-- if Rimworld detects multiple mods with the same packageId then it will refuse to load all of them. -->
<packageId>PlexSheep.Overzealous</packageId>
<!-- This is both the displayed name of your mod as well as the name used for patch targeting. -->
<name>Overzealous</name>
<!-- Your name goes here. -->
<author>PlexSheep</author>
<!-- These are the RimWorld game versions that your mod supports. -->
<!-- It is recommended that you only list versions that you have explicitly tested to ensure they work, -->
<!-- as even basic XML options can change between major versions of the game. -->
<supportedVersions>
<li>1.5</li>
</supportedVersions>
<!-- This is the description of your mod shown in both the vanilla mod manager as well as modded managers. -->
<description>OP Pawns</description>
</ModMetaData>

View File

@ -0,0 +1,229 @@
<?xml version="1.0" encoding="utf-8" ?>
<Defs>
<!-- Hediffs are RimWorld's status effects. They can influence different pawn stats, represent diseases, and more -->
<HediffDef>
<defName>OverzealousBody</defName>
<!-- Desired defName to reference and use the hediff -->
<label>overzealous body</label>
<!-- Sets the in-game display name for the hediff -->
<hediffClass>HediffWithComps</hediffClass>
<!-- Defines the hediff class to use. Use HediffWithComps for general purposes. Vanilla classes:
Hediff_AddedPart
Hediff_Addiction
Hediff_Alcohol
Hediff_Hangover
Hediff_HeartAttack
Hediff_Implant
Hediff_Injury
Hediff_MissingPart
Hediff_Pregnant
HediffWithComps -->
<isBad>false</isBad>
<!-- Optional. Defaults to true. Some hediffs like bionic body parts or implants set this to false -->
<initialSeverity>1</initialSeverity>
<!-- Optional. Defaults to 0.001. Defines initial hediff severity -->
<naturallyHealed>false</naturallyHealed>
<!-- Optional. If set to true, the injury will heal even without treatment -->
<lethalSeverity>-1</lethalSeverity>
<!-- Optional. Defaults to -1 (insignificant). If the hediff's severity reaches this level, the pawn will die -->
<stages>
<!-- Stages are the hediff's active effects. Can set one or more -->
<li>
<!-- <label>stage_name</label> -->
<!-- Optional. Defines an in-game sub-label applied to the hediff at this stage -->
<minSeverity>0.5</minSeverity>
<!-- Optional. The stage effects will only be applied above a certain severity level -->
<lifeThreatening>false</lifeThreatening>
<painFactor>0</painFactor>
<!-- Optional. Defaults to 1. Sets a multiplier for pain as a result of this stage -->
<painOffset>-0.9</painOffset>
<!-- Optional. Changes pain by a flat number (negative values decrease pain, positive values increase pain) -->
<partEfficiencyFactor>100</partEfficiencyFactor>
<!-- Optional. Defaults to 1. If the hediff acts as a body part, defines the efficiency of the body part -->
<hungerRateFactor>1.3</hungerRateFactor>
<!-- Optional. Defaults to 1. Defines the hunger need's depletion rate. Higher values cause the need to deplete faster -->
<restFallFactor>0.3</restFallFactor>
<!-- Optional. Defaults to 1. Defines the rest need's depletion rate. Higher values cause the need to deplete faster -->
<setMinPartEfficiency>0.5</setMinPartEfficiency>
<!-- Optional. Defaults to -1 (insignificant). Defines a custom value for minimum body-part efficiency when the stage is active -->
<destroyPart>false</destroyPart>
<!-- Optional. If true, the hediff's host body-part will become destroyed when this stage is activated -->
<!-- <makeImmuneTo>HediffDefName</makeImmuneTo> -->
<!-- Optional. The pawn will be immune to a specific hediff when this stage is active -->
<capMods>
<!-- Optional. Causes the stage to offset certain capacities for the pawn -->
<li>
<capacity>BloodFiltration</capacity>
<offset>100</offset>
<setMax>100</setMax>
</li>
<li>
<capacity>BloodPumping</capacity>
<offset>100</offset>
<setMax>100</setMax>
</li>
<li>
<capacity>Breathing</capacity>
<offset>100</offset>
<setMax>100</setMax>
</li>
<li>
<capacity>Consciousness</capacity>
<offset>100</offset>
<setMax>100</setMax>
</li>
<li>
<capacity>Eating</capacity>
<offset>100</offset>
<setMax>100</setMax>
</li>
<li>
<capacity>Hearing</capacity>
<offset>100</offset>
<setMax>100</setMax>
</li>
<li>
<capacity>Manipulation</capacity>
<offset>100</offset>
<setMax>100</setMax>
</li>
<li>
<capacity>Metabolism</capacity>
<offset>100</offset>
<setMax>100</setMax>
</li>
<li>
<capacity>Moving</capacity>
<offset>100</offset>
<setMax>100</setMax>
</li>
<li>
<capacity>Sight</capacity>
<offset>100</offset>
<setMax>100</setMax>
</li>
<li>
<capacity>Talking</capacity>
<offset>100</offset>
<setMax>100</setMax>
</li>
</capMods>
<statOffsets>
<!-- Optional. Can offset pawn stat(s) by value -->
<CarryingCapacity>500</CarryingCapacity>
<ComfyTemperatureMin>-100</ComfyTemperatureMin>
<ComfyTemperatureMax>100</ComfyTemperatureMax>
<ImmunityGainSpeed>10</ImmunityGainSpeed>
<ImmunityGainSpeedFactor>10</ImmunityGainSpeedFactor>
<MeleeDPS>100</MeleeDPS>
<MeleeHitChance>100</MeleeHitChance>
<MoveSpeed>100</MoveSpeed>
<SocialImpact>5</SocialImpact>
<WorkSpeedGlobal>5</WorkSpeedGlobal>
</statOffsets>
<!-- Available vanilla defNames:
AimingDelayFactor
BrewingSpeed
ButcheryFleshEfficiency
ButcheryFleshSpeed
ButcheryMechanoidEfficiency
ButcheryMechanoidSpeed
CarryingCapacity
ComfyTemperatureMax
ComfyTemperatureMin
ConstructFailChance
ConstructionSpeed
CookSpeed
DrugProductionSpeed
EatingSpeed
FixBrokenDownBuildingFailChance
FoodPoisonChance
GiftImpact
GlobalLearningFactor
HarvestFailChance
HealingSpeed
ImmunityGainSpeed
ImmunityGainSpeedFactor
MeatAmount
MedicalOperationSpeed
MeleeDPS
MeleeHitChance
MentalBreakThreshold
MiningSpeed
MoveSpeed
PlantWorkSpeed
PsychicSensitivity
RecruitPrisonerChance
ResearchSpeed
ResearchSpeedFactor
SculptingSpeed
ShootingAccuracy
SmeltingSpeed
SmithingSpeed
SmoothingSpeed
SocialImpact
StonecuttingSpeed
SurgerySuccessChance
TailoringSpeed
TameAnimalChance
ToxicSensitivity
TradePriceImprovement
TrainAnimalChance
WorkSpeedGlobal -->
</li>
</stages>
<spawnThingOnRemoved>ThingDefName</spawnThingOnRemoved>
<!-- Optional. Will spawn a thing via ThingDef when the hediff is removed -->
<tendable>true_or_false</tendable>
<!-- Optional. If true, the injury can be tended by a doctor -->
<chanceToCauseNoPain>number</chanceToCauseNoPain>
<!-- Optional. If set, the hediff might not trigger a pain tick when pain is calculated -->
<makesSickThought>true_or_false</makesSickThought>
<!-- Optional. If true, the pawn will receive a mood debuff due to being sick when the hediff is active -->
<makesAlert>true_or_false</makesAlert>
<!-- Optional. Defaults to true. No description available -->
<causesNeed>NeedDefName</causesNeed>
<!-- Optional. Links the hediff to a need, which will spawn when the hediff is active -->
<minSeverity>number</minSeverity>
<!-- Optional. Sets a minimum severity for the hediff -->
<maxSeverity>number</maxSeverity>
<!-- Optional. Sets a severity ceiling for the hediff -->
<scenarioCanAdd>true_or_false</scenarioCanAdd>
<!-- Optional. If false, scenarios can't manually add the hediff to pawns -->
<displayWound>true_or_false</displayWound>
<!-- Optional. If true, the pawn will be visually injured -->
<defaultLabelColor>(R, G, B)</defaultLabelColor>
<!-- Optional. White by default. Sets a custom text colour for the hediff's label -->
<injuryProps>
<painPerSeverity>number</painPerSeverity>
<!-- Optional. Defaults to 1. Determines pain to apply according to severity -->
<averagePainPerSeverityOld>number</averagePainPerSeverityOld>
<!-- Optional. Defaults to 0.5. Determines pain to apply according to severity if the injury is "old" -->
<bleeding>number</bleeding>
<!-- Optional. Defaults to 2. Determines the bleeding rate of the injury -->
<canMerge>true_or_false</canMerge>
<!-- Determines whether or not the injury can be merged with other injuries -->
<fullyHealableOnlyByTend>true_or_false</fullyHealableOnlyByTend>
<!-- Optional. If true, the injury will not disappear unless it was tended -->
<destroyedLabel>label</destroyedLabel>
<!-- Determines which label is applied to the body-part if it was destroyed as a result of the injury -->
<destroyedOutLabel>label</destroyedOutLabel>
<!-- Optional. Determines which label is applied to the body-part if it was removed from the body as a result of the injury -->
<useRemovedLabel>true_or_false</useRemovedLabel>
<!-- Optional. Only true in vanilla for SurgicalCut. Will use the "Removed" label -->
</injuryProps>
<addedPartProps>
<isBionic>true_or_false</isBionic>
<!-- Optional. Define as true for bionic body parts -->
<isSolid>true_or_false</isSolid>
<!-- Optional. Defaults to true. Used for some in-game functions -->
<partEfficiency>number</partEfficiency>
<!-- Optional. Defaults to 1. Defines the efficiency of the body-part (1=100%) -->
<isGoodWeapon>true_or_false</isGoodWeapon>
<!-- Optional. Defined as true for powerful body-parts like PowerClaw and ScytherBlade -->
</addedPartProps>
</HediffDef>
</Defs>