Пример #1
0
        'type': 1, 'klass': 7, 'cost': 5,
    }

    def run(self, target, **kwargs):
        targets = ext.collect_1p_minions(self, oop=True, player_id=self.player_id)
        for e in targets:
            Enc_嗜血.from_card(self, self.game, e)
        return []


# Derivatives

# 石爪图腾 (70010)
ext.blank_minion({
    'id': 70010,
    'rarity': -1, 'klass': 7, 'cost': 1, 'attack': 0, 'health': 2,
    'race': [Race.Totem], 'derivative': True, 'taunt': True,
})


# 治疗图腾 (70011)
class 治疗图腾(Minion):
    data = {
        'id': 70011,
        'rarity': -1, 'klass': 7, 'cost': 1, 'attack': 0, 'health': 2,
        'race': [Race.Totem], 'derivative': True,
    }

    class Trig_治疗图腾(std_triggers.AttachedTrigger):
        respond = [std_events.EndOfTurn]
Пример #2
0
class 变形(HeroPower):
    data = {
        'id': 0,
        'klass': 1, 'is_basic': True, 'cost': 2,
    }

    def run(self, target, **kwargs):
        hero = self.game.get_hero(self.player_id)
        Enc_变形.from_card(self, self.game, hero)
        return [std_events.GainArmor(self.game, self, hero, 1)]


# 埃隆巴克保护者 (10000)
blank_minion({
    'id': 10000,
    'klass': 1, 'cost': 8, 'attack': 8, 'health': 8,
    'taunt': True,
})


# 月火术 (10001)
class 月火术(Spell):
    data = {
        'id': 10001,
        'type': 1, 'klass': 1, 'cost': 0,
        'po_tree': '$HaveTarget',
    }
    ext.add_dh_bonus_data(data, 1)

    run = ext.damage_fn(data.get('dh_values', [])[0])
Пример #3
0
from MyHearthStone.ext import Enchantment, Aura, AuraEnchantment
from MyHearthStone.ext import std_events, std_triggers
from MyHearthStone.ext import enc_common
from MyHearthStone.utils.game import Race, Zone

__author__ = 'fyabc'

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

# 小精灵 (1000000)
blank_minion({
    'id': 1000000,
    'rarity': 1,
    'cost': 0,
    'attack': 1,
    'health': 1,
})

# 持盾卫士 (1000001)
blank_minion({
    'id': 1000001,
    'rarity': 1,
    'cost': 1,
    'attack': 0,
    'health': 4,
    'taunt': True,
})

Пример #4
0
class 生命分流(HeroPower):
    data = {
        'id': 7,
        'klass': 8, 'is_basic': True, 'cost': 2,
    }
    ext.add_dh_bonus_data(data, 2)

    def run(self, target, **kwargs):
        return [std_events.Damage(self.game, self, target=self.game.get_hero(self.player_id), value=self.dh_values[0]),
                std_events.DrawCard(self.game, self, self.player_id)]


# 虚空行者 (80000)
ext.blank_minion({
    'id': 80000,
    'klass': 8, 'cost': 1, 'attack': 1, 'health': 3,
    'taunt': True, 'race': [Race.Demon],
})


# 魅魔 (80001)
class 魅魔(Minion):
    data = {
        'id': 80001,
        'klass': 8, 'cost': 2, 'attack': 4, 'health': 3,
        'battlecry': True, 'race': [Race.Demon],
    }

    def run_battlecry(self, target, **kwargs):
        target = choice(self.game.get_zone(Zone.Hand, self.player_id))
        return [std_events.DiscardCard(self.game, self, target)]
Пример #5
0
            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):
            Enc_暗鳞先知.from_card(self.owner, self.game, entity, self)

    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)
        self.Aura_暗鳞先知(self.game, self)


# 石牙野猪 (2)
blank_minion({
    'id': 2,
    'cost': 1,
    'attack': 1,
    'health': 1,
    'charge': True,
    'race': [Race.Beast],
})

# 闪金镇步兵 (3)
blank_minion({
    'id': 3,
    'cost': 1,
    'attack': 1,
    'health': 2,
    'taunt': True,
})

# 鱼人袭击者 (4)
blank_minion({
Пример #6
0
from MyHearthStone.ext import Minion
from MyHearthStone.ext import Enchantment, Aura, AuraEnchantment
from MyHearthStone.ext import std_events, std_triggers
from MyHearthStone.ext import enc_common
from MyHearthStone.utils.game import Race, Zone

__author__ = 'fyabc'


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

# 小精灵 (1000000)
blank_minion({
    'id': 1000000,
    'rarity': 1, 'cost': 0, 'attack': 1, 'health': 1,
})

# 持盾卫士 (1000001)
blank_minion({
    'id': 1000001,
    'rarity': 1, 'cost': 1, 'attack': 0, 'health': 4,
    'taunt': True,
})


# 叫嚣的中士 (1000002)
class Enc_叫嚣的中士(Enchantment):
    data = {
        'id': 1000000,
    }
Пример #7
0
# 奥术傀儡 (1000063)
# 负伤剑圣 (1000064)
# 阿古斯防御者 (1000065) *
# 年迈的法师 (1000066) *
# 紫罗兰教师 (1000067)
# 暮光幼龙 (1000068) *
# 狂奔科多兽 (1000069)
# 憎恶 (1000070)
# 碧蓝幼龙 (1000071) (荣誉室)

# 银色指挥官 (1000072)
blank_minion({
    'id': 1000072,
    'rarity': 2,
    'cost': 6,
    'attack': 4,
    'health': 2,
    'charge': True,
    'divine_shield': True,
})

# 加基森拍卖师 (1000073)

# 烈日行者 (1000074)
blank_minion({
    'id': 1000074,
    'rarity': 2,
    'cost': 6,
    'attack': 4,
    'health': 5,
    'divine_shield': True,
Пример #8
0
        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):
            Enc_暗鳞先知.from_card(self.owner, self.game, entity, self)

    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)
        self.Aura_暗鳞先知(self.game, self)


# 石牙野猪 (2)
blank_minion({
    'id': 2,
    'cost': 1, 'attack': 1, 'health': 1,
    'charge': True, 'race': [Race.Beast],
})

# 闪金镇步兵 (3)
blank_minion({
    'id': 3,
    'cost': 1, 'attack': 1, 'health': 2,
    'taunt': True,
})

# 鱼人袭击者 (4)
blank_minion({
    'id': 4,
    'cost': 1, 'attack': 2, 'health': 1,
    'race': [Race.Murloc],
Пример #9
0
    check_target = ext.checker_minion

    SheepId = 47

    def run(self, target, **kwargs):
        return std_events.replace_events(self.game, target, new_entity=self.SheepId)


# 烈焰风暴 (30009)
class 烈焰风暴(Spell):
    data = {
        'id': 30009,
        'type': 1, 'klass': 3, 'cost': 7,
    }
    ext.add_dh_bonus_data(data, 4)

    def run(self, target, **kwargs):
        targets = ext.collect_1p_minions(self, oop=True, player_id=1 - self.player_id)
        return [std_events.AreaDamage(self.game, self, targets, [self.dh_values[0] for _ in targets])]


# Derivatives.


# 镜像 (30010)
ext.blank_minion({
    'id': 30010,
    'rarity': -1, 'klass': 3, 'cost': 0, 'attack': 0, 'health': 2,
    'derivative': True, 'taunt': True,
})
Пример #10
0
    def run(self, target, **kwargs):
        return [
            std_events.Damage(self.game,
                              self,
                              target=self.game.get_hero(self.player_id),
                              value=self.dh_values[0]),
            std_events.DrawCard(self.game, self, self.player_id)
        ]


# 虚空行者 (80000)
ext.blank_minion({
    'id': 80000,
    'klass': 8,
    'cost': 1,
    'attack': 1,
    'health': 3,
    'taunt': True,
    'race': [Race.Demon],
})


# 魅魔 (80001)
class 魅魔(Minion):
    data = {
        'id': 80001,
        'klass': 8,
        'cost': 2,
        'attack': 4,
        'health': 3,
        'battlecry': True,
Пример #11
0
        'cost': 7,
    }
    ext.add_dh_bonus_data(data, 4)

    def run(self, target, **kwargs):
        targets = ext.collect_1p_minions(self,
                                         False,
                                         oop=True,
                                         player_id=1 - self.player_id)
        return [
            std_events.AreaDamage(self.game, self, targets,
                                  [self.dh_values[0] for _ in targets])
        ]


# Derivatives.

# 镜像 (30010)
ext.blank_minion({
    'id': 30010,
    'rarity': -1,
    'klass': 3,
    'cost': 0,
    'attack': 0,
    'health': 2,
    'derivative': True,
    'taunt': True,
})

# 绵羊 (47) in ``basic_neutral.py``.
Пример #12
0
from MyHearthStone.ext import Enchantment, Aura, AuraEnchantment
from MyHearthStone.ext import std_events, std_triggers
from MyHearthStone.ext import enc_common
from MyHearthStone.utils.game import Race, Zone

__author__ = 'fyabc'

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

# 小精灵 (1000000)
blank_minion({
    'id': 1000000,
    'rarity': 1,
    'cost': 0,
    'attack': 1,
    'health': 1,
})

# 持盾卫士 (1000001)
blank_minion({
    'id': 1000001,
    'rarity': 1,
    'cost': 1,
    'attack': 0,
    'health': 4,
    'taunt': True,
})

Пример #13
0
    def run(self, target, **kwargs):
        # TODO
        return []


# 圣光的正义 (40008)
ext.blank_weapon({
    'id': 40008,
    'type': 2,
    'klass': 4,
    'cost': 1,
    'attack': 1,
    'health': 4,
})

# 真银圣剑 (40009)

# Derivatives

# 白银之手新兵 (40010)
ext.blank_minion({
    'id': 40010,
    'rarity': -1,
    'klass': 4,
    'cost': 1,
    'attack': 1,
    'health': 1,
    'derivative': True,
})
Пример #14
0
        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)

    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)
        self.Aura_战歌指挥官(self.game, self)


# 库卡隆精英卫士 (90001)
ext.blank_minion({
    'id': 90001,
    'klass': 9, 'cost': 4, 'attack': 4, 'health': 3,
    'charge': True,
})


# 旋风斩 (90002)
class 旋风斩(Spell):
    data = {
        'id': 90002,
        'type': 1, 'klass': 9, 'cost': 1,
    }
    ext.add_dh_bonus_data(data, 1)

    def run(self, target, **kwargs):
        targets = ext.collect_all_minions(self, oop=True)
        return [std_events.AreaDamage(self.game, self, targets, [self.dh_values[0] for _ in targets])]
Пример #15
0
    def run(self, target, **kwargs):
        # TODO
        return []


# 嗜血 (70009)

# Derivatives

# 石爪图腾 (70010)
ext.blank_minion({
    'id': 70010,
    'rarity': -1,
    'klass': 7,
    'cost': 1,
    'attack': 0,
    'health': 2,
    'race': [Race.Totem],
    'derivative': True,
    'taunt': True,
})


# 治疗图腾 (70011)
class 治疗图腾(Minion):
    data = {
        'id': 70011,
        'rarity': -1,
        'klass': 7,
        'cost': 1,
        'attack': 0,
Пример #16
0
            real_targets = random.sample(zone, 2)
        return [
            std_events.AreaDamage(self.game, self, real_targets,
                                  [self.dh_values[0] for _ in real_targets])
        ]


# Derivations.

# 米莎 (20010)
ext.blank_minion({
    'id': 20010,
    'rarity': -1,
    'klass': 2,
    'cost': 3,
    'attack': 4,
    'health': 4,
    'race': [Race.Beast],
    'derivative': True,
    'taunt': True,
})

# 雷欧克 (20011) *
Enc_雷欧克 = ext.create_enchantment({'id': 20004},
                                 *enc_common.apply_fn_add_attack(1),
                                 base=AuraEnchantment)


class 雷欧克(Minion):
    data = {
        'id': 20011,
Пример #17
0
    data = {
        'id': 90000,
        'klass': 9,
        'cost': 3,
        'attack': 2,
        'health': 3,
    }

    # TODO


# 库卡隆精英卫士 (90001)
ext.blank_minion({
    'id': 90001,
    'klass': 9,
    'cost': 4,
    'attack': 4,
    'health': 3,
    'charge': True,
})


# 旋风斩 (90002)
class 旋风斩(Spell):
    data = {
        'id': 90002,
        'type': 1,
        'klass': 9,
        'cost': 1,
    }
    ext.add_dh_bonus_data(data, 1)
Пример #18
0

# 真银圣剑 (40009)
class 真银圣剑(Weapon):
    data = {
        'id': 40009,
        'type': 2, 'klass': 4, 'cost': 4, 'attack': 4, 'health': 2,
    }
    ext.add_dh_bonus_data(data, 2)

    class Trig_真银圣剑(std_triggers.AttachedTrigger):
        respond = [std_events.Attack]
        zones = [Zone.Weapon]

        def process(self, event: respond[0]):
            # TODO: Need test.
            hero = self.game.get_hero(self.owner.player_id)
            if event.attacker is not hero:
                return []
            return [std_events.Healing(self.game, self.owner, hero, 2)]


# Derivatives

# 白银之手新兵 (40010)
ext.blank_minion({
    'id': 40010,
    'rarity': -1, 'klass': 4, 'cost': 1, 'attack': 1, 'health': 1,
    'derivative': True,
})