Exemplo n.º 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))
Exemplo n.º 2
0
 def startInteraction(self):
     if self.state is not State.movement:
         raise InvalidAction("Cannot start interaction now.")
     modifier = self.currentPlayer.reputationModifier
     if modifier is REPUTATION_NONE:
         raise InvalidAction("Nobody wants to interact with you!")
     self.setState(State.interaction)
     if modifier != 0:
         self.effects.add(effects.InfluencePoints(modifier))
Exemplo n.º 3
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
Exemplo n.º 4
0
 def ability2(self, match, player):
     match.effects.add(effects.InfluencePoints(2))
Exemplo n.º 5
0
 def strongEffect(self, match, player):
     match.effects.add(effects.InfluencePoints(5))
     player.addReputation(-1)
Exemplo n.º 6
0
 def basicEffect(self, match, player):
     match.effects.add(effects.InfluencePoints(2))
Exemplo n.º 7
0
 def strongEffect(self, match, player):
     match.effects.add(effects.InfluencePoints(4))
Exemplo n.º 8
0
 def strongEffect(self, match, player):
     match.effects.add(effects.InfluencePoints(4))
     if match.state is State.interaction:
         player.reputation += 1
         player.fame += 1
Exemplo n.º 9
0
 def basicEffect(self, match, player):
     match.effects.add(effects.InfluencePoints(2))
     if match.state is State.interaction:
         player.fame += 1
Exemplo n.º 10
0
 def payInfluencePoints(self, cost):
     if self.effects.influencePoints < cost:
         raise InvalidAction("Not enough influence points")
     if cost > 0:
         self.effects.remove(effects.InfluencePoints(cost))