'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]
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])
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, })
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)]
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({
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, }
# 奥术傀儡 (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,
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],
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, })
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,
'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``.
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, })
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])]
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,
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,
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)
# 真银圣剑 (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, })