Omg, after i installed the mod i dropped from 5.5 mil income per night to 700k.. i think you need to make some more adjustments...
This was intentional, as higher value bots earn crazy high amounts in vanilla SJx. Earnings are on a 'curve' now using a squareroot function with an adder for the bot base income value.
Of course, if you sell higher value bots, you can earn crazy high amounts there too, but if I drop those values, and adjust the arcade income upwards to compensate, well then people will wonder why their bot isn't worth say 20,000,000 Cr anymore.
Or say 75,000,000 with a Galaxina shell...
If you have editing skills, you can modify this line in 760_sexbot_lab.rpy:
line 119
bot.earnedToday += int((2000 + ((bot.getPrice())**(.5))) * random.uniform(8.0,12.0) * fac * (.97 + (arcade_shelltypecount * .03)) * (1.0 + (arcade_attitudecount * .02)) * (1.0 + (arcade_traitcount * .02)) * (1.0 + (arcade_personalitycount * .02)))
The
random.uniform(8.0,12.0)
part would be the part to bump, so say if you wanted double the 'modded' income, change to:
random.uniform(16.0,24.0)
as for why 8-12, that is essentially an 80% to 120% random range for the nightly income.
But yeah, this was a deliberate change to 'bump the difficulty' while adjusting the 'delta' so cheaper bots would earn a bit more, but the really high value bots would only earn say 4-6x more than the cheap bots. In the mid-late game, banked income is crazy high anyways due to bot sales and such, so this is mainly an earlier game issue.
This topic is open to discussion, thoughts are welcome here!
I CAN build in a 'difficulty' chooser if people want this, I'm working on something else atm.
Note that
yv0751 was trying to do something similar in the code, but as far as I can tell that function isn't being used currently. I was just trying to do something along the same lines, using squareroot instead of some fancy income level 'tier'multiplier system or whatever.
If you think I'm kidding, yeah this
yv0751 code snippet hurts my brain...
Code:
def getEarnings(self, x_in = False):
if x_in:
x = float(x_in)
else:
x = float(self.getPrice())
x_points = [100000, 500000, 1000000, 10000000, 100000000]
y_points = [15000, 60000, 100000, 500000, 1000000]
result = 0
# Check if x is out of the bounds of provided x_points
if x <= x_points[0]:
result = y_points[0]
elif x >= x_points[-1]:
result = y_points[-1]
# Perform linear interpolation
for i in range(4):
if x_points[i] <= x <= x_points[i + 1]:
x0, y0 = x_points[i], y_points[i]
x1, y1 = x_points[i + 1], y_points[i + 1]
# Linear interpolation formula
y = y0 + (y1 - y0) * ((x - x0) / (x1 - x0))
result = y
return(int(result*random.uniform(0.9,1.0)))
My 'squareroot' with adder thing is much easier to understand...