Page 1 of 1

Adjust the number of balls

PostPosted: Tuesday, 16th June 2020, 03:39
by Hellmonk
Conjure ball lightning tries to create min(5, 2 + pow / 100 + random2(pow / 50 + 1)) ball lightnings. As duvessa noted in the 0.20 spell guide, this formula produces very distinct breakpoints in the number of balls, and therefore in the spell's damage. This is undesirable and doesn't make a lot of sense. The balls also get stronger with spellpower but that formula (hd = 5 + div_rand_round(pow, 20)) does not introduce breakpoints.

Here's the current formula's behavior:
Below 50 power, you always get 2 ball lightnings.
Between 50 and 99 power, you get either 2 or 3 ball lightnings on a coinflip chance (mean 2.5).
Between 100 and 149 power, you get either 3, 4, or 5 ball lightnings, each outcome equally likely (mean 4).
Between 150 and 199 power, you still get either 3, 4, or 5 ball lightnings, but you get 5 half the time and 3 or 4 1/4th of the time each (mean 4.25).
At 200 power, you always get at least 4 ball lightnings and get 5 80% of the time (mean 4.8).

So anyway, the proposal is to replace the current formula with something that scales more sensibly with power and does not have breakpoints. There are some decisions to be made here; should the minimum ball count increase with power as it does in the current formula? Should the max ball count remain 5? Should the spell's balance be further adjusted at the same time? Here are a couple prospective formulas for consideration.

min(5, 2 + div_rand_round(pow, 100) + random2(div_rand_round(pow, 50) + 1) is the simplest change. It takes the current formula but randomly rounds power. It's also a strict buff to the spell, producing more balls on average at every value of power that isn't 0 or a breakpoint. You could of course increase the divisors or couple this to other changes if you didn't want to buff the spell. For example, min(5, 2 + div_rand_round(pow, 150) + random2(div_rand_round(pow, 75) + 1) would produce a mean of 8/3 balls at 50 power, 3 balls at 75 power and a mean of 4 at 150 power with a guaranteed minimum of 3. There's some nonlinearity past 150 power because of the maximum, so it's still kind of ugly but workable.

Min(5, 2 + random2(div_rand_round(pow, 40) + 1) keeps the same maximum ball count but doesn't increase minimum ball count with power. Mean is 2.5 at 40 pow, 3 at 80 pow, 3.5 at 120 pow, 3.8 at 160 pow, and 4 at 200 pow. This kind of formula buffs the spell at low power levels and makes it worse at high ones, which imo is not desirable. You could reduce the divisor to make the spell stronger at higher power values... but that would make low power cbl even better.

1 + random2(div_rand_round(pow, 25) + 1) would give a mean value of 2 at 50 power, 3 at 100 power, 4 at 150 power, and 5 at 200 power. The spell would produce fewer balls below 75 power and between 100-162 power in exchange for producing more between 76-99 power and above 162 power, and having higher variance. The max ball count possible would increase to 8, which means you wouldn't get the full damage at high power if you weren't in somewhat open space. You could reduce the variance by using random2avg if desired. I kind of like this style of formula but it might be a little too crazy.

You could also use a fixed formula for number of ball lightnings produced while scaling the ball lightning damage more strongly with hd.

Feel free to discuss your preferred number of ball lightnings itt.

Re: Adjust the number of balls

PostPosted: Tuesday, 16th June 2020, 04:55
by duvessa
I think that if the damage per ball scales with spell power, the number of balls should not. Make it always 1d3+1 balls or something and lower the constant in the damage formula. If both depend on spell power then it's harder to calculate the expected damage of the spell.

Re: Adjust the number of balls

PostPosted: Tuesday, 16th June 2020, 13:46
by petercordia
I can't see any reason to prefer min(5, 2 + pow / 100 + random2(pow / 50 + 1)) over min(5, 2 + div_rand_round(pow, 100) + random2(div_rand_round(pow, 50) + 1)

I think I like 1 + random2(div_rand_round(pow, 25) + 1) most. It's nice when some spells scale quadratically with spellpower.

Re: Adjust the number of balls

PostPosted: Tuesday, 16th June 2020, 14:49
by chequers
I think it's alright for the spell to have obvious power spikes due to changes in the number of balls summoned. As long as the probabilities of getting more balls increases smoothly with your spell power rather than with breakpoint steps like now.