Davaris, did you play fo2 at least a couple of times?
I played Fallout 2, 2 or 3 times I think (I'll have to have another go if I ever take a break from game programming). Fallout was by far the best game in my opinion. I've played it 5 or 6 times and they are the only games on my harddrive.
I'm asking so because I sometime feel that the karma/reputation thing is a kind of "eyecandy" given to the player (Look, Ma! I'm Baaaad). At least in part. Do you think this header is flawed in the original game too? Or it is just they didn't script enough npc reactions/dialogue lines?
I'm not sure about the headers. I just assumed you could change them and it would work in mapper (I've never used mapper so I'm ignorant). Anyway to answer your question, if they are using this function (which is commented in the header) in the game engine:
//#define REACTION_BONUS_KARMA ((check_general_rep*Karma_Perception)/KARMA_MODIFIER)
followed by these lines that use it in GetReaction:
if (REACTION_BONUS_KARMA >= 0) then \
reaction_bonus_karma:=(REACTION_BONUS_KARMA/KARMA_MODIFIER); \
else \
reaction_bonus_karma:=-1*(-1*REACTION_BONUS_KARMA/KARMA_MODIFIER);
Then the line in GetReaction is effectively useless. Because they are divding by KARMA_MODIFIER (which is = 1000) twice. So if you had a max Karma_Perception and a karma of -2000 it only adds -0.2 points to the reaction calculations.
So it doesn't matter what you set Karma_Perception to be and what your karma is, it will make almost no difference to your reaction in these lines.
So if the header is close to what is going on in the engine, I can't see how reaction be affected by karma by anything more than + or - 20 points (see Holy Warrior/Demon etc), which isn't a lot when you consider your reaction range is over +/- 100 points.
Note:
I haven't taken town reputations into account. I have no idea how they are calculated.