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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
def __init__(self, ms: MonsterSkill): data = merge_defaults(ms.data, [0]) self.percentage_max_hp = mult(data[0]) super().__init__(ms)
def __init__(self, ms: MonsterSkill): data = merge_defaults(ms.data, [0, 0]) self.duration = data[0] self.combos = data[1] super().__init__(ms)
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)
def __init__(self, ms: MonsterSkill): data = merge_defaults(ms.data, [0]) self.turns = None self.attribute = data[0] super().__init__(ms)
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)
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)
def __init__(self, ms: MonsterSkill): data = merge_defaults(ms.data, [0]) self.team_rcv_multiplier_as_hp = mult(data[0]) super().__init__(ms)
def __init__(self, ms: MonsterSkill): data = merge_defaults(ms.data, []) self.orbs = data[0:2] super().__init__(ms)
def __init__(self, ms: MonsterSkill): data = merge_defaults(ms.data, [0]) self.orbs = binary_con(data[0]) super().__init__(ms)
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)
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)