Memory on Kill - KonradHeinser/EBSGFramework GitHub Wiki

This hediff comp causes memories when the pawn kills something, with options to specify what memory is gained based on what was killed:

        <comps>
            <li Class="EBSGFramework.HediffCompProperties_GainMemoryOnKill">

            </li>
        </comps>

These are the options available:

  • memory : The ThoughtDef to give when killing anything. This is ignored if any of the specific memory options are used (i.e. if humanMemory is used, that memory will be applied when a humanlike is killed instead of this). If you only want memories to be given when specific types of enemies are killed, this should not be used
  • animalMemory : ThoughtDef to apply when an animal is killed
  • humanMemory : ThoughtDef to apply when a humanlike is killed
  • mechanoidMemory : ThoughtDef to apply when a mechanoid or drone is killed
  • insectMemory : ThoughtDef to apply when an insectoid is killed
  • dryadMemory : ThoughtDef to apply when a dryad is killed
  • entityMemory : ThoughtDef to apply when an entity is killed

This example causes a memory in the event that the pawn kills a fellow humanlike pawn. Killing any other thing does not cause a memory:

    <HediffDef>
        <defName>ConscientiousObjector</defName>
        <label>conscientious objector</label>
        <description>Becomes sad if they have to kill a fellow human.</description>
        <everCurableByItem>false</everCurableByItem>
        <initialSeverity>0.001</initialSeverity>
        <stages />
        <hediffClass>HediffWithComps</hediffClass>
        <comps>
            <li Class="EBSGFramework.HediffCompProperties_GainMemoryOnKill">
                <humanMemory>Murder</humanMemory>
            </li>
        </comps>
    </HediffDef>

    <ThoughtDef>
        <defName>Murder</defName>
        <thoughtClass>Thought_Memory</thoughtClass>
        <durationDays>5</durationDays>
        <stackedEffectMultiplier>0.9</stackedEffectMultiplier>
        <stackLimit>5</stackLimit>
        <nullifyingTraits>
            <li>Psychopath</li>
        </nullifyingTraits>
        <nullifyingHediffs>
            <li MayRequire="Ludeon.RimWorld.Anomaly">Inhumanized</li>
        </nullifyingHediffs>
        <stages>
            <li>
                <label>murder</label>
                <description>I killed a person. Why did I have to kill a person.</description>
                <baseMoodEffect>-6</baseMoodEffect>
            </li>
        </stages>
    </ThoughtDef>
⚠️ **GitHub.com Fallback** ⚠️