예제 #1
0
                                and varElement in ignore_special[skill]) or (
                                    varElement in ignore_all_special):
                            print '###ignore: %s / %s [x%d]' % (
                                skill, varElement, factor)
                        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)      
                            """#print '%s old [x%d]: %s' % (varElement, factor, varlist)
                            #print '%s new [x%d]: %s' % (varElement, factor, numberValue)

                        #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
            root[skill + '_x' + str(factor)] = skillkv
    root.save('npc_abilities_custom.txt')
    os.remove('npc_abilities_custom.tmp')
예제 #2
0
            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()
예제 #3
0
                        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()
예제 #4
0
                        #print '%s -> %s' % (skill, varElement)
                       
                        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)
                        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)      
                            """#print '%s old [x%d]: %s' % (varElement, factor, varlist) 
                            #print '%s new [x%d]: %s' % (varElement, factor, numberValue)
                        
                               
                        #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
            root[skill + '_x'+str(factor)] = skillkv
    root.save('npc_abilities_override.txt.txt')
    os.remove('npc_abilities_override.tmp')
예제 #5
0
        'necronomicon_', 'abyssal_underlord_', 'earth_spirit_'
    ]

    #luna_eclipse disabled due crash issues
    #sandking_caustic_finale buggy with other skills
    #lycan_summon_wolves not working fine with other heroes

    # remove comments from file (there's bug in _custom that some comments have only an single slash instead of double slash...
    clean.remove_comments('npc_abilities.txt', 'skills_list.tmp')

    kv = KeyValues()
    kv.load('skills_list.tmp')

    root = KeyValues('DOTASkills')
    rootUlti = KeyValues('DOTAUltimates')

    for skill in kv:
        skillkv = KeyValues()
        if 'ID' in kv[skill]:
            if skill not in banSkills:
                if not inPartial(skill, banStartsWith):
                    if "AbilityType" in kv[skill] and kv[skill][
                            "AbilityType"] == "DOTA_ABILITY_TYPE_ULTIMATE":
                        rootUlti[kv[skill]['ID']] = skill
                    else:
                        root[kv[skill]['ID']] = skill
    root.save('skillsList.kv')
    rootUlti.save('ultimatesList.kv')
    os.remove('skills_list.tmp')
    print 'finished'
예제 #6
0
                     numberValue = False
                     #print '%s -> %s' % (skill, varElement)
                    
                     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)
                     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)      
                         """#print '%s old [x%d]: %s' % (varElement, factor, varlist) 
                         #print '%s new [x%d]: %s' % (varElement, factor, numberValue)
                     
                            
                     #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
         root[skill + '_x'+str(factor)] = skillkv
 root.save('npc_abilities_custom.txt')
 os.remove('npc_abilities_custom.tmp')
예제 #7
0
                                    varElement in ignore_all_special):
                            print '###ignore: %s / %s [x%d]' % (
                                skill, varElement, factor)
                        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)      
                            """#print '%s old [x%d]: %s' % (varElement, factor, varlist)
                            #print '%s new [x%d]: %s' % (varElement, factor, numberValue)

                        #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
            root[skill + '_x' + str(factor)] = skillkv
    root.save('npc_abilities_override.txt.txt')
    os.remove('npc_abilities_override.tmp')
예제 #8
0
    'shoot_firework']

    banStartsWith = ['roshan_', 'greevil_', 'backdoor_', 'invoker_', 'earth_spirit_', 'cny', 'necronomicon_', 'abyssal_underlord_', 'earth_spirit_']

    #luna_eclipse disabled due crash issues
    #sandking_caustic_finale buggy with other skills
    #lycan_summon_wolves not working fine with other heroes

    # remove comments from file (there's bug in _custom that some comments have only an single slash instead of double slash...
    clean.remove_comments('npc_abilities.txt', 'skills_list.tmp')

    kv = KeyValues()
    kv.load('skills_list.tmp')

    root = KeyValues('DOTASkills')
    rootUlti = KeyValues('DOTAUltimates')

    for skill in kv:
        skillkv = KeyValues()
        if 'ID' in kv[skill]:
            if skill not in banSkills:
                if not inPartial(skill, banStartsWith):
                    if "AbilityType" in kv[skill] and kv[skill]["AbilityType"] == "DOTA_ABILITY_TYPE_ULTIMATE":
                        rootUlti[kv[skill]['ID']] = skill
                    else:
                        root[kv[skill]['ID']] = skill
    root.save('skillsList.kv')
    rootUlti.save('ultimatesList.kv')
    os.remove('skills_list.tmp')
    print 'finished'