I couldn't find anything about necro-posting in the rules, so I thought it was okay to post in this thread since it is not closed yet.
The thing is, I had similar Sexpert / Gigolo / Porn Star problem recently. I tried to become a Porn Star, but failed because I "lacked experience", no matter how much money I spent in Cat's Paw. So I decided to find out what is "experience". I found this thread and a couple of others, but it still didn't help me.
Endocore said:
@spukrian
((Charisma times 50) + (Endurance times 25) + (Agility times 13) + (Strength times 12)) divided by 100) plus ((2 points if you have kama sutra master) plus (1 point if you have the sex appeal trait, you had some really amazing lovin' during the present encounter, or you're already a porn star)) times 2. If all that adds up to nine or more, you get sexpert.
This is slightly incorrect. First, sex appeal trait is added separately, as one point, just look closely at the parentheses. Second, it is not "had some really amazing lovin' during the present encounter". What GVAR 194 is, this is your actual "sex experience" from the very beginning of the game. The formula above ("sex power") is calculated each time the character has sex, then the value added to that variable. When the variable reaches 100, it gives you 2 additional points to your "sex power", which may allow it to reach 9, and at that point your character is eligible to become a porn star and is also supposed to get the Sexpert or the Gigolo trait at the same time.
This is a little more complicated than it seems, though. If we look at command.h file from Fallout 2 Mapper, we can see this:
Code:
inc_global_var_amt(GVAR_PLAYER_SEX_LEVEL, dude_sex_rating * x); \
if (global_var(GVAR_SEX_COUNTER) >= 9) then begin \
set_global_var(GVAR_SEXPERT, 1); \
end \
if (dude_sex_rating >= sex_rating_great) then begin \
set_global_var(GVAR_GIGALO, 1); \
end \
inc_global_var_amt(GVAR_SEX_COUNTER, x)
Where "x" is the "amount of sex", usually 1. This means that in the unpatched Fallout 2, the character gets Sexpert after having sex 10 times and Gigolo when his sex_rating reaches sex_rating_great (defined as 9). Now I would have no objection at all if the Killap's patch would just reverse these two. But it works rather strange. Here's how it looks for Miss Kitty:
Code:
if (sex_type != 702) then begin
set_global_var(194, global_var(194)
+ (((((get_critter_stat(dude_obj, 3) * 50)
+ (get_critter_stat(dude_obj, 2) * 25)
+ (get_critter_stat(dude_obj, 5) * 13)
+ (get_critter_stat(dude_obj, 0) * 12))
/ 100)
+ (has_trait(0, dude_obj, 94) * 2)
+ has_trait(2, dude_obj, 13)
+ (((global_var(194) >= 100)
or (global_var(232) > 0)) * 2
* (dude_obj == dude_obj))) * 1));
end
if (global_var(358) >= 9) then begin
set_global_var(588, 1);
end
if (((((get_critter_stat(dude_obj, 3) * 50)
+ (get_critter_stat(dude_obj, 2) * 25)
+ (get_critter_stat(dude_obj, 5) * 13)
+ (get_critter_stat(dude_obj, 0) * 12))
/ 100)
+ (has_trait(0, dude_obj, 94) * 2)
+ has_trait(2, dude_obj, 13)
+ (((global_var(194) >= 100)
or (global_var(232) > 0)) * 2
* (dude_obj == dude_obj))) >= 9) then begin
set_global_var(589, 1);
end
if (global_var(590) == 1) then begin
set_global_var(590, 0);
end
set_global_var(358, global_var(358) + 1);
And in the unpatched version it's just:
Where up_sex_status expands to the macro listed above with x=1.
I just don't get it. If Killap just swapped Sexpert and Gigolo in the header file, then, when he added sex_type != 702 (just talk) condition, it should have been applied to the whole macro. Instead, it is only applied to the actual experience increase, but checks are left out and "sex count" is still increased. Moreover, we can see that it gives Sexpert just like the unpatched version did. Even more strangely, when I checked Sally's script from Klamath, Sexpert and Gigolo were actually swapped there. This way I managed to first get Sexpert in New Reno, then I got frustrated and went to Klamath. There I had sex just one time and immediately got Gigolo, but when I went back to New Reno, Corsican Brothers still complained that I lacked experience, despite the fact that I had both of the traits at the point.
Finally I got fed up and installed save editor. Without editing anything, I checked GVAR 194 and it was set to 75. After having sex just 5 more times at Cat's Paw it was over 100 and I happily became a Porn Star. I don't know why I wasn't able to do so earlier, maybe because I would sometimes choose "just talk" option or maybe some other glitch prevented me from doing so, but the whole affair with traits largely confused me.
I think that Sexpert and Gigolo still should be swapped (get Gigolo after 10 sex, Sexpert only when have enough experience), but it should be done right.