Changeset 3337

Show
Ignore:
Timestamp:
12/01/08 03:45:41 (5 weeks ago)
Author:
lurker
Message:

* Can now exclude units
* Better separation of code and parameters

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • trunk/tools/SpringModEdit/Procedures/planetwarsUpgrades.lua

    r3315 r3337  
    280280        }, 
    281281} 
     282 
     283local automaticUnitExclusions = { 
     284        'armflea', 
     285        'corclog', 
     286} 
     287 
     288local automaticUnitCosts = {75, 200, 500, 800, 1500} 
     289 
     290 
     291-------------------------------------------------------------------------------- 
     292 
     293 
     294local processedExclusions = {} 
     295 
     296local function ProcessExclusions() 
     297        for _,unit in pairs(automaticUnitExclusions) do 
     298                processedExclusions[unit] = true 
     299        end 
     300end 
    282301 
    283302local function CalculateFactions() 
     
    322341                        local unit = Units[name] 
    323342                        local cost = unit.buildCostMetal 
    324                         if unit.buildCostMetal > minCost and unit.buildCostMetal <= maxCost then 
     343                        if unit.buildCostMetal > minCost and unit.buildCostMetal <= maxCost  
     344                                        and not processedExclusions[name] then 
    325345                                returnUnits[unit.unitname] = unit 
    326346                        end 
     
    331351 
    332352local function AddStandardCostMobiles(division, branch, faction, factories) 
    333         local costs = {75, 200, 500, 800, 1500} 
    334353        local returnUnits = {} 
    335         for level = 1,5 do 
    336                 AddToDef(division, branch, level, faction, UnitsByFactoryAndCost(factories, costs[level-1] or 0, costs[level])) 
    337         end 
    338 end 
    339          
     354        local numberOfLevels = 0 
     355        for level,_ in ipairs(automaticUnitCosts) do numberOfLevels = level end 
     356        for level = 1,numberOfLevels do 
     357                AddToDef(division, branch, level, faction, UnitsByFactoryAndCost(factories, automaticUnitCosts[level-1] or 0, automaticUnitCosts[level])) 
     358        end 
     359end 
    340360 
    341361local function PrintDefs(defs) 
     
    374394end 
    375395 
     396 
     397-------------------------------------------------------------------------------- 
     398 
     399 
    376400CalculateFactions() 
     401ProcessExclusions() 
    377402 
    378403AddToDef('Buildings', 'Economy', 3, 'Arm', FindFactories(ArmUnits))