Sajag in Klamath has inverted reputation checks
JuanCruzSanFran opened this issue · 4 comments
Being friendly, giving additional info and allowing to rent a room with low town reputation and being hostile, lying and denying a rent with high town reputation.
Lines in question:
Correct line could be found in Slim's script
Bug is present inside killap restoration version too.
Slim is an ok dude, Sajag is shifty dude, so this is questionable.
Sajag is shifty dude, so this is questionable.
I too though so, but it doesn't make sense in the end.
if (TOWN_REPUTATION < 5) then
Reply("You're our kind of people. You came to the right tavern to spend your money. What can I do for you, pal?");
else
Reply("You don't seem to be too popular in this part of town. Well, maybe the jury's still out on you. How can I help you?");
...
if (TOWN_REPUTATION < 5) then
NMessage("Looks as though you don't have enough money for that right now. Sorry, friend. No credit here. (smiles)");
else
NMessage("Just like one of your kind to try and get something for nothing. No money, no service; now get out.");
...
if (TOWN_REPUTATION < 5) then
Reply("Relax, pal; it's just what we call the beer here. (chuckles) This is the Golden Gecko, remember?");
else
Reply("It's just beer. Golden Gecko, Gecko Piss? Are you slow or what? (shakes his head) Tribals, sheesh.");
...
if (TOWN_REPUTATION < 5) then
Reply("Well, now that we've got first things first out of the way... how can I help you? (smiles)");
else
Reply("Nice of you to drink with us lowlifes. (snickers) Just what do you want anyway?");
...
if (TOWN_REPUTATION < 5) then
Reply("Well information's what it's all about, pal. What do you want to know about?");
else
Reply("Yeah? What the heck do you want to know about?");
...
if (TOWN_REPUTATION < 5) then
Reply("Always plenty of rooms here for our friends. Only going to cost you $20 for eight hours of safe and comfortable shut-eye. A whole room to yourself. Have a party.");
else
NMessage("We don't have any rooms here, pal. Sorry, full up.");
...
if (TOWN_REPUTATION < 5) then begin
Reply("Hey pal, thanks for the information. My friends down in the Den aren't worried about any competition anymore. (evil grin)");
end else begin
Reply("Thanks for the information, friend. The town council, um, voted, to shut down Whiskey Bob's still. He won't be poisoning anyone else for a while. (sincere looking smile)");
Killap`s version makes even less sense. Cult of Personality should make even bad guys like you, but against all logic - the better you are received in Klamath - the worse Sajag treats you.
Being shifty might be plausible explanation but when he asks you about Bob's still, answering
NOption("I might know that. What's it worth to you?",Node910,004);
will reduce town's reputation
procedure Node910 begin
if (local_var(LVAR_910_before) == 0) then begin
set_local_var(LVAR_910_before,1);
tr:=global_var(GVAR_TOWN_REP_KLAMATH);
set_global_var(GVAR_TOWN_REP_KLAMATH,tr-2);
end
call Node012;
end
Which will make him ... like you? Maybe I'm wrong, but something seems fishy.
Yes, with dialog lines your version seems more plausible. I'm convinced.
CoP is a separate issue. It affects reaction, but direct reputation checks don't acction for reaction, and I think changing that would be out of UP scope. See #4, if you have something to add, feel free to.
CoP is a separate issue
Nah, that thing doesn't bother me, really, just the usage here in Sajag`s convo:
if (TOWN_REPUTATION < 5 and not(has_trait(TRAIT_PERK, dude_obj, PERK_cult_of_personality))) then // added by killap - not(has_trait(TRAIT_PERK, dude_obj, PERK_cult_of_personality))
So as I said before – makes even less sense. But if you invert it to
if (TOWN_REPUTATION > 4 or (has_trait(TRAIT_PERK, dude_obj, PERK_cult_of_personality))) then
(btw, it's still the same line from Slim's script)
it works perfectly.