Beispiel #1
0
 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))
Beispiel #2
0
 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
Beispiel #3
0
 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)
Beispiel #4
0
 def ability3(self, match, player):
     match.effects.add(effects.MovePoints(2))
Beispiel #5
0
 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)
Beispiel #6
0
 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)
Beispiel #7
0
 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)
Beispiel #8
0
 def basicEffect(self, match, player):
     match.effects.add(effects.MovePoints(2))
     match.map.overwriteTerrainCost(map.Terrain.swamp, 1)
Beispiel #9
0
 def basicEffect(self, match, player):
     match.effects.add(effects.MovePoints(2))
Beispiel #10
0
 def strongEffect(self, match, player):
     match.effects.add(effects.MovePoints(4))
Beispiel #11
0
 def payMovePoints(self, cost):
     if self.effects.movePoints < cost:
         raise InvalidAction("Not enough move points")
     if cost > 0:
         self.effects.remove(effects.MovePoints(cost))