( You mentioned this offhandedly in the discord, I'm writing up a suggestion issue for it because I like the idea and would allow invasion scaling over time without needing to write dozens of duplicate invasion templates "but with bigger numbers". )
The basic idea would be to have, as an alternative to the "count" parameter, some kind of "scaled_count" parameter for the number of mobs of a given type spawned. Using this parameter, rather than spawning a specific number of mobs, it would rather spawn a number of mobs multiplied by some factor.
Possible implementations, ranging all over the place from "simplest" to "pie in the sky" and everywhere in between:
1 - A per-player variable for their "invasion strength", which can be incremented, decremented, or set, by commands (such as from quests, achievements, or invasion completion), which, the "scaled_count" would multiply by to determine the amount. Ideally, this would be of a data type that supports decimal values, like a float or a double or something. Probably, the number of mobs spawned should default to rounding down. Or maybe up. Or maybe we have "scaled_count_round_down" and "scaled_count_round_up" and let the packmaker decide.
Example in action: The player's "invasion strength" value is 3.53, because of doing some things. That night, an invasion spawns, and this invasion spawns a number of zombies with a "scaled_count" of 10. 10 is multiplied by 3.53 to get a total of 35.3 zombies for that invasion wave, rounded (down to 35 | up to 36 ).
1b - The player still has an "invasion strength" variable, but we let the packmaker use EvalEx: (https://github.com/uklimaschewski/EvalEx). Perhaps we give access to more values that they can plug into the formula, like world time, or scaling health mod difficulty points, or others. Other mods that have used EvalEx in their config include Spice Of Life (letting the packmaker set the exact formula used by the diminishing returns). This is the version of the suggestion where the pie is firmly planted in the sky.
I numbered these 1 and 1b because I thought I had more ideas, but apparently I don't. Maybe someone cool will. :smiley:
( You mentioned this offhandedly in the discord, I'm writing up a suggestion issue for it because I like the idea and would allow invasion scaling over time without needing to write dozens of duplicate invasion templates "but with bigger numbers". )
The basic idea would be to have, as an alternative to the "count" parameter, some kind of "scaled_count" parameter for the number of mobs of a given type spawned. Using this parameter, rather than spawning a specific number of mobs, it would rather spawn a number of mobs multiplied by some factor.
Possible implementations, ranging all over the place from "simplest" to "pie in the sky" and everywhere in between:
1 - A per-player variable for their "invasion strength", which can be incremented, decremented, or set, by commands (such as from quests, achievements, or invasion completion), which, the "scaled_count" would multiply by to determine the amount. Ideally, this would be of a data type that supports decimal values, like a float or a double or something. Probably, the number of mobs spawned should default to rounding down. Or maybe up. Or maybe we have "scaled_count_round_down" and "scaled_count_round_up" and let the packmaker decide.
Example in action: The player's "invasion strength" value is 3.53, because of
doing some things
. That night, an invasion spawns, and this invasion spawns a number of zombies with a "scaled_count" of 10. 10 is multiplied by 3.53 to get a total of 35.3 zombies for that invasion wave, rounded (down to 35 | up to 36 ).1b - The player still has an "invasion strength" variable, but we let the packmaker use EvalEx: (https://github.com/uklimaschewski/EvalEx). Perhaps we give access to more values that they can plug into the formula, like world time, or scaling health mod difficulty points, or others. Other mods that have used EvalEx in their config include Spice Of Life (letting the packmaker set the exact formula used by the diminishing returns). This is the version of the suggestion where the pie is firmly planted in the sky.
I numbered these 1 and 1b because I thought I had more ideas, but apparently I don't. Maybe someone cool will. :smiley: