[Feature] Expanded Regent options
Shibva opened this issue · 5 comments
I have a few thought in mind that i have been thinking over the last week or so and plan on making a few expansions on cross-mod content.
With that said my focus is with the brewing system and I've noticed some limitations so here I will expand on some potential additions.
- Additional Effect: unlike the random one, this will apply a specific effect as a result of using the regent. (Example: using quicksilver will double current effects but will inflict potion sickness) syntax could be the following:
"addEffect": {
[{
"chance": (0-1), [represents a chance for this effect to be applied, default value = 1]
"effect": [effect name as string; required],
"base_duration_ticks": [1600],
"potency_modifier": [1.0],
"ink_color": "" ["true"],
"ink_cost": "" ["true"]
},
{ second effect here
}]
}
If you notice, this is intentionally trying to mirror the brewing recipe format to keep things easily understandable
- duration_multiplyer_chance (all, pos, and negative): potency has the ability to be rolled; so why not the same for duration?
The value was optional, but has a range from 0 to 1 with a default value of one) - flat_duration_bonus_chance (all, pos, and beg): same as above but for bonus instead; ranges from 0 to 1 with a default value of 1.
Suggested format; please note that all variables can be treated as floats between 0 and 1
"flat_duration_bonus_chance":
"flat_duration_bonus_positive_chance"
etc
I plan on adding some extended compat to some of the mods I'm playing with to give you a heads-up; currently thinking of starting with Bewitchment.
I was unaware that it could be formatted like that and that makes me wonder if its possible to have an extra parameter to make it work like weights 🤔. I am curious how the clover makes it where only one buff gets the boost like the REI description infers
Additional Effect
That one sounds very fun und useful indeed!
Chance based effects
You can kind of do those already! Insteaf of having a single modifier object, reagents can also have an array of reagent options, from which one is selected randomly (see Four Leaf Clover or the Hex Casting Charged Amethyst).
It's not as dynamic as a separate property like you suggested, but this guarantees, that the potion will always be getting one effect. Having a reagent based on lots of chances may be frustrating on bad rolls where the reagent does absolutely nothing.
When you give a Potion Workshop Reacting entry a list of modifiers ("modifiers": [ {...}, {...} ]
), instead of a single one, it selects one by random, resulting in the "random bonus" that REI describes. So it could will for example pull "duration_multiplier": 3.0
and apply that single one, ignoring the others.
{
"type": "spectrum:potion_workshop_reacting",
"item": "spectrum:four_leaf_clover",
"modifiers": [
{
"flat_duration_bonus_ticks": 1200
},
{
"flat_potency_bonus": 1.0
},
{
"duration_multiplier": 3.0
},
{
"potency_multiplier": 2.0
},
{
"flat_yield_bonus": 3.0
}
]
}
While there is no weight parameter, you can add entries that should be more common, twice. (unless you want to make like a 1% chance thing. That would get ugly).