HK: adds schema to validate plando charm costs (#3471)
This commit is contained in:
parent
8c614865bb
commit
b053fee3e5
|
@ -2,6 +2,7 @@ import typing
|
||||||
import re
|
import re
|
||||||
from .ExtractedData import logic_options, starts, pool_options
|
from .ExtractedData import logic_options, starts, pool_options
|
||||||
from .Rules import cost_terms
|
from .Rules import cost_terms
|
||||||
|
from schema import And, Schema, Optional
|
||||||
|
|
||||||
from Options import Option, DefaultOnToggle, Toggle, Choice, Range, OptionDict, NamedRange, DeathLink
|
from Options import Option, DefaultOnToggle, Toggle, Choice, Range, OptionDict, NamedRange, DeathLink
|
||||||
from .Charms import vanilla_costs, names as charm_names
|
from .Charms import vanilla_costs, names as charm_names
|
||||||
|
@ -296,6 +297,9 @@ class PlandoCharmCosts(OptionDict):
|
||||||
This is set after any random Charm Notch costs, if applicable."""
|
This is set after any random Charm Notch costs, if applicable."""
|
||||||
display_name = "Charm Notch Cost Plando"
|
display_name = "Charm Notch Cost Plando"
|
||||||
valid_keys = frozenset(charm_names)
|
valid_keys = frozenset(charm_names)
|
||||||
|
schema = Schema({
|
||||||
|
Optional(name): And(int, lambda n: 6 >= n >= 0) for name in charm_names
|
||||||
|
})
|
||||||
|
|
||||||
def get_costs(self, charm_costs: typing.List[int]) -> typing.List[int]:
|
def get_costs(self, charm_costs: typing.List[int]) -> typing.List[int]:
|
||||||
for name, cost in self.value.items():
|
for name, cost in self.value.items():
|
||||||
|
|
Loading…
Reference in New Issue