My first post ever because l really like this game, but took real issue with how the game scales SCU with underground light/opacity and I thought some folks would be interested in this too.
After some digging around, the responsible code used for relevant calculation is within
\Data\Scripts\Editables\70_Game_Map_DayNightAndOvermap.rb
as follows (as of version 0.8.4.3.1):
Code:
def set_underground_light
prp "$game_map.setup nightLIght",3
tmpBasic = 230
tmpScoutcraftFix = [$game_player.actor.scoutcraft_trait*3,75].min
shadows.set_color(0, 5, 10)
shadows.set_opacity(tmpBasic-tmpScoutcraftFix)
end
I'm not familiar with Ruby, but the code is rather simple. From what I understand, opacity in this case is really just the alpha value of the RGBA color model, with the RGB value being
0, 5, 10
, which is black (well, a milder shade of black).
Essentially this code overlays a color filter on top of the underground map with an initial alpha value of
230
. Know that
255
being fully opaque (color at full intensity),
0
being fully transparent (color not applied at all). Then, your SCU point is multiplied by
3
to subtract from said initial alpha value as final calculation for how "dark" the map should be.
Now here comes the real kicker: if you couldn't already infer from the code, there's a limit to
how low the subtracted alpha value can be, and it is
155
(230 - 75) by using the
min
method which takes the lower between the multiplied SCU value and
75
. What this means is, if you're only investing in SCU to see better in the dark (or planning to), there's no point in going above
25
(25x3 = 75).
You can test this by setting your SCU to 25 and 99 to check it yourself, but I promise you there's no difference.
So then, how to make your life easier? Well, there's a few ways you can do this and they're rather straightforward:
- Apply a flat reduction to the initial alpha value, set
tmpBasic = 230
to a lower value. Just... remember to do the math, or the substracted alpha value can be negative. You don't want things to be too bright anyway (right??).
- Expand the lower limit by increasing the
75
value, up to whatever tmpBasic
is. At the default of 230
, you would then need around 77
SCU to see everything at full brightness.
- As an added bonus, you can also mess with the multiplier to allow for more granular adjustment for how impactful SCU should be.
And you can certainly get creative with this. This post is already too long, I hope it helped.