Bipolarity (Shuffle Affinities)

Code class name: AbilityShuffleAffinites

Overview

Redistributes the integer parts of all three affinity pools uniformly by splitting the total with two random cut points.

Serialized Fields

  • FloatVariable affinityMobster
  • FloatVariable affinitySubterfuge
  • FloatVariable affinitySchemer

Effect

  1. total = floor(Mobster) + floor(Subterfuge) + floor(Schemer)
  2. Draw u1, u2 ∈ [0, total], then sort so u1 ≤ u2.
  3. Set:
    • Mobster = u1
    • Subterfuge = u2 - u1
    • Schemer = total - u2

(Fractional remainders, if any, are ignored when redistributing.)

UI / Localization

  • Title key: ABILITY_BIPOLARITY_TITLE
  • Description key: ABILITY_BIPOLARITY_DESC