share/hedgewars/Data/Scripts/OfficialChallenges.lua
changeset 11545 86528b0cd491
parent 11542 64a5ab2c4f00
child 11546 59bf29b4f523
equal deleted inserted replaced
11543:3617c611406b 11545:86528b0cd491
     1 function detectMap()
     1 local maps = {
     2     if RopePercent == 100 and MinesNum == 0 then
     2     ["Border,60526986531,M838018718Scripts/Multiplayer/Racer.lua"] = "Racer Challenge #1"
     3 -- challenges with border
     3     , ["Border,71022545335,M-490229244Scripts/Multiplayer/Racer.lua"] = "Racer Challenge #2"
     4         if band(GameFlags, gfBorder) ~= 0 then
     4     , ["Border,40469748943,M806689586Scripts/Multiplayer/Racer.lua"] = "Racer Challenge #3"
     5             if LandDigest == "M838018718Scripts/Multiplayer/Racer.lua" then
     5     , ["85940488650,M-134869715Scripts/Multiplayer/Racer.lua"] = "Racer Challenge #4"
     6                 return("Racer Challenge #1")
     6     , ["62080348735,M-661895109Scripts/Multiplayer/Racer.lua"] = "Racer Challenge #5"
     7             elseif LandDigest == "M-490229244Scripts/Multiplayer/Racer.lua" then
     7     , ["56818170733,M479034891Scripts/Multiplayer/Racer.lua"] = "Racer Challenge #6"
     8                 return("Racer Challenge #2")
     8     , ["Border,25372705797,M1770509913Scripts/Multiplayer/Racer.lua"] = "Racer Challenge #7"
     9             elseif LandDigest == "M806689586Scripts/Multiplayer/Racer.lua" then
     9     , ["Border,10917540013,M1902370941Scripts/Multiplayer/Racer.lua"] = "Racer Challenge #8"
    10                 return("Racer Challenge #3")
    10     , ["Border,43890274319,M185940363Scripts/Multiplayer/Racer.lua"] = "Racer Challenge #9"
    11             elseif LandDigest == "M1770509913Scripts/Multiplayer/Racer.lua" then
    11     , ["Border,27870148394,M751885839Scripts/Multiplayer/Racer.lua"] = "Racer Challenge #10"
    12                 return("Racer Challenge #7")
    12     , ["Border,22647869226,M178845011Scripts/Multiplayer/Racer.lua"] = "Racer Challenge #11"
    13             elseif LandDigest == "M1902370941Scripts/Multiplayer/Racer.lua" then
    13     , ["Border,46954401793,M706743197Scripts/Multiplayer/Racer.lua"] = "Racer Challenge #12"
    14                 return("Racer Challenge #8")
    14     , ["Border,60760377667,M157242054Scripts/Multiplayer/Racer.lua"] = "Racer Challenge #13"
    15             elseif LandDigest == "M185940363Scripts/Multiplayer/Racer.lua" then
    15     , ["Border,51825989393,M-1585582638Scripts/Multiplayer/Racer.lua"] = "Racer Challenge #14"
    16                 return("Racer Challenge #9")
    16     , ["81841189250,M256715557Scripts/Multiplayer/Racer.lua"] = "Racer Challenge #15"
    17             elseif LandDigest == "M751885839Scripts/Multiplayer/Racer.lua" then
    17     , ["Border,44246064625,M-528106034Scripts/Multiplayer/Racer.lua"] = "Racer Challenge #16"
    18                 return("Racer Challenge #10")
    18     , ["60906776802,M-1389184823Scripts/Multiplayer/Racer.lua"] = "Racer Challenge #17"
    19             elseif LandDigest == "M178845011Scripts/Multiplayer/Racer.lua" then
    19     , ["Border,70774747774,M-534640804Scripts/Multiplayer/Racer.lua"] = "Racer Challenge #18"
    20                 return("Racer Challenge #11")
    20     , ["Border,50512019610,M-1839546856Scripts/Multiplayer/Racer.lua"] = "Racer Challenge #19"
    21             elseif LandDigest == "M706743197Scripts/Multiplayer/Racer.lua" then
    21     }
    22                 return("Racer Challenge #12")
       
    23             elseif LandDigest == "M157242054Scripts/Multiplayer/Racer.lua" then
       
    24                 return("Racer Challenge #13")
       
    25             elseif LandDigest == "M-1585582638Scripts/Multiplayer/Racer.lua" then
       
    26                 return("Racer Challenge #14")
       
    27             elseif LandDigest == "M-528106034Scripts/Multiplayer/Racer.lua" then
       
    28                 return("Racer Challenge #16")
       
    29             elseif LandDigest == "M-534640804Scripts/Multiplayer/Racer.lua" then
       
    30                 return("Racer Challenge #18")
       
    31             elseif LandDigest == "M-1839546856Scripts/Multiplayer/Racer.lua" then
       
    32                 return("Racer Challenge #19")
       
    33             end
       
    34 -- challenges without border
       
    35         elseif LandDigest == "M-134869715Scripts/Multiplayer/Racer.lua" then
       
    36             return("Racer Challenge #4")
       
    37         elseif LandDigest == "M-661895109Scripts/Multiplayer/Racer.lua" then
       
    38             return("Racer Challenge #5")
       
    39         elseif LandDigest == "M479034891Scripts/Multiplayer/Racer.lua" then
       
    40             return("Racer Challenge #6")
       
    41         elseif LandDigest == "M256715557Scripts/Multiplayer/Racer.lua" then
       
    42             return("Racer Challenge #15")
       
    43         elseif LandDigest == "M-1389184823Scripts/Multiplayer/Racer.lua" then
       
    44             return("Racer Challenge #17")
       
    45         end
       
    46     end
       
    47 end
       
    48 
    22 
    49 -- modified Adler hash
    23 -- modified Adler hash
    50 local hashA = 0
    24 local hashA = 0
    51 local hashB = 0
    25 local hashB = 0
    52 local hashModule = 299993
    26 local hashModule = 299993
    64 function hashDigest()
    38 function hashDigest()
    65     return(hashB * hashModule + hashA)
    39     return(hashB * hashModule + hashA)
    66 end
    40 end
    67 
    41 
    68 function detectMapWithDigest()
    42 function detectMapWithDigest()
    69     return("map " .. hashDigest())
    43     if RopePercent == 100 and MinesNum == 0 then
       
    44         mapString = hashDigest() .. "," .. LandDigest
       
    45 
       
    46         if band(GameFlags, gfBorder) ~= 0 then
       
    47             mapString = "Border," .. mapString
       
    48         end
       
    49 
       
    50         --WriteLnToConsole(mapString)
       
    51         return(maps[mapString])
       
    52     end
    70 end
    53 end