示例#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))
示例#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))
示例#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
示例#4
0
 def ability2(self, match, player):
     match.effects.add(effects.InfluencePoints(2))
示例#5
0
 def strongEffect(self, match, player):
     match.effects.add(effects.InfluencePoints(5))
     player.addReputation(-1)
示例#6
0
 def basicEffect(self, match, player):
     match.effects.add(effects.InfluencePoints(2))
示例#7
0
 def strongEffect(self, match, player):
     match.effects.add(effects.InfluencePoints(4))
示例#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
示例#9
0
 def basicEffect(self, match, player):
     match.effects.add(effects.InfluencePoints(2))
     if match.state is State.interaction:
         player.fame += 1
示例#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))