share/hedgewars/Data/Scripts/OfficialChallenges.lua
branch0.9.22
changeset 12401 7342f5020691
parent 12400 c7d73e5840c8
equal deleted inserted replaced
12400:c7d73e5840c8 12401:7342f5020691
     1 function detectMap()
     1 local maps = {
       
     2     ["Border,60526986531,M838018718Scripts/Multiplayer/Racer.lua"] = "Racer Challenge #1"
       
     3     , ["Border,71022545335,M-490229244Scripts/Multiplayer/Racer.lua"] = "Racer Challenge #2"
       
     4     , ["Border,40469748943,M806689586Scripts/Multiplayer/Racer.lua"] = "Racer Challenge #3"
       
     5     , ["85940488650,M-134869715Scripts/Multiplayer/Racer.lua"] = "Racer Challenge #4"
       
     6     , ["62080348735,M-661895109Scripts/Multiplayer/Racer.lua"] = "Racer Challenge #5"
       
     7     , ["56818170733,M479034891Scripts/Multiplayer/Racer.lua"] = "Racer Challenge #6"
       
     8     , ["Border,25372705797,M1770509913Scripts/Multiplayer/Racer.lua"] = "Racer Challenge #7"
       
     9     , ["Border,10917540013,M1902370941Scripts/Multiplayer/Racer.lua"] = "Racer Challenge #8"
       
    10     , ["Border,43890274319,M185940363Scripts/Multiplayer/Racer.lua"] = "Racer Challenge #9"
       
    11     , ["Border,27870148394,M751885839Scripts/Multiplayer/Racer.lua"] = "Racer Challenge #10"
       
    12     , ["Border,22647869226,M178845011Scripts/Multiplayer/Racer.lua"] = "Racer Challenge #11"
       
    13     , ["Border,46954401793,M706743197Scripts/Multiplayer/Racer.lua"] = "Racer Challenge #12"
       
    14     , ["Border,60760377667,M157242054Scripts/Multiplayer/Racer.lua"] = "Racer Challenge #13"
       
    15     , ["Border,51825989393,M-1585582638Scripts/Multiplayer/Racer.lua"] = "Racer Challenge #14"
       
    16     , ["81841189250,M256715557Scripts/Multiplayer/Racer.lua"] = "Racer Challenge #15"
       
    17     , ["Border,44246064625,M-528106034Scripts/Multiplayer/Racer.lua"] = "Racer Challenge #16"
       
    18     , ["60906776802,M-1389184823Scripts/Multiplayer/Racer.lua"] = "Racer Challenge #17"
       
    19     , ["Border,70774747774,M-534640804Scripts/Multiplayer/Racer.lua"] = "Racer Challenge #18"
       
    20     , ["Border,50512019610,M-1839546856Scripts/Multiplayer/Racer.lua"] = "Racer Challenge #19"
       
    21     , ["60715683005,M-281312897Scripts/Multiplayer/Racer.lua"] = "Racer Challenge #20"
       
    22 -- tech racer
       
    23     , ["Border,19661006772,M-975391975Scripts/Multiplayer/TechRacer.lua"] = "Tech Racer #1"
       
    24     , ["Border,19661306766,M-975391975Scripts/Multiplayer/TechRacer.lua"] = "Tech Racer #2"
       
    25     , ["Border,19661606760,M-975391975Scripts/Multiplayer/TechRacer.lua"] = "Tech Racer #3"
       
    26     , ["Border,19661906754,M-975391975Scripts/Multiplayer/TechRacer.lua"] = "Tech Racer #4"
       
    27     , ["Border,19662206748,M-975391975Scripts/Multiplayer/TechRacer.lua"] = "Tech Racer #5"
       
    28     , ["Border,19662506742,M-975391975Scripts/Multiplayer/TechRacer.lua"] = "Tech Racer #6"
       
    29     , ["Border,19662806736,M-975391975Scripts/Multiplayer/TechRacer.lua"] = "Tech Racer #7"
       
    30     , ["Border,19663106730,M-975391975Scripts/Multiplayer/TechRacer.lua"] = "Tech Racer #8"
       
    31     }
       
    32 
       
    33 -- modified Adler hash
       
    34 local hashA = 0
       
    35 local hashB = 0
       
    36 local hashModule = 299993
       
    37 
       
    38 function resetHash()
       
    39     hashA = 0
       
    40     hashB = 0
       
    41 end
       
    42 
       
    43 function addHashData(i)
       
    44     hashA = (hashA + i + 65536) % hashModule
       
    45     hashB = (hashB + hashA) % hashModule
       
    46 end
       
    47 
       
    48 function hashDigest()
       
    49     return(hashB * hashModule + hashA)
       
    50 end
       
    51 
       
    52 function detectMapWithDigest()
     2     if RopePercent == 100 and MinesNum == 0 then
    53     if RopePercent == 100 and MinesNum == 0 then
     3 -- challenges with border
    54         mapString = hashDigest() .. "," .. LandDigest
       
    55 
     4         if band(GameFlags, gfBorder) ~= 0 then
    56         if band(GameFlags, gfBorder) ~= 0 then
     5             if LandDigest == "M838018718Scripts/Multiplayer/Racer.lua" then
    57             mapString = "Border," .. mapString
     6                 return("Racer Challenge #1")
       
     7             elseif LandDigest == "M-490229244Scripts/Multiplayer/Racer.lua" then
       
     8                 return("Racer Challenge #2")
       
     9             elseif LandDigest == "M806689586Scripts/Multiplayer/Racer.lua" then
       
    10                 return("Racer Challenge #3")
       
    11             elseif LandDigest == "M1770509913Scripts/Multiplayer/Racer.lua" then
       
    12                 return("Racer Challenge #7")
       
    13             elseif LandDigest == "M1902370941Scripts/Multiplayer/Racer.lua" then
       
    14                 return("Racer Challenge #8")
       
    15             elseif LandDigest == "M185940363Scripts/Multiplayer/Racer.lua" then
       
    16                 return("Racer Challenge #9")
       
    17             elseif LandDigest == "M751885839Scripts/Multiplayer/Racer.lua" then
       
    18                 return("Racer Challenge #10")
       
    19             elseif LandDigest == "M178845011Scripts/Multiplayer/Racer.lua" then
       
    20                 return("Racer Challenge #11")
       
    21             elseif LandDigest == "M706743197Scripts/Multiplayer/Racer.lua" then
       
    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
    58         end
       
    59 
       
    60         --WriteLnToConsole(mapString)
       
    61         return(maps[mapString])
    46     end
    62     end
    47 end
    63 end