innerpool = data.get_node_by_full_object(pool).get_structure() if len(innerpool['BalancedItems']) != 1: raise Exception('Inner pool {} has {} items'.format( pool, len(innerpool['BalancedItems']))) (junk, actualcustom, junk2 ) = innerpool['BalancedItems'][0]['InvBalanceDefinition'].split("'") # Hotfix to unlink the intermediate pool hf_id = 'unlink_{}'.format(free_count) hfs.add_level_hotfix( hf_id, 'TPSSkinpool', ',{},BalancedItems[{}].ItmPoolDefinition,,None'.format( keyed, bi_idx, )) hotfix_output.append('{}{}'.format(prefix, hfs.get_hotfix_xml(hf_id))) # And a hotfix to link to the actual skin/head hf_id = 'link_{}'.format(free_count) hfs.add_level_hotfix( hf_id, 'TPSSkinpool', """,{},BalancedItems[{}].InvBalanceDefinition,, InventoryBalanceDefinition'{}'""".format( keyed, bi_idx, actualcustom, )) hotfix_output.append('{}{}'.format(prefix, hfs.get_hotfix_xml(hf_id))) # Increment our counter free_count += 1
index, shieldname, invbalance='InventoryBalanceDefinition') # Regular Stalker shield hotfixes stalker_shields_real_list = [] prefix = ' '*(4*3) for config in [regular, badass]: for (idx, (dipl_idx, popdef)) in enumerate(config.stalker_dipl): stalker_id = 'real_stalker_{}_{}'.format(config.hotfix_prefix, idx) hfs.add_level_hotfix(stalker_id, 'StalkerShields', ",{},DefaultItemPoolList[{}].ItemPool,,ItemPoolDefinition'{}'".format( popdef, dipl_idx, config.regular_shields, ), activated=True) stalker_shields_real_list.append('{}{}'.format(prefix, hfs.get_hotfix_xml(stalker_id))) # Only-Maylay Stalker shield hotfixes stalker_shields_maylay_list = [] prefix = ' '*(4*3) for config in [regular, badass]: for (idx, (dipl_idx, popdef)) in enumerate(config.stalker_dipl): stalker_id = 'maylay_stalker_{}_{}'.format(config.hotfix_prefix, idx) hfs.add_level_hotfix(stalker_id, 'StalkerShields', ",{},DefaultItemPoolList[{}].ItemPool,,ItemPoolDefinition'{}'".format( popdef, dipl_idx, config.maylay_shields, ), activated=False) stalker_shields_maylay_list.append('{}{}'.format(prefix, hfs.get_hotfix_xml(stalker_id))) ###
prefix = ' ' * (4 * 3) for config in [regular, badass]: for (idx, (dipl_idx, popdef)) in enumerate(config.stalker_dipl): stalker_id = 'real_stalker_{}_{}'.format(config.hotfix_prefix, idx) hfs.add_level_hotfix( stalker_id, 'StalkerShields', ",{},DefaultItemPoolList[{}].ItemPool,,ItemPoolDefinition'{}'". format( popdef, dipl_idx, config.regular_shields, ), activated=True) stalker_shields_real_list.append('{}{}'.format( prefix, hfs.get_hotfix_xml(stalker_id))) # Only-Maylay Stalker shield hotfixes stalker_shields_maylay_list = [] prefix = ' ' * (4 * 3) for config in [regular, badass]: for (idx, (dipl_idx, popdef)) in enumerate(config.stalker_dipl): stalker_id = 'maylay_stalker_{}_{}'.format(config.hotfix_prefix, idx) hfs.add_level_hotfix( stalker_id, 'StalkerShields', ",{},DefaultItemPoolList[{}].ItemPool,,ItemPoolDefinition'{}'". format( popdef, dipl_idx, config.maylay_shields,
for (bi_idx, item) in enumerate(structure['BalancedItems']): (junk, pool, junk2) = item['ItmPoolDefinition'].split("'") saved_pools.append(pool) innerpool = data.get_node_by_full_object(pool).get_structure() if len(innerpool['BalancedItems']) != 1: raise Exception('Inner pool {} has {} items'.format(pool, len(innerpool['BalancedItems']))) (junk, actualcustom, junk2) = innerpool['BalancedItems'][0]['InvBalanceDefinition'].split("'") # Hotfix to unlink the intermediate pool hf_id = 'unlink_{}'.format(free_count) hfs.add_level_hotfix(hf_id, 'TPSSkinpool', ',{},BalancedItems[{}].ItmPoolDefinition,,None'.format( keyed, bi_idx, )) hotfix_output.append('{}{}'.format(prefix, hfs.get_hotfix_xml(hf_id))) # And a hotfix to link to the actual skin/head hf_id = 'link_{}'.format(free_count) hfs.add_level_hotfix(hf_id, 'TPSSkinpool', """,{},BalancedItems[{}].InvBalanceDefinition,, InventoryBalanceDefinition'{}'""".format( keyed, bi_idx, actualcustom, )) hotfix_output.append('{}{}'.format(prefix, hfs.get_hotfix_xml(hf_id))) # Increment our counter free_count += 1