Beispiel #1
0
 def strongEffect(self, match, player):
     options = [effects.AttackPoints(4),
                effects.BlockPoints(4),
                effects.AttackPoints(3, element=Element.fire),
                effects.BlockPoints(3, element=Element.fire),
                effects.AttackPoints(3, range=AttackRange.range),
                effects.AttackPoints(2, range=AttackRange.siege)
               ]
     effect = dialogs.choose(options)
     match.effects.add(effect)
Beispiel #2
0
 def basicEffect(self, match, player):
     options = [effects.AttackPoints(2),
                effects.BlockPoints(2),
                effects.AttackPoints(1, range=AttackRange.range)
               ]
     effect = dialogs.choose(options)
     match.effects.add(effect)
Beispiel #3
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 #4
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 #5
0
 def strongEffect(self, match, player):
     assert len(match.combat.selectedEnemies()) == 1
     enemy = match.combat.selectedEnemies()[0] # TODO: redirect for summoners?
     
     points = 5
     for ability in 'fortified', 'brutal', 'swift', 'paralyze', 'poison':
         if getattr(enemy, ability):
             points += 1
             
     if enemy.attack.element in [Element.ice, Element.fire]:
         points += 1
     elif enemy.attack == Element.coldFire:
         points += 2
         
     # 'points += len(enemy.resistances)' does not work correctly if enemy has cold fire resistance
     for element in [Element.physical, Element.ice, Element.fire]:
         if element in enemy.resistances:
             points += 1
             
     match.effects.add(effects.BlockPoints(points, element=Element.ice))
Beispiel #6
0
 def ability3(self, match, player):
     match.effects.add(effects.BlockPoints(4, element=Element.ice))
Beispiel #7
0
 def ability1(self, match, player):
     options = [effects.AttackPoints(2), effects.BlockPoints(2)]
     match.effects.add(dialogs.choose(options))
Beispiel #8
0
 def ability2(self, match, player):
     match.effects.add(effects.BlockPoints(3))
Beispiel #9
0
 def ability2(self, match, player):
     options = [effects.AttackPoints(6), effects.BlockPoints(6)]
     match.effects.add(dialogs.choose(options))
     player.woundUnit(self)
Beispiel #10
0
 def ability2(self, match, player):
     options = [effects.AttackPoints(4, element=Element.fire),
                effects.BlockPoints(4, element=Element.fire)]
     match.effects.add(dialogs.choose(options))
Beispiel #11
0
 def basicEffect(self, match, player):
     options = [effects.AttackPoints(2, element=Element.ice),
                effects.BlockPoints(3, element=Element.ice),
               ]
     effect = dialogs.choose(options)
     match.effects.add(effect)
Beispiel #12
0
 def strongEffect(self, match, player):
     match.effects.add(effects.BlockPoints(5))