Skip to content

Guidebook Species Lore Alignment & Mechanical Species Audit#112

Open
rebaserHEAD wants to merge 38 commits into
Triad-Sector:mainfrom
rebaserHEAD:fix/species-guidebook-audit
Open

Guidebook Species Lore Alignment & Mechanical Species Audit#112
rebaserHEAD wants to merge 38 commits into
Triad-Sector:mainfrom
rebaserHEAD:fix/species-guidebook-audit

Conversation

@rebaserHEAD
Copy link
Copy Markdown
Contributor

@rebaserHEAD rebaserHEAD commented May 23, 2026

About the PR

End-to-end audit of the 22 playable-species guidebook pages in four coordinated passes.

Step 1 — code fixes (guidebook is authoritative). Prototype mechanics moved to match the dossier numbers players were already reading. Full list in the changelog.

Step 2 — dossier restyle (Bureau of Personnel). All 22 species pages rewritten on the new BuPers template with a randomized paperdoll embed.

Step 3 — lore-doc flavor. Canon-name ORIGINs, Subject paragraph enrichment, and PROVENANCE NOTE blocks on four species with explicit corporate-era context.

Step 4 — paper-doll exemplars + final polish. New DossierExemplar system in Content.Shared/_Triad/Dossier/ randomizes HumanoidAppearance and injects species-appropriate undergarment markings. Final-pass cleanup of banner widths, dietary schema, em dashes, and Human de-baselining.

Why / Balance

Steps 2-4 are pure UX: same mechanics, more legible setting voice, randomized paper doll, every species page in line with the same template so a player learning a new species sees the same shape every time.

The Step 1 prototype changes are corrective: closes long-standing drift where the guidebook promised one number and the YAML delivered another. Direction of correction was decided per the audit handoff: the guidebook is authoritative (player expectations were already calibrated to the dossier numbers), so the YAML moved. These are under further review and tweaking now that we have a clear picture so don't panic!

Media

image

Requirements

  • I have read relevant guidelines/documentation to this PR found on our devwiki.
  • I have added media to this PR or it does not require an ingame showcase.
  • I can confirm this PR contains either no AI-generated content, or AI-generated content that meets our guidelines.

How to test

  1. Build and start the server; join a round.
  2. Open the in-game Guidebook → Species and click through. Reopen a few dossiers to confirm the paper dolls actually re-randomize.
  3. Spot-check the Step 1 mechanics changes in-round:
    • Arachnid: take off the breath mask in vacuum, confirm faster downtime to crit.
    • Avali / Feroxi: confirm plant matter and synthetic rations no longer satiate.
    • Hydrakin: stand in a pure CO₂ room, confirm suffocation begins (no oxygen extraction).
    • Reptilian: walk into a >47°C room and confirm the heat-boost/regen tick kicks in at the new threshold.
    • Oni: melee swing damage and door-pry timer reflect the new bonuses.

Breaking changes

None player-facing. New entities (Mob<X>DossierExemplar) live in [HideSpawnMenu], so they don't show up in admin spawn menus. The base Mob<X> prototypes are untouched.

For downstream forks: DossierExemplarComponent and DossierExemplarSystem are net-new and live in Content.Shared/_Triad/Dossier/. Inventory displacements: behavior unchanged. Step 1 changes alter species balance numbers but no IDs/prototypes are removed.

Changelog
🆑

  • tweak: Every species guidebook page has been rewritten as a TDF Bureau of Personnel dossier with a randomized paper-doll preview. Same mechanics, more paperwork.
  • tweak: The species sidebar in the guidebook is now alphabetized.
  • tweak: Arachnid suffocate 50% faster than baseline once oxygen runs out.
  • tweak: Avali get hungry roughly twice as fast and only digest meat and pills.
  • tweak: Protogen take 30% more cold damage.
  • tweak: Reptilian heat-boost threshold raised to 47°C ambient.
  • tweak: Resomi slow down at temperatures above 30°C.
  • tweak: Feroxi get thirsty roughly twice as fast and only digest meat and pills.
  • tweak: Oni hit harder in melee (+35% Blunt/Asphyxiation, +20% Slash/Piercing) and pry doors open in about half the time.
  • tweak: Felinid stamina reduced.
  • fix: Hydrakin no longer extract oxygen from carbon dioxide.
  • remove: Felinid OwOnavirus immunity removed (the disease system itself is unimplemented in this fork).

Adds a Respirator override on BaseMobArachnid with Asphyxiation: 1.5,
aligning the prototype with the guidebook claim that arachnids suffocate
50% faster than other species.
- Hunger.baseDecayRate 0.03 -> 0.036 (exactly 2x the human 0.018), so
  the guidebook claim of "2x hunger rate" is now literally true.
- OrganAvaliStomach.specialDigestible drops Crayon and Paper, leaving
  Meat, Pill, and AvianFood, to match the guidebook claim that avali
  can only digest meat-related items and pills.
Protogen damageModifierSet Cold 1.15 -> 1.3, aligning with the
guidebook claim of "30% more cold damage".
TemperatureStatusEffects.minimumTemperature 322 -> 320.15 (= 47C),
so the heat-boost mechanic kicks in at the temperature claimed by
the guidebook.
Adds two heat-side TemperatureSpeed thresholds (303K = ~30C -> 0.8,
310K = ~37C -> 0.6) alongside the existing cold-side thresholds, so
the guidebook claim of "suffering at just 30C" is now mechanically
true. The 310K stop sits below the existing heatDamageThreshold of
320.15 K to give the player a slowdown warning before damage starts.
- Thirst.baseDecayRate 0.2 -> 0.15 (= 2x the 0.075 human default), so
  the guidebook claim of "thirsty 100% faster" is true.
- OrganFeroxiStomach.specialDigestible reduced to Meat and Pill only,
  dropping ReptilianFood/Crayon/Paper, so the guidebook claim that
  feroxi can ONLY eat meat (and pills) is true.
- BonusMeleeDamage Blunt 1.2 -> 1.35 and Asphyxiation 1.2 -> 1.35, so
  the guidebook's "+35% Blunt/Asphyx unarmed damage" claim holds.
- pryTimeMultiplier 0.6 -> 0.5, so oni pry airlocks in half the time
  of other species (the guidebook's "50% less time" claim).
Comments out the Hydrakin-specific Oxygenate effect on CarbonDioxide.
The guidebook says hydrakin breathe all gases EXCEPT CO2 and water
vapor; this aligns the metabolism with that claim. The existing
HealthChange exclusion (shouldHave: false on OrganType Hydrakin) is
left alone, so CO2 still doesn't poison them - they just don't gain
oxygen from it any more.
Overrides Stamina with critThreshold 85 (default 100) and decay 2.55
(default 5), so felinids have slightly less stamina capacity and
recover from stamina damage more slowly than humans — matching the
guidebook's "slightly less stamina" claim.
Restructures the Human guidebook page into the unified species
template:
- Single intro paragraph (merged from two short lines).
- ## Benefits section with bulleted entries.
- Color palette normalized: "20% faster" recoloured #ffa500 -> #1e90ff
  because it's a beneficial mechanic, not a hazard.
Restructures the Moth People guidebook page into the unified template
with ## Diet / ## Benefits / ## Drawbacks sections and bulleted entries.
No mechanical changes - existing color tags already match the
palette (#1e90ff for benefits, #ffa500 for drawbacks).
Restructures the Vox guidebook page:
- Hazard preamble preserved (orange).
- Intro paragraph condensed to one block (was 3 lines).
- ## Atmospherics section covers breathing rules, internals, and the
  poison-recovery mechanic as bullets (multi-paragraph recovery prose
  kept inline in the relevant bullet rather than split).
- ## Benefits records the Slash unarmed attack.
- Restructured into ## Benefits / ## Drawbacks bullets.
- Cold modifier text updated to "30% more Cold" (was "30% more cold")
  to match the Cold 1.15 -> 1.3 prototype change.
- Adds a benefit bullet noting Slash unarmed (previously undocumented).
Restructures the Arachnid page:
- Intro condensed.
- ## Diet bullets pull out the raw-meat-OK / chocolate-onion-poisons
  rules already implied in the original prose.
- ## Benefits records pocket slots and Piercing unarmed attack.
- ## Special preserves the Sericulture section with the existing
  entity-embed grid.
- ## Drawbacks calls out the 50% faster suffocation (matches the
  Step 1 Respirator override) and the Copper-blood replenishment.
Restructures the Slime People page into intro + ## Atmospherics /
## Benefits / ## Drawbacks bullets. Removes the "pressure damage 9%
faster" claim (the corresponding row K was dropped from Step 1
because the current Barotrauma override uses absolute damage values
rather than a coefficient).
Restructures the Resomi page into ## Diet / ## Benefits / ## Drawbacks
bullets. Adds the new mechanical reality from Step 1 row F: warmth
above 30C slows them and the slowdown deepens at 37C, with heat damage
starting at 47C.
Restructures the Avali page into ## Diet / ## Benefits / ## Drawbacks
bullets. Updates the hunger claim from "2x Hunger rate" to "double
that of humans" - Step 1 row B set Avali Hunger.baseDecayRate to 0.036,
exactly 2x the human 0.018, so the literal claim is true and the wording
is more direct. Also folds in the previously-undocumented heat threshold
of ~37C.
Restructures the Tajaran page into the unified template. Adds
previously-undocumented mechanics:
- Night Vision (NightVision component).
- ~16% faster hunger rate.
- Reduced stamina.

Normalizes the [color=turquoise] for Ahdomai to [color=yellow] (the
unified palette uses yellow for in-world place names and emphasis).
Normalizes the [color=#ec3a3a] red-warning shade to the standard
[color=#ffa500] orange for drawbacks.
…nics

Restructures the Hydrakin page into the unified template
(## Diet / ## Benefits / ## Atmospherics / ## Temperature / ## Drawbacks).
The CO2-exclusion claim was already present and is now mechanically
backed by the Step 1 row L change. Folds in:
- Unarmed Slash attack.
- +20% damage from low-pressure / vacuum (PressureProtection 1.2).

Normalizes colors: #4169E1 royal blue -> #1e90ff dodger blue;
#FFA500 case lowered; #FF0000 -> red where applicable (handled inline).
Preserves the existing mechanic-specific sections (Recharging /
Integrated Radio / Repairing) with their entity-embed grids - these
are a strong existing pattern worth keeping. Adds:
- Recharging list converted from short paragraphs to bullets.
- New ## Resistances section documenting heat/shock weakness from the
  IPC / IPCWeakened damage modifier sets.
Restructures the Dwarf page (live NF copy, not the dead base) into
the unified template. Adds the previously-undocumented drawback that
dwarves suffocate roughly twice as fast as humans (Respirator override
Asphyxiation: 2 in the prototype). Preserves the existing
ore-sense paragraph and entity grid above the bullet sections to keep
the lore flavour.
Restructures the Diona page (live _NF copy) into the unified template,
preserving the Tree and Nymph sub-sections as ### sub-headings under
## Special. Adds the previously-undocumented benefit:
- Immune to step-trigger hazards (ProtectedFromStepTriggers).
Restructures the live MonoReptilian page (the base Reptilian.xml is a
dead duplicate left untouched). Preserves the claw-stage table and
heating-up section as ### sub-headings under ## Special so the
mechanic-dense content stays readable. Adds:
- Previously-undocumented +30% Cold damage from the Mono-fork modifier
  set under ## Drawbacks.
- Aligns the heat-boost threshold prose with the Step 1 row E change
  (47C is now the actual threshold).

Color palette normalized: #FFA500 -> #ffa500 (case), #FF0000 ->
#ffa500, #4169E1 -> #1e90ff, #FFDEAD callouts dropped where redundant.
Restructures the Goblin page into the unified template. Adds three
previously-undocumented benefits:
- -10% Caustic damage (Goblin modifier set).
- Reduced fall/impact damage.
- Less slow-on-damage.

Normalizes the [color=lime] toxin-resistance highlight to
[color=#1e90ff] (the unified beneficial-mechanic colour); keeps the
red on the Slash-damage callout because it matches the warning palette.
Already templated; minor wording polish. Adds the [color=#1e90ff]
highlight to the +35% Blunt/Asphyxiation melee callout and the
half-pry-time callout, which are now accurate to the prototype after
Step 1 row I/J set Blunt: 1.35, Asphyxiation: 1.35, and
pryTimeMultiplier: 0.5.
…nd stamina

Updates the Felinid page to match implementation reality:
- Removes the "Immunity to the OwOnavirus disease" bullet - the
  disease system is commented out, so the claim is infeasible.
- Adds bullets for the previously-undocumented reduced fall damage
  (DamageOnHighSpeedImpact softened) and reduced SlowOnDamage.
- Documents the new Step 1 row M2 stamina override (critThreshold 85,
  decay 2.55), giving the "slightly less stamina" claim mechanical
  backing it didn't have before.
Restructures into the unified template. Updates:
- Diet now says "meat AND pills" (the OrganFeroxiStomach
  specialDigestible was narrowed in Step 1 row H from
  ReptilianFood/Meat/Pill/Crayon/Paper down to Meat/Pill).
- Removes the "Their biology allow them to breathe water vapour"
  benefit claim - no WaterVapor reagent exists in the gas system.
  Adds a ## Special footnote explaining the deferral so the design
  intent is preserved without a false mechanical claim.
Already templated; tightens bullet wording and normalizes the
[color=#ff0f0f] bright-red Chitzite warning to [color=#ffa500] orange
(it's a hazard caveat, not a hard "do not" rule).
Restructures the double-respiration explanation from a wall of inline
sub-bullets into a flat ## Atmospherics section, which matches the
template used by Vox and Slime. The mechanics themselves are unchanged.
Already templated; no mechanical changes. Tightens bullet wording and
applies the [color=#ffa500] palette to drawbacks consistently.
Already templated; no mechanical changes. Notes that the in-game
"Deuteranopia" trait corresponds to the DogVision component, which
was previously implicit.
Removes player-facing references to internal component names that
leaked into the guidebook during the unification pass. The mechanics
themselves are unchanged; only the wording.

- Dwarf: "(Respirator Asphyxiation 2.0)" -> "they go down quickly
  without air."
- Goblin & Felinid: "(DamageOnHighSpeedImpact softened)" replaced
  with natural reading; "(SlowOnDamage softened)" rephrased to
  "damage slows them down less than other species."
- Felinid: "(critThreshold 85, decay 2.55)" -> "they tire faster
  and take longer to catch their breath."
- Vulpkanin: "(the DogVision component)" -> a sentence explaining
  what Deuteranopia means in practice.
Apply the Triad guidebook house style (env-config) across all 22
species pages: canonical section order Diet/Atmos/Temp/Benefits/Special/
Drawbacks, hook sentence split from background lore, tan #a4885c on
first mention of defined nouns (Theobromine, Allicin, Phenoxzine,
Meroxzine, Robust Harvest, Kudzu, Chitzite, Sericulture, Insect/Blue/
Bug/Slime Blood, Goblin Cant), red for "Warning!" preambles on Vox and
Avali, one coloured phrase per sentence.
…es to Drawbacks

Bring IPC in line with the canonical species section set. The three
IPC-specific sub-pages (Recharging, Integrated Radio, Repairing) are
now ### sub-sections under one ## Special umbrella, matching the
pattern Reptilian uses for ### Claws / ### Heating Up.
Rewrite every species page in the neutral-bureaucratic voice of a TDF
Human Resources personnel dossier. Mechanical content is preserved
verbatim; format and voice change.

Recurring elements across all 22:
- Form header: TDF // HUMAN RESOURCES DIVISION, Form HR-22b v3
- Signatory: HR-Lead Janssen, Onboarding Office, Sector 3
- Revision date: X828.05.22
- Fixed section numbering: § 0 Provenance, § 1 Dietary, § 2 Respiratory,
  § 3 Environmental, § 4 Workplace aptitudes, § 5 Special protocols,
  § 6 Liabilities. Inapplicable sections are skipped; numbers gap.
- File-no codes: SPC-XXX (3-letter species code)
- Bureaucratic instruments: 2826 Sentience Accords, Reconstruction
  Directive 11-c, Form HR-09c (accessibility waivers), Maintenance
  Protocol IPC-12c, Insurance Tier A/B/C

Pending in-game visual verification by user.
Letterhead: HR Division / Form HR-22b / HR-Lead Janssen → Bureau of
Personnel / Form BP-22b/v3 / Adjutant General Janssen, BuPers. Matches
the reformation-era TDF org per the BuPers reference memory.

Layout: <Box>/<ColorBox> grid with continuous mono-frame banner +
ornament dividers; DESIGNATION/CLASS/ORIGIN/METABOLIC/STATUS stat block
to the left of a paperdoll embed; six standardized subsections
(TOLERANCE PROFILE, DIETARY, RESPIRATORY, WORKPLACE APTITUDES, SPECIAL
PROTOCOLS, LIABILITIES/INSURANCE FLAGS) with per-section accent colors.

Sidebar (Resources/Prototypes/Guidebook/species.yml): alphabetize the
Species children list.

Audit-pass fixes for unified style across all 22 dossiers: Moth retrofit
(Respiratory/Special/pressure-tolerance bullet); Tajaran ORIGIN trimmed
(no parentheticals); Hydrakin CLASS trimmed (2 tiers max, "uplifted"
preserved in ORIGIN); Vox METABOLIC reworded; Chitinid standardized to
"Insect Blood"; Moth Subject lede de-cross-referenced.

Lore-doc flavor on 14 dossiers — ORIGIN canon names, Subject paragraph
enrichment, and Janssen quote swaps drawn from the species-lore audit:
  Vox (Shoal/Inviolate); Tajaran (Ahdomai, S'rand'marr binary);
  Vulpkanin (Kelune, Altam, 2189 evacuation); Rodentia (Altam
  co-inhabitation with Vulpkanin, descriptive-epithet naming
  protocol); Avali (Avalon, pack-of-six); Resomi (Sirisai, post-Fall
  Empire heritage); Diona (Epsilon Ursae Minoris, gestalt-of-nymphs);
  Feroxi (Solvan ringworld, eager-joiner profile); IPC (defunct
  manufacturer attribution); MonoReptilian (plural Tizira/Moghes/
  station-stock heritage); Felinid (animalid clade, hereditary);
  Moth (Grand Nomad Fleet); plus Protogen and SlimePerson Subject
  reframing.

Mauve PROVENANCE NOTE sections for the four species with explicit
corporate-era historical context that the lore doc recommends
acknowledging: Hydrakin (Ullman uplift / Colossus diaspora), Moth
(Lümla canonically lost / Grand Nomad Fleet), Protogen (post-uprising
free lineage), SlimePerson (corporate-era extract harvest under defunct
NanoTrasen / Hephaestus banners).

Setting framing per the post-corporate memory: all megacorp references
are past-tense; no surviving proprietary claims.
@github-actions github-actions Bot added S: Untriaged YML No C# Doesn't contain any C# code Docs Improvements or additions to documentation/guidebooks size/L and removed S: Untriaged labels May 23, 2026
@Triad-Sector Triad-Sector changed the title Fix/species guidebook audit Fix/Species Guidebook Audit May 23, 2026
@rebaserHEAD rebaserHEAD changed the title Fix/Species Guidebook Audit Guidebook Species Lore Alignment & Mechanical Species Audit May 23, 2026
@rebaserHEAD
Copy link
Copy Markdown
Contributor Author

Please note ANY of this can change per the loretainers but I wanted to give this a kick in some direction. I personally love the templating and the insertion of this character. I did sort of build on established "lore" where I could but there are a few blind spots. I hope you all like it!

@IrkallaEpsilon
Copy link
Copy Markdown

Is there a template for such additions to guidebook? The entries look very nice.

@IrkallaEpsilon
Copy link
Copy Markdown

Any chance to edit the roundstart survival packs for carnivorous species to contain a nutrient pill or something else thats edible over the now inedible nutrient brick?

@TheRealMasterChief117
Copy link
Copy Markdown
Collaborator

What do you mean now inedible? Every species should be able to eat nutribricks, except for moths, who eat the wrapper.

@IrkallaEpsilon
Copy link
Copy Markdown

IrkallaEpsilon commented May 23, 2026

What do you mean now inedible? Every species should be able to eat nutribricks, except for moths, who eat the wrapper.

This part in testing procedure raised alarm bells for me in that regard. I'd have to give it a shot on local later to see if this is actually the case:

"Avali / Feroxi: confirm plant matter and synthetic rations no longer satiate."

Syntethic ration = Nutribricks/MREs right?

Also keep in mind: Avali hunger drain and meat diet was made with Wizden/SL code in mind and balanced around their (kind of strong) active ability. Neither Wizden nor SL have a randomizer component in the hunger mechanic. Increasing hunger and thirst rate of species on Frontier/Mono code and derivatives may lead to considerably larger effect than intended.

The Avali hunger drain and meat restriction might be a bit too much from a purely mechanical point of view, at least in my eyes.

Currently they:

  • Crit at neg 90 health, not 100 like any other species. Effecitvely 10 HP less means they crit in 2 hits instead of 3 unarmored, similar observation when armored
  • Take 40% additional burn/Heat damage from all sources, in many cases this turns a 4 shot into a 2 shot, a 3 shot into a 1 shot for heat damage. This compounds with their crit at negative 90 downside. The heat multiplier also works for firestacks etc.
  • Have lower temperature thresholds overall, sure good in some situations but most of the time its high temp that kills

Their upsides:

  • Cold resist 40%. Cold resist is essentially without merit with the only source of cold damage being ambient. Now if there were enemies or guns that actually deal cold damage this would be a different story.
  • Improved Zero-G Flight. This one is pretty okay for doing stuff around the ship, still very situational, gimmicky upside considering how much of a universal the downsides are and jetpacks or voidwalker boots are ubiquitous
  • Slightly faster speed. Good if paired with no slowdown equipment. Most hardsuits however confer a slowdown, kind of nullifying what you gain from this.
  • 6.25 slash instead of 5 blunt, higher value but situational yet again.

@rebaserHEAD
Copy link
Copy Markdown
Contributor Author

What do you mean now inedible? Every species should be able to eat nutribricks, except for moths, who eat the wrapper.

This part in testing procedure raised alarm bells for me in that regard. I'd have to give it a shot on local later to see if this is actually the case:

"Avali / Feroxi: confirm plant matter and synthetic rations no longer satiate."

Syntethic ration = Nutribricks/MREs right?

Also keep in mind: Avali hunger drain and meat diet was made with Wizden/SL code in mind and balanced around their (kind of strong) active ability. Neither Wizden nor SL have a randomizer component in the hunger mechanic. Increasing hunger and thirst rate of species on Frontier/Mono code and derivatives may lead to considerably larger effect than intended.

So fun fact I didn't change much regarding food. I just documented it. The only thing that changed was Avali and Feroxi can't eat paper and crayons anymore.

Species Before (main) After (branch) Changed?
Human Omnivore Omnivore
Moth MothFood + ClothMade, Paper same
Vox Omnivore Omnivore
Reptilian Omnivore (whitelist commented out upstream) Omnivore
Arachnid Omnivore Omnivore
Slime Omnivore Omnivore
Diona Omnivore (Plant metabolism) same
Dwarf Omnivore Omnivore
Tajaran Omnivore Omnivore
Hydrakin Omnivore Omnivore
Protogen Omnivore Omnivore
Resomi Omnivore Omnivore
Felinid Omnivore Omnivore
Harpy Omnivore Omnivore
Oni Omnivore Omnivore
Rodentia Omnivore Omnivore
Vulpkanin Omnivore Omnivore
Chitinid Omnivore Omnivore
Goblin Omnivore Omnivore
IPC n/a (no stomach — runs on power) same
Avali Meat, Pill, Crayon, Paper, AvianFood Meat, Pill, AvianFood
Feroxi ReptilianFood, Meat, Pill, Crayon, Paper Meat, Pill

And I'm more than open to change stuff up. I'm not authoritative. I got the go ahead from Chech to align the species to the guidebook first, then I went on to document the undocumented mechanics that already existed from there which was a LOT. So stuff you're seeing here might be surprising but it's just... always been like that.

So anything that was in the guidebook beforehand was treated as authoritative. This is a comprehensive list of those alignments with the food ones mixed in there just to give you a complete change list. I think the only one I added an actual like... change for was the Avali not having a defined "suffer" so above 30 degrees they just get slower. Can be changed or reverted but again, aligning the code to the docs first.

Species Attribute Before (main) After (branch) Source
Arachnid Suffocation rate default Asphyxiation: 1.0 (implicit) Asphyxiation: 1.5 (added Respirator override) arachnid.yml:48-51
Avali Hunger decay rate baseDecayRate: 0.03 baseDecayRate: 0.036 avali.yml:24
Avali Digestible tags Meat, Pill, Crayon, Paper, AvianFood Meat, Pill, AvianFood avali.yml
Felinid Stamina crit threshold 100 (default) 85 felinid.yml:61
Felinid Stamina decay (recovery) 5 (default) 2.55 felinid.yml:62
Feroxi Thirst decay rate baseDecayRate: 0.2 baseDecayRate: 0.15 feroxi.yml:20
Feroxi Digestible tags ReptilianFood, Meat, Pill, Crayon, Paper Meat, Pill feroxi.yml
Hydrakin CO₂ → O₂ conversion Oxygenate reaction active on CO₂ reaction commented out gases.yml:211-219
Oni Pry time multiplier 0.6 0.5 oni.yml:18
Oni Melee Blunt coefficient 1.2 1.35 oni.yml:26
Oni Melee Asphyxiation coefficient 1.2 1.35 oni.yml:29
Protogen Cold damage modifier Cold: 1.15 Cold: 1.3 modifier_sets.yml:6
Reptilian Heat-boost threshold 322 K 320.15 K (47 °C) reptilian.yml:147
Resomi Heat-side slowdown none above 30 °C 303 K → 0.8, 310 K → 0.6 added resomi.yml:98-99

On the subject of rations, both species eat the rations just fine. The whitelist on their stomachs looks scary but it actually only kicks in for weird stuff like clothing and paper.

Here's the gate, from FoodSystem.cs:444-455:

if (!component.RequiresSpecialDigestion && !ent.Comp1.SpecialDigestibleOnly)
    return true;  // eat freely
Two ways a food gets sent through the whitelist check:

The food itself sets requiresSpecialDigestion: true. Mostly clothes, shoes, wintercoats, paper, crayons.
The stomach sets SpecialDigestibleOnly: true. Default is false, and Avali/Feroxi don't override it.
If neither is true, normal food just goes through. So the rations:

Item Tags requiresSpecialDigestion? Feroxi (Meat, Pill) Avali (Meat, Pill, AvianFood)
Nutribrick (opened) FoodSnack, Meat, ReptilianFood, AvianFood no yes, eats normally (also passes whitelist on Meat) yes, eats normally (also passes on Meat + AvianFood)
Energy bar (opened) FoodSnack only no yes, eats normally yes, eats normally
MRE wrapper variants adds MREFood no yes yes

I'll rewrite the sections for Feroxi and Avali to make it less misleading tho. I'll also update any mention of Collosus to Triad per Ricky in the Contributors chat earlier.

@IrkallaEpsilon
Copy link
Copy Markdown

Oh nice, thanks a ton for clarifying that! So they can still eat nutribricks then. The other thing I am wondering is how the increased rate of hunger will behave on frontier/mono code. Its a bit difficult to test that on local afaik but just something to keep in mind going forward cause I recall Coyote (afaik) modified hunger rate and it was very miserable for anyone as it was highly unreliable due to the randomizer component in hunger decay

@rebaserHEAD
Copy link
Copy Markdown
Contributor Author

Oh nice, thanks a ton for clarifying that! So they can still eat nutribricks then. The other thing I am wondering is how the increased rate of hunger will behave on frontier/mono code. Its a bit difficult to test that on local afaik but just something to keep in mind going forward cause I recall Coyote (afaik) modified hunger rate and it was very miserable for anyone as it was highly unreliable due to the randomizer component in hunger decay

No worries! :D

Glad to be of help. I figured the changes would spark discussion ESPECIALLY about balance changes. I know the land mine I stepped on lol.

Incorrect documentation and mechanical ambiguity has always sort of been my bugbear. I came at rewriting these entries knowing that once people got to have that "oh shit for real" moment by actually seeing shit laid out correctly in the guidebook that there would be some, uh. Questions and concerns lol.

The only thing I'm really going to to be a stickler about is I worked my ass off getting the template to play nice, everything else is fair game.

Another fun fact: I lead my somewhat large orgs internal documentation project for like a year and a half (I h8 u confluence) where I developed a LOT of my documentation styling and tone. You won't believe how many arguments I got in over the most inane and pedantic bullshit lol. Most of my style is actually based off of Microsoft's documentation styling guide mixed with my own experience. Because Microsoft does in fact suck as a company but their documentation is world class and I won't hear any slander on it. Bless those people for trying to explain that waking nightmare of a codebase.

@IrkallaEpsilon
Copy link
Copy Markdown

Oh I can absolutely believe and relate with you on that. I have issues myself IRL with certain types of scientific documentation (publishing process) which imposes you arbitrary restrictions (i.e. 5000 word count no matter complexity of topic or findings) and then trying to wrangle reviewers who have essentially no idea what you worked on. Theres no stupid questions one says but the reality is there are indeed still stupid questions.

The guideline template you use is really fucking good. Its visually appealing, readable and reads like an official document. Legit if anything in guidebook is written in this style you get people to read.

@rebaserHEAD
Copy link
Copy Markdown
Contributor Author

rebaserHEAD commented May 23, 2026

Oh I can absolutely believe and relate with you on that. I have issues myself IRL with certain types of scientific documentation (publishing process) which imposes you arbitrary restrictions (i.e. 5000 word count no matter complexity of topic or findings) and then trying to wrangle reviewers who have essentially no idea what you worked on. Theres no stupid questions one says but the reality is there are indeed still stupid questions.

The guideline template you use is really fucking good. Its visually appealing, readable and reads like an official document. Legit if anything in guidebook is written in this style you get people to read.

THANK YOU. YES. Like people who complain about people not reading their fucking single paragraph completely un-styled documentation brick littered with tautaology and less brief than something that is not brief at all frustrate me. Like you gotta meet people where they are, people don't live in your head. You have to help with the power of styling to assist in the process of CONVEYANCE.

And thanks on the template! It was a huge piece of shit to get to work with the limitations but I scraped as much functionality as I could from places like the moomoobeefs fax repo for ASCII artifacts and patterns I could repurpose and then had the abominable intelligence scrape the web for more bits of BB code and XML hack gold that were either upstream, on different adjacent forks like DeltaV and starlight who actually have some code additions to jazz up their guidebooks too. Legit I think the template work was about... four hours of iteration until I settled on something I liked? I'll see if I can churn out a commented template for ya!

I also made the cursed machine do a lore scrape so I could get ALL canonical species origin information from across the games history and let me tell you do not look in to resomi or avali too hard. SS14 is considered authoritative in it's analysis but if SS14 leaves a gap it lays in SS13 era information from as close to the origin as I could considering that the authoritative source. If other forks had parallel lines or largely agreed upon lore. I referenced off that for my own writing for the flavour filler since I had all these fields now so why not use them ya know? I view this sort of expansion as something to not limit people but a skeleton to stick more meat to if they want, or they can completely disregard it and call me a shitter. Worst case it gets trashed and get called a hack by the loretainer lol.

…ments

Adds a Shared system that gives the BuPers species guidebook dossiers
their paper-doll preview: every species gets a randomized
HumanoidAppearance (skin/hair/markings) and random species-appropriate
undergarment markings, no jumpsuit or shoes. Lives in Content.Shared
because the guidebook spawns its GuideEntityEmbed children client-side;
a server-only randomizer would never fire.

Why markings, not clothing: six species (Avali, Reptilian, Resomi, Vox,
Harpy, Hydrakin) configure Inventory `displacements:` and don't render
generic clothing through the species-displacement chain in the dossier
preview. Picking species-appropriate undergarment markings out of the
existing pool (via MarkingsByCategoryAndSpecies) keeps the dossier
coverage uniform without forking the displacement render pipeline.

Why baked into the profile pre-LoadProfile: client-only entities don't
get a second state sync to re-trigger sprite-layer rebuild, so anything
added to the MarkingSet after LoadProfile would never render. The
markings are injected into profile.Appearance.Markings before LoadProfile
runs, so the initial sprite build picks them up.

Gender rule: female base models get a random top from the species pool
(bra / sportsbra / binder / tanktop); male and unsexed go bare-chested
since bras only make sense where the anatomical difference between sexes
lives. Bottoms are gender-neutral across the board.

Content.Shared/_Triad/Dossier/DossierExemplarComponent.cs - marker
component; ticks the entity for OnMapInit randomization.

Content.Shared/_Triad/Dossier/DossierExemplarSystem.cs - subscribes to
MapInitEvent, builds a randomized profile with undergarments injected,
calls LoadProfile.

Resources/Prototypes/_Triad/Entities/Mobs/dossier_exemplars.yml - 22
exemplar entities, one per playable species, parented to the live mob
prototype and the abstract base.

Resources/Prototypes/Entities/Mobs/Customization/Markings/undergarments.yml -
adds Hydrakin and Resomi to the universal speciesRestriction lists so
their marking pool isn't empty.

Content.Client/Guidebook/Controls/GuidebookWindow.xaml - MinSize bumped
to 800x500 plus a 600px content-split MinSize so the 54-mono-char
dossier banners don't wrap at 75% UI scale (belt-and-suspenders with
the 60-to-54 banner narrowing in the matching doc commit).
…beds

Final pass over all 22 dossiers, layering several intertwined polishes:

Banner narrowing 60 -> 54 chars (header, footer, section dividers).
Reduced after the 60-char design wrapped at 75% UI scale in narrowed
guidebook windows. The matching GuidebookWindow MinSize bump
(belt-and-suspenders) lives in the matching feat commit.

Switched <GuideEntityEmbed Entity="MobX"/> to "MobXDossierExemplar" on
every dossier so the paper doll uses the new randomized BuPers exemplar
instead of a static live-mob preview.

Janssen quote rework: replaced openers and topical sprinkle quotes with
situational one-off clarifications to subordinates, per the post-corporate
canon (Janssen as long-serving veteran, curious + warm + dry deadpan,
human himself but bias-aware of that). The format is now anchored as
the canonical Janssen voice across the dossier set.

Dietary range: schema standardized across all dietary blocks. Toxin
callouts (theobromine, allicin, etc.) now use a Warning eyecatch.

Human de-baselining: rewrote Subject paragraph and Janssen opener so
humans read as one species among many, not the implicit measuring stick.
Janssen acknowledges his own human identity in the bias-aware quote.

Em-dash cleanup in prose. Em dashes still appear in formatting flair
(bylines, mono data rows, header separators) where they read as
typographic separators, not sentence filler.

Affected dossiers: Arachnid, Avali, Chitinid, Diona, Dwarf, Felinid,
Feroxi, Goblin, Harpy, Human, Hydrakin, IPC, MonoReptilian, Moth, Oni,
Protogen, Resomi, Rodentia, SlimePerson, Tajaran, Vox, Vulpkanin (22
total).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

C# Docs Improvements or additions to documentation/guidebooks No C# Doesn't contain any C# code size/L UI YML

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants