Changeset 3318

Show
Ignore:
Timestamp:
11/29/08 07:37:07 (5 weeks ago)
Author:
google frog
Message:

* Some terraform fixes.
* Dgun is now a separate mod option.

Location:
trunk/mods/ca
Files:
3 modified

Legend:

Unmodified
Added
Removed
  • trunk/mods/ca/LuaRules/Gadgets/unit_terraform.lua

    r3299 r3318  
    209209  if ((UnitDefs[unitDefID].isBuilding == true or UnitDefs[unitDefID].maxAcc == 0) and (not checkTerraform(UnitDefs[unitDefID].name))) then 
    210210    local ux, uy, uz  = Spring.GetUnitPosition(unitID) 
    211         structure[unitID] = { x = ux, z = uz , h = spGetGroundHeight(ux, uz), def = UnitDefs[unitDefID],  
    212         minx = UnitDefs[unitDefID].minx, minz = UnitDefs[unitDefID].minz, maxx = UnitDefs[unitDefID].maxx, maxz = UnitDefs[unitDefID].maxz} 
     211        local face = spGetUnitBuildFacing(unitID) 
     212        if ((face == 0) or(face == 2)) then 
     213          structure[unitID] = { x = ux, z = uz , h = spGetGroundHeight(ux, uz), def = UnitDefs[unitDefID],  
     214          minx = UnitDefs[unitDefID].minx, minz = UnitDefs[unitDefID].minz, maxx = UnitDefs[unitDefID].maxx, maxz = UnitDefs[unitDefID].maxz} 
     215        else 
     216          structure[unitID] = { x = ux, z = uz , h = spGetGroundHeight(ux, uz), def = UnitDefs[unitDefID],  
     217          minx = UnitDefs[unitDefID].minz, minz = UnitDefs[unitDefID].minx, maxx = UnitDefs[unitDefID].maxz, maxz = UnitDefs[unitDefID].maxx} 
     218        end 
    213219  end 
    214220   
     
    315321function gadget:GameFrame(n) 
    316322  
    317   if (n%150<1) then  
     323  if (n%90<1) then  
    318324        checkHeightChange() 
    319325  end 
  • trunk/mods/ca/ModOptions.lua

    r3316 r3318  
    6969  }, 
    7070  { 
     71    key    = 'dgun', 
     72    name   = 'Enable Dgun', 
     73    desc   = "Gives the Commander a Dgun", 
     74    type   = 'bool', 
     75    def    = true, 
     76  }, 
     77  { 
    7178    key = "specialair", 
    7279    name = "Special Air Units", 
  • trunk/mods/ca/gamedata/unitdefs_post.lua

    r3306 r3318  
    273273                ud.maxdamage = 2000 
    274274                ud.canattack = false 
    275                 ud.candgun = false 
    276                 ud.cloakcost = -1 
    277275        ud.explodeas = "BIG_UNIT" 
    278                 ud.weapons = nil 
     276                ud.weapons = {[1] = nil ,[3] = nil ,[4] = nil ,}  
    279277        ud.selfdestructas = "BIG_UNIT" 
    280278                ud.maxvelocity = 1.5 
     
    304302                          ud.maxdamage = 4000 
    305303                          ud.energymake = 8 
    306                         ud.candgun = true 
    307304                        ud.explodeas = "COMMANDER_BLAST_CAT" 
    308305                        ud.selfdestructas = "COMMANDER_BLAST_CAT" 
     
    324321end 
    325322 
     323-------------------------------------------------------------------------------- 
     324-------------------------------------------------------------------------------- 
     325-- Dgun 
     326--  
     327 
     328if (modOptions and modOptions.dgun) then 
     329  if tobool(modOptions.dgun) then 
     330        for name, ud in pairs(UnitDefs) do 
     331        local unitname = ud.unitname 
     332          if (unitname == "armcom" or unitname == "corcom") then  
     333            ud.candgun = true 
     334            ud.weapons[1] = {def = "FAKELASER",}  
     335                ud.weapons[3] = {def = "DISINTEGRATOR",}  
     336          end 
     337        end 
     338  else 
     339        for name, ud in pairs(UnitDefs) do 
     340          local unitname = ud.unitname 
     341          if (unitname == "armcom" or unitname == "corcom") then  
     342            ud.candgun = false 
     343                ud.weapons[3] = nil 
     344          end 
     345        end 
     346  end 
     347end 
    326348 
    327349--------------------------------------------------------------------------------