Пример #1
0
class Enc_爪击(Enchantment):
    data = {'id': 10001}

    def __init__(self, game, target, **kwargs):
        super().__init__(game, target, **kwargs)
        std_triggers.DetachOnTurnEnd(self.game, self)

    apply, apply_imm = enc_common.apply_fn_add_attack(2)
Пример #2
0
        if self.game.full(Zone.Play, self.player_id):
            if msg_fn:
                msg_fn('I have too many minions, and I can\'t use it!')
            return self.Inactive
        if not self._candidates():
            if msg_fn:
                msg_fn('I have already own all 4 basic totems!')
            return self.Inactive
        return super_result

    def run(self, target, **kwargs):
        return std_events.pure_summon_events(self.game, choice(self._candidates()), self.player_id, 'last')


# 火舌图腾 (70000) *
Enc_火舌图腾 = ext.create_enchantment({'id': 70000}, *enc_common.apply_fn_add_attack(2), base=AuraEnchantment)


class 火舌图腾(Minion):
    data = {
        'id': 70000,
        'klass': 7, 'cost': 2, 'attack': 0, 'health': 3,
        'race': [Race.Totem],
    }

    class Aura_火舌图腾(Aura):
        def __init__(self, game, owner):
            super().__init__(game, owner)
            self.location = None

        def prepare_update(self):
Пример #3
0
    }

    def __init__(self, game, player_id):
        super().__init__(game, player_id)
        self.dr_trigger = std_triggers.DrTrigger.create(
            self.game,
            owner=self,
            dr_fn=lambda trigger, event:
            [std_events.DrawCard(self.game, self, self.player_id)],
            reg_fn=None,
            data=None)


# 恐狼前锋 (1000009)
Enc_恐狼前锋 = ext.create_enchantment({'id': 1000002},
                                  *enc_common.apply_fn_add_attack(1),
                                  base=AuraEnchantment)


class 恐狼前锋(Minion):
    """[NOTE]: This is a classic card of adjacent aura."""
    data = {
        'id': 1000009,
        'rarity': 1,
        'cost': 2,
        'attack': 2,
        'health': 2,
        'race': [Race.Beast],
    }

    class Aura_恐狼前锋(Aura):
Пример #4
0
__author__ = 'fyabc'


###############
# Neutral (0) #
###############

# 精灵弓箭手 (0)
ext.create_damage_minion({
    'id': 0,
    'cost': 1, 'attack': 1, 'health': 1,
    'battlecry': True, 'po_tree': '$HaveTarget',
}, 1)

# 暗鳞先知 (1) *
Enc_暗鳞先知 = ext.create_enchantment({'id': 0}, *enc_common.apply_fn_add_attack(1), base=AuraEnchantment)


class 暗鳞先知(Minion):
    data = {
        'id': 1,
        'cost': 1, 'attack': 1, 'health': 1,
        'race': [Race.Murloc],
    }

    class Aura_暗鳞先知(Aura):
        def check_entity(self, entity, **kwargs):
            return entity.zone == Zone.Play and entity.type == Type.Minion and \
                   entity.player_id == self.owner.player_id and Race.Murloc in entity.race and entity is not self.owner

        def grant_enchantment(self, entity, **kwargs):
Пример #5
0
            return self.Inactive
        if not self._candidates():
            if msg_fn:
                msg_fn('I have already own all 4 basic totems!')
            return self.Inactive
        return super_result

    def run(self, target, **kwargs):
        return std_events.pure_summon_events(self.game,
                                             choice(self._candidates()),
                                             self.player_id, 'last')


# 火舌图腾 (70000) *
Enc_火舌图腾 = ext.create_enchantment({'id': 70000},
                                  *enc_common.apply_fn_add_attack(2),
                                  base=AuraEnchantment)


class 火舌图腾(Minion):
    data = {
        'id': 70000,
        'klass': 7,
        'cost': 2,
        'attack': 0,
        'health': 3,
        'race': [Race.Totem],
    }

    class Aura_火舌图腾(Aura):
        def __init__(self, game, owner):
Пример #6
0
        'klass': 9, 'hero_power': 8,
    }


class 全副武装(HeroPower):
    data = {
        'id': 8,
        'klass': 9, 'is_basic': True, 'cost': 2,
    }

    def run(self, target, **kwargs):
        return [std_events.GainArmor(self.game, self, self.game.get_hero(self.player_id), 2)]


# 战歌指挥官 (90000) *
Enc_战歌指挥官 = ext.create_enchantment({'id': 90000}, *enc_common.apply_fn_add_attack(1), base=AuraEnchantment)


class 战歌指挥官(Minion):
    data = {
        'id': 90000,
        'klass': 9, 'cost': 3, 'attack': 2, 'health': 3,
    }

    class Aura_战歌指挥官(Aura):
        def check_entity(self, entity, **kwargs):
            return entity.zone == Zone.Play and entity.type == Type.Minion and \
                   entity.player_id == self.owner.player_id and entity.charge

        def grant_enchantment(self, entity, **kwargs):
            Enc_战歌指挥官.from_card(self.owner, self.game, entity, self)
Пример #7
0
        'id': 1000008,
        'rarity': 1, 'cost': 2, 'attack': 2, 'health': 1,
        'deathrattle': True,
    }

    def __init__(self, game, player_id):
        super().__init__(game, player_id)
        self.dr_trigger = std_triggers.DrTrigger.create(
            self.game, owner=self,
            dr_fn=lambda trigger, event: [std_events.DrawCard(self.game, self, self.player_id)],
            reg_fn=None, data=None
        )


# 恐狼前锋 (1000009)
Enc_恐狼前锋 = ext.create_enchantment({'id': 1000002}, *enc_common.apply_fn_add_attack(1), base=AuraEnchantment)


class 恐狼前锋(Minion):
    """[NOTE]: This is a classic card of adjacent aura."""
    data = {
        'id': 1000009,
        'rarity': 1, 'cost': 2, 'attack': 2, 'health': 2,
        'race': [Race.Beast],
    }

    class Aura_恐狼前锋(Aura):
        def __init__(self, game, owner):
            super().__init__(game, owner)
            self.location = None
Пример #8
0

# 列王守卫 (40000)
class 列王守卫(Minion):
    data = {
        'id': 40000,
        'klass': 4, 'cost': 7, 'attack': 5, 'health': 6,
        'battlecry': True,
    }

    def run_battlecry(self, target, **kwargs):
        return [std_events.Healing(self.game, self, self.game.get_hero(self.player_id), 6)]


# 力量祝福 (40001) *
Enc_力量祝福 = ext.create_enchantment({'id': 40000}, *enc_common.apply_fn_add_attack(3))


class 力量祝福(Spell):
    data = {
        'id': 40001,
        'type': 1, 'klass': 4, 'cost': 1,
        'po_tree': '$HaveTarget',
    }

    can_do_action = ext.require_minion
    check_target = ext.checker_minion

    def run(self, target, **kwargs):
        Enc_力量祝福.from_card(self, self.game, target)
        return []