for base in kv[skill]: base = str(base) if base != 'AbilitySpecial': skillkv[base] = divide_or_multiply(skill, 'Normal', base, kv[skill][base], factor, " ") if 'AbilitySpecial' in kv[skill]: abilityspecial = KeyValues('AbilitySpecial') for element in kv[skill]['AbilitySpecial']: number = KeyValues(element) for varElement in kv[skill]['AbilitySpecial'][element]: varlist = kv[skill]['AbilitySpecial'][element][varElement] numberValue = divide_or_multiply(skill, 'AbilitySpecial', varElement, varlist, factor, ' ') number[varElement] = numberValue abilityspecial[element] = number skillkv['AbilitySpecial'] = abilityspecial rootov[skill] = skillkv rootov.save('npc_abilities_override' + '_x'+str(factor)+'.txt') newDivValue = '2' if str(factor) in divValue: newDivValue = divValue[str(factor)] update_addons.updateAddons(factor, newDivValue, modID[factor]) os.remove('npc_abilities_override' + '_x'+str(factor)+'.txt') os.remove('npc_abilities_custom.tmp') os.remove('custom.tmp') #update_addons.updateAddons()
testvalue = kv[skill]['AbilitySpecial'][element][varElement].split(" ")[0] testinstance = str_to_type(testvalue) if (skill in ignore_special and varElement in ignore_special[skill]) or (varElement in ignore_all_special): #print '###ignore: %s / %s [x%d]' % (skill, varElement, factor) pass elif varElement != 'var_type' and testinstance in (int, long, float, complex): varlist = kv[skill]['AbilitySpecial'][element][varElement] numberValue = divide_or_multiply(varElement, varlist, factor, ' ') #if '-' in varlist: # print 'negative: %s / %s -> %s' % (varlist, varElement, skill) # print 'negative2: %s / %s -> %s' % (numberValue, varElement, skill) #check if variable number was defined if numberValue: number[varElement] = numberValue else: number[varElement] = kv[skill]['AbilitySpecial'][element][varElement] #print varElement #print kv[skill]['AbilitySpecial'][element][varElement] abilityspecial[element] = number #if usespec: skillkv['AbilitySpecial'] = abilityspecial if factor == override_factor: rootov[skill] = skillkv else: root[skill + '_x'+str(factor)] = skillkv root.save('npc_abilities_custom.txt') rootov.save('npc_abilities_override.txt') os.remove('npc_abilities_custom.tmp') update_addons.updateAddons()
varlist = kv[skill]['AbilitySpecial'][element][varElement] numberValue = divide_or_multiply(varElement, varlist, factor, ' ') #if '-' in varlist: # print 'negative: %s / %s -> %s' % (varlist, varElement, skill) # print 'negative2: %s / %s -> %s' % (numberValue, varElement, skill) #check if variable number was defined if numberValue: number[varElement] = numberValue else: number[varElement] = kv[skill]['AbilitySpecial'][element][varElement] #print varElement #print kv[skill]['AbilitySpecial'][element][varElement] abilityspecial[element] = number #if usespec: skillkv['AbilitySpecial'] = abilityspecial #if factor == override_factor: rootov[skill] = skillkv #else: # root[skill + '_x'+str(factor)] = skillkv #root.save('npc_abilities_custom.txt') rootov.save('npc_abilities_override' + '_x'+str(factor)+'.txt') newDivValue = '2' if str(factor) in divValue: newDivValue = divValue[str(factor)] update_addons.updateAddons(factor, newDivValue) os.remove('npc_abilities_override' + '_x'+str(factor)+'.txt') os.remove('npc_abilities_custom.tmp') #update_addons.updateAddons()