Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Mapname key parser (map version translation fix) #534

Closed
wants to merge 12 commits into from

Conversation

cmavelis
Copy link
Contributor

@cmavelis cmavelis commented Aug 19, 2022

related to #416, could be applied also to #501

It seems like there are many places where we rely on these keys to be updated. I thought it would be nice to just split the version off the key, so the display isn't broken every time a map is updated.

Let me know if you don't want to add jest and all that to the devDeps, it was just the fastest way to prove to myself that the function was working as intended. Please see the test file for two examples, and feel free to point out other cases.

Do people think it's important to show the version as well? I pull it out, as you can see.

specific fix is for this UI, rendered by RaceToMapStat.vue
Screen Shot 2022-08-19 at 12 02 09 AM

@cmavelis cmavelis changed the title Mapname key parser Mapname key parser (map version translation fix) Aug 19, 2022
@cmavelis cmavelis requested a review from Cepheid-UK August 19, 2022 07:08
@cmavelis
Copy link
Contributor Author

cmavelis commented Aug 21, 2022

pulling versions out on the Winrates page now. Wanted to check that all these dashes and underscores could be turned into periods before doing so

(this doesn't fix #501 , but could allow for a version dropdown to look nicer if that work were done)
Screen Shot 2022-08-21 at 4 17 26 PM

@@ -279,6 +281,9 @@ const en = {
// S10
"ShatteredExilev2-07": "Shattered Exile",

// S12
springtime: "Springtime",
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

some maps only have a "versionless" name in PascalCase, some only have one in lowercase. This change would break some tags unless translations of the base name were copied to be lowercase. Open to making PascalCase the default as well, but en.ts has way more in lowercase from what I could see

@Cepheid-UK
Copy link
Member

Cepheid-UK commented Aug 22, 2022

This is good work, but really we need a backend fix, which is why this problem has been so awkward to sort. I guess you probably saw how it was done on the Matches page:
image

Unfortunately this is actually a problem in the database. The data is stored against a scuffed map name, and we need to resolve it there.

Below is one of the documents in the MapsPerSeason collection.

A few months ago we refactored maps so that they were no longer hardcoded, but each map is saved in the Matchmaking Service database, they're also saved with a "rational" name, e.g. "Autumn Leaves" instead of "AutumnLeavesv2.0". We need to cross reference these two and replace the "Map" name in the DB with the rational name.

Then we also need to make sure the MatchFinishedEvents (which are exactly what they sound like, a finished match event, that Matchmaking service puts into the Website-backend database for processing) are using the rational name for the map, so that its aggregated correctly in the MapsPerSeason collection.

I know this is an ugly problem but we have put too many patches on top of workarounds on top of botches, and I want to start doing things right :D

  "_id": "12",
  "MatchesOnMapPerModes": [
    {
      "GameMode": 0,
      "Maps": [
        {
          "Map": "Amazonia",
          "Count": 12806
        },
        {
          "Map": "AmazoniaRH",
          "Count": 224
        },
        {
          "Map": "Arathorv1_3",
          "Count": 20
        },
        {
          "Map": "AutumnLeavesv2_0",
          "Count": 15440
        },
        {
          "Map": "AutumnLeavesv2-0RH",
          "Count": 239
        },
        {
          "Map": "BanditsRetreatv1_1",
          "Count": 13
        },
        {
          "Map": "Battleground",
          "Count": 5
        },
        {
          "Map": "BoomTown",
          "Count": 16
        },
        {
          "Map": "ConcealedHill",
          "Count": 18727
        },
        {
          "Map": "ConcealedHillRH",
          "Count": 282
        },
        {
          "Map": "DeadlockLV",
          "Count": 14
        },
        {
          "Map": "DejaVuv1_5",
          "Count": 629
        },
        {
          "Map": "EchoIslesRH",
          "Count": 250
        },
        {
          "Map": "EchoIslesv2_2",
          "Count": 16043
        },
        {
          "Map": "EkrezemsMazev1_1",
          "Count": 10
        },
        {
          "Map": "FeralasLV",
          "Count": 12
        },
        {
          "Map": "Ferocityv1_2",
          "Count": 17
        },
        {
          "Map": "FountainOfManipulation",
          "Count": 32
        },
        {
          "Map": "Friendsv1_2",
          "Count": 12
        },
        {
          "Map": "FrostsabreROC",
          "Count": 3
        },
        {
          "Map": "FrozenMarshlands",
          "Count": 24
        },
        {
          "Map": "GnollWood",
          "Count": 788
        },
        {
          "Map": "GnollWoodROC",
          "Count": 2
        },
        {
          "Map": "GoldRush",
          "Count": 12
        },
        {
          "Map": "GreenvilleWoods",
          "Count": 43
        },
        {
          "Map": "HillsbradCreek",
          "Count": 1141
        },
        {
          "Map": "ImaginaryFriends",
          "Count": 16
        },
        {
          "Map": "ionTD10_1BW3CTeamOZE",
          "Count": 2752
        },
        {
          "Map": "ionTD10_1cW3CTeamOZE",
          "Count": 2854
        },
        {
          "Map": "ionTD10_2W3CTeamOZE",
          "Count": 4484
        },
        {
          "Map": "ionTD10_3aW3CTeamOZE",
          "Count": 1760
        },
        {
          "Map": "ionTD10_3W3CTeamOZE",
          "Count": 371
        },
        {
          "Map": "Kaldrassilv1_1",
          "Count": 562
        },
        {
          "Map": "KingAndCountryv1_3",
          "Count": 806
        },
        {
          "Map": "LastRefugeRH",
          "Count": 312
        },
        {
          "Map": "LastRefugev1_5",
          "Count": 19865
        },
        {
          "Map": "LegendsROC",
          "Count": 8
        },
        {
          "Map": "LostTempleLV",
          "Count": 6610
        },
        {
          "Map": "LostTempleROC",
          "Count": 10
        },
        {
          "Map": "MarketSquare",
          "Count": 30
        },
        {
          "Map": "MesonDeLaTaberna",
          "Count": 40
        },
        {
          "Map": "Monopoly",
          "Count": 17
        },
        {
          "Map": "MoongladeROC",
          "Count": 3
        },
        {
          "Map": "NeonCity",
          "Count": 15
        },
        {
          "Map": "NerubianPassage",
          "Count": 7
        },
        {
          "Map": "Nightopia",
          "Count": 10
        },
        {
          "Map": "NorthernFelwoodv1_2",
          "Count": 15
        },
        {
          "Map": "NorthernIsles",
          "Count": 18798
        },
        {
          "Map": "NorthernIslesRH",
          "Count": 261
        },
        {
          "Map": "NorthmarshRuinv1_6",
          "Count": 5
        },
        {
          "Map": "NorthshireLV",
          "Count": 15
        },
        {
          "Map": "OutskirtsROC",
          "Count": 9
        },
        {
          "Map": "PaintedWorld",
          "Count": 13
        },
        {
          "Map": "PhantomGrovev2_0",
          "Count": 813
        },
        {
          "Map": "PlunderIsleROC",
          "Count": 7
        },
        {
          "Map": "RiftValleyROC",
          "Count": 6
        },
        {
          "Map": "RoyalGardensv1_2",
          "Count": 6
        },
        {
          "Map": "RustyCreekv1_2",
          "Count": 4094
        },
        {
          "Map": "s12_1Arathorv1_3",
          "Count": 1086
        },
        {
          "Map": "s12_1BanditsRetreatv1_1",
          "Count": 1047
        },
        {
          "Map": "s12_1Battleground",
          "Count": 620
        },
        {
          "Map": "s12_1DeadlockLV",
          "Count": 852
        },
        {
          "Map": "s12_1EkrezemsMazev1_1",
          "Count": 798
        },
        {
          "Map": "s12_1FeralasLV",
          "Count": 925
        },
        {
          "Map": "s12_1Ferocityv1_2",
          "Count": 1232
        },
        {
          "Map": "s12_1Friendsv1_2",
          "Count": 531
        },
        {
          "Map": "s12_1GoldRush",
          "Count": 935
        },
        {
          "Map": "s12_1Monopoly",
          "Count": 985
        },
        {
          "Map": "s12_1NerubianPassage",
          "Count": 864
        },
        {
          "Map": "s12_1Nightopia",
          "Count": 1025
        },
        {
          "Map": "s12_1NorthernFelwoodv1_2",
          "Count": 706
        },
        {
          "Map": "s12_1NorthmarshRuinv1_6",
          "Count": 714
        },
        {
          "Map": "s12_1NorthshireLV",
          "Count": 1136
        },
        {
          "Map": "s12_1PaintedWorld",
          "Count": 831
        },
        {
          "Map": "s12_1RoyalGardensv1_2",
          "Count": 953
        },
        {
          "Map": "s12_1SanctuaryLV",
          "Count": 1121
        },
        {
          "Map": "s12_1Snowblindv1_2",
          "Count": 875
        },
        {
          "Map": "s12_1TwilightRuinsLV",
          "Count": 1106
        },
        {
          "Map": "s12_1VanguardPointv1_3",
          "Count": 875
        },
        {
          "Map": "s12_1WellspringTemplev1_2",
          "Count": 1194
        },
        {
          "Map": "s12_2Arathorv1_3",
          "Count": 82
        },
        {
          "Map": "s12_2BanditsRetreatv1_1",
          "Count": 97
        },
        {
          "Map": "s12_2Battleground",
          "Count": 64
        },
        {
          "Map": "s12_2DeadlockLV",
          "Count": 75
        },
        {
          "Map": "s12_2EkrezemsMazev1_1",
          "Count": 76
        },
        {
          "Map": "s12_2FeralasLV",
          "Count": 72
        },
        {
          "Map": "s12_2Ferocityv1_2",
          "Count": 115
        },
        {
          "Map": "s12_2Friendsv1_2",
          "Count": 45
        },
        {
          "Map": "s12_2GoldRush",
          "Count": 88
        },
        {
          "Map": "s12_2Monopoly",
          "Count": 105
        },
        {
          "Map": "s12_2NerubianPassage",
          "Count": 72
        },
        {
          "Map": "s12_2Nightopia",
          "Count": 95
        },
        {
          "Map": "s12_2NorthernFelwoodv1_2",
          "Count": 61
        },
        {
          "Map": "s12_2NorthmarshRuinv1_6",
          "Count": 66
        },
        {
          "Map": "s12_2NorthshireLV",
          "Count": 106
        },
        {
          "Map": "s12_2PaintedWorld",
          "Count": 74
        },
        {
          "Map": "s12_2RoyalGardensv1_2",
          "Count": 80
        },
        {
          "Map": "s12_2SanctuaryLV",
          "Count": 102
        },
        {
          "Map": "s12_2Snowblindv1_2",
          "Count": 66
        },
        {
          "Map": "s12_2TwilightRuinsLV",
          "Count": 104
        },
        {
          "Map": "s12_2VanguardPointv1_3",
          "Count": 70
        },
        {
          "Map": "s12_2WellspringTemplev1_2",
          "Count": 96
        },
        {
          "Map": "SanctuaryLV",
          "Count": 14
        },
        {
          "Map": "SecretValleyROC",
          "Count": 6
        },
        {
          "Map": "SecretValleyv2_0a",
          "Count": 12364
        },
        {
          "Map": "shallowgraveRHv1_4",
          "Count": 196
        },
        {
          "Map": "ShallowGravev1_4",
          "Count": 10190
        },
        {
          "Map": "ShatteredExilev2_4",
          "Count": 769
        },
        {
          "Map": "ShatteredExilev2-07RH",
          "Count": 144
        },
        {
          "Map": "SilverpineForest",
          "Count": 28
        },
        {
          "Map": "Snowblindv1_2",
          "Count": 7
        },
        {
          "Map": "Springtimev1_2",
          "Count": 7020
        },
        {
          "Map": "Synergy",
          "Count": 712
        },
        {
          "Map": "TerenasStandLV",
          "Count": 8897
        },
        {
          "Map": "TerenasStandLVRH",
          "Count": 204
        },
        {
          "Map": "tidehuntersRH",
          "Count": 280
        },
        {
          "Map": "Tidehuntersv1_2",
          "Count": 17218
        },
        {
          "Map": "TidewaterGladesv1_1",
          "Count": 792
        },
        {
          "Map": "TranquilPathsROC",
          "Count": 13
        },
        {
          "Map": "TurtleRock",
          "Count": 1043
        },
        {
          "Map": "TurtleRockRH",
          "Count": 257
        },
        {
          "Map": "TwilightRuins",
          "Count": 48
        },
        {
          "Map": "TwilightRuinsLV",
          "Count": 14
        },
        {
          "Map": "TwistedMeadowsROC",
          "Count": 6
        },
        {
          "Map": "TwistedMeadowsv1_1",
          "Count": 1161
        },
        {
          "Map": "VanguardPointv1_3",
          "Count": 14
        },
        {
          "Map": "WellspringTemplev1_2",
          "Count": 16
        }
      ]
    },
    {
      "GameMode": 203,
      "Maps": [
        {
          "Map": "ionTD10_1BW3CTeamOZE",
          "Count": 1729
        },
        {
          "Map": "ionTD10_1cW3CTeamOZE",
          "Count": 1056
        },
        {
          "Map": "ionTD10_2W3CTeamOZE",
          "Count": 2390
        },
        {
          "Map": "ionTD10_3aW3CTeamOZE",
          "Count": 1317
        },
        {
          "Map": "ionTD10_3W3CTeamOZE",
          "Count": 240
        }
      ]
    },
    {
      "GameMode": 1,
      "Maps": [
        {
          "Map": "Amazonia",
          "Count": 12806
        },
        {
          "Map": "AutumnLeavesv2_0",
          "Count": 15440
        },
        {
          "Map": "ConcealedHill",
          "Count": 18727
        },
        {
          "Map": "EchoIslesv2_2",
          "Count": 16043
        },
        {
          "Map": "LastRefugev1_5",
          "Count": 19865
        },
        {
          "Map": "LostTempleLV",
          "Count": 5634
        },
        {
          "Map": "NorthernIsles",
          "Count": 18798
        },
        {
          "Map": "RustyCreekv1_2",
          "Count": 3365
        },
        {
          "Map": "SecretValleyv2_0a",
          "Count": 12364
        },
        {
          "Map": "ShallowGravev1_4",
          "Count": 10190
        },
        {
          "Map": "Springtimev1_2",
          "Count": 7020
        },
        {
          "Map": "TerenasStandLV",
          "Count": 8897
        },
        {
          "Map": "Tidehuntersv1_2",
          "Count": 17218
        }
      ]
    },
    {
      "GameMode": 2,
      "Maps": [
        {
          "Map": "DejaVuv1_5",
          "Count": 629
        },
        {
          "Map": "GnollWood",
          "Count": 788
        },
        {
          "Map": "HillsbradCreek",
          "Count": 1141
        },
        {
          "Map": "Kaldrassilv1_1",
          "Count": 562
        },
        {
          "Map": "KingAndCountryv1_3",
          "Count": 806
        },
        {
          "Map": "LostTempleLV",
          "Count": 976
        },
        {
          "Map": "PhantomGrovev2_0",
          "Count": 813
        },
        {
          "Map": "RustyCreekv1_2",
          "Count": 729
        },
        {
          "Map": "ShatteredExilev2_4",
          "Count": 769
        },
        {
          "Map": "Synergy",
          "Count": 712
        },
        {
          "Map": "TidewaterGladesv1_1",
          "Count": 792
        },
        {
          "Map": "TurtleRock",
          "Count": 1043
        },
        {
          "Map": "TwistedMeadowsv1_1",
          "Count": 1161
        }
      ]
    },
    {
      "GameMode": 202,
      "Maps": [
        {
          "Map": "ionTD10_1BW3CTeamOZE",
          "Count": 1023
        },
        {
          "Map": "ionTD10_1cW3CTeamOZE",
          "Count": 458
        },
        {
          "Map": "ionTD10_2W3CTeamOZE",
          "Count": 405
        },
        {
          "Map": "ionTD10_3aW3CTeamOZE",
          "Count": 349
        },
        {
          "Map": "ionTD10_3W3CTeamOZE",
          "Count": 85
        }
      ]
    },
    {
      "GameMode": 4,
      "Maps": [
        {
          "Map": "Arathorv1_3",
          "Count": 20
        },
        {
          "Map": "BanditsRetreatv1_1",
          "Count": 13
        },
        {
          "Map": "Battleground",
          "Count": 5
        },
        {
          "Map": "DeadlockLV",
          "Count": 14
        },
        {
          "Map": "EkrezemsMazev1_1",
          "Count": 10
        },
        {
          "Map": "FeralasLV",
          "Count": 12
        },
        {
          "Map": "Ferocityv1_2",
          "Count": 17
        },
        {
          "Map": "Friendsv1_2",
          "Count": 12
        },
        {
          "Map": "GoldRush",
          "Count": 12
        },
        {
          "Map": "Monopoly",
          "Count": 17
        },
        {
          "Map": "NerubianPassage",
          "Count": 7
        },
        {
          "Map": "Nightopia",
          "Count": 10
        },
        {
          "Map": "NorthernFelwoodv1_2",
          "Count": 15
        },
        {
          "Map": "NorthmarshRuinv1_6",
          "Count": 5
        },
        {
          "Map": "NorthshireLV",
          "Count": 15
        },
        {
          "Map": "PaintedWorld",
          "Count": 13
        },
        {
          "Map": "RoyalGardensv1_2",
          "Count": 6
        },
        {
          "Map": "s12_1Arathorv1_3",
          "Count": 1086
        },
        {
          "Map": "s12_1BanditsRetreatv1_1",
          "Count": 1047
        },
        {
          "Map": "s12_1Battleground",
          "Count": 620
        },
        {
          "Map": "s12_1DeadlockLV",
          "Count": 852
        },
        {
          "Map": "s12_1EkrezemsMazev1_1",
          "Count": 798
        },
        {
          "Map": "s12_1FeralasLV",
          "Count": 925
        },
        {
          "Map": "s12_1Ferocityv1_2",
          "Count": 1204
        },
        {
          "Map": "s12_1Friendsv1_2",
          "Count": 531
        },
        {
          "Map": "s12_1GoldRush",
          "Count": 935
        },
        {
          "Map": "s12_1Monopoly",
          "Count": 985
        },
        {
          "Map": "s12_1NerubianPassage",
          "Count": 864
        },
        {
          "Map": "s12_1Nightopia",
          "Count": 1025
        },
        {
          "Map": "s12_1NorthernFelwoodv1_2",
          "Count": 706
        },
        {
          "Map": "s12_1NorthmarshRuinv1_6",
          "Count": 714
        },
        {
          "Map": "s12_1NorthshireLV",
          "Count": 1136
        },
        {
          "Map": "s12_1PaintedWorld",
          "Count": 831
        },
        {
          "Map": "s12_1RoyalGardensv1_2",
          "Count": 953
        },
        {
          "Map": "s12_1SanctuaryLV",
          "Count": 1121
        },
        {
          "Map": "s12_1Snowblindv1_2",
          "Count": 875
        },
        {
          "Map": "s12_1TwilightRuinsLV",
          "Count": 1106
        },
        {
          "Map": "s12_1VanguardPointv1_3",
          "Count": 875
        },
        {
          "Map": "s12_1WellspringTemplev1_2",
          "Count": 1194
        },
        {
          "Map": "s12_2Arathorv1_3",
          "Count": 82
        },
        {
          "Map": "s12_2BanditsRetreatv1_1",
          "Count": 97
        },
        {
          "Map": "s12_2Battleground",
          "Count": 64
        },
        {
          "Map": "s12_2DeadlockLV",
          "Count": 75
        },
        {
          "Map": "s12_2EkrezemsMazev1_1",
          "Count": 76
        },
        {
          "Map": "s12_2FeralasLV",
          "Count": 72
        },
        {
          "Map": "s12_2Ferocityv1_2",
          "Count": 114
        },
        {
          "Map": "s12_2Friendsv1_2",
          "Count": 45
        },
        {
          "Map": "s12_2GoldRush",
          "Count": 88
        },
        {
          "Map": "s12_2Monopoly",
          "Count": 105
        },
        {
          "Map": "s12_2NerubianPassage",
          "Count": 72
        },
        {
          "Map": "s12_2Nightopia",
          "Count": 95
        },
        {
          "Map": "s12_2NorthernFelwoodv1_2",
          "Count": 61
        },
        {
          "Map": "s12_2NorthmarshRuinv1_6",
          "Count": 66
        },
        {
          "Map": "s12_2NorthshireLV",
          "Count": 106
        },
        {
          "Map": "s12_2PaintedWorld",
          "Count": 74
        },
        {
          "Map": "s12_2RoyalGardensv1_2",
          "Count": 80
        },
        {
          "Map": "s12_2SanctuaryLV",
          "Count": 102
        },
        {
          "Map": "s12_2Snowblindv1_2",
          "Count": 66
        },
        {
          "Map": "s12_2TwilightRuinsLV",
          "Count": 104
        },
        {
          "Map": "s12_2VanguardPointv1_3",
          "Count": 70
        },
        {
          "Map": "s12_2WellspringTemplev1_2",
          "Count": 96
        },
        {
          "Map": "SanctuaryLV",
          "Count": 14
        },
        {
          "Map": "Snowblindv1_2",
          "Count": 7
        },
        {
          "Map": "TwilightRuinsLV",
          "Count": 14
        },
        {
          "Map": "VanguardPointv1_3",
          "Count": 14
        },
        {
          "Map": "WellspringTemplev1_2",
          "Count": 16
        }
      ]
    },
    {
      "GameMode": 5,
      "Maps": [
        {
          "Map": "BoomTown",
          "Count": 16
        },
        {
          "Map": "FountainOfManipulation",
          "Count": 32
        },
        {
          "Map": "FrozenMarshlands",
          "Count": 24
        },
        {
          "Map": "GreenvilleWoods",
          "Count": 43
        },
        {
          "Map": "ImaginaryFriends",
          "Count": 16
        },
        {
          "Map": "MarketSquare",
          "Count": 30
        },
        {
          "Map": "MesonDeLaTaberna",
          "Count": 40
        },
        {
          "Map": "NeonCity",
          "Count": 15
        },
        {
          "Map": "s12_1Ferocityv1_2",
          "Count": 28
        },
        {
          "Map": "s12_2Ferocityv1_2",
          "Count": 1
        },
        {
          "Map": "SilverpineForest",
          "Count": 28
        },
        {
          "Map": "TwilightRuins",
          "Count": 48
        }
      ]
    },
    {
      "GameMode": 601,
      "Maps": [
        {
          "Map": "AmazoniaRH",
          "Count": 224
        },
        {
          "Map": "AutumnLeavesv2-0RH",
          "Count": 239
        },
        {
          "Map": "ConcealedHillRH",
          "Count": 282
        },
        {
          "Map": "EchoIslesRH",
          "Count": 250
        },
        {
          "Map": "LastRefugeRH",
          "Count": 312
        },
        {
          "Map": "NorthernIslesRH",
          "Count": 261
        },
        {
          "Map": "shallowgraveRHv1_4",
          "Count": 196
        },
        {
          "Map": "ShatteredExilev2-07RH",
          "Count": 144
        },
        {
          "Map": "TerenasStandLVRH",
          "Count": 204
        },
        {
          "Map": "tidehuntersRH",
          "Count": 280
        },
        {
          "Map": "TurtleRockRH",
          "Count": 257
        }
      ]
    },
    {
      "GameMode": 301,
      "Maps": [
        {
          "Map": "FrostsabreROC",
          "Count": 3
        },
        {
          "Map": "GnollWoodROC",
          "Count": 2
        },
        {
          "Map": "LegendsROC",
          "Count": 8
        },
        {
          "Map": "LostTempleROC",
          "Count": 10
        },
        {
          "Map": "MoongladeROC",
          "Count": 3
        },
        {
          "Map": "OutskirtsROC",
          "Count": 9
        },
        {
          "Map": "PlunderIsleROC",
          "Count": 7
        },
        {
          "Map": "RiftValleyROC",
          "Count": 6
        },
        {
          "Map": "SecretValleyROC",
          "Count": 6
        },
        {
          "Map": "TranquilPathsROC",
          "Count": 13
        },
        {
          "Map": "TwistedMeadowsROC",
          "Count": 6
        }
      ]
    },
    {
      "GameMode": 205,
      "Maps": [
        {
          "Map": "ionTD10_1cW3CTeamOZE",
          "Count": 1340
        },
        {
          "Map": "ionTD10_2W3CTeamOZE",
          "Count": 1689
        },
        {
          "Map": "ionTD10_3aW3CTeamOZE",
          "Count": 94
        },
        {
          "Map": "ionTD10_3W3CTeamOZE",
          "Count": 46
        }
      ]
    }
  ],
  "Season": 12
}

@cmavelis cmavelis closed this Sep 7, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants