예제 #1
0
파일: cards.py 프로젝트: Stoeoef/mageknight
 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
파일: match.py 프로젝트: Stoeoef/mageknight
 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
파일: match.py 프로젝트: Stoeoef/mageknight
 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
파일: units.py 프로젝트: Stoeoef/mageknight
 def ability2(self, match, player):
     match.effects.add(effects.InfluencePoints(2))
예제 #5
0
파일: cards.py 프로젝트: Stoeoef/mageknight
 def strongEffect(self, match, player):
     match.effects.add(effects.InfluencePoints(5))
     player.addReputation(-1)
예제 #6
0
파일: cards.py 프로젝트: Stoeoef/mageknight
 def basicEffect(self, match, player):
     match.effects.add(effects.InfluencePoints(2))
예제 #7
0
파일: cards.py 프로젝트: Stoeoef/mageknight
 def strongEffect(self, match, player):
     match.effects.add(effects.InfluencePoints(4))
예제 #8
0
파일: cards.py 프로젝트: Stoeoef/mageknight
 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
파일: cards.py 프로젝트: Stoeoef/mageknight
 def basicEffect(self, match, player):
     match.effects.add(effects.InfluencePoints(2))
     if match.state is State.interaction:
         player.fame += 1
예제 #10
0
파일: match.py 프로젝트: Stoeoef/mageknight
 def payInfluencePoints(self, cost):
     if self.effects.influencePoints < cost:
         raise InvalidAction("Not enough influence points")
     if cost > 0:
         self.effects.remove(effects.InfluencePoints(cost))