erdelf / AlienRaces

Rimworld mod alien race framework
MIT License
103 stars 69 forks source link

Basic hook for adding vanilla AbilityDefs to a race #104

Closed Aelanna closed 7 months ago

Aelanna commented 7 months ago

A simple, low-overhead hook for applying vanilla abilities to a race after generation.

Can be used by simply specifying one or more vanilla AbilityDef instances in a race's general settings:

<AlienRace.ThingDef_AlienRace>
  <!-- snip -->
  <alienRace>
    <!-- snip -->
    <generalSettings>
      <abilities>
        <li MayRequire="Ludeon.RimWorld.Biotech">FireSpew</li>
      </abilities>
    </generalSettings>
  </alienRace>
</AlienRace.ThingDef_AlienRace>

In action: image

Aelanna commented 7 months ago

Upgraded hook with AlienChanceEntry, and upgraded AlienChanceEntry with selection options as well as a custom parser so that it can use raw-text entries.

New syntax options:

<alienRace>
  <generalSettings>
    <abilities>
      <li>FireSpew</li>
      <li>
        <defName>FoamSpray</defName>
        <chance>50</chance>
      </li>
      <li>
        <options>
          <li>AcidSpray</li>
          <li>FireBurst</li>
          <li>AnimalWarcall</li>
        </options>
        <count>2</count>
      </li>
    </abilities>
  </generalSettings>
</alienRace>