Beispiel #1
0
 def create_minion(self, player):
     def increase_attack(card):
         minion.increase_attack(1)
     minion = Minion(1, 3)
     player.bind("spell_cast", increase_attack)
     minion.bind_once("silenced", lambda: player.unbind("spell_cast", increase_attack))
     return minion
    def create_minion(self, player):
        def draw_card():
            player.draw()

        minion = Minion(0, 3, MINION_TYPE.TOTEM)
        player.bind("turn_ended", draw_card)
        minion.bind_once("silenced", lambda: player.unbind("turn_ended", draw_card))
        return minion
    def create_minion(self, player):
        def buff_minion():
            minion.increase_health(1)
            minion.change_attack(1)

        minion = Minion(2, 4)
        player.bind("overloaded", buff_minion)
        minion.bind_once("silenced", lambda: player.unbind("overloaded", buff_minion))
        return minion
Beispiel #4
0
    def create_minion(self, player):
        def poisonous(amount, target):
            if type(target) is Minion and not target.dead:
                target.die(self)

        minion = Minion(2, 3, MINION_TYPE.BEAST)
        minion.bind("did_damage", poisonous)
        minion.bind_once("silenced", lambda: minion.unbind("did_damage", poisonous))
        return minion
Beispiel #5
0
    def create_minion(self, player):
        def poisonous(amount, target):
            if type(target) is Minion and not target.dead:
                target.die(self)

        minion = Minion(1, 1)
        minion.stealth = True
        minion.bind("did_damage", poisonous)
        minion.bind_once("silenced", lambda: minion.unbind("did_damage", poisonous))
        return minion
    def create_minion(self, player):
        def draw_card():
            player.draw()

        minion = Minion(1, 3)
        player.game.bind("minion_healed", draw_card)
        minion.bind_once("silenced",
                         lambda: player.game.unbind("minion_healed",
                                                    draw_card))
        return minion
    def create_minion(self, player):
        def silence():
            player.heal_multiplier //= 2
            player.spell_multiplier //= 2

        minion = Minion(7, 7)
        minion.bind_once("silenced", silence)
        player.heal_multiplier *= 2
        player.spell_multiplier *= 2
        return minion
    def create_minion(self, player):
        def attack_equal_to_health():
            return minion.health

        def silence():
            minion.calculate_attack = old_calculate

        minion = Minion(0, 5)
        old_calculate = minion.calculate_attack
        minion.calculate_attack = attack_equal_to_health
        minion.bind_once("silenced", silence)
        return minion
Beispiel #9
0
    def create_minion(self, player):
        class Filter:
            def __init__(self):
                self.amount = 1
                self.filter = lambda c: c.is_spell()
                self.min = 0

        filter = Filter()
        minion = Minion(3, 2)
        minion.bind_once("silence", lambda: player.mana_filters.remove(filter))
        minion.bind_once("died", lambda x: player.mana_filters.remove(filter))
        player.mana_filters.append(filter)
        return minion
    def create_minion(self, player):
        def increase_stats():
            if len(player.secrets) > 0:
                minion.change_attack(2)
                minion.increase_health(2)

        def silence():
            player.unbind("turn_ended", increase_stats)

        minion = Minion(3, 3)
        player.bind("turn_ended", increase_stats)
        minion.bind_once("silenced", silence)
        return minion
    def create_minion(self, player):
        def heal_damaged_friendly_character():
            targets = hsgame.targeting.find_friendly_spell_target(player.game,
                                                                  lambda character:
                                                                  character.health != character.calculate_max_health())
            if len(targets) != 0:
                targets[player.game.random(0, len(targets) - 1)].heal(player.effective_heal_power(3), minion)

        minion = Minion(0, 5)
        player.bind("turn_started", heal_damaged_friendly_character)
        minion.bind_once("silenced",
                         lambda: player.unbind("turn_started",
                                               heal_damaged_friendly_character))
        return minion
    def create_minion(self, player):
        def silence():
            player.heal_does_damage = False

            # If another Auchenai Soulpriest is alive and not silenced, keep
            # heal_does_damage as True
            for m in player.minions:
                if m.card.name == "Auchenai Soulpriest" and not m.silenced and m is not minion:
                    player.heal_does_damage = True

        minion = Minion(3, 5)
        minion.bind_once("silenced", silence)
        player.heal_does_damage = True
        return minion
Beispiel #13
0
    def create_minion(self, player):
        def reduce_mana(card):
            def increase_mana(c):
                c.mana += 1
            if card.is_spell():
                if card.mana > 0:
                    card.mana -= 1
                    minion.bind("silence", increase_mana, card)
                    minion.bind("died", lambda x, c: increase_mana(c), card)

        minion = Minion(3, 2)
        for hand_card in player.hand:
            reduce_mana(hand_card)
        player.bind("card_drawn", reduce_mana)
        minion.bind_once("silence", lambda: player.unbind("card_drawn", reduce_mana))
        minion.bind_once("died", lambda x: player.unbind("card_drawn", reduce_mana))
        return minion