Skip to content

Conversation

@robothauler
Copy link
Contributor

@robothauler robothauler commented Aug 2, 2025

If the player has reached the reputation “CREDIBLE”, he would have to donate more than 100000 credits to get to the next level.

Closes #6074

@zonkmachine
Copy link
Member

OK. This skips the sales pitch if it comes out as 0$. This is reasonable.
If I throw a whole lot of money in donations my reputation goes up. It seem to level out at 122/TRUSTWORTHY, when it should go up to 512/MASTER. After 122, I have thrown some 50 000 000$ at the charities and nothing happens. Maybe I misunderstand reputation, and you're not supposed to be able to buy yourself to the top like that? I think there is a round off error happening in addReputation causing it to level out at 122. If I create a 1000000$ donation button I can again increase the reputation slightly (I haven't tried to find if it levels out somewhere else with this button).
@impaktor

local addReputation = function (money, character)
local char = character or Character.persistent.player
local curRep = char.reputation
local newRep
if curRep >= 1 then
local exp = math.log(money)/math.log(10) - (math.log(curRep)/math.log(2) - 1)
newRep = curRep + 2^exp
else
newRep = curRep + 2^(math.log(money)/math.log(10))
end
char.reputation = newRep
return newRep
end

I think this is a reasonable change but it doesn't fix the underlying issue, and the github issues shouldn't be closed.

@impaktor
Copy link
Member

impaktor commented Aug 3, 2025

There is nothing inherently wrong with being able to buy yourself reputation all the way to the top I think.
If a new mechanic is suggested, or current equations tweaked, I'd like to see a graph of donation $ vs. reputation.

I think the idea with having the log is to reputation gain flatten out / cost more and more to buy a reputation score.

@zonkmachine
Copy link
Member

I think the idea with having the log is to reputation gain flatten out / cost more and more to buy a reputation score.

And currently it seem to flatten out completely at too early in the career, at TRUSTWORTHY.

@impaktor
Copy link
Member

impaktor commented Aug 3, 2025

  1. possible we want to change / tweak the f_reputation(x_money) function
  2. what should be the behavior when any further donation has 0 impact on reputation?

@zonkmachine
Copy link
Member

zonkmachine commented Aug 3, 2025

  1. possible we want to change / tweak the f_reputation(x_money) function

Probably. I tested to step up the reputation in the debug tool and see what the suggested donation would be per reputation. Here is the result for reputation 0 - 26 (Max 512).

Reputation Suggested donation
0 100
1 10
2 10
3 10
4 10000
5 1000
6 1000
7 100
8 100000
9 100000
10 100000
11 100000
12 100000
13 100000
14 10000
15 1000
16 0
... 0
26 0
2. what should be the behavior when any further donation has 0 impact on reputation?

Not suggesting 0$ as proposed in this PR is a good start. I think maybe the reputation should still be impacted by donations at all time but just lesser with increasing reputation and the suggested donations increasing.

Edit: table, fixed value at reputation 4

@zonkmachine zonkmachine self-requested a review August 8, 2025 15:34
@robothauler
Copy link
Contributor Author

This is the current status when the reputation is <1:
reputation_lt1
I added 3 curves for reputation -3, -5 and -10.
In my opinion, that's fine.

This happens when the reputation is >= 1.
reputation_ge1
Both axes in the graph are logarithmic!
The graphic is a bit confusing, but I think you can see the most important points.

@sturnclaw
Copy link
Member

The graphs of the function as-is look like a very poor-quality gameplay experience. It seems when your rep is exactly -8, no donation can affect it... but a donation of 100 credits can take a -10 rep to -6? When you have 0 reputation or any power-of-two value, your reputation is apparently completely unable to be helped via donation.

In general, the absolute value of the player's current reputation should have a linear or slightly-exponential effect on reputation gain via donations (i.e. a $10 donation at rep 0 is enough for 1 reputation, while increasing one reputation level at rep 10 is $100). This should allow the total reputation gain for an arbitrary donation to be computed, while avoiding the pitfall that is some reputation levels causing your donation to simply go up in smoke.

@robothauler robothauler marked this pull request as draft September 12, 2025 12:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Donate to Cranks - Please donate $0

4 participants