def _effect(self, match, player, amount): card = dialogs.chooseCard(player) player.handCards.remove(card) options = [effects.MovePoints(amount), effects.InfluencePoints(amount), effects.AttackPoints(amount), effects.BlockPoints(amount) ] match.effects.add(dialogs.choose(options))
def sidewaysEffects(self): """Return all effects that can be achieved by playing a card sideways (might change due to skills). """ options = [effects.MovePoints(1), effects.InfluencePoints(1), effects.AttackPoints(1), effects.BlockPoints(1) ] return options
def ability1(self, match, player): match.effects.add(effects.MovePoints(2)) for terrain in Terrain.forest, Terrain.hills, Terrain.swamp: match.map.reduceTerrainCost(terrain, 1, 0)
def ability3(self, match, player): match.effects.add(effects.MovePoints(2))
def strongEffect(self, match, player): match.effects.add(effects.MovePoints(4)) for terrain in map.Terrain: if match.map.isTerrainPassable(terrain): match.map.overwriteTerrainCost(terrain, 2)
def basicEffect(self, match, player): match.effects.add(effects.MovePoints(2)) for terrain in map.Terrain: if match.map.isTerrainPassable(terrain): match.map.reduceTerrainCost(terrain, 1, 2)
def strongEffect(self, match, player): match.effects.add(effects.MovePoints(4)) match.map.overwriteTerrainCost(map.Terrain.swamp, 1) match.map.overwriteTerrainCost(map.Terrain.lake, 1)
def basicEffect(self, match, player): match.effects.add(effects.MovePoints(2)) match.map.overwriteTerrainCost(map.Terrain.swamp, 1)
def basicEffect(self, match, player): match.effects.add(effects.MovePoints(2))
def strongEffect(self, match, player): match.effects.add(effects.MovePoints(4))
def payMovePoints(self, cost): if self.effects.movePoints < cost: raise InvalidAction("Not enough move points") if cost > 0: self.effects.remove(effects.MovePoints(cost))