mirror of
https://github.com/MarioSpore/Grinch-AP.git
synced 2025-10-21 20:21:32 -06:00
HK: plando charm cost (#431)
* HK: Charm costs in spoiler log now with charm name. * HK: Allow Plando Charm costs * HK: skip unnecessary checks https://github.com/ArchipelagoMW/Archipelago/pull/431#discussion_r847804916
This commit is contained in:
@@ -1,7 +1,8 @@
|
||||
import typing
|
||||
from .ExtractedData import logic_options, starts, pool_options
|
||||
from Options import Option, DefaultOnToggle, Toggle, Choice, Range
|
||||
from .Charms import vanilla_costs
|
||||
|
||||
from Options import Option, DefaultOnToggle, Toggle, Choice, Range, OptionDict
|
||||
from .Charms import vanilla_costs, names as charm_names
|
||||
|
||||
|
||||
class Disabled(Toggle):
|
||||
@@ -225,6 +226,18 @@ class RandomCharmCosts(Range):
|
||||
return charms
|
||||
|
||||
|
||||
class PlandoCharmCosts(OptionDict):
|
||||
"""Allows setting a Charm's Notch costs directly, mapping {name: cost}.
|
||||
This is set after any random Charm Notch costs, if applicable."""
|
||||
display_name = "Charm Notch Cost Plando"
|
||||
valid_keys = frozenset(charm_names)
|
||||
|
||||
def get_costs(self, charm_costs: typing.List[int]) -> typing.List[int]:
|
||||
for name, cost in self.value.items():
|
||||
charm_costs[charm_names.index(name)] = cost
|
||||
return charm_costs
|
||||
|
||||
|
||||
class EggShopSlots(Range):
|
||||
"""For each slot, add a location to the Egg Shop and a Geo drop to the item pool."""
|
||||
|
||||
@@ -240,10 +253,11 @@ hollow_knight_options: typing.Dict[str, type(Option)] = {
|
||||
MaximumGrubPrice.__name__: MaximumGrubPrice,
|
||||
MinimumEssencePrice.__name__: MinimumEssencePrice,
|
||||
MaximumEssencePrice.__name__: MaximumEssencePrice,
|
||||
MinimumEggPrice.__name__: MinimumEggPrice,
|
||||
MaximumEggPrice.__name__: MaximumEggPrice,
|
||||
MinimumCharmPrice.__name__: MinimumCharmPrice,
|
||||
MaximumCharmPrice.__name__: MaximumCharmPrice,
|
||||
RandomCharmCosts.__name__: RandomCharmCosts,
|
||||
PlandoCharmCosts.__name__: PlandoCharmCosts,
|
||||
MinimumEggPrice.__name__: MinimumEggPrice,
|
||||
MaximumEggPrice.__name__: MaximumEggPrice,
|
||||
EggShopSlots.__name__: EggShopSlots,
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user