RELEASE
planning/2.8.5/data/FO3/KARMA_DATA.md
sha256 9cc67bf7f6339336 · 20080 bytes ·
original held in the private archive
# KARMA_DATA — FO3 Karma Engine Source of Record
> **Snapshot as of 2026-07-15 — Protocol 8 Stage 2 (Sonnet build).**
> Every value below was fetched live from `fallout.wiki` (via the in-app Browser
> tool — direct `WebFetch` was blocked with 403/402 by the wiki's anti-scraping
> layer, so the browser tool's rendered-page text was used instead; content is
> identical, only the retrieval method differs). This file is the **transcription
> source** for `GAME_DEFS.FO3.karma` in `js/core/state.js` — the build's only job
> is to copy these values in, never to re-derive or "improve" them (Protocol 3).
>
> **Corrections vs. the Stage-1 plan's inline data:** the Stage-1 plan
> (`planning/KARMA_ENGINE_PLAN.md`) paraphrased this data from an earlier
> extraction. Two live-verified corrections were found and are called out
> inline below (§2 Level 11 title spelling; §5 Regulator squad size is
> actually verified, not unverified as the plan assumed). Everything else in
> the plan checked out against the live page.
---
## 1. Karma bands (unchanged — matches shipped `_KARMA_TIERS`)
**src:** `fallout.wiki "Karma (Fallout 3)"` — "Karma levels" section.
> Very Good: +750 to +1000.
> Good: +250 to +749.
> Neutral: -249 to +249.
> Evil: -250 to -749.
> Very Evil: -750 to -1000.
Confirms the shipped `js/ui/ui-core-cmd.js` `_KARMA_TIERS` breakpoints are correct.
**Do not change them** (per the Stage-1 plan's explicit instruction).
---
## 2. The 90 karma titles (level 1–30 × Good/Neutral/Bad)
**src:** `fallout.wiki "Karma (Fallout 3)"` — "Karma titles" section, table
transcribed verbatim (the wiki's own `(Karma)` disambiguation-link suffixes,
e.g. "Vault Dweller (Karma)", are a MediaWiki link-disambiguation artifact, not
part of the in-game title text, and are stripped here — the bare title is what
the game displays).
> The Karma status is defined by a title depending on one's Karma points and
> level. Karma titles above level 20 can only be reached with DLCs [Broken Steel].
**⚠ Correction vs. Stage-1 plan:** the plan's inline title list gave Level 11 as
"Capitol Crusader / Capitol Councilor / Capitol Crimelord". The live wiki page
spells it **"Capital"** (consistent with "Capital Wasteland", the game's own
region name) — **"Capital Crusader / Capital Councilor / Capital Crimelord"**.
Verified directly against the rendered wiki table; used here as the corrected
value.
| Level | Good | Neutral | Bad |
|---|---|---|---|
| 1 | Vault Guardian | Vault Dweller | Vault Delinquent |
| 2 | Vault Martyr | Vault Renegade | Vault Outlaw |
| 3 | Sentinel | Seeker | Opportunist |
| 4 | Defender | Wanderer | Plunderer |
| 5 | Dignitary | Citizen | Fat Cat |
| 6 | Peacekeeper | Adventurer | Marauder |
| 7 | Ranger of the Wastes | Vagabond of the Wastes | Pirate of the Wastes |
| 8 | Protector | Mercenary | Reaver |
| 9 | Urban Avenger | Urban Ranger | Urban Invader |
| 10 | Exemplar | Observer | Ne'er-do-well |
| 11 | Capital Crusader | Capital Councilor | Capital Crimelord |
| 12 | Paladin | Keeper | Defiler |
| 13 | Vault Legend | Vault Descendant | Vault Boogeyman |
| 14 | Ambassador of Peace | Pinnacle of Survival | Harbinger of War |
| 15 | Urban Legend | Urban Myth | Urban Superstition |
| 16 | Hero of the Wastes | Strider of the Wastes | Villain of the Wastes |
| 17 | Paragon | Beholder | Fiend |
| 18 | Wasteland Savior | Wasteland Watcher | Wasteland Destroyer |
| 19 | Saint | Super-Human | Evil Incarnate |
| 20 | Last, Best Hope of Humanity | Paradigm of Humanity | Scourge of Humanity |
| 21 † | Restorer of Faith | Soldier of Fortune | Architect of Doom |
| 22 † | Model of Selflessness | Profiteer | Bringer of Sorrow |
| 23 † | Shepherd | Egocentric | Deceiver |
| 24 † | Friend of the People | Loner | Consort of Discord |
| 25 † | Champion of Justice | Hero for Hire | Stuff of Nightmares |
| 26 † | Symbol of Order | Model of Apathy | Agent of Chaos |
| 27 † | Herald of Tranquility | Person of Refinement | Instrument of Ruin |
| 28 † | Lightbringer | Moneygrubber | Soultaker |
| 29 † | Earthly Angel | Gray Stranger | Demon's Spawn |
| 30 † | Messiah | True Mortal | Devil |
† Levels 21–30 require the Broken Steel add-on to actually reach in the base
game's level cap (20), but the titles exist in the table regardless — the app
allows level up to 50 with no DLC-gating, so these simply resolve once `state.lvl`
is high enough. No gating needed (Stage-1 plan §7 edge case 3).
**Level clamp:** app `MAX_PLAYER_LEVEL = 50` (`js/ui/ui-core-cmd.js:268`) exceeds
the title table's max of 30 — `getKarmaTitle` must clamp `lvl` to 30 before
indexing (levels 31–50 show the Level-30 title).
---
## 3. Karma-affecting events (the action picker)
**src:** `fallout.wiki "Karma (Fallout 3)"` — "Obtaining Karma points" section
(Positive / Negative / Other), transcribed verbatim. Repeatability is inferred
from the wiki's own phrasing ("per cap", "per instance", "each time" = repeatable;
a single named quest/story beat = one-off) and cross-checked against the
"Fallout 3 Random Encounters" page where relevant.
### 3a. Repeatable (grindable) — positive
| id | label | delta | src note |
|---|---|---|---|
| `donate_church` | Donated caps to a church | +1 per cap | "Donating caps to a church (In increments of 10, 50, or 100): +1 Karma per cap." |
| `lawbringer_finger` | Sold a Lawbringer finger to Sonora Cruz | +10 per finger | "Selling fingers taken from the corpses of evil characters... to Sonora Cruz via the Lawbringer perk: +10 Karma per finger." |
| `scrap_to_walter` | Gave free scrap metal to Walter | +10 per scrap | "Giving Scrap Metal to Walter in Megaton's Water Processing Plant for free: +10 Karma per scrap." |
| `water_to_beggar` | Gave Purified Water to a beggar | +50 per item | "Giving away Purified Water... to beggar characters like Carlos outside of Rivet City: +50 Karma per item." |
| `save_captive_reward` | Saved a Wasteland Captive (took the reward) | +50 | "Saving a Wasteland Captive: +50 Karma" |
| `save_captive_no_reward` | Saved a Wasteland Captive (refused the reward) | +75 | "Saving a wasteland captive without the Reward: +75 Karma" |
| `kill_very_evil` | Killed a Very Evil character/creature | +100 | "Killing a Very Evil character or creature (Allistair Tenpenny, Mister Burke, Eulogy Jones, Carolina Red, Ahzrukhal, Jaime, Jotun, Ymir, Cutter or a cannibal Hunter): +100 Karma" |
### 3b. Repeatable — negative
| id | label | delta | src note |
|---|---|---|---|
| `cannibalize` | Devoured a corpse (Cannibal perk) | −1 per corpse | "Devour a corpse (Cannibal perk required): -1 Karma per corpse." |
| `steal_owned_container` | Stole from an owned container | −5 per activation | "Stealing from a non-evil character or faction: -5 Karma per instance... the Karma change applies once per activation of that container." |
| `hack_owned_terminal` | Hacked/accessed an owned terminal | −5 per attempt | "Repeatedly hacking an owned (red text) terminal... -5 Karma per hack attempt, NOTE, even accessing the terminal will result in negative Karma." |
| `contract_killer_ear` | Sold a Contract Killer ear to Daniel Littlehorn | −10 per ear | "Selling ears taken from the corpses of good characters... to Daniel Littlehorn via the Contract Killer perk: -10 Karma per ear." |
| `kill_good_creature` | Killed a Good creature | −25 | "Killing a good creature: -25 Karma" |
| `fev_water_to_beggar` | Gave FEV-tainted Aqua Pura to a beggar | −50 per item | "Giving away Aqua Pura with the Modified FEV... to beggar characters like Carlos outside of Rivet City: -50 Karma per item." |
| `kill_non_evil` | Killed a non-evil character | −100 | "Killing a non-evil character: -100 Karma" — ⚠ **conditional**, see §3d below; a manual picker row, never an automatic NPC-alignment inference. |
| `psycho_to_paulie` | Gave Psycho to Paulie Cantelli | −100 | "Giving Psycho to Paulie Cantelli in Rivet City: -100 Karma each time so long as he is alive." |
| `mesmetron_enslave` | Enslaved a character with the Mesmetron | −100 | "Enslaving any character with the Mesmetron: -100 Karma" |
### 3c. One-off story beats (positive)
| id | label | delta | src note |
|---|---|---|---|
| `mei_wong_gun` | Gave Mei Wong 25 caps for a gun | +100 | "Giving 25 caps to Mei Wong to buy a gun: +100 Karma" |
| `disarm_megaton_bomb` | Disarmed the Megaton bomb without payment | +200 | "Disarming the Megaton bomb in The Power of the Atom quest without requesting payment: +200 Karma" |
| `tranquility_failsafe` | Activated the Tranquility Lane failsafe | +300 | "Activating the Failsafe in the Tranquility Lane Simulation: +300 Karma" |
| `destroy_enclave_crawler` | Destroyed the Enclave Mobile Command crawler | +500 | "Blowing up the Enclave Mobile Command crawler in Who Dares Wins in the Broken Steel DLC +500 Karma" |
| `destroy_krivbeknih` | Destroyed the Krivbeknih | +500 | "Destroying The Krivbeknih in the Point Lookout add-on: +500 Karma" |
### 3c. One-off story beats (negative)
| id | label | delta | src note |
|---|---|---|---|
| `burn_harold` | Burned Harold (Oasis) | −200 | "Burning Harold in the quest Oasis: -200 Karma" |
| `bryan_wilks_paradise_falls` | Sold Bryan Wilks to Paradise Falls | −400 | "Bringing Bryan Wilks to Paradise Falls during Those!: -400 Karma" |
| `mister_lopez_suicide` | Caused Mister Lopez to commit suicide | −500 | "Causing Mister Lopez to commit suicide (either by pushing him or insulting him): -500 Karma" |
| `ghouls_into_tenpenny` | Let the Feral Ghouls into Tenpenny Tower | −600 | "Letting the Feral Ghouls into Tenpenny Tower in the Tenpenny Tower quest: -600 Karma" |
| `blow_up_megaton` | Blew up Megaton | −1000 | "Blowing up Megaton in The Power of the Atom quest: -1000 Karma" |
| `infect_purity_fev` | Infected Project Purity with FEV | −1000 | "Infecting Project Purity with the Modified FEV in the Quest Take it Back!: -1000 Karma" — corroborated by the "Take it Back!" quest page: "Inserting the modified FEV lowers Karma by 1000." No conflict on this one. |
| `destroy_citadel` | Destroyed the Citadel | −1000 | "Blowing up the Citadel in Who Dares Wins in the Broken Steel add-on: -1000 Karma" |
### 3d. Kill-penalty modeling note (Protocol 3 trap — Stage-1 plan §9a)
The Notes section of the Karma page states explicitly:
> "The player character will only lose Karma for killing a non-Evil creature or
> NPC if they are assigned to a faction that is programmed to give the player
> character a Karma penalty for killing its members; by default, no Karma is
> lost for killing Good/Very Good characters."
This means `kill_non_evil` (−100) is **conditional on per-NPC programmed faction
data the app does not have** — it must stay a manual picker row the player taps
when the game tells them a kill cost karma, never an automatic
`if (npc.alignment...)` inference. The event ships with its cited delta; the
*decision to apply it* stays entirely with the player.
### 3e. UNVERIFIED — generic "quest act" deltas (ship as `null`)
The Karma page also lists two **unquantified** generic categories:
> "Performing a good action in a quest: At least +50 Karma (ex: Bring Cherry to
> Rivet City.)"
> "Performing an evil act in a quest: At least -50 Karma"
No exact number is given — only a floor ("at least"). Per Protocol 3 this ships
as `delta: null` with `verificationStatus: 'unverified'`; the picker row shows
"value unverified (wiki states 'at least ±50', no exact figure)" and is disabled.
| id | label | delta | verificationStatus |
|---|---|---|---|
| `good_quest_act` | Performed a good act in a quest (exact value not specified) | `null` | `unverified` |
| `evil_quest_act` | Performed an evil act in a quest (exact value not specified) | `null` | `unverified` |
### 3f. UNVERIFIED / CONFLICT — Project Purity self-activation
Two pages disagree on the karma value for self-activating Project Purity in
*Take it Back!*:
- `fallout.wiki "Karma (Fallout 3)"`: "Activating Project Purity by yourself in
the quest Take it Back!: **+600 Karma**" — no DLC qualifier stated.
- `fallout.wiki "Take it Back!"`: "If one has the Broken Steel add-on, the
player character's Karma will be raised by **1000** if they decide to
activate the purifier themselves. Karma is unaffected if Sentinel Lyons or
one of the player character's Companions is sent in." — explicitly tied to
Broken Steel; silent on the base-game (no-DLC) case.
This is a genuine, unresolved **source conflict** (Stage-1 plan §9 flagged this
exact case in advance). Ships as:
| id | label | delta | verificationStatus |
|---|---|---|---|
| `project_purity_self` | Activated Project Purity yourself | `null` | `conflict` — src cites both pages; conflicting values +600 (Karma page, no DLC qualifier) vs +1000 (Take it Back! page, Broken Steel-qualified) |
### 3g. Not modeled (perk-triggered, out of scope)
The Broken Steel perks **Escalator to Heaven** (+2000, resets karma to max
+1000) and **Devil's Highway** (−2000, resets karma to min −1000) are
perk-selection side effects, not discrete player-tappable actions — they are
noted here for completeness but are **not** added to the `events[]` picker
(the picker models actions, not perk acquisition; taking a perk is already
tracked elsewhere in the app's perk system). Scope stays tight per the
narrowest reading of the brief.
The Head of State (abolitionists/slavers), Arefu truce, Weston Lesko lie, and
Timebomb-kill entries listed on the wiki page's Positive/Negative lists carry
**no explicit karma number at all** (not even an "at least" floor) — they are
omitted from the transcribed event table entirely rather than invented as
UNVERIFIED rows, since the wiki does not actually assert a numeric karma effect
for them.
---
## 4. Hit squads
**src:** `fallout.wiki "Karma (Fallout 3)"` (Effects of Karma levels) +
`fallout.wiki "Fallout 3 Random Encounters"` (Karma-Related section) +
`fallout.wiki "Regulator (Fallout 3)"` + `fallout.wiki "Talon Company Merc"` +
`fallout.wiki "Bounty Notice"` + `fallout.wiki "Private Contract"`.
> "Regulator Hit Squad ... A Regulator ambush takes place if one has a Karma
> rating of Evil or Very Evil, with the 'Bounty Notice' note." (Random
> Encounters page)
> "Talon Company Hit Squad ... A Talon Company ambush takes place if you have
> a Karma rating of Good or Very Good, with the 'Private Contract' note."
> (Random Encounters page)
⛔ **There is no Enclave hit squad anywhere in any of these sources.** The
shipped `[!] ENCLAVE HIT SQUAD RISK` string is a fabrication with no basis in
the cited material — this is exactly the Protocol 3 violation this unit exists
to fix, and the citation guard's anti-regression check locks this fact down.
**⚠ Correction vs. Stage-1 plan:** the plan's §3a inline sketch marked
`squadSize: null, verificationStatus: 'unverified'` for **both** factions. Live
verification found the **Regulator** page states a specific number:
> "They typically operate in three-member squads when searching the Wasteland
> for the Lone Wanderer, if the latter has at least evil Karma." (`Regulator
> (Fallout 3)` page)
This is a real, citable value — **Regulator squad size ships as `3`, not
`null`.** Talon Company's page instead only states squads are "of different
sizes dependent on the Lone Wanderer's level" **without giving the specific
per-level numbers anywhere found on fallout.wiki** — the Stage-1 plan's inline
draft asserted a specific "L1–7=2, L8–11=3, L12–15=4, L16+=5" breakdown that
could not be verified against any live fallout.wiki page (checked: Talon
Company, Talon Company Merc, Fallout 3 Random Encounters). Per Protocol 3, an
unverifiable number is never transcribed — **Talon squad size ships as `null`
+ `verificationStatus: 'unverified'`**, correcting the plan's assumption.
| faction | alignment | threshold | contract note | bounty | squadSize | spawnFrequency | verificationStatus |
|---|---|---|---|---|---|---|---|
| Regulators | evil | ≤ −250 | Bounty Notice | 1,000 caps | **3** (typical) | `null` | `verified` (squad size + threshold); spawn frequency unverified |
| Talon Company | good | ≥ +250 | Private Contract | 1,000 caps | `null` | `null` | `verified` (threshold); squad size + spawn frequency unverified |
Both bounty notes ("Bounty Notice" / "Private Contract" holotape transcripts)
independently confirm **1,000 caps** as the bounty amount on each side.
---
## 5. Companions (8 total, 4 gate-classes)
**src:** `fallout.wiki "Karma (Fallout 3)"` (Companions and Karma section) +
each companion's own page, as cited per row.
> "Clover and Jericho require the player to have bad karma to be recruited...
> Butch DeLoria and Sergeant RL-3 require the player to have neutral Karma...
> Fawkes and Star Paladin Cross require the player to have good Karma...
> Dogmeat and Charon will follow the player character regardless of what their
> Karma level is."
| name | karmaReq | otherGate | src |
|---|---|---|---|
| Dogmeat | none | Found at the Scrapyard fighting off Raiders (or occasionally at The Mall). Recruitable "regardless of any other companion or Karma level." | `fallout.wiki "Dogmeat (Fallout 3)"` |
| Charon | none | Obtain his employment contract from Ahzrukhal at The Ninth Circle: kill Greta for Ahzrukhal, OR pay 2,000–5,000 caps, OR pay 1,000 caps with Barter 50. "Charon will join the Lone Wanderer regardless of Karma." | `fallout.wiki "Charon (Fallout 3)"` |
| Fawkes | good | Freed from a cell in the Vault 87 Test Labs; joins outside Raven Rock at the final stages of *The American Dream*. | `fallout.wiki "Fawkes"`, `fallout.wiki "Karma (Fallout 3)"` |
| Star Paladin Cross | good | Found at the Citadel Laboratory (Brotherhood of Steel HQ), Elder Lyons' seneschal. | `fallout.wiki "Star Paladin Cross"`, `fallout.wiki "Karma (Fallout 3)"` |
| Butch DeLoria | neutral | After completing *Trouble on the Homefront* (opening or destroying Vault 101), found at the Muddy Rudder in Rivet City. Requires neutral Karma to recruit; once hired he stays regardless of later karma shifts. | `fallout.wiki "Butch"` |
| Sergeant RL-3 | neutral | Purchased from Tinker Joe (between the RobCo Facility and Tenpenny Tower) for 1,000 caps, or 500 caps with Barter 70. Requires neutral Karma. | `fallout.wiki "Sergeant RL-3"` |
| Clover | evil | Purchased from Eulogy Jones at Paradise Falls for 1,000 caps, or 500 caps with Barter 50. "She may be bought by the Lone Wanderer if their Karma is evil enough." | `fallout.wiki "Clover"` |
| Jericho | evil | Found in Megaton; requests 1,000 caps for "supplies" before joining. Recruitable with evil Karma. | `fallout.wiki "Jericho"` |
Behavioral note (not modeled as state, informational only): once recruited,
each companion "will not leave if karma changes" within their own tier
direction — e.g. Fawkes stays if karma later drops to neutral, but won't
*rejoin* if dismissed while karma is off-tier. The app's karma-gate check is a
**recruitment-eligibility** signal, not a live-companion-loyalty simulator.
---
## 6. Also verified — companion-availability text, source-conflict resolution
- Karma page's "Effects of Karma levels" section corroborates the same 3-way
companion split as the dedicated companion pages (cross-checked, no
discrepancy).
- `fallout.wiki "Take it Back!"` was fetched specifically to resolve the
Project Purity conflict (§3f) — confirmed as a genuine conflict, not a
transcription error on either side.
---
## 7. Retrieval method note
Direct `WebFetch` calls to `fallout.wiki` and `fallout.fandom.com` were blocked
(403 Forbidden / 402 Payment Required — anti-scraping measures on both
domains). All data above was retrieved by loading the live pages in the
in-app Browser tool and reading the rendered page text — same content, same
URLs, different retrieval path. Every `src` citation above names the actual
page title as it appears on fallout.wiki; no secondary/mirror source was used
for any numeric or title value.
STAMP · generated for RELEASE v2.8.5 commit 06e5180 (06e51801b38a) · archive input-tree hash c07fbfbdd2e1ddeb · 754 files · no wall-clock timestamp (regenerates identically when nothing changed).