def setEncampments(self, tokenBadge, encampments, data): checkObjectsListCorrection(encampments, [{'name': 'regionId', 'type': int, 'min': 1}, {'name': 'encampmentsNum', 'type': int, 'min': 0}]) game = tokenBadge.Owner().game freeEncampments = 5 for encampment in encampments: region = game.map.getRegion(encampment['regionId']).getState(game.id) encampmentsNum = encampment['encampmentsNum'] if region.tokenBadge != tokenBadge or not region.tokensNum: raise BadFieldException('badRegion') if encampmentsNum > freeEncampments: raise BadFieldException('notEnoughEncampmentsForRedeployment') region.encampment = encampmentsNum freeEncampments -= encampmentsNum
def setEncampments(self, tokenBadge, encampments, data): checkObjectsListCorrection( encampments, [{"name": "regionId", "type": int, "min": 1}, {"name": "encampmentsNum", "type": int, "min": 0}], ) game = tokenBadge.Owner().game freeEncampments = 5 for encampment in encampments: region = game.map.getRegion(encampment["regionId"]).getState(game.id) encampmentsNum = encampment["encampmentsNum"] if region.tokenBadge != tokenBadge or not region.tokensNum: raise BadFieldException("badRegion") if encampmentsNum > freeEncampments: raise BadFieldException("notEnoughEncampmentsForRedeployment") region.encampment = encampmentsNum freeEncampments -= encampmentsNum
def setHero(self, tokenBadge, heroes, data): checkObjectsListCorrection(heroes, [{"name": "regionId", "type": int, "min": 1}]) if len(heroes) > 2: raise BadFieldException("badSetHeroCommand") if len(heroes) < 2 and len(data["regions"]) > 1: raise BadFieldException("badSetHeroCommand") for region in tokenBadge.regions: region.hero = False user = tokenBadge.Owner() for hero in heroes: regState = user.game.map.getRegion(hero["regionId"]).getState(user.game.id) if not regState.owner or regState.owner.currentTokenBadge != tokenBadge or not region.tokensNum: raise BadFieldException("badRegion") regState.hero = True
def setHero(self, tokenBadge, heroes, data): checkObjectsListCorrection(heroes, [{'name': 'regionId', 'type': int, 'min': 1}]) if len(heroes) > 2: raise BadFieldException('badSetHeroCommand') if len(heroes) < 2 and len(data['regions']) > 1: raise BadFieldException('badSetHeroCommand') for region in tokenBadge.regions: region.hero = False user = tokenBadge.Owner() for hero in heroes: regState = user.game.map.getRegion(hero['regionId']).getState( user.game.id) if not regState.owner or regState.owner.currentTokenBadge != tokenBadge or\ not region.tokensNum: raise BadFieldException('badRegion') regState.hero = True