コード例 #1
0
 def __init__(self, ms: MonsterSkill):
     data = merge_defaults(ms.data, [0, 0, 0])
     self.attribute = data[0]
     self.atk_multiplier = mult(data[1])
     self.recover_multiplier = mult(data[2])
     self.mass_attack = False
     super().__init__(ms)
コード例 #2
0
 def __init__(self, ms: MonsterSkill):
     data = merge_defaults(ms.data, [0, None, 0, 0, 0])
     self.duration = data[0]
     self.percentage_max_hp = mult(data[2])
     self.card_bind = data[3]
     self.awoken_bind = data[4]
     super().__init__(ms)
コード例 #3
0
 def __init__(self, ms: MonsterSkill):
     data = merge_defaults(ms.data, [0, 0, 1, 1])
     self.mass_attack = data[0] == 0
     self.attribute = data[1]
     self.high_multiplier = mult(data[2])
     self.low_multiplier = mult(data[3])
     super().__init__(ms)
コード例 #4
0
 def __init__(self, ms: MonsterSkill):
     data = merge_defaults(ms.data, [0, 0, 0, 0])
     self.attribute = data[0]
     self.damage = data[1]
     self.hp_remaining = mult(data[3])
     self.mass_attack = True
     super().__init__(ms)
コード例 #5
0
 def __init__(self, ms: MonsterSkill):
     data = merge_defaults(ms.data, [0, 0])
     self.multiplier = mult(data[0])
     self.attribute = data[1]
     # Note; another slot must contain the attribute, since this is a fixed nuke.
     self.mass_attack = True
     super().__init__(ms)
コード例 #6
0
 def __init__(self, ms: MonsterSkill):
     data = merge_defaults(ms.data, [0, 1, 1])
     self.attribute = data[0]
     self.minimum_multiplier = mult(data[1])
     self.maximum_multiplier = mult(data[2])
     self.mass_attack = True
     super().__init__(ms)
コード例 #7
0
 def __init__(self, ms: MonsterSkill):
     data = merge_defaults(ms.data, [1, 100, 0, 0, 0, 0, 0, 1])
     # Only one example of this so far, so these are all just guesses
     self.turns = data[0]
     self.speed = mult(data[1])
     self.count = data[7]
     super().__init__(ms)
コード例 #8
0
 def __init__(self, ms: MonsterSkill):
     data = merge_defaults(ms.data, [0, 0, 0, 0])
     self.team_attributes = binary_con(data[0])
     self.multiplier = mult(data[1])
     self.mass_attack = data[2] == 0
     self.attack_attribute = data[3]
     super().__init__(ms)
コード例 #9
0
 def __init__(self, ms: MonsterSkill):
     data = merge_defaults(ms.data, [0, 0, 0, 0])
     self.orbs = binary_con(data[0])
     self.duration = data[1]
     self.max_duration = data[2]
     self.percentage = mult(data[3])
     super().__init__(ms)
コード例 #10
0
 def __init__(self, ms: MonsterSkill):
     data = merge_defaults(ms.data, [0, 0, 0, 0, 0])
     self.duration = data[0]
     self.attributes = binary_con(data[1])
     self.types = binary_con(data[2])
     self.atk_boost = mult(data[3])
     self.rcv_boost = mult(data[4])
     super().__init__(ms)
コード例 #11
0
 def __init__(self, ms: MonsterSkill):
     data = merge_defaults(ms.data, [0, 0, 0, 0, 0])
     self.card_bind = data[0]
     self.rcv_multiplier_as_hp = mult(data[1])
     self.hp = data[2]
     self.percentage_max_hp = mult(data[3])
     self.awoken_bind = data[4]
     super().__init__(ms)
コード例 #12
0
 def __init__(self, ms: MonsterSkill):
     data = merge_defaults(ms.data, [1, 0, 0, 0, 0, 0, 0, 0])
     self.duration = data[0]
     self.awakenings = data[1:4]
     self.unknown_4 = data[4]
     self.unknown_5 = data[5]
     self.atk_per = mult(data[6])
     self.rcv_per = mult(data[7])
     super().__init__(ms)
コード例 #13
0
 def __init__(self, ms: MonsterSkill):
     data = merge_defaults(ms.data, [0, 0, 0, 0, 0, 0])
     self.amount = data[0]
     self.orbs = binary_con(data[1])
     self.excluding_orbs = binary_con(data[2])
     self.amount2 = data[3]
     self.orbs2 = binary_con(data[4])
     self.excluding_orbs2 = binary_con(data[5])
     super().__init__(ms)
コード例 #14
0
    def __init__(self, ms: MonsterSkill):
        data = merge_defaults(ms.data, [])
        self.from_attr = list(range(10))
        self.to_attr = [v for v in data if v != -1]

        board = None
        if len(self.to_attr) == 1:
            board = Board([[self.to_attr[0] for _ in range(7)] for _ in range(6)])

        super().__init__(ms, board=board)
コード例 #15
0
    def __init__(self, ms: MonsterSkill):
        data = merge_defaults(ms.data, [0, 0, 0, 0, 0, 0])
        self.pos_map = [binary_con(row) for row in data[:5]]
        self.attribute = data[5]

        board_data = [[self.attribute if j in self.pos_map[i] else -1 for j in range(6)] for i in range(5)]
        board_data.insert(2, copy(board_data[2]))
        [row.insert(3, row[3]) for row in board_data]
        board = Board(board_data)
        super().__init__(ms, board=board)
コード例 #16
0
 def __init__(self, ms: MonsterSkill):
     data = merge_defaults(ms.data, [0, 0, 0])
     self.duration = data[0]
     self.attributes = [data[1]]
     self.rcv_boost = False
     if 5 in self.attributes:
         self.rcv_boost = True
         self.attributes.remove(5)
     self.multiplier = mult(data[2])
     self.atk = self.multiplier
     super().__init__(ms)
コード例 #17
0
 def __init__(self, ms: MonsterSkill):
     data = merge_defaults(ms.data, [])
     # TODO: simplify this
     self.columns = [OrbLine(int(i), binary_con(orbs)) for indices, orbs in
                     zip(data[::2], data[1::2]) for i in binary_con(indices)]
     board = Board()
     for col in self.columns:
         # Ignore random cols
         if len(col.attrs) == 1:
             idx = col.index if col.index < 3 else col.index + 1
             board |= Board([[col.attrs[0] if j == idx else -1 for j in range(7)] for _ in range(6)])
     super().__init__(ms, board=board)
コード例 #18
0
 def __init__(self, ms: MonsterSkill):
     data = merge_defaults(ms.data, [1, 0, 0, 0, 0, 0])
     self.duration = data[0]
     self.awakenings = data[1:4]
     self.toggle = data[4]
     self.amount_per = None
     if self.toggle == 1:
         self.amount_per = data[5] / 100
     elif self.toggle == 2:
         self.amount_per = (data[5] - 100) / 100
     elif self.toggle == 3:
         self.amount_per = mult(data[5])
     super().__init__(ms)
コード例 #19
0
 def __init__(self, ms: MonsterSkill):
     data = merge_defaults(ms.data, [1, 1, 0, 0, 0, 0, 0, 1])
     self.duration = data[0]
     self.awakenings = data[1:4]
     self._unknown = data[5]
     self.toggle = data[6]
     self.amount_per = None
     if self.toggle == 1:
         self.amount_per = data[7]
     elif self.toggle in [0, 2]:
         self.amount_per = mult(data[7])
     elif self.toggle == 3:
         self.amount_per = mult(data[7])
     super().__init__(ms)
コード例 #20
0
 def __init__(self, ms: MonsterSkill):
     data = merge_defaults(ms.data, [0])
     self.percentage_max_hp = mult(data[0])
     super().__init__(ms)
コード例 #21
0
 def __init__(self, ms: MonsterSkill):
     data = merge_defaults(ms.data, [0, 0])
     self.duration = data[0]
     self.combos = data[1]
     super().__init__(ms)
コード例 #22
0
 def __init__(self, ms: MonsterSkill):
     data = merge_defaults(ms.data, [0, 0])
     self.from_attr = binary_con(data[0])
     self.to_attr = binary_con(data[1])
     super().__init__(ms)
コード例 #23
0
 def __init__(self, ms: MonsterSkill):
     data = merge_defaults(ms.data, [0])
     self.turns = None
     self.attribute = data[0]
     super().__init__(ms)
コード例 #24
0
 def __init__(self, ms: MonsterSkill):
     data = merge_defaults(ms.data, [0, 0])
     self.orbs = binary_con(data[0])
     self.count = data[1]  # This can be 42/99 (both mean 'all') or a fixed number
     super().__init__(ms)
コード例 #25
0
 def __init__(self, ms: MonsterSkill):
     data = merge_defaults(ms.data, [0, 0])
     self.turns = data[0]
     self.max_turns = data[1] or self.turns
     super().__init__(ms)
コード例 #26
0
 def __init__(self, ms: MonsterSkill):
     data = merge_defaults(ms.data, [0])
     self.team_rcv_multiplier_as_hp = mult(data[0])
     super().__init__(ms)
コード例 #27
0
 def __init__(self, ms: MonsterSkill):
     data = merge_defaults(ms.data, [])
     self.orbs = data[0:2]
     super().__init__(ms)
コード例 #28
0
 def __init__(self, ms: MonsterSkill):
     data = merge_defaults(ms.data, [0])
     self.orbs = binary_con(data[0])
     super().__init__(ms)
コード例 #29
0
 def __init__(self, ms: MonsterSkill):
     data = merge_defaults(ms.data, [0, 0, 0])
     self.duration = data[0]
     self.static = data[1] / 10
     self.percentage = mult(data[2])
     super().__init__(ms)
コード例 #30
0
 def __init__(self, ms: MonsterSkill):
     data = merge_defaults(ms.data, [0, 0, 0, 1])
     self.duration = data[0]
     self.types = data[1:3]
     self.multiplier = mult(data[3])
     super().__init__(ms)