Skip to main content

modules.base.module

from typing import List

from modules.base.module import BotModule
from modules.FieldsUpgradeModule import FieldsUpgradeModule
from modules.HeroModule import HeroModule
from modules.ResourceBalancerModule import ResourceBalancerModule
from modules.IfElseModule import IfElseModule
from modules.condition_modules.minResourcesModule import MinResourcesModules
from modules.ResourceBalancing.RelativeBalancer import RelativeBalancer
from modules.ModuleChain import ModuleChain


sleep_length: int = 10 * 60

build_clay = ModuleChain([IfElseModule("CanBuildClayField", MinResourcesModules([2900, 1450, 2900, 1810]),
                                       FieldsUpgradeModule(upgrade_only_lowest=True, whitelist={'בור טיט'}),
                                       ResourceBalancerModule())],
                         cyclic=False)

build_wood = ModuleChain([IfElseModule("CanBuildWoodField", MinResourcesModules([1450, 3625, 1810, 2175]),
                                       FieldsUpgradeModule(upgrade_only_lowest=True, whitelist={'חוטב עצים'}),
                                       ResourceBalancerModule())],
                         cyclic=False)

running_modules: List[BotModule] = [
    ModuleChain([HeroModule().schedule_time(sleep_length * 3)], cyclic=True),
    ModuleChain([build_clay, build_wood], cyclic=True)
]