Reaction

Character reaction is a game mechanic in Fallout and Fallout 2. It reflects general attitude of an NPC towards the protagonist. The reaction can be good, neutral of bad.

Reaction value is composed of two components: base reaction and static reaction. Base reaction is preserved between dialogues while static reaction isn't.

Initial reaction
Initial reaction is calculated from multiple factors:


 * Charisma compared to the NPC's Charisma, only upon the first conversation
 * Karma has no direct effect (the code is commented out), only through relevant titles
 * Town reputation
 * Reputation titles
 * Presence perk and Sex Appeal trait
 * Cult of Personality perk has no effect (the code is commented out)
 * Karma Beacon perk also has no effect (the code is unused)

Characters marked as "evil" have their reaction modifiers from karma-based titles (except Childkiller) and reputation backwards. Slaver title's effect and its sign rather depends on what the character thinks of slavers.

In only a few locations are appropriate characters marked as "evil" for this purpose in Fallout 2:


 * Den
 * Strangely, Rebecca Dyer
 * Enclave Oil Rig
 * Frank Horrigan
 * New California Republic (town)
 * Buster
 * Lenny (NCR)
 * Merk
 * Mira
 * Merk's guard
 * Oswald
 * Rawhide Saloon patrons
 * Skeeter
 * Vortis' holding center guards
 * Vortis
 * New Reno
 * Bishop's man
 * Drug dealers
 * Mordino's man
 * Ramirez
 * Salvatore's man
 * Strangely, Wright's children playing a game in front of their mansion
 * Redding
 * Obidiah Hakeswill
 * San Francisco
 * Strangely, Dave Handy
 * Hubologists in robes
 * Juan Cruz and Vikki Goldman
 * Lo Pan
 * AHS-7
 * AHS-9
 * Vault 13
 * Matt (Vault 13)
 * Vault 15
 * Darion's dog
 * Darion
 * Darion's personal guard
 * New Khans
 * Karla
 * Phil (Khans)

Changing
Reaction is changed by saying nice or mean things to the character by choosing appropriate dialogue options. For talking heads, the character's expression visibly changes.

There are also scripted changes by various amounts.

Under the hood
It's an integer from -100 to 100, with 25 and higher for Good, -25 or lower for Bad and Neutral for in-between. There's also a separate variable from -4 to 4 holding just the level where +2 is good and -2 is bad. After one is changed, the other is converted to reflect the result. Both variables are recalculated each time a conversation starts, only the base reaction is saved.

Base reaction: Initial static reaction: Changes:
 * On the first conversation: each point of PC's Charisma over NPC's: +5 (if higher) / -5 (if lower)
 * After that, it's only altered by scripted changes
 * Sex Appeal: ±20
 * Each level of Presence: +10
 * Each level of reputation title for general Karma: ±5
 * Berserker: -20
 * Champion: +20
 * Childkiller: -30
 * Slaver: -50, -25, 0 or +25 (mostly 0)
 * Each 2 points of town reputation: ±1
 * The dialogue options adjust the level by two.
 * There are also scripted changes by various amounts as well as direct assignments. They can affect either base reaction or the effective reaction.

Effects
Compared to how much thought was put into the reaction system, it's largely unused. Only for few NPCs does it affect the course of the dialogue (39 in Fallout 2, to be exact). The most prominent effect it has on gameplay is affecting barter prices (e.g. in one test, for Chitsa (CH 10 and Sex Appeal), Leather armor was offered for $1218 by Maida Buckner and for $1190 by Sajag).

A possible reason may be that it's proved to be excessively restrictive. There are few ways to improve an unfavorable reaction once it's established, so it would only frustrate the player by erecting unpleasantly surprising roadblocks, potentially at any interaction and any step of any quest. Though it's highly unlikely this would render the game unwinnable, it may still deny the player critical clues and ruin their experience. Another, very possible reason is the lack of a clear idea about the logic for its dynamics, resulting in it being severely crippled by bugs and inconsistencies.

Bugs
Reaction-related macros are heavily bugged and their logic is inconsistent (looks like the developers themselves weren't quite sure what exactly they should do). Which probably contributed to the low usage of the system. E.g.:
 * macros setting the effective level actually have no effect
 * most macros, including the one calculating the initial reaction, do not properly synchronize all three reaction variables (base reaction, effective reaction, effective level)
 * the macro converting value to level uses effective reaction while the one converting level to value rather sets base reaction