Thoughts on Down from Gene - KonradHeinser/EBSGFramework GitHub Wiki

This addition to the EBSG Extension makes it so a gene can cause pawns to experience additional memories when they are downed:

        <modExtensions>
            <li Class="EBSGFramework.EBSGExtension">
            </li>
        </modExtensions>

These are the options associated with this effect:

  • downedMemory - The ThoughtDef given if any instigator from a different faction downs the carrier. Turrets are probably on this list
  • downedByPawnMemory - The ThoughtDef given if any pawn from a different faction downs the carrier
  • downedByHumanlikeMemory - The ThoughtDef given if any humanlike from a different faction downs the carrier
  • downedByMechMemory - The ThoughtDef given if any mechanoid from a different faction downs the carrier
  • downedByAnimalMemory - The ThoughtDef given if any animal from a different faction downs the carrier
  • downedByInsectMemory - The ThoughtDef given if any insect from a different faction downs the carrier
  • downedByEntityMemory - The ThoughtDef given if any entity or subhuman from a different faction downs the carrier
  • ignoredHediffsCausingDowning - A List of HediffDefs that makes it so none of the thoughts can be added if the Hediff marked as the cause of downing is on the list

Notes:

  • There is no gene class associated with this, just the extension
  • If the game doesn't have an instigator associated with the downing, nothing will happen
  • If the instigator has the same faction as the pawn, or the pawn's host faction, nothing will happen
    • This is done to minimize the risk that things like social fights and surgeries will cause this to trigger

This example makes pawns gain a negative thought whenever they are downed by most non-humanlikes:

    <GeneDef>
        <defName>HumanlikeArrogance</defName>
        <label>humanlike arrogance</label>
        <description>They believe they are better than all other species, and hate being proven wrong.</description>
        <modExtensions>
            <li Class="EBSGFramework.EBSGExtension">
                <downedByMechMemory>HumanlikeArrogance</downedByMechMemory>
                <downedByAnimalMemory>HumanlikeArrogance</downedByAnimalMemory>
                <downedByInsectMemory>HumanlikeArrogance</downedByInsectMemory>
                <downedByEntityMemory>HumanlikeArrogance</downedByEntityMemory>
            </li>
        </modExtensions>
    </GeneDef>

    <ThoughtDef>
        <defName>HumanlikeArrogance</defName>
        <thoughtClass>Thought_Memory</thoughtClass>
        <durationDays>5</durationDays>
        <stackLimit>5</stackLimit>
        <stages>
            <li>
                <label>a defeat!?</label>
                <description>I was somehow defeated by a lesser being.</description>
                <baseMoodEffect>-5</baseMoodEffect>
            </li>
        </stages>
    </ThoughtDef>

This example makes the pawn gain a massive mood debuff for a long time when downed by a humanlike, with the debuff being -20 for the first instance and -30 if it happens a second time:

    <GeneDef>
        <defName>Warrior</defName>
        <label>warrior</label>
        <description>They live for the fight, but hate the thought of defeat by another person's hands.</description>
        <modExtensions>
            <li Class="EBSGFramework.EBSGExtension">
                <downedByHumanlikeMemory>Warrior</downedByHumanlikeMemory>
            </li>
        </modExtensions>
    </GeneDef>

    <ThoughtDef>
        <defName>Warrior</defName>
        <thoughtClass>Thought_Memory</thoughtClass>
        <durationDays>30</durationDays>
        <stackLimit>2</stackLimit>
        <stackedEffectMultiplier>0.5</stackedEffectMultiplier>
        <stages>
            <li>
                <label>a defeat</label>
                <description>I have been beaten in combat by another person.</description>
                <baseMoodEffect>-20</baseMoodEffect>
            </li>
        </stages>
    </ThoughtDef>
⚠️ **GitHub.com Fallback** ⚠️