Stardew Valley: remove BaseLogic generic so importing mixins is no longer needed (#4916)
* remove BaseLogic generic so importing mixins is no longer needed * self review
This commit is contained in:
@@ -1,13 +1,5 @@
|
||||
from typing import Union
|
||||
|
||||
from ..mod_data import ModNames
|
||||
from ...logic.base_logic import BaseLogicMixin, BaseLogic
|
||||
from ...logic.combat_logic import CombatLogicMixin
|
||||
from ...logic.cooking_logic import CookingLogicMixin
|
||||
from ...logic.has_logic import HasLogicMixin
|
||||
from ...logic.received_logic import ReceivedLogicMixin
|
||||
from ...logic.skill_logic import SkillLogicMixin
|
||||
from ...logic.tool_logic import ToolLogicMixin
|
||||
from ...mods.mod_data import ModNames
|
||||
from ...options import ElevatorProgression
|
||||
from ...stardew_rule import StardewRule, True_, true_
|
||||
from ...strings.ap_names.mods.mod_items import DeepWoodsItem
|
||||
@@ -25,8 +17,7 @@ class DeepWoodsLogicMixin(BaseLogicMixin):
|
||||
self.deepwoods = DeepWoodsLogic(*args, **kwargs)
|
||||
|
||||
|
||||
class DeepWoodsLogic(BaseLogic[Union[SkillLogicMixin, ReceivedLogicMixin, HasLogicMixin, CombatLogicMixin, ToolLogicMixin, SkillLogicMixin,
|
||||
CookingLogicMixin]]):
|
||||
class DeepWoodsLogic(BaseLogic):
|
||||
|
||||
def can_reach_woods_depth(self, depth: int) -> StardewRule:
|
||||
# Assuming you can always do the 10 first floor
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
from ...logic.base_logic import BaseLogicMixin, BaseLogic
|
||||
from ...logic.received_logic import ReceivedLogicMixin
|
||||
from ...mods.mod_data import ModNames
|
||||
from ...options import ElevatorProgression
|
||||
from ...stardew_rule import StardewRule, True_
|
||||
@@ -11,7 +10,7 @@ class ModElevatorLogicMixin(BaseLogicMixin):
|
||||
self.elevator = ModElevatorLogic(*args, **kwargs)
|
||||
|
||||
|
||||
class ModElevatorLogic(BaseLogic[ReceivedLogicMixin]):
|
||||
class ModElevatorLogic(BaseLogic):
|
||||
def has_skull_cavern_elevator_to_floor(self, floor: int) -> StardewRule:
|
||||
if self.options.elevator_progression != ElevatorProgression.option_vanilla and ModNames.skull_cavern_elevator in self.options.mods:
|
||||
return self.logic.received("Progressive Skull Cavern Elevator", floor // 25)
|
||||
|
||||
@@ -1,23 +1,7 @@
|
||||
from typing import Dict, Union
|
||||
from typing import Dict
|
||||
|
||||
from ..mod_data import ModNames
|
||||
from ...logic.base_logic import BaseLogicMixin, BaseLogic
|
||||
from ...logic.combat_logic import CombatLogicMixin
|
||||
from ...logic.cooking_logic import CookingLogicMixin
|
||||
from ...logic.crafting_logic import CraftingLogicMixin
|
||||
from ...logic.farming_logic import FarmingLogicMixin
|
||||
from ...logic.fishing_logic import FishingLogicMixin
|
||||
from ...logic.has_logic import HasLogicMixin
|
||||
from ...logic.money_logic import MoneyLogicMixin
|
||||
from ...logic.museum_logic import MuseumLogicMixin
|
||||
from ...logic.quest_logic import QuestLogicMixin
|
||||
from ...logic.received_logic import ReceivedLogicMixin
|
||||
from ...logic.region_logic import RegionLogicMixin
|
||||
from ...logic.relationship_logic import RelationshipLogicMixin
|
||||
from ...logic.season_logic import SeasonLogicMixin
|
||||
from ...logic.skill_logic import SkillLogicMixin
|
||||
from ...logic.time_logic import TimeLogicMixin
|
||||
from ...logic.tool_logic import ToolLogicMixin
|
||||
from ...stardew_rule import StardewRule
|
||||
from ...strings.artisan_good_names import ModArtisanGood
|
||||
from ...strings.craftable_names import ModCraftable
|
||||
@@ -39,9 +23,7 @@ class ModItemLogicMixin(BaseLogicMixin):
|
||||
self.item = ModItemLogic(*args, **kwargs)
|
||||
|
||||
|
||||
class ModItemLogic(BaseLogic[Union[CombatLogicMixin, ReceivedLogicMixin, CookingLogicMixin, FishingLogicMixin, HasLogicMixin, MoneyLogicMixin,
|
||||
RegionLogicMixin, SeasonLogicMixin, RelationshipLogicMixin, MuseumLogicMixin, ToolLogicMixin, CraftingLogicMixin, SkillLogicMixin, TimeLogicMixin, QuestLogicMixin,
|
||||
FarmingLogicMixin]]):
|
||||
class ModItemLogic(BaseLogic):
|
||||
|
||||
def get_modded_item_rules(self) -> Dict[str, StardewRule]:
|
||||
items = dict()
|
||||
|
||||
@@ -1,9 +1,4 @@
|
||||
from typing import Union
|
||||
|
||||
from ...logic.base_logic import BaseLogicMixin, BaseLogic
|
||||
from ...logic.has_logic import HasLogicMixin
|
||||
from ...logic.received_logic import ReceivedLogicMixin
|
||||
from ...logic.region_logic import RegionLogicMixin
|
||||
from ...mods.mod_data import ModNames
|
||||
from ...stardew_rule import StardewRule, False_
|
||||
from ...strings.ap_names.skill_level_names import ModSkillLevel
|
||||
@@ -18,7 +13,7 @@ class MagicLogicMixin(BaseLogicMixin):
|
||||
|
||||
|
||||
# TODO add logic.mods.magic for altar
|
||||
class MagicLogic(BaseLogic[Union[RegionLogicMixin, ReceivedLogicMixin, HasLogicMixin]]):
|
||||
class MagicLogic(BaseLogic):
|
||||
def can_use_clear_debris_instead_of_tool_level(self, level: int) -> StardewRule:
|
||||
if ModNames.magic not in self.options.mods:
|
||||
return False_()
|
||||
|
||||
@@ -1,15 +1,7 @@
|
||||
from typing import Dict, Union
|
||||
from typing import Dict
|
||||
|
||||
from ..mod_data import ModNames
|
||||
from ...logic.base_logic import BaseLogic, BaseLogicMixin
|
||||
from ...logic.has_logic import HasLogicMixin
|
||||
from ...logic.monster_logic import MonsterLogicMixin
|
||||
from ...logic.quest_logic import QuestLogicMixin
|
||||
from ...logic.received_logic import ReceivedLogicMixin
|
||||
from ...logic.region_logic import RegionLogicMixin
|
||||
from ...logic.relationship_logic import RelationshipLogicMixin
|
||||
from ...logic.season_logic import SeasonLogicMixin
|
||||
from ...logic.time_logic import TimeLogicMixin
|
||||
from ...stardew_rule import StardewRule
|
||||
from ...strings.animal_product_names import AnimalProduct
|
||||
from ...strings.ap_names.mods.mod_items import SVEQuestItem
|
||||
@@ -34,8 +26,7 @@ class ModQuestLogicMixin(BaseLogicMixin):
|
||||
self.quest = ModQuestLogic(*args, **kwargs)
|
||||
|
||||
|
||||
class ModQuestLogic(BaseLogic[Union[HasLogicMixin, QuestLogicMixin, ReceivedLogicMixin, RegionLogicMixin,
|
||||
TimeLogicMixin, SeasonLogicMixin, RelationshipLogicMixin, MonsterLogicMixin]]):
|
||||
class ModQuestLogic(BaseLogic):
|
||||
def get_modded_quest_rules(self) -> Dict[str, StardewRule]:
|
||||
quests = dict()
|
||||
quests.update(self._get_juna_quest_rules())
|
||||
|
||||
@@ -1,17 +1,4 @@
|
||||
from typing import Union
|
||||
|
||||
from .magic_logic import MagicLogicMixin
|
||||
from ...logic.action_logic import ActionLogicMixin
|
||||
from ...logic.base_logic import BaseLogicMixin, BaseLogic
|
||||
from ...logic.building_logic import BuildingLogicMixin
|
||||
from ...logic.cooking_logic import CookingLogicMixin
|
||||
from ...logic.crafting_logic import CraftingLogicMixin
|
||||
from ...logic.fishing_logic import FishingLogicMixin
|
||||
from ...logic.has_logic import HasLogicMixin
|
||||
from ...logic.received_logic import ReceivedLogicMixin
|
||||
from ...logic.region_logic import RegionLogicMixin
|
||||
from ...logic.relationship_logic import RelationshipLogicMixin
|
||||
from ...logic.tool_logic import ToolLogicMixin
|
||||
from ...mods.mod_data import ModNames
|
||||
from ...stardew_rule import StardewRule, False_, True_, And
|
||||
from ...strings.building_names import Building
|
||||
@@ -30,8 +17,7 @@ class ModSkillLogicMixin(BaseLogicMixin):
|
||||
self.skill = ModSkillLogic(*args, **kwargs)
|
||||
|
||||
|
||||
class ModSkillLogic(BaseLogic[Union[HasLogicMixin, ReceivedLogicMixin, RegionLogicMixin, ActionLogicMixin, RelationshipLogicMixin, BuildingLogicMixin,
|
||||
ToolLogicMixin, FishingLogicMixin, CookingLogicMixin, CraftingLogicMixin, MagicLogicMixin]]):
|
||||
class ModSkillLogic(BaseLogic):
|
||||
def has_mod_level(self, skill: str, level: int) -> StardewRule:
|
||||
if level <= 0:
|
||||
return True_()
|
||||
|
||||
@@ -1,17 +1,6 @@
|
||||
from typing import Union
|
||||
|
||||
from ..mod_data import ModNames
|
||||
from ...data.craftable_data import all_crafting_recipes_by_name
|
||||
from ...logic.action_logic import ActionLogicMixin
|
||||
from ...logic.artisan_logic import ArtisanLogicMixin
|
||||
from ...logic.base_logic import BaseLogicMixin, BaseLogic
|
||||
from ...logic.crafting_logic import CraftingLogicMixin
|
||||
from ...logic.has_logic import HasLogicMixin
|
||||
from ...logic.received_logic import ReceivedLogicMixin
|
||||
from ...logic.region_logic import RegionLogicMixin
|
||||
from ...logic.relationship_logic import RelationshipLogicMixin
|
||||
from ...logic.season_logic import SeasonLogicMixin
|
||||
from ...logic.wallet_logic import WalletLogicMixin
|
||||
from ...strings.ap_names.community_upgrade_names import CommunityUpgrade
|
||||
from ...strings.artisan_good_names import ArtisanGood
|
||||
from ...strings.craftable_names import Consumable, Edible, Bomb
|
||||
@@ -33,8 +22,7 @@ class ModSpecialOrderLogicMixin(BaseLogicMixin):
|
||||
self.special_order = ModSpecialOrderLogic(*args, **kwargs)
|
||||
|
||||
|
||||
class ModSpecialOrderLogic(BaseLogic[Union[ActionLogicMixin, ArtisanLogicMixin, CraftingLogicMixin, HasLogicMixin, RegionLogicMixin,
|
||||
ReceivedLogicMixin, RelationshipLogicMixin, SeasonLogicMixin, WalletLogicMixin]]):
|
||||
class ModSpecialOrderLogic(BaseLogic):
|
||||
def get_modded_special_orders_rules(self):
|
||||
special_orders = {}
|
||||
if ModNames.juna in self.options.mods:
|
||||
|
||||
@@ -1,21 +1,7 @@
|
||||
from typing import Union
|
||||
|
||||
from ..mod_regions import SVERegion
|
||||
from ...logic.base_logic import BaseLogicMixin, BaseLogic
|
||||
from ...logic.combat_logic import CombatLogicMixin
|
||||
from ...logic.cooking_logic import CookingLogicMixin
|
||||
from ...logic.has_logic import HasLogicMixin
|
||||
from ...logic.money_logic import MoneyLogicMixin
|
||||
from ...logic.quest_logic import QuestLogicMixin
|
||||
from ...logic.received_logic import ReceivedLogicMixin
|
||||
from ...logic.region_logic import RegionLogicMixin
|
||||
from ...logic.relationship_logic import RelationshipLogicMixin
|
||||
from ...logic.season_logic import SeasonLogicMixin
|
||||
from ...logic.time_logic import TimeLogicMixin
|
||||
from ...logic.tool_logic import ToolLogicMixin
|
||||
from ...strings.ap_names.mods.mod_items import SVELocation, SVERunes, SVEQuestItem
|
||||
from ...strings.quest_names import ModQuest
|
||||
from ...strings.quest_names import Quest
|
||||
from ...strings.quest_names import Quest, ModQuest
|
||||
from ...strings.region_names import Region
|
||||
from ...strings.tool_names import Tool, ToolMaterial
|
||||
from ...strings.wallet_item_names import Wallet
|
||||
@@ -27,8 +13,7 @@ class SVELogicMixin(BaseLogicMixin):
|
||||
self.sve = SVELogic(*args, **kwargs)
|
||||
|
||||
|
||||
class SVELogic(BaseLogic[Union[HasLogicMixin, ReceivedLogicMixin, QuestLogicMixin, RegionLogicMixin, RelationshipLogicMixin, TimeLogicMixin, ToolLogicMixin,
|
||||
CookingLogicMixin, MoneyLogicMixin, CombatLogicMixin, SeasonLogicMixin]]):
|
||||
class SVELogic(BaseLogic):
|
||||
def initialize_rules(self):
|
||||
self.registry.sve_location_rules.update({
|
||||
SVELocation.tempered_galaxy_sword: self.logic.money.can_spend_at(SVERegion.alesia_shop, 350000),
|
||||
|
||||
Reference in New Issue
Block a user