コード例 #1
0
ファイル: base.py プロジェクト: vkarthi46/hearthbreaker
 def from_json(name, count=0):
     from hearthbreaker.tags.selector import UserPicker, AllPicker, RandomPicker
     if name == "user":
         return UserPicker()
     elif name == "all":
         return AllPicker()
     elif name == "random":
         return RandomPicker(count)
     else:
         raise TypeError("What are you even doing?")
コード例 #2
0
ファイル: action.py プロジェクト: cadunne/hearthbreaker
    def __init__(self, buffs, picker=AllPicker()):

        if isinstance(buffs, Status):
            self.buffs = [Buff(buffs)]
        elif isinstance(buffs, list):
            self.buffs = buffs
            if isinstance(buffs[0], Aura):
                raise TypeError("Aura passed where buff was expected")
        elif isinstance(buffs, Aura):
            raise TypeError("Aura passed where buff was expected")
        else:
            self.buffs = [buffs]
        self.picker = picker
コード例 #3
0
ファイル: action.py プロジェクト: cadunne/hearthbreaker
    def __from_json__(self, buffs=None, effects=None, auras=None, picker=None):
        if effects:  # To allow for give to work with effects as well, we check at load time
            return GiveEffect.__new__(GiveEffect).__from_json__(effects)

        if auras:  # To allow for give to work with auras as well, we check at load time
            return GiveAura.__new__(GiveAura).__from_json__(auras)

        self.buffs = []
        for buff in buffs:
            if "until" in buff:
                self.buffs.append(BuffUntil.from_json(**buff))
            else:
                self.buffs.append(Buff.from_json(**buff))

        if not picker:
            self.picker = AllPicker()
        else:
            self.picker = Picker.from_json(**picker)
        return self