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)
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)
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))
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
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))
def ability3(self, match, player): match.effects.add(effects.BlockPoints(4, element=Element.ice))
def ability1(self, match, player): options = [effects.AttackPoints(2), effects.BlockPoints(2)] match.effects.add(dialogs.choose(options))
def ability2(self, match, player): match.effects.add(effects.BlockPoints(3))
def ability2(self, match, player): options = [effects.AttackPoints(6), effects.BlockPoints(6)] match.effects.add(dialogs.choose(options)) player.woundUnit(self)
def ability2(self, match, player): options = [effects.AttackPoints(4, element=Element.fire), effects.BlockPoints(4, element=Element.fire)] match.effects.add(dialogs.choose(options))
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)
def strongEffect(self, match, player): match.effects.add(effects.BlockPoints(5))