share/hedgewars/Data/Maps/FlightJoust/map.lua
changeset 3730 aecea9aa53dc
parent 3726 5909c3c19bb1
child 3731 f336f8d52f7e
equal deleted inserted replaced
3729:c379a802302c 3730:aecea9aa53dc
    12         newtbl[i] = func(v)
    12         newtbl[i] = func(v)
    13     end 
    13     end 
    14     return newtbl
    14     return newtbl
    15 end
    15 end
    16 
    16 
       
    17 function filter(func, tbl)
       
    18     local newtbl = {}
       
    19     for i,v in pairs(tbl) do
       
    20         if func(v) then
       
    21             table.insert(newtbl, v)
       
    22         end
       
    23     end
       
    24     return newtbl
       
    25 end
       
    26 
    17 function onGameInit()
    27 function onGameInit()
    18     GameFlags = gfSolidLand + gfDivideTeams
    28     GameFlags = gfSolidLand + gfDivideTeams
    19     TurnTime = 10000
    29     TurnTime = 10000
    20     CaseFreq = 0 
    30     CaseFreq = 0 
    21     LandAdds = 0 
    31     LandAdds = 0 
    23     Delay = 500 
    33     Delay = 500 
    24     SuddenDeathTurns = 99999 -- "disable" sudden death
    34     SuddenDeathTurns = 99999 -- "disable" sudden death
    25     Theme = Compost
    35     Theme = Compost
    26 end
    36 end
    27 
    37 
    28 function setHogPositions(gear)
    38 function onGameStart()
    29     if GetHogClan(gear) == 0 then
    39     local offset = 50
    30         SetGearPosition(gear, 250, 1000)
    40     local team1hh = filter(function(h) return GetHogClan(h) == 0 end, hogs)
    31     end 
    41     local team2hh = filter(function(h) return GetHogClan(h) == 1 end, hogs)
    32     if GetHogClan(gear) == 1 then
       
    33         SetGearPosition(gear, 3500, 1000)
       
    34     end 
       
    35 end
       
    36 
    42 
    37 function onGameStart()
    43     for i,h in ipairs(team1hh) do
    38     mapM_(setHogPositions, hogs)
    44         SetGearPosition(h, 250+(i-1)*offset, 1000)
       
    45     end
       
    46     for i,h in ipairs(team2hh) do
       
    47         SetGearPosition(h, 3500-(i-1)*offset, 1000)
       
    48     end
       
    49 
       
    50     SpawnHealthCrate(1800, 1200)
    39 end
    51 end
    40 
    52 
    41 function onAmmoStoreInit()
    53 function onAmmoStoreInit()
    42     SetAmmo(amRCPlane, 9, 0, 0, 0)
    54     SetAmmo(amRCPlane, 9, 0, 0, 0)
    43     SetAmmo(amSkip, 9, 0, 0, 0)
    55     SetAmmo(amSkip, 9, 0, 0, 0)
    49     end 
    61     end 
    50     if GetGearType(gear) == gtHedgehog then
    62     if GetGearType(gear) == gtHedgehog then
    51         table.insert(hogs, gear)
    63         table.insert(hogs, gear)
    52     end 
    64     end 
    53 end
    65 end
       
    66 
       
    67 function onGearDelete(gear)
       
    68     if GetGearType(gear) == gtCase then
       
    69         SpawnHealthCrate(1600 + math.random(550), 1150)
       
    70     end
       
    71 end