share/hedgewars/Data/Scripts/Multiplayer/Balanced_Random_Weapon.lua
changeset 5827 a416f1070fdf
parent 5141 2fb6555011d3
child 8043 da083f8d95e6
equal deleted inserted replaced
5825:a6eab1b7c00d 5827:a416f1070fdf
    16 --                        T,G,S,L,R,R,P,J,P,S
    16 --                        T,G,S,L,R,R,P,J,P,S
    17 local utilities_values = {1,2,2,1,2,2,1,2,2,2}
    17 local utilities_values = {1,2,2,1,2,2,1,2,2,2}
    18 
    18 
    19 function randomAmmo()
    19 function randomAmmo()
    20     local n = 3   --"points" to be allocated on weapons
    20     local n = 3   --"points" to be allocated on weapons
    21     
    21 
    22     --pick random weapon and subtract cost
    22     --pick random weapon and subtract cost
    23     local r = GetRandom(table.maxn(weapons_values)) + 1
    23     local r = GetRandom(table.maxn(weapons_values)) + 1
    24     local picked_items = {}
    24     local picked_items = {}
    25     table.insert(picked_items, weapons[r])
    25     table.insert(picked_items, weapons[r])
    26     n = n - weapons_values[r]
    26     n = n - weapons_values[r]
    27     
    27 
    28     
    28 
    29     --choose any weapons or utilities to use up remaining n
    29     --choose any weapons or utilities to use up remaining n
    30     
    30 
    31     while n > 0 do
    31     while n > 0 do
    32         local items = {}
    32         local items = {}
    33         local items_values = {}
    33         local items_values = {}
    34 
    34 
    35         for i, w in pairs(weapons_values) do
    35         for i, w in pairs(weapons_values) do
    61                     table.insert(items_values, w)
    61                     table.insert(items_values, w)
    62                     table.insert(items, utilities[i])
    62                     table.insert(items, utilities[i])
    63                 end
    63                 end
    64             end
    64             end
    65         end
    65         end
    66         
    66 
    67         local r = GetRandom(table.maxn(items_values)) + 1
    67         local r = GetRandom(table.maxn(items_values)) + 1
    68         table.insert(picked_items, items[r])
    68         table.insert(picked_items, items[r])
    69         n = n - items_values[r]
    69         n = n - items_values[r]
    70     end
    70     end
    71     
    71 
    72     return picked_items
    72     return picked_items
    73 end
    73 end
    74 
    74 
    75 function assignAmmo(hog)
    75 function assignAmmo(hog)
    76     local name = GetHogTeamName(hog)
    76     local name = GetHogTeamName(hog)
   109     end
   109     end
   110 end
   110 end
   111 
   111 
   112 function onAmmoStoreInit()
   112 function onAmmoStoreInit()
   113     SetAmmo(amSkip, 9, 0, 0, 0)
   113     SetAmmo(amSkip, 9, 0, 0, 0)
   114     
   114 
   115     SetAmmo(amExtraDamage, 0, 1, 0, 1)
   115     SetAmmo(amExtraDamage, 0, 1, 0, 1)
   116     SetAmmo(amInvulnerable, 0, 1, 0, 1)
   116     SetAmmo(amInvulnerable, 0, 1, 0, 1)
   117     SetAmmo(amExtraTime, 0, 1, 0, 1)
   117     SetAmmo(amExtraTime, 0, 1, 0, 1)
   118     SetAmmo(amLaserSight, 0, 1, 0, 1)
   118     SetAmmo(amLaserSight, 0, 1, 0, 1)
   119     SetAmmo(amVampiric, 0, 1, 0, 1)
   119     SetAmmo(amVampiric, 0, 1, 0, 1)