def __init__(self, db): def get(key): return db[ll_hashkeys.champion_table[key]] self.Name = get("Name") self.Stats = ChampStats(db) self.AbilityRef = [get("FirstAbilityReference"), get("SecondAbilityReference"), get("ThirdAbilityReference"), get("FourthAbilityReference")] self.Ability = [] for k in self.AbilityRef: file = os.path.abspath(os.path.dirname(path) + "../../../Spells/" + k + ".inibin") db = ll_inibin.parse(file)[2] x = Abilitiy(db) self.Ability.append(x)
#"D:\Dargon\output_dump\DATA\Spells\IreliaHitenStyle.inibin", #"D:\dargon\output_dump\DATA\Spells\OlafRecklessStrike.inibin" # "D:\Dargon\output_dump\DATA\Spells\IreliaGatotsu.inibin", # "D:\Dargon\output_dump\DATA\Spells\Parley.inibin", # "D:\Dargon\output_dump\DATA\Spells\EzrealMysticShot.inibin" "D:\Dargon\output_dump\DATA\Spells\IreliaEquilibriumStrike.inibin", "D:\Dargon\output_dump\DATA\Spells\Disintegrate.inibin" ] diff_files = [ # "D:\Dargon\output_dump\DATA\Spells\IreliaEquilibriumStrike.inibin", #"D:\Dargon\output_dump\DATA\Spells\IreliaHitenStyle.inibin", # "D:\Dargon\output_dump\DATA\Spells\IreliaTranscendentBlades.inibin", ] same = [ ll_inibin.parse(x)[2] for x in same_files ] diff = [ ll_inibin.parse(f)[2] for f in diff_files ] def merge(operation, xs): i = set(xs[0].items()) for x in xs[1:]: i = getattr(i, operation)(set(x.items())) return i common = merge("intersection", same) notval = set() if len(diff_files) > 0:
self.Ability = [] for k in self.AbilityRef: file = os.path.abspath(os.path.dirname(path) + "../../../Spells/" + k + ".inibin") db = ll_inibin.parse(file)[2] x = Abilitiy(db) self.Ability.append(x) def dump(db): for k,v in db.items(): print("%s=%s" % (str(k),str(v))) if __name__ == "__main__": if len(sys.argv) != 2: print("usage: character <filename>") else: path = sys.argv[1] db = ll_inibin.parse(path)[2] c = Champion(db) #for k,v in c.__dict__.items(): # print("%s=%s" % (str(k),str(v))) for k,v in c.Stats.__dict__.items(): print(("champion%s[%s] = %s;" % (os.path.splitext(os.path.basename(path))[0], k, v)))