[Feature]: Option to lower attribute scaling
Closed this issue · 6 comments
What is your idea?
Love the attribute scaling! I'd love to have something like "half" in addition to square. Movement speed can quickly get out of hand, using only a distribution between 0.7 and 1.3 can get you a baby zombie with up to 42% MS using regular inverse scaling. I'd prefer something like (1/scaling) * 0.5, maybe even less.
Related to another problem or bug
No response
Additional context
No response
I thought about this for a while, and could not decide whether I think that's useful.
But, since this is a very small request and I am currently working on a few fixes for this mod, this will get implemented.
Using your examples (0.7 and 1.3) for some calculations of the new scalings:
normal scaling | 0.7 | 1.3 |
currently implemented scalings:
square | 0.49 | 1.69 |
inverse | 1.42 | 0.76 |
inverse_square | 2.04 | 0.59 |
possible new scalings:
half square | 0.74 | 1.34 |
half inverse | 1.21 | 0.88 |
half inverse square | 1.52 | 0.79 |
With these new scalings, I think there will be plenty of options to choose from.
In my opinion there should be not an option for something like 0.25.
For example: If the scaling is 0.7 the movement speed could be calculated to 0.49
, 1.42
. 2.04
, 0.74
, 1.21
or 1.52
Sorry, didn't see this immediately, didn't check my mails. Thank you so much!
I can see how this might not seem very impactful at first, but when using other mods that also scale attributes for a variety of reasons, single strong buffs can create some ridiculous mobs.
Personally I'm working on a modpack with slower progression and nerfed defences, so in the early game players wouldn't be able to defend themselves properly when a mob with 40%+ movement speed happens to spawn. Later on mobs spawn with improved and enchanted equipment (and additional base health), so even with smaller mobs having less health, they become too tanky to justify that amount of speed.
Zombies of course being one of the worse cases because they can spawn as their baby variant. So the current solution for me is to not scale MS at all, or overall scale the mobs way less than I would like to. Another example is spiders, they are my outlier, I scale them 0.5 to 1.5. At this point squared health scaling definitely somewhat balances out the increased MS, but it's still obscene. Half scaling definitely feels more fitting.
So at least for my use cases this is absolutely perfect, I really appreciate it! Looking forward to the update! :)
Edit: Looking at it now, not sure if I should open another issue for that, but when using scaling this way, where both smallest and largest mobs pose the biggest challenge, wouldn't it make some sense to scale xp and loot in both directions? So in my previous examples both 0.7 and 1.3 would drop the same amount of loot because they both deviate by 0.3 from the average.
Edit: Looking at it now, not sure if I should open another issue for that, but when using scaling this way, where both smallest and largest mobs pose the biggest challenge, wouldn't it make some sense to scale xp and loot in both directions? So in my previous examples both 0.7 and 1.3 would drop the same amount of loot because they both deviate by 0.3 from the average.
I am not quite sure what you mean by that, do you want them to spawn to same amount of xp/loot? Or are they currently spawning the same amount and they should not?
The former. From what I understood on the wiki, turning on xp and loot scaling would scale their loot by the same amount as their size, right? So a 1.3 scaled mob drops 30% more loot/xp, 0.7 would drop 30% less.
What I suggested would mean that both 0.7 and 1.3 drop 30% more loot (0.8 and 1.2 20% more and so on), for cases where you use both normal and inverse scaling on different attributes. The larger mob presents a bigger threat because of the increased HP, and the smaller mob because of the movement speed, so players should be awarded more loot/xp in both cases.
However, I don't know how big of an ask that is, considering that the setting currently is only true/false unlike attribute scaling.