Blood Drain - KonradHeinser/EBSGFramework GitHub Wiki

This ability comp inherits from the bloodfeeder mark, but makes it more broadly usable as the bloodfeeder comp will always add bloodfeeder marks, even when not desired. There are 3 required tags (will get errors if missing), and several optional ones(Have defaults or can be ignored).

        <comps>
            <li Class="EBSGFramework.CompProperties_AbilityBloodDrain">
                <hemogenGain>0.1</hemogenGain>
                <bloodFilthToSpawnRange>1</bloodFilthToSpawnRange>
                <resistanceGain>1</resistanceGain>
            </li>
        </comps>

Required

  • hemogenGain : Due to how hemogen is coded, these values should be 1% what you desire. For example, if you want to gain 10 hemogen, put 0.1
  • resistanceGain : Increases resistance of the target if applicable.
  • bloodFilthToSpawnRange : How bloody is the attack? Usually just set to 1 at most.

Optional

  • thoughtDefToGiveTarget : Applies a mood to the target.
  • opinionThoughtDefToGiveTarget : Applies an opinion to the target about the caster.
  • nutritionGain : Default (0.1) : Offsets nutrition by this amount. If made negative, will probably lower nutrition.
  • targetBloodLoss : Default (0.4499) : A bloodloss of 1 is instant death.
  • replacementHediff : If this is given a hediffDef, then that will be applied on the target's neck (gotta keep up the vampire theme here).
  • hediffToSelf : Hediff added to self.
  • damageSelf : Default (false) : While false, AoEs cast by the pawn should ignore them.

Adapted example from Superhero Genes (using EBSG comp instead of SHG). This is one of the Hemomancer abilities available to Hemothieves.

        <comps>
            <li Class="EBSGFramework.CompProperties_AbilityBloodDrain">
                <replacementHediff>SHG_Hemomancer_StealPerceptivenessDebuff</replacementHediff> <!--Gives enemy debuff-->
                <hediffToSelf>SHG_Hemomancer_StealPerceptiveness</hediffToSelf> <!--Gives hemomancer buff-->
                <hemogenGain>0.1</hemogenGain>                 <!--Gives a small amount of hemogen-->
                <bloodFilthToSpawnRange>1</bloodFilthToSpawnRange>
                <resistanceGain>1</resistanceGain>
                <targetBloodLoss>0.2</targetBloodLoss>        <!--Applies far less blood loss than the 0.45 applied by bloodfeeding-->
            </li>
        </comps>
⚠️ **GitHub.com Fallback** ⚠️